FUNCTION 0069c840
0069c840 push ebp
0069c841 mov ebp, esp
0069c843 and esp, 0xfffffff0
0069c846 sub esp, 0x134
0069c84c push ebx
0069c84d push esi
0069c84e push edi
0069c84f mov edi, edx
0069c851 mov esi, dword ptr [edi + 0xc]
0069c854 mov ebx, ecx
0069c856 lea eax, [esp + 0x58]
0069c85a push eax
0069c85b mov edx, 0x45e79640
0069c860 mov ecx, esi
0069c862 mov dword ptr [esp + 0x30], edi
0069c866 mov dword ptr [esp + 0x34], ebx
0069c86a mov dword ptr [esp + 0x5c], 0
0069c872 call 0x69e170
0069c877 mov edx, dword ptr [esp + 0x58]
0069c87b lea ecx, [esp + 0xb4]
0069c882 push ecx
0069c883 push 0xe26c9b5d
0069c888 mov ecx, 0x1c35620
0069c88d call 0x69e430
0069c892 test eax, eax
0069c894 je 0x69c8bb
0069c896 mov ecx, dword ptr [esp + 0xb4]
0069c89d push 0
0069c89f push 0
0069c8a1 mov edx, eax
0069c8a3 mov eax, dword ptr [ecx]
0069c8a5 mov eax, dword ptr [eax + 0x18]
0069c8a8 push 0
0069c8aa push 0xbb05a9c1
0069c8af call eax
0069c8b1 xor ecx, ecx
0069c8b3 mov dword ptr [esp + 0x14], eax
0069c8b7 cmp eax, ecx
0069c8b9 jne 0x69c8e9
0069c8bb mov eax, dword ptr [esp + 0x58]
0069c8bf mov ecx, dword ptr [ebx]
0069c8c1 mov dword ptr [ebx + ecx*8 + 4], 1
0069c8c9 mov edx, dword ptr [ebx]
0069c8cb mov dword ptr [ebx + edx*8 + 8], eax
0069c8cf mov eax, dword ptr [ebx]
0069c8d1 inc eax
0069c8d2 and eax, 0x80000007
0069c8d7 jns 0x69c8de
0069c8d9 dec eax
0069c8da or eax, 0xfffffff8
0069c8dd inc eax
0069c8de mov dword ptr [ebx], eax
0069c8e0 pop edi
0069c8e1 pop esi
0069c8e2 pop ebx
0069c8e3 mov esp, ebp
0069c8e5 pop ebp
0069c8e6 ret 4
0069c8e9 xorps xmm0, xmm0
0069c8ec mov dword ptr [esp + 0x7c], ecx
0069c8f0 mov dword ptr [esp + 0x48], ecx
0069c8f4 lea ecx, [esp + 0x7c]
0069c8f8 push ecx
0069c8f9 mov edx, 0xb7964695
0069c8fe mov ecx, esi
0069c900 movss dword ptr [esp + 0x58], xmm0
0069c906 call 0x69e120
0069c90b lea edx, [esp + 0x48]
0069c90f push edx
0069c910 mov edx, 0x4bb83957
0069c915 mov ecx, esi
0069c917 call 0x69e120
0069c91c lea eax, [esp + 0x54]
0069c920 push eax
0069c921 mov edx, 0xa7f2d377
0069c926 mov ecx, esi
0069c928 call 0x69e0d0
0069c92d mov ecx, dword ptr [ebp + 8]
0069c930 push ecx
0069c931 push edi
0069c932 lea edx, [esp + 0x108]
0069c939 mov ecx, ebx
0069c93b call 0x69ac90
0069c940 cmp dword ptr [esp + 0x7c], 0
0069c945 je 0x69c979
0069c947 call 0xdb3e10
0069c94c test eax, eax
0069c94e jne 0x69c954
0069c950 xor ecx, ecx
0069c952 jmp 0x69c956
0069c954 mov ecx, dword ptr [eax]
0069c956 movss xmm0, dword ptr [0xec6e14]
0069c95e push 0
0069c960 push 0xff000000
0069c965 push 1
0069c967 push 0
0069c969 push ecx
0069c96a mov edx, 1
0069c96f movss dword ptr [esp], xmm0
0069c974 call 0xdb3d70
0069c979 cmp dword ptr [esp + 0x48], 0
0069c97e movss xmm0, dword ptr [ebx + 0x6e4]
0069c986 movss dword ptr [esp + 0x18], xmm0
0069c98c lea edi, [ebx + 0xd0]
0069c992 je 0x69c99a
0069c994 lea edi, [ebx + 0x300]
0069c99a mov edx, dword ptr [edi + 0x1e8]
0069c9a0 mov ecx, dword ptr [esp + 0x14]
0069c9a4 lea eax, [esp + 0x78]
0069c9a8 push eax
0069c9a9 mov dword ptr [esp + 0xb4], edx
0069c9b0 push ecx
0069c9b1 mov edx, esi
0069c9b3 mov ecx, ebx
0069c9b5 mov dword ptr [esp + 0x54], edi
0069c9b9 mov dword ptr [esp + 0x80], 0
0069c9c4 call 0x69b7c0
0069c9c9 mov esi, eax
0069c9cb test esi, esi
0069c9cd je 0x69ca1f
0069c9cf lea edx, [esp + 0x80]
0069c9d6 push edx
0069c9d7 lea eax, [esp + 0x94]
0069c9de push eax
0069c9df lea ecx, [esp + 0xd8]
0069c9e6 push ecx
0069c9e7 lea edx, [esp + 0xfc]
0069c9ee mov ecx, esi
0069c9f0 call 0xde7540
0069c9f5 mov ecx, esi
0069c9f7 call 0xde7530
0069c9fc fstp dword ptr [esp + 0x18]
0069ca00 lea edx, [esp + 0x80]
0069ca07 push edx
0069ca08 lea eax, [esp + 0x94]
0069ca0f lea ecx, [esp + 0xd4]
0069ca16 lea edx, [esp + 0xf4]
0069ca1d jmp 0x69ca5a
0069ca1f cmp dword ptr [esp + 0x48], 0
0069ca24 jne 0x69ca41
0069ca26 lea edx, [ebx + 0x560]
0069ca2c push edx
0069ca2d lea eax, [ebx + 0x550]
0069ca33 lea ecx, [ebx + 0x540]
0069ca39 lea edx, [ebx + 0x530]
0069ca3f jmp 0x69ca5a
0069ca41 lea edx, [ebx + 0x5a0]
0069ca47 push edx
0069ca48 lea eax, [ebx + 0x590]
0069ca4e lea ecx, [ebx + 0x580]
0069ca54 lea edx, [ebx + 0x570]
0069ca5a push eax
0069ca5b push ecx
0069ca5c mov ecx, edi
0069ca5e call 0xd971c0
0069ca63 cmp dword ptr [esp + 0x48], 0
0069ca68 jne 0x69ca92
0069ca6a movss xmm0, dword ptr [0xf0da3c]
0069ca72 divss xmm0, dword ptr [ebx + 0x6dc]
0069ca7a mulss xmm0, dword ptr [esp + 0x18]
0069ca80 push ecx
0069ca81 mov edx, 1
0069ca86 mov ecx, edi
0069ca88 movss dword ptr [esp], xmm0
0069ca8d call 0xd96870
0069ca92 mov ecx, edi
0069ca94 mov dword ptr [ebx + 0x6e8], edi
0069ca9a call 0xd96ee0
0069ca9f mov edx, dword ptr [esp + 0x2c]
0069caa3 movzx eax, word ptr [edx + 0x1a]
0069caa7 shr eax, 0xf
0069caaa mov dword ptr [esp + 0x1c], eax
0069caae test eax, eax
0069cab0 jne 0x69cadf
0069cab2 mov eax, dword ptr [esp + 0x14]
0069cab6 mov ecx, dword ptr [eax + 0x40]
0069cab9 test ecx, ecx
0069cabb je 0x69cb2f
0069cabd mov edx, eax
0069cabf cmp dword ptr [edx + 0x3c], 0
0069cac3 jle 0x69cb2f
0069cac5 push 0x40
0069cac7 lea edx, [esp + 0x104]
0069cace call 0xd95710
0069cad3 test eax, eax
0069cad5 je 0x69cb2f
0069cad7 mov dword ptr [esp + 0x1c], 1
0069cadf mov eax, dword ptr [esp + 0x14]
0069cae3 cmp dword ptr [eax + 0x40], 0
0069cae7 jne 0x69caed
0069cae9 xor ecx, ecx
0069caeb jmp 0x69caf0
0069caed mov ecx, dword ptr [eax + 0x3c]
0069caf0 xor eax, eax
0069caf2 mov dword ptr [esp + 0x18], ecx
0069caf6 test ecx, ecx
0069caf8 jle 0x69cb2f
0069cafa xor edx, edx
0069cafc mov esi, dword ptr [esp + 0x14]
0069cb00 mov ecx, dword ptr [esi + 0x40]
0069cb03 test ecx, ecx
0069cb05 jne 0x69cb0b
0069cb07 xor edi, edi
0069cb09 jmp 0x69cb17
0069cb0b cmp eax, dword ptr [esi + 0x3c]
0069cb0e jl 0x69cb14
0069cb10 xor edi, edi
0069cb12 jmp 0x69cb17
0069cb14 lea edi, [edx + ecx]
0069cb17 inc eax
0069cb18 mov ecx, 0x10
0069cb1d lea esi, [esp + 0x100]
0069cb24 sub edx, -0x80
0069cb27 rep movsd dword ptr es:[edi], dword ptr [esi]
0069cb29 cmp eax, dword ptr [esp + 0x18]
0069cb2d jl 0x69cafc
0069cb2f test dword ptr [ebx + 0x718], 0x10000
0069cb39 movss xmm0, dword ptr [esp + 0x54]
0069cb3f mov dword ptr [esp + 0x24], 0
0069cb47 je 0x69cb50
0069cb49 mov edx, 1
0069cb4e jmp 0x69cb6b
0069cb50 cmp dword ptr [esp + 0x1c], 0
0069cb55 jne 0x69cb69
0069cb57 mov eax, dword ptr [esp + 0x14]
0069cb5b movss xmm1, dword ptr [eax + 8]
0069cb60 ucomiss xmm1, xmm0
0069cb63 lahf 
0069cb64 test ah, 0x44
0069cb67 jnp 0x69cb82
0069cb69 xor edx, edx
0069cb6b push ecx
0069cb6c mov ecx, dword ptr [esp + 0x18]
0069cb70 movss dword ptr [esp], xmm0
0069cb75 call 0xdd3c70
0069cb7a mov dword ptr [esp + 0x24], 1
0069cb82 mov edx, dword ptr [esp + 0x2c]
0069cb86 mov ecx, 0xc000
0069cb8b test word ptr [edx + 0x1a], cx
0069cb8f je 0x69d055
0069cb95 mov eax, edx
0069cb97 mov eax, dword ptr [eax + 0x1c]
0069cb9a mov dword ptr [esp + 0x20], eax
0069cb9e test eax, eax
0069cba0 je 0x69d055
0069cba6 jmp 0x69cbb0
0069cba8 lea esp, [esp]
0069cbaf nop 
0069cbb0 mov ecx, dword ptr [esp + 0x20]
0069cbb4 mov eax, dword ptr [ecx + 8]
0069cbb7 cmp eax, 0x526257df
0069cbbc jne 0x69cce2
0069cbc2 mov esi, dword ptr [ecx + 0xc]
0069cbc5 mov dword ptr [esp + 0xac], 0x82f6983b
0069cbd0 mov dword ptr [esp + 0xa8], 0
0069cbdb mov eax, dword ptr [esi]
0069cbdd mov eax, dword ptr [eax + 0xc]
0069cbe0 lea ecx, [esp + 0xa8]
0069cbe7 push ecx
0069cbe8 mov edx, 0x656ac9cd
0069cbed mov ecx, esi
0069cbef call eax
0069cbf1 test eax, eax
0069cbf3 je 0x69d042
0069cbf9 xor edx, edx
0069cbfb lea ecx, [esp + 0xa8]
0069cc02 call 0x6a56b0
0069cc07 test eax, eax
0069cc09 jne 0x69cc19
0069cc0b mov eax, dword ptr [esi]
0069cc0d mov eax, dword ptr [eax + 0x18]
0069cc10 mov edx, 0x656ac9cd
0069cc15 mov ecx, esi
0069cc17 call eax
0069cc19 lea ecx, [esp + 0x64]
0069cc1d xor ebx, ebx
0069cc1f push ecx
0069cc20 mov edx, 0x1d710fcc
0069cc25 mov ecx, esi
0069cc27 mov dword ptr [esp + 0x68], ebx
0069cc2b mov dword ptr [esp + 0x74], ebx
0069cc2f mov dword ptr [esp + 0x78], 1
0069cc37 call 0x69e170
0069cc3c lea edx, [esp + 0x70]
0069cc40 push edx
0069cc41 mov edx, 0xfdea9717
0069cc46 mov ecx, esi
0069cc48 call 0x69e170
0069cc4d lea eax, [esp + 0x74]
0069cc51 push eax
0069cc52 mov edx, 0xa4537aba
0069cc57 mov ecx, esi
0069cc59 call 0x69e120
0069cc5e mov ecx, dword ptr [esp + 0x14]
0069cc62 mov esi, dword ptr [ecx + 0x38]
0069cc65 mov edi, dword ptr [esp + 0x64]
0069cc69 cmp esi, ebx
0069cc6b je 0x69cc84
0069cc6d mov edx, dword ptr [ecx + 0x30]
0069cc70 xor eax, eax
0069cc72 cmp edx, ebx
0069cc74 jle 0x69cc84
0069cc76 mov ecx, esi
0069cc78 cmp dword ptr [ecx], edi
0069cc7a je 0x69ccb1
0069cc7c inc eax
0069cc7d add ecx, 0x28
0069cc80 cmp eax, edx
0069cc82 jl 0x69cc78
0069cc84 mov eax, dword ptr [esp + 0x30]
0069cc88 mov edx, dword ptr [eax]
0069cc8a mov dword ptr [eax + edx*8 + 4], 3
0069cc92 mov edx, dword ptr [eax]
0069cc94 mov ecx, edi
0069cc96 mov dword ptr [eax + edx*8 + 8], ecx
0069cc9a mov ecx, dword ptr [eax]
0069cc9c inc ecx
0069cc9d and ecx, 0x80000007
0069cca3 jns 0x69ccaa
0069cca5 dec ecx
0069cca6 or ecx, 0xfffffff8
0069cca9 inc ecx
0069ccaa mov dword ptr [eax], ecx
0069ccac jmp 0x69d042
0069ccb1 lea ecx, [eax + eax*4]
0069ccb4 lea edx, [esi + ecx*8]
0069ccb7 cmp edx, ebx
0069ccb9 je 0x69cc84
0069ccbb cmp dword ptr [esp + 0x74], ebx
0069ccbf jne 0x69ccc5
0069ccc1 and dword ptr [edx + 0xc], 0xfffffffe
0069ccc5 mov eax, dword ptr [esp + 0x20]
0069ccc9 mov ecx, dword ptr [esp + 0x2c]
0069cccd push eax
0069ccce mov eax, dword ptr [esp + 0x74]
0069ccd2 push ecx
0069ccd3 mov ecx, dword ptr [esp + 0x38]
0069ccd7 push eax
0069ccd8 call 0x698f80
0069ccdd jmp 0x69d042
0069cce2 cmp dword ptr [esp + 0x24], 0
0069cce7 je 0x69d042
0069cced cmp eax, 0x8a901914
0069ccf2 jne 0x69d042
0069ccf8 mov edx, dword ptr [esp + 0x20]
0069ccfc mov esi, dword ptr [edx + 0xc]
0069ccff xor ecx, ecx
0069cd01 mov eax, 0x82f6983b
0069cd06 mov dword ptr [esp + 0x68], ecx
0069cd0a mov dword ptr [esp + 0x5c], ecx
0069cd0e mov dword ptr [esp + 0x6c], eax
0069cd12 mov dword ptr [esp + 0x60], eax
0069cd16 mov eax, dword ptr [esi]
0069cd18 mov eax, dword ptr [eax + 0xc]
0069cd1b lea ecx, [esp + 0x68]
0069cd1f push ecx
0069cd20 mov edx, 0x3b6c7797
0069cd25 mov ecx, esi
0069cd27 call eax
0069cd29 test eax, eax
0069cd2b je 0x69d042
0069cd31 mov eax, dword ptr [esi]
0069cd33 mov eax, dword ptr [eax + 0xc]
0069cd36 lea ecx, [esp + 0x5c]
0069cd3a push ecx
0069cd3b mov edx, 0xcf1dbec6
0069cd40 mov ecx, esi
0069cd42 call eax
0069cd44 test eax, eax
0069cd46 je 0x69d042
0069cd4c xor edx, edx
0069cd4e cmp dword ptr [esp + 0x6c], 0x82f6983b
0069cd56 lea ecx, [esp + 0x68]
0069cd5a je 0x69cde7
0069cd60 call 0x6a57a0
0069cd65 mov ecx, dword ptr [esp + 0x14]
0069cd69 mov dword ptr [esp + 0x3c], eax
0069cd6d xor edi, edi
0069cd6f call 0x4bd7c0
0069cd74 test eax, eax
0069cd76 jle 0x69d042
0069cd7c mov ecx, dword ptr [esp + 0x14]
0069cd80 mov ecx, dword ptr [ecx + 0x40]
0069cd83 mov dword ptr [esp + 0x28], ecx
0069cd87 mov edx, ecx
0069cd89 jmp 0x69cd94
0069cd8b jmp 0x69cd90
0069cd8d lea ecx, [ecx]
0069cd90 mov ecx, dword ptr [esp + 0x28]
0069cd94 test ecx, ecx
0069cd96 je 0x69cda7
0069cd98 mov ebx, dword ptr [esp + 0x14]
0069cd9c xor ecx, ecx
0069cd9e cmp edi, dword ptr [ebx + 0x3c]
0069cda1 setge cl
0069cda4 dec ecx
0069cda5 and ecx, edx
0069cda7 mov ebx, dword ptr [esp + 0x3c]
0069cdab cmp dword ptr [ecx + 0x44], ebx
0069cdae je 0x69cdbd
0069cdb0 inc edi
0069cdb1 sub edx, -0x80
0069cdb4 cmp edi, eax
0069cdb6 jl 0x69cd90
0069cdb8 jmp 0x69d042
0069cdbd mov eax, dword ptr [esi]
0069cdbf mov eax, dword ptr [eax + 0x10]
0069cdc2 lea ecx, [esp + 0xc0]
0069cdc9 push ecx
0069cdca mov edx, 0x3b6c7797
0069cdcf mov ecx, esi
0069cdd1 mov dword ptr [esp + 0xc8], 0x82f6983b
0069cddc mov dword ptr [esp + 0xc4], edi
0069cde3 call eax
0069cde5 jmp 0x69cdee
0069cde7 call 0x6a56b0
0069cdec mov edi, eax
0069cdee test edi, edi
0069cdf0 js 0x69d042
0069cdf6 mov ecx, dword ptr [esp + 0x14]
0069cdfa mov eax, dword ptr [ecx + 0x40]
0069cdfd test eax, eax
0069cdff jne 0x69ce05
0069ce01 xor ebx, ebx
0069ce03 jmp 0x69ce14
0069ce05 cmp edi, dword ptr [ecx + 0x3c]
0069ce08 jl 0x69ce0e
0069ce0a xor ebx, ebx
0069ce0c jmp 0x69ce14
0069ce0e shl edi, 7
0069ce11 lea ebx, [eax + edi]
0069ce14 mov edi, dword ptr [ebx + 0x58]
0069ce17 xor edx, edx
0069ce19 cmp dword ptr [esp + 0x60], 0x82f6983b
0069ce21 lea ecx, [esp + 0x5c]
0069ce25 je 0x69ce69
0069ce27 call 0x6a57a0
0069ce2c mov edx, eax
0069ce2e mov ecx, edi
0069ce30 call 0xdb7ab0
0069ce35 mov edi, eax
0069ce37 test edi, edi
0069ce39 js 0x69d042
0069ce3f mov eax, dword ptr [esi]
0069ce41 mov eax, dword ptr [eax + 0x10]
0069ce44 lea ecx, [esp + 0xc8]
0069ce4b push ecx
0069ce4c mov edx, 0xcf1dbec6
0069ce51 mov ecx, esi
0069ce53 mov dword ptr [esp + 0xd0], 0x82f6983b
0069ce5e mov dword ptr [esp + 0xcc], edi
0069ce65 call eax
0069ce67 jmp 0x69ce70
0069ce69 call 0x6a56b0
0069ce6e mov edi, eax
0069ce70 test edi, edi
0069ce72 js 0x69d042
0069ce78 lea ecx, [esp + 0x28]
0069ce7c push ecx
0069ce7d shl edi, 6
0069ce80 add edi, dword ptr [ebx + 0x64]
0069ce83 mov edx, 0xa15e7f4a
0069ce88 mov ecx, esi
0069ce8a mov dword ptr [esp + 0x2c], 0
0069ce92 call 0x69e120
0069ce97 test eax, eax
0069ce99 jne 0x69cff1
0069ce9f xorps xmm0, xmm0
0069cea2 lea edx, [esp + 0x18]
0069cea6 push edx
0069cea7 mov edx, 0x95f194b8
0069ceac mov ecx, esi
0069ceae movss dword ptr [esp + 0x1c], xmm0
0069ceb4 movss dword ptr [esp + 0x20], xmm0
0069ceba call 0x69e0d0
0069cebf lea eax, [esp + 0x1c]
0069cec3 push eax
0069cec4 mov edx, 0xe2f6a42e
0069cec9 mov ecx, esi
0069cecb call 0x69e0d0
0069ced0 mov eax, dword ptr [esi]
0069ced2 movss xmm0, dword ptr [edi + 0x30]
0069ced7 subss xmm0, dword ptr [esp + 0x130]
0069cee0 movss xmm1, dword ptr [edi + 0x34]
0069cee5 subss xmm1, dword ptr [esp + 0x134]
0069ceee mov eax, dword ptr [eax + 0x10]
0069cef1 lea ecx, [esp + 0xb8]
0069cef8 push ecx
0069cef9 mov ebx, 0x3ef19c25
0069cefe mov edx, 0x732ce3b7
0069cf03 mov ecx, esi
0069cf05 movss dword ptr [esp + 0x54], xmm0
0069cf0b movss dword ptr [esp + 0x48], xmm1
0069cf11 mov dword ptr [esp + 0xc0], ebx
0069cf18 movss dword ptr [esp + 0xbc], xmm0
0069cf21 call eax
0069cf23 mov eax, dword ptr [esi]
0069cf25 movss xmm0, dword ptr [esp + 0x44]
0069cf2b mov eax, dword ptr [eax + 0x10]
0069cf2e lea ecx, [esp + 0xf0]
0069cf35 push ecx
0069cf36 mov edx, 0x42bd321
0069cf3b mov ecx, esi
0069cf3d mov dword ptr [esp + 0xf8], ebx
0069cf44 movss dword ptr [esp + 0xf4], xmm0
0069cf4d call eax
0069cf4f movss xmm0, dword ptr [esp + 0x18]
0069cf55 movss xmm1, dword ptr [esp + 0x1c]
0069cf5b mov eax, dword ptr [esi]
0069cf5d subss xmm0, dword ptr [esp + 0x50]
0069cf63 subss xmm1, dword ptr [esp + 0x44]
0069cf69 mov eax, dword ptr [eax + 0x10]
0069cf6c lea ecx, [esp + 0xd0]
0069cf73 push ecx
0069cf74 mov edx, 0x95f194b8
0069cf79 mov ecx, esi
0069cf7b movss dword ptr [esp + 0x1c], xmm0
0069cf81 movss dword ptr [esp + 0x20], xmm1
0069cf87 mov dword ptr [esp + 0xd8], ebx
0069cf8e movss dword ptr [esp + 0xd4], xmm0
0069cf97 call eax
0069cf99 mov eax, dword ptr [esi]
0069cf9b movss xmm0, dword ptr [esp + 0x1c]
0069cfa1 mov eax, dword ptr [eax + 0x10]
0069cfa4 lea ecx, [esp + 0x90]
0069cfab push ecx
0069cfac mov edx, 0xe2f6a42e
0069cfb1 mov ecx, esi
0069cfb3 mov dword ptr [esp + 0x98], ebx
0069cfba movss dword ptr [esp + 0x94], xmm0
0069cfc3 call eax
0069cfc5 mov ecx, dword ptr [esp + 0x28]
0069cfc9 mov eax, dword ptr [esi]
0069cfcb mov eax, dword ptr [eax + 0x10]
0069cfce mov dword ptr [esp + 0x80], ecx
0069cfd5 lea ecx, [esp + 0x80]
0069cfdc push ecx
0069cfdd mov edx, 0xa15e7f4a
0069cfe2 mov ecx, esi
0069cfe4 mov dword ptr [esp + 0x88], 0x82f6983b
FUNCTION 00d95710
00d95710 mov eax, ecx
00d95712 mov ecx, dword ptr [esp + 4]
00d95716 test ecx, ecx
00d95718 jne 0xd9571f
00d9571a xor eax, eax
00d9571c ret 4
00d9571f push esi
00d95720 lea esi, [eax + ecx - 1]
00d95724 lea ecx, [eax + 4]
00d95727 cmp ecx, esi
00d95729 ja 0xd95743
00d9572b push edi
00d9572c lea esp, [esp]
00d95730 mov edi, dword ptr [eax]
00d95732 cmp edi, dword ptr [edx]
00d95734 jne 0xd95742
00d95736 mov eax, ecx
00d95738 lea ecx, [eax + 4]
00d9573b add edx, 4
00d9573e cmp ecx, esi
00d95740 jbe 0xd95730
00d95742 pop edi
00d95743 cmp eax, esi
00d95745 jae 0xd95753
00d95747 mov cl, byte ptr [eax]
00d95749 cmp cl, byte ptr [edx]
00d9574b jne 0xd95753
00d9574d inc eax
00d9574e inc edx
00d9574f cmp eax, esi
00d95751 jb 0xd95747
00d95753 movzx edx, byte ptr [edx]
00d95756 movzx eax, byte ptr [eax]
00d95759 sub eax, edx
00d9575b pop esi
00d9575c ret 4
00d9575f int3 
00d95760 mov eax, dword ptr [esp + 4]
00d95764 push ebx
00d95765 push esi
00d95766 lea esi, [ecx + eax]
00d95769 mov eax, ecx
00d9576b xor eax, edx
00d9576d test al, 3
00d9576f jne 0xd957c3
00d95771 push edi
00d95772 cmp ecx, esi
00d95774 jae 0xd957a0
00d95776 lea eax, [ecx + 3]
00d95779 mov edi, eax
00d9577b and edi, 3
00d9577e sub eax, edi
00d95780 cmp eax, ecx
00d95782 je 0xd957a0
00d95784 lea eax, [edx + 3]
00d95787 mov edi, eax
00d95789 and edi, 3
00d9578c sub eax, edi
00d9578e cmp eax, edx
00d95790 je 0xd957a0
00d95792 mov bl, byte ptr [edx]
00d95794 mov al, byte ptr [ecx]
00d95796 mov byte ptr [ecx], bl
00d95798 inc ecx
00d95799 mov byte ptr [edx], al
00d9579b inc edx
00d9579c cmp ecx, esi
00d9579e jb 0xd95776
00d957a0 mov edi, esi
00d957a2 and edi, 3
00d957a5 mov eax, esi
00d957a7 sub eax, edi
00d957a9 cmp ecx, eax
00d957ab jae 0xd957c2
00d957ad lea ecx, [ecx]
00d957b0 mov ebx, dword ptr [edx]
00d957b2 mov edi, dword ptr [ecx]
00d957b4 mov dword ptr [ecx], ebx
00d957b6 add ecx, 4
00d957b9 mov dword ptr [edx], edi
00d957bb add edx, 4
00d957be cmp ecx, eax
00d957c0 jb 0xd957b0
00d957c2 pop edi
00d957c3 cmp ecx, esi
00d957c5 jae 0xd957d5
00d957c7 mov bl, byte ptr [edx]
00d957c9 mov al, byte ptr [ecx]
00d957cb mov byte ptr [ecx], bl
00d957cd inc ecx
00d957ce mov byte ptr [edx], al
00d957d0 inc edx
00d957d1 cmp ecx, esi
00d957d3 jb 0xd957c7
00d957d5 pop esi
00d957d6 pop ebx
00d957d7 ret 4
00d957da int3 
00d957db int3 
00d957dc int3 
00d957dd int3 
00d957de int3 
00d957df int3 
00d957e0 mov eax, dword ptr [esp + 4]
00d957e4 lea eax, [ecx + eax - 0x20]
00d957e8 cmp ecx, eax
00d957ea jae 0xd95808
00d957ec lea esp, [esp]
00d957f0 movaps xmm0, xmmword ptr [edx + 0x10]
00d957f4 movaps xmm1, xmmword ptr [edx]
00d957f7 movaps xmmword ptr [ecx], xmm1
00d957fa movaps xmmword ptr [ecx + 0x10], xmm0
00d957fe add ecx, 0x20
00d95801 add edx, 0x20
00d95804 cmp ecx, eax
00d95806 jb 0xd957f0
00d95808 movaps xmm0, xmmword ptr [edx + 0x10]
00d9580c movaps xmm1, xmmword ptr [edx]
00d9580f movaps xmmword ptr [ecx], xmm1
00d95812 movaps xmmword ptr [ecx + 0x10], xmm0
00d95816 ret 4
00d95819 int3 
00d9581a int3 
00d9581b int3 
00d9581c int3 
00d9581d int3 
00d9581e int3 
00d9581f int3 
00d95820 push ecx
00d95821 mov eax, dword ptr [esp + 8]
00d95825 push ebx
00d95826 push esi
00d95827 mov ebx, ecx
00d95829 push edi
00d9582a mov edi, ebx
00d9582c mov dword ptr [esp + 0xc], edi
00d95830 lea esi, [ebx + eax]
00d95833 test bl, 3
00d95836 jne 0xd9588c
00d95838 cmp ebx, esi
00d9583a jae 0xd95855
00d9583c lea esp, [esp]
00d95840 lea eax, [ebx + 3]
00d95843 mov ecx, eax
00d95845 and ecx, 3
00d95848 sub eax, ecx
00d9584a cmp eax, ebx
00d9584c je 0xd95855
00d9584e mov byte ptr [ebx], dl
00d95850 inc ebx
00d95851 cmp ebx, esi
00d95853 jb 0xd95840
00d95855 movzx eax, dl
00d95858 mov ecx, eax
00d9585a shl ecx, 8
00d9585d or eax, ecx
00d9585f mov ecx, eax
00d95861 shl ecx, 0x10
00d95864 push ebp
00d95865 or eax, ecx
00d95867 mov ebp, esi
00d95869 and ebp, 3
00d9586c mov ecx, esi
00d9586e sub ecx, ebp
00d95870 cmp ebx, ecx
00d95872 jae 0xd9588b
00d95874 sub ecx, ebx
00d95876 lea ebp, [ecx - 1]
00d95879 shr ebp, 2
00d9587c mov edi, ebx
00d9587e lea ecx, [ebp + 1]
00d95881 rep stosd dword ptr es:[edi], eax
00d95883 mov edi, dword ptr [esp + 0x10]
00d95887 lea ebx, [ebx + ebp*4 + 4]
00d9588b pop ebp
00d9588c cmp ebx, esi
00d9588e jae 0xd9589d
00d95890 sub esi, ebx
00d95892 push esi
00d95893 push edx
00d95894 push ebx
00d95895 call 0xe231d0
00d9589a add esp, 0xc
00d9589d mov eax, edi
00d9589f pop edi
00d958a0 pop esi
00d958a1 pop ebx
00d958a2 pop ecx
00d958a3 ret 4
00d958a6 int3 
00d958a7 int3 
00d958a8 int3 
00d958a9 int3 
00d958aa int3 
00d958ab int3 
00d958ac int3 
00d958ad int3 
00d958ae int3 
00d958af int3 
00d958b0 push ecx
00d958b1 mov eax, ecx
00d958b3 mov dword ptr [esp], eax
00d958b6 cmp eax, edx
00d958b8 je 0xd959ad
00d958be mov ecx, dword ptr [esp + 8]
00d958c2 push ebx
00d958c3 push esi
00d958c4 lea ebx, [eax + 0x1f]
00d958c7 push edi
00d958c8 lea edi, [eax + ecx]
00d958cb mov ecx, ebx
00d958cd and ecx, 0x1f
00d958d0 sub ebx, ecx
00d958d2 mov esi, edx
00d958d4 mov edx, eax
00d958d6 cmp ebx, eax
00d958d8 je 0xd95924
00d958da lea ecx, [eax + 3]
00d958dd cmp ebx, edi
00d958df cmova ebx, edi
00d958e2 mov eax, ecx
00d958e4 and eax, 3
00d958e7 sub ecx, eax
00d958e9 mov eax, edx
00d958eb cmp ecx, eax
00d958ed je 0xd95906
00d958ef cmp ecx, edi
00d958f1 cmova ecx, edi
00d958f4 cmp eax, ecx
00d958f6 jae 0xd95906
00d958f8 mov al, byte ptr [esi]
00d958fa mov byte ptr [edx], al
00d958fc inc edx
00d958fd inc esi
00d958fe cmp edx, ecx
00d95900 jb 0xd958f8
00d95902 mov eax, dword ptr [esp + 0xc]
00d95906 lea ecx, [edx + 4]
00d95909 cmp ecx, ebx
00d9590b ja 0xd95924
00d9590d lea ecx, [ecx]
00d95910 mov eax, dword ptr [esi]
00d95912 mov dword ptr [edx], eax
00d95914 mov edx, ecx
00d95916 lea ecx, [edx + 4]
00d95919 add esi, 4
00d9591c cmp ecx, ebx
00d9591e jbe 0xd95910
00d95920 mov eax, dword ptr [esp + 0xc]
00d95924 mov ecx, esi
00d95926 and ecx, 0xf
00d95929 mov ebx, esi
00d9592b sub ebx, ecx
00d9592d lea ecx, [edx + 0x20]
00d95930 cmp ebx, esi
00d95932 jne 0xd9595d
00d95934 cmp ecx, edi
00d95936 ja 0xd9597c
00d95938 jmp 0xd95940
00d9593a lea ebx, [ebx]
00d95940 movaps xmm0, xmmword ptr [esi + 0x10]
00d95944 movaps xmm1, xmmword ptr [esi]
00d95947 movaps xmmword ptr [ecx - 0x10], xmm0
00d9594b movaps xmmword ptr [edx], xmm1
00d9594e add ecx, 0x20
00d95951 add esi, 0x20
00d95954 add edx, 0x20
00d95957 cmp ecx, edi
00d95959 jbe 0xd95940
00d9595b jmp 0xd9597c
00d9595d cmp ecx, edi
00d9595f ja 0xd9597c
00d95961 movups xmm0, xmmword ptr [esi + 0x10]
00d95965 movups xmm1, xmmword ptr [esi]
00d95968 movaps xmmword ptr [ecx - 0x10], xmm0
00d9596c movaps xmmword ptr [edx], xmm1
00d9596f add ecx, 0x20
00d95972 add esi, 0x20
00d95975 add edx, 0x20
00d95978 cmp ecx, edi
00d9597a jbe 0xd95961
00d9597c cmp edx, edi
00d9597e je 0xd959aa
00d95980 lea ebx, [edx + 4]
00d95983 cmp ebx, edi
00d95985 ja 0xd95997
00d95987 mov ecx, dword ptr [esi]
00d95989 mov dword ptr [edx], ecx
00d9598b mov edx, ebx
00d9598d lea ebx, [edx + 4]
00d95990 add esi, 4
00d95993 cmp ebx, edi
00d95995 jbe 0xd95987
00d95997 cmp edx, edi
00d95999 jae 0xd959aa
00d9599b sub esi, edx
00d9599d lea ecx, [ecx]
00d959a0 mov cl, byte ptr [esi + edx]
00d959a3 mov byte ptr [edx], cl
00d959a5 inc edx
00d959a6 cmp edx, edi
00d959a8 jb 0xd959a0
00d959aa pop edi
00d959ab pop esi
00d959ac pop ebx
00d959ad pop ecx
00d959ae ret 4
00d959b1 int3 
00d959b2 int3 
00d959b3 int3 
00d959b4 int3 
00d959b5 int3 
00d959b6 int3 
00d959b7 int3 
00d959b8 int3 
00d959b9 int3 
00d959ba int3 
00d959bb int3 
00d959bc int3 
00d959bd int3 
00d959be int3 
00d959bf int3 
00d959c0 push esi
00d959c1 mov esi, ecx
00d959c3 cmp esi, edx
00d959c5 jne 0xd959cd
00d959c7 mov eax, esi
00d959c9 pop esi
00d959ca ret 4
00d959cd mov eax, dword ptr [esp + 8]
00d959d1 lea ecx, [esi + eax]
00d959d4 cmp ecx, edx
00d959d6 jbe 0xd959f9
00d959d8 lea ecx, [edx + eax]
00d959db cmp ecx, esi
00d959dd jbe 0xd959f9
00d959df cmp esi, edx
00d959e1 ja 0xd959ee
00d959e3 push eax
00d959e4 push esi
00d959e5 call 0xd95530
00d959ea pop esi
00d959eb ret 4
00d959ee mov ecx, edx
00d959f0 call 0xd95620
00d959f5 pop esi
00d959f6 ret 4
00d959f9 push eax
00d959fa mov ecx, esi
00d959fc call 0xd958b0
00d95a01 pop esi
00d95a02 ret 4
00d95a05 int3 
00d95a06 int3 
00d95a07 int3 
00d95a08 int3 
00d95a09 int3 
00d95a0a int3 
00d95a0b int3 
00d95a0c int3 
00d95a0d int3 
00d95a0e int3 
00d95a0f int3 
FUNCTION 00db3e10
00db3e10 call 0xda3620
00db3e15 mov eax, dword ptr [eax + 0x3094]
00db3e1b ret 
00db3e1c int3 
00db3e1d int3 
00db3e1e int3 
00db3e1f int3 
00db3e20 call 0xda3620
00db3e25 mov eax, dword ptr [eax + 0x3094]
00db3e2b mov eax, dword ptr [eax + 8]
00db3e2e ret 
00db3e2f int3 
00db3e30 sub esp, 0x10
00db3e33 push ebx
00db3e34 push ebp
00db3e35 mov ebx, ecx
00db3e37 mov ebp, dword ptr [ebx]
00db3e39 xor eax, eax
00db3e3b push esi
00db3e3c xor ecx, ecx
00db3e3e push edi
00db3e3f mov edi, edx
00db3e41 mov dword ptr [esp + 0x18], ebx
00db3e45 mov dword ptr [esp + 0x10], eax
00db3e49 mov dword ptr [esp + 0x14], eax
00db3e4d cmp ebp, 2
00db3e50 jl 0xdb3e94
00db3e52 add ebp, -2
00db3e55 shr ebp, 1
00db3e57 add ebx, 8
00db3e5a inc ebp
00db3e5b lea eax, [ebp + ebp]
00db3e5f mov dword ptr [esp + 0x1c], eax
00db3e63 mov edx, dword ptr [ebx - 4]
00db3e66 lea esi, [edx + edi - 1]
00db3e6a mov eax, esi
00db3e6c xor edx, edx
00db3e6e div edi
00db3e70 mov eax, dword ptr [ebx]
00db3e72 add ebx, 8
00db3e75 sub esi, edx
00db3e77 add ecx, esi
00db3e79 lea esi, [edi + eax - 1]
00db3e7d mov eax, esi
00db3e7f xor edx, edx
00db3e81 div edi
00db3e83 sub esi, edx
00db3e85 add dword ptr [esp + 0x10], esi
00db3e89 dec ebp
00db3e8a jne 0xdb3e63
00db3e8c mov ebx, dword ptr [esp + 0x18]
00db3e90 mov eax, dword ptr [esp + 0x1c]
00db3e94 cmp eax, dword ptr [ebx]
00db3e96 jge 0xdb3eac
00db3e98 mov edx, dword ptr [ebx + eax*4 + 4]
00db3e9c lea esi, [edx + edi - 1]
00db3ea0 mov eax, esi
00db3ea2 xor edx, edx
00db3ea4 div edi
00db3ea6 sub esi, edx
00db3ea8 mov dword ptr [esp + 0x14], esi
00db3eac mov eax, dword ptr [esp + 0x10]
00db3eb0 pop edi
00db3eb1 pop esi
00db3eb2 add eax, ecx
00db3eb4 add eax, dword ptr [esp + 0xc]
00db3eb8 pop ebp
00db3eb9 pop ebx
00db3eba add esp, 0x10
00db3ebd ret 
00db3ebe int3 
00db3ebf int3 
00db3ec0 push ebx
00db3ec1 push esi
00db3ec2 push edi
00db3ec3 mov edi, edx
00db3ec5 mov ebx, ecx
00db3ec7 call 0xda3620
00db3ecc mov eax, dword ptr [eax + 0x3094]
00db3ed2 test eax, eax
00db3ed4 jne 0xdb3eda
00db3ed6 xor esi, esi
00db3ed8 jmp 0xdb3edc
00db3eda mov esi, dword ptr [eax]
00db3edc push 1
00db3ede push ebx
00db3edf call 0xda3a90
00db3ee4 movss xmm0, dword ptr [esp + 0x18]
00db3eea xor ecx, ecx
00db3eec cmp dword ptr [eax + 0x28], ecx
FUNCTION 00d96870
00d96870 movss xmm1, dword ptr [ecx]
00d96874 movss xmm0, dword ptr [esp + 4]
00d9687a ucomiss xmm1, xmm0
00d9687d lahf 
00d9687e test ah, 0x44
00d96881 jp 0xd9688e
00d96883 movzx eax, byte ptr [ecx + 0x1d9]
00d9688a cmp eax, edx
00d9688c je 0xd968a4
00d9688e test edx, edx
00d96890 setne dl
00d96893 or byte ptr [ecx + 0x1dc], 0x73
00d9689a movss dword ptr [ecx], xmm0
00d9689e mov byte ptr [ecx + 0x1d9], dl
00d968a4 ret 4
00d968a7 int3 
00d968a8 int3 
00d968a9 int3 
00d968aa int3 
00d968ab int3 
00d968ac int3 
00d968ad int3 
00d968ae int3 
00d968af int3 
00d968b0 push ebp
00d968b1 mov ebp, esp
00d968b3 and esp, 0xfffffff0
00d968b6 sub esp, 0x20
00d968b9 test edx, edx
00d968bb je 0xd9693c
00d968bd movss xmm0, dword ptr [ecx + 0x1f4]
00d968c5 subss xmm0, dword ptr [ecx + 0x204]
00d968cd movss xmm1, dword ptr [ecx]
00d968d1 shufps xmm0, xmm0, 0
00d968d5 andps xmm0, xmmword ptr [0xfd0800]
00d968dc movaps xmmword ptr [esp], xmm0
00d968e0 movss xmm0, dword ptr [ecx + 0x200]
00d968e8 subss xmm0, dword ptr [ecx + 0x1f0]
00d968f0 shufps xmm0, xmm0, 0
00d968f4 andps xmm0, xmmword ptr [0xfd0800]
00d968fb movaps xmmword ptr [esp + 0x10], xmm0
00d96900 movss xmm0, dword ptr [esp]
00d96905 divss xmm0, dword ptr [esp + 0x10]
00d9690b mulss xmm0, dword ptr [ebp + 8]
00d96910 ucomiss xmm1, xmm0
00d96913 lahf 
00d96914 test ah, 0x44
00d96917 jp 0xd96924
00d96919 movzx eax, byte ptr [ecx + 0x1d9]
00d96920 cmp eax, edx
00d96922 je 0xd9696b
00d96924 or byte ptr [ecx + 0x1dc], 0x73
00d9692b movss dword ptr [ecx], xmm0
00d9692f mov byte ptr [ecx + 0x1d9], 1
00d96936 mov esp, ebp
00d96938 pop ebp
00d96939 ret 4
00d9693c movss xmm1, dword ptr [ecx + 0x14]
00d96941 movss xmm0, dword ptr [ebp + 8]
00d96946 ucomiss xmm1, xmm0
00d96949 lahf 
00d9694a test ah, 0x44
00d9694d jp 0xd96958
00d9694f cmp byte ptr [ecx + 0x1d9], 0
00d96956 je 0xd9696b
00d96958 or byte ptr [ecx + 0x1dc], 0x73
00d9695f movss dword ptr [ecx + 0x14], xmm0
00d96964 mov byte ptr [ecx + 0x1d9], 0
00d9696b mov esp, ebp
00d9696d pop ebp
00d9696e ret 4
00d96971 int3 
00d96972 int3 
00d96973 int3 
00d96974 int3 
00d96975 int3 
00d96976 int3 
00d96977 int3 
00d96978 int3 
00d96979 int3 
00d9697a int3 
00d9697b int3 
00d9697c int3 
00d9697d int3 
00d9697e int3 
00d9697f int3 
