008c8c10 push ecx
008c8c11 push ebx
008c8c12 push ebp
008c8c13 mov ebp, dword ptr [esp + 0x10]
008c8c17 push esi
008c8c18 mov esi, dword ptr [esp + 0x1c]
008c8c1c mov ebx, ecx
008c8c1e push edi
008c8c1f mov dword ptr [esp + 0x10], edx
008c8c23 cmp ebx, 1
008c8c26 jne 0x8c8d04
008c8c2c cmp ebp, 1
008c8c2f jne 0x8c8cc5
008c8c35 xorps xmm0, xmm0
008c8c38 push ecx
008c8c39 xor edx, edx
008c8c3b or ecx, 0xffffffff
008c8c3e movss dword ptr [esp], xmm0
008c8c43 call 0x913590
008c8c48 test esi, esi
008c8c4a je 0x8c8c8d
008c8c4c mov edi, dword ptr [esi + 0x14]
008c8c4f cmp dword ptr [edi], -1
008c8c52 je 0x8c8c8d
008c8c54 test dword ptr [edi + 8], 0x8000
008c8c5b jne 0x8c8c8d
008c8c5d call 0x499000
008c8c62 test eax, eax
008c8c64 je 0x8c8c6a
008c8c66 xor ecx, ecx
008c8c68 jmp 0x8c8c71
008c8c6a mov ecx, dword ptr [edi]
008c8c6c cmp ecx, -1
008c8c6f je 0x8c8c8d
008c8c71 movss xmm0, dword ptr [0xec6e14]
008c8c79 push 0x44
008c8c7b push ecx
008c8c7c movss dword ptr [esp], xmm0
008c8c81 push 0
008c8c83 mov edx, 0x35
008c8c88 call 0x8a4950
008c8c8d xorps xmm0, xmm0
008c8c90 push ecx
008c8c91 xor edx, edx
008c8c93 or ecx, 0xffffffff
008c8c96 movss dword ptr [esp], xmm0
008c8c9b call 0x913600
008c8ca0 lea edx, [esp + 0x20]
008c8ca4 mov ecx, esi
008c8ca6 mov dword ptr [esp + 0x20], 0
008c8cae call 0x90ea40
008c8cb3 test eax, eax
008c8cb5 je 0x8c8d04
008c8cb7 push 0x45
008c8cb9 push ecx
008c8cba mov ecx, dword ptr [esp + 0x28]
008c8cbe mov edx, 0x36
008c8cc3 jmp 0x8c8cf0
008c8cc5 test ebp, ebp
008c8cc7 jne 0x8c8ce3
008c8cc9 xorps xmm0, xmm0
008c8ccc push ecx
008c8ccd xor edx, edx
008c8ccf or ecx, 0xffffffff
008c8cd2 movss dword ptr [esp], xmm0
008c8cd7 call 0x913670
008c8cdc push 0x26
008c8cde lea edx, [ebp + 0x15]
008c8ce1 jmp 0x8c8ced
008c8ce3 cmp ebp, 4
008c8ce6 jne 0x8c8d04
008c8ce8 push 0x5e
008c8cea lea edx, [ebp + 0x43]
008c8ced push ecx
008c8cee mov ecx, esi
008c8cf0 movss xmm0, dword ptr [0xec6e14]
008c8cf8 movss dword ptr [esp], xmm0
008c8cfd push 0
008c8cff call 0x8bfc50
008c8d04 mov edi, dword ptr [esp + 0x1c]
008c8d08 mov edx, dword ptr [esp + 0x10]
008c8d0c push esi
008c8d0d push edi
008c8d0e push ebp
008c8d0f mov ecx, ebx
008c8d11 call 0x910110
008c8d16 mov edx, dword ptr [esp + 0x10]
008c8d1a push esi
008c8d1b push edi
008c8d1c push ebp
008c8d1d mov ecx, ebx
008c8d1f call 0x9134c0
008c8d24 mov edx, dword ptr [esp + 0x10]
008c8d28 push esi
008c8d29 push edi
008c8d2a push ebp
008c8d2b mov ecx, ebx
008c8d2d call 0x90f3b0
008c8d32 pop edi
008c8d33 pop esi
008c8d34 pop ebp
008c8d35 pop ebx
008c8d36 pop ecx
008c8d37 ret 0xc
008c8d3a in al, 0xcc
008c8d3c int3 
008c8d3d int3 
008c8d3e int3 
008c8d3f int3 
008c8d40 push 0x3b60
008c8d45 xor dl, dl
008c8d47 mov ecx, 0x1de2b08
008c8d4c call 0xd95820
008c8d51 or eax, 0xffffffff
008c8d54 mov dword ptr [0x1de6634], eax
008c8d59 mov dword ptr [0x1de6638], eax
008c8d5e mov dword ptr [0x1de663c], eax
008c8d63 mov eax, 0x8c8c10
008c8d68 test eax, eax
008c8d6a je 0x8c8d8a
008c8d6c mov eax, dword ptr [0x1de1d48]
008c8d71 lea ecx, [eax + 1]
008c8d74 cmp ecx, 3
008c8d77 jg 0x8c8d8a
008c8d79 mov dword ptr [eax*4 + 0x1de1d3c], 0x8c8c10
008c8d84 inc dword ptr [0x1de1d48]
008c8d8a mov dword ptr [0x1de6664], 1
008c8d94 mov dword ptr [0x1de6198], 0xa
008c8d9e call 0x885260
008c8da3 mov ecx, dword ptr [0x1de6224]
008c8da9 mov eax, 0x12b7c48
008c8dae mov edi, edi
008c8db0 cmp ecx, 0x21
008c8db3 jge 0x8c8dcb
008c8db5 mov edx, dword ptr [eax]
008c8db7 mov dword ptr [ecx*4 + 0x1de61a0], edx
008c8dbe mov ecx, dword ptr [0x1de6224]
008c8dc4 inc ecx
008c8dc5 mov dword ptr [0x1de6224], ecx
008c8dcb add eax, 4
008c8dce cmp eax, 0x12b7ccc
008c8dd3 jl 0x8c8db0
008c8dd5 push esi
008c8dd6 xor esi, esi
008c8dd8 test ecx, ecx
008c8dda jle 0x8c8dfa
008c8ddc lea esp, [esp]
008c8de0 mov eax, dword ptr [esi*4 + 0x1de61a0]
008c8de7 mov eax, dword ptr [eax]
008c8de9 test eax, eax
008c8deb je 0x8c8df5
008c8ded call eax
008c8def mov ecx, dword ptr [0x1de6224]
008c8df5 inc esi
008c8df6 cmp esi, ecx
008c8df8 jl 0x8c8de0
008c8dfa xorps xmm0, xmm0
008c8dfd movss dword ptr [0x1de2b08], xmm0
008c8e05 movss dword ptr [0x1de2b0c], xmm0
008c8e0d movss dword ptr [0x1de2b10], xmm0
008c8e15 movss dword ptr [0x1de2b14], xmm0
008c8e1d movss dword ptr [0x1de2b18], xmm0
008c8e25 movss dword ptr [0x1de2b1c], xmm0
008c8e2d movss dword ptr [0x1de2b20], xmm0
008c8e35 movss dword ptr [0x1de2b24], xmm0
008c8e3d movss dword ptr [0x1de2b28], xmm0
008c8e45 movss dword ptr [0x1de2b2c], xmm0
008c8e4d call 0x8a48d0
008c8e52 push 0
008c8e54 push 0
008c8e56 push 0
008c8e58 push 0xb2b7d680
008c8e5d push 0x2405cbec
008c8e62 push 0
008c8e64 mov edx, 0xbb05a9c1
008c8e69 mov ecx, 0x20e3760
008c8e6e call 0xd94400
008c8e73 pop esi
008c8e74 test eax, eax
008c8e76 je 0x8c8e88
008c8e78 cmp dword ptr [eax], 0x2800
008c8e7e jl 0x8c8e88
008c8e80 mov eax, dword ptr [eax + 4]
008c8e83 mov dword ptr [0x1de619c], eax
008c8e88 ret 
008c8e89 .byte 0x8d
008c8e8a int3 
008c8e8b int3 
008c8e8c int3 
008c8e8d int3 
008c8e8e int3 
008c8e8f int3 
008c8e90 sub esp, 0x24
008c8e93 cmp dword ptr [0x1de6648], 0
008c8e9a jne 0x8c9143
008c8ea0 cmp dword ptr [0x1de6650], 0
008c8ea7 jne 0x8c9143
008c8ead call 0x4120b0
008c8eb2 cmp dword ptr [eax + 0x34], 0
008c8eb6 je 0x8c913a
008c8ebc mov ecx, dword ptr [eax + 0x2c]
008c8ebf lea ecx, [ecx + ecx*2]
008c8ec2 cmp dword ptr [eax + ecx*4 + 0x14], 0xa
008c8ec7 jne 0x8c913a
008c8ecd mov edx, dword ptr [0x1dee620]
008c8ed3 mov eax, dword ptr [edx + 0x30]
008c8ed6 movd xmm0, dword ptr [eax]
008c8eda mov ecx, dword ptr [0x1dee624]
008c8ee0 cvtdq2ps xmm0, xmm0
008c8ee3 movss dword ptr [esp], xmm0
008c8ee8 call 0x6c4b00
008c8eed cmp eax, 0x14
008c8ef0 je 0x8c8f05
008c8ef2 cmp dword ptr [0x1de6654], 0
008c8ef9 jne 0x8c8f05
008c8efb mov dword ptr [0x1de6654], 1
008c8f05 mov eax, dword ptr [0x1ce716c]
008c8f0a test eax, eax
008c8f0c je 0x8c9136
008c8f12 mov ecx, dword ptr [eax]
008c8f14 test ecx, ecx
008c8f16 je 0x8c9136
008c8f1c cmp dword ptr [ecx + 0x74], 1
008c8f20 jne 0x8c9136
008c8f26 mov edx, dword ptr [ecx]
008c8f28 mov eax, dword ptr [edx + 0x20]
008c8f2b push ebx
008c8f2c call eax
008c8f2e mov ebx, eax
008c8f30 test ebx, ebx
008c8f32 je 0x8c9135
008c8f38 cmp dword ptr [0x1de6654], 0
008c8f3f jne 0x8c9135
008c8f45 mov ecx, ebx
008c8f47 call 0x401be0
008c8f4c fmul dword ptr [esp + 4]
008c8f50 fld dword ptr [0xf35fb8]
008c8f56 fxch st(1)
008c8f58 fcompi st(1)
008c8f5a fstp st(0)
008c8f5c jbe 0x8c9135
008c8f62 push esi
008c8f63 push edi
008c8f64 mov ecx, ebx
008c8f66 call 0x6a9c70
008c8f6b mov esi, eax
008c8f6d xor edi, edi
008c8f6f test esi, esi
008c8f71 je 0x8c8f98
008c8f73 cmp esi, ebx
008c8f75 je 0x8c8f8b
008c8f77 mov ecx, esi
008c8f79 mov dword ptr [esp + edi*8 + 0x10], esi
008c8f7d call 0x401be0
008c8f82 fmul dword ptr [esp + 0xc]
008c8f86 inc edi
008c8f87 fstp dword ptr [esp + edi*8 + 0xc]
008c8f8b mov ecx, esi
008c8f8d call 0x6b49c0
008c8f92 mov esi, eax
008c8f94 test esi, esi
008c8f96 jne 0x8c8f73
008c8f98 mov edx, edi
008c8f9a lea ecx, [esp + 0x10]
008c8f9e call 0x6cb700
008c8fa3 mov ecx, ebx
008c8fa5 call 0x401bf0
008c8faa movsx edi, ax
008c8fad call 0x6c02f0
008c8fb2 cmp eax, 1
008c8fb5 je 0x8c901c
008c8fb7 cmp eax, 3
008c8fba je 0x8c901c
008c8fbc cmp eax, 5
008c8fbf je 0x8c901c
008c8fc1 cmp eax, 2
008c8fc4 je 0x8c8fcf
008c8fc6 cmp eax, 4
008c8fc9 jne 0x8c9129
008c8fcf mov ecx, ebx
008c8fd1 call 0x401bd0
008c8fd6 fstp dword ptr [esp + 0xc]
008c8fda movss xmm0, dword ptr [esp + 0xc]
008c8fe0 push ecx
008c8fe1 movss dword ptr [esp], xmm0
008c8fe6 call 0x6af0d0
008c8feb fstp dword ptr [esp + 0xc]
008c8fef mov ecx, dword ptr [esp + 0x10]
008c8ff3 call 0x401bd0
008c8ff8 push ecx
008c8ff9 fstp dword ptr [esp]
008c8ffc call 0x6af0d0
008c9001 fld dword ptr [esp + 0xc]
008c9005 fucompi st(1)
008c9007 fstp st(0)
008c9009 lahf 
008c900a test ah, 0x44
008c900d jnp 0x8c9129
008c9013 mov esi, dword ptr [esp + 0x10]
008c9017 jmp 0x8c90fc
008c901c mov ecx, ebx
008c901e call 0x885480
008c9023 mov ecx, ebx
008c9025 mov esi, eax
008c9027 call 0x401bd0
008c902c fstp dword ptr [esp + 0xc]
008c9030 cmp esi, 1
008c9033 jne 0x8c9056
008c9035 movss xmm0, dword ptr [esp + 0xc]
008c903b subss xmm0, dword ptr [0xf37d68]
008c9043 movss xmm1, dword ptr [0xf33d0c]
008c904b comiss xmm1, xmm0
008c904e jbe 0x8c9083
008c9050 test edi, edi
008c9052 jns 0x8c9083
008c9054 jmp 0x8c9081
008c9056 cmp esi, -1
008c9059 jne 0x8c9083
008c905b movss xmm0, dword ptr [esp + 0xc]
008c9061 xorps xmm0, xmmword ptr [0xec6fe0]
008c9068 subss xmm0, dword ptr [0xf37d68]
008c9070 movss xmm1, dword ptr [0xf33d0c]
008c9078 comiss xmm1, xmm0
008c907b jbe 0x8c9083
008c907d test edi, edi
008c907f jle 0x8c9083
008c9081 xor esi, esi
008c9083 mov ecx, dword ptr [esp + 0x10]
008c9087 call 0x885480
008c908c mov ebx, eax
008c908e cmp ebx, esi
008c9090 je 0x8c90eb
008c9092 mov edi, dword ptr [esp + 0x10]
008c9096 test edi, edi
008c9098 je 0x8c90c3
008c909a mov ecx, edi
008c909c call 0x870e30
008c90a1 test eax, eax
008c90a3 je 0x8c90c3
008c90a5 movss xmm0, dword ptr [0xec6e14]
008c90ad push 0x2b
008c90af push ecx
008c90b0 movss dword ptr [esp], xmm0
008c90b5 push 0
008c90b7 mov edx, 0x1b
008c90bc mov ecx, edi
008c90be call 0x8bfc50
008c90c3 mov ecx, dword ptr [esp + 0x18]
008c90c7 call 0x885480
008c90cc cmp eax, esi
008c90ce je 0x8c9129
008c90d0 cmp eax, ebx
008c90d2 je 0x8c9129
008c90d4 mov esi, dword ptr [esp + 0x18]
008c90d8 test esi, esi
008c90da je 0x8c9129
008c90dc mov ecx, esi
008c90de call 0x870e30
008c90e3 test eax, eax
008c90e5 je 0x8c9129
008c90e7 push 0x2c
008c90e9 jmp 0x8c910d
008c90eb mov ecx, dword ptr [esp + 0x18]
008c90ef call 0x885480
008c90f4 cmp eax, esi
008c90f6 je 0x8c9129
008c90f8 mov esi, dword ptr [esp + 0x18]
008c90fc test esi, esi
008c90fe je 0x8c9129
008c9100 mov ecx, esi
008c9102 call 0x870e30
008c9107 test eax, eax
008c9109 je 0x8c9129
008c910b push 0x2b
008c910d movss xmm0, dword ptr [0xec6e14]
008c9115 push ecx
008c9116 movss dword ptr [esp], xmm0
008c911b push 0
008c911d mov edx, 0x1b
008c9122 mov ecx, esi
008c9124 call 0x8bfc50
008c9129 pop edi
008c912a mov dword ptr [0x1de6654], 1
008c9134 pop esi
008c9135 pop ebx
008c9136 add esp, 0x24
008c9139 ret 
008c913a cmp dword ptr [0x1de6654], 0
008c9141 je 0x8c9136
008c9143 mov dword ptr [0x1de6654], 0
008c914d add esp, 0x24
008c9150 ret 
008c9151 .byte 0xc7
008c9152 int3 
008c9153 int3 
008c9154 int3 
008c9155 int3 
008c9156 int3 
008c9157 int3 
008c9158 int3 
008c9159 int3 
008c915a int3 
008c915b int3 
008c915c int3 
008c915d int3 
008c915e int3 
008c915f int3 
008c9160 movss xmm0, dword ptr [esp + 4]
008c9166 push ebp
008c9167 push ecx
008c9168 movss dword ptr [esp], xmm0
008c916d call 0x885350
008c9172 call 0x8a48d0
008c9177 xor ebp, ebp
008c9179 cmp dword ptr [0x1de6658], ebp
008c917f je 0x8c919d
008c9181 mov eax, dword ptr [0x1ce716c]
008c9186 cmp eax, ebp
008c9188 je 0x8c918e
008c918a cmp dword ptr [eax], ebp
008c918c jne 0x8c9197
008c918e test byte ptr [eax + 0x186], 1
008c9195 je 0x8c919d
008c9197 mov dword ptr [0x1de6658], ebp
008c919d cmp dword ptr [0x1de65fc], ebp
008c91a3 jne 0x8c91ca
008c91a5 call 0xaacb50
008c91aa test eax, eax
008c91ac jne 0x8c91c4
008c91ae mov eax, dword ptr [0x1ce716c]
008c91b3 cmp eax, ebp
008c91b5 je 0x8c91bb
008c91b7 cmp dword ptr [eax], ebp
008c91b9 jne 0x8c91c4
008c91bb test byte ptr [eax + 0x186], 1
008c91c2 je 0x8c91ca
008c91c4 mov dword ptr [0x1de65fc], ebp
008c91ca cmp dword ptr [0x1de6608], ebp
008c91d0 je 0x8c920f
008c91d2 call 0x4120b0
008c91d7 cmp dword ptr [eax + 0x34], ebp
008c91da je 0x8c9203
008c91dc mov ecx, dword ptr [eax + 0x2c]
008c91df lea ecx, [ecx + ecx*2]
008c91e2 cmp dword ptr [eax + ecx*4 + 0x14], 0xa
008c91e7 jne 0x8c9203
008c91e9 mov edx, dword ptr [0x1ce716c]
008c91ef mov eax, dword ptr [edx + 0x1bc]
008c91f5 movzx ecx, byte ptr [eax + 0x8c9550]
008c91fc jmp dword ptr [ecx*4 + 0x8c9548]
008c9203 mov dword ptr [0x1de6608], ebp
008c9209 mov dword ptr [0x1de6630], ebp
008c920f call 0x4120b0
008c9214 cmp dword ptr [eax + 0x34], ebp
008c9217 je 0x8c9515
008c921d mov ecx, dword ptr [eax + 0x2c]
008c9220 lea edx, [ecx + ecx*2]
008c9223 mov eax, dword ptr [eax + edx*4 + 0x14]
008c9227 cmp eax, 8
008c922a je 0x8c9235
008c922c cmp eax, 0xa
008c922f jne 0x8c9515
008c9235 movss xmm0, dword ptr [esp + 8]
008c923b push esi
008c923c push edi
008c923d push ecx
008c923e movss dword ptr [esp], xmm0
008c9243 call 0x885400
008c9248 xor edi, edi
008c924a cmp dword ptr [0x1de6648], ebp
008c9250 je 0x8c9257
008c9252 mov edi, 1
008c9257 cmp dword ptr [0x1de6650], ebp
008c925d je 0x8c9262
008c925f or edi, 2
008c9262 cmp dword ptr [0x1de664c], ebp
008c9268 je 0x8c926d
008c926a or edi, 4
008c926d xor esi, esi
008c926f cmp dword ptr [0x1de6224], ebp
008c9275 jle 0x8c92a7
008c9277 jmp 0x8c9280
008c9279 lea esp, [esp]
008c9280 mov eax, dword ptr [esi*4 + 0x1de61a0]
008c9287 mov eax, dword ptr [eax + 8]
008c928a cmp eax, ebp
008c928c je 0x8c929e
008c928e movss xmm0, dword ptr [esp + 0x10]
008c9294 push ecx
008c9295 mov ecx, edi
008c9297 movss dword ptr [esp], xmm0
008c929c call eax
008c929e inc esi
008c929f cmp esi, dword ptr [0x1de6224]
008c92a5 jl 0x8c9280
008c92a7 call 0x8c8e90
008c92ac cmp dword ptr [0x1de65f0], ebp
008c92b2 je 0x8c92e0
008c92b4 call 0x4120b0
008c92b9 cmp dword ptr [eax + 0x34], ebp
008c92bc je 0x8c92da
008c92be mov ecx, dword ptr [eax + 0x2c]
008c92c1 lea ecx, [ecx + ecx*2]
008c92c4 cmp dword ptr [eax + ecx*4 + 0x14], 0xa
008c92c9 jne 0x8c92da
008c92cb mov edx, dword ptr [0x1ce716c]
008c92d1 cmp dword ptr [edx + 0x1bc], 7
008c92d8 je 0x8c92e0
008c92da mov dword ptr [0x1de65f0], ebp
008c92e0 call 0x8854c0
008c92e5 mov edi, 3
008c92ea cmp dword ptr [0x1de660c], ebp
008c92f0 je 0x8c9328
008c92f2 call 0x4120b0
008c92f7 cmp dword ptr [eax + 0x34], ebp
008c92fa je 0x8c9317
008c92fc mov ecx, dword ptr [eax + 0x2c]
008c92ff lea ecx, [ecx + ecx*2]
008c9302 cmp dword ptr [eax + ecx*4 + 0x14], 0xa
008c9307 jne 0x8c9317
008c9309 mov edx, dword ptr [0x1ce716c]
008c930f cmp dword ptr [edx + 0x1bc], edi
008c9315 je 0x8c9328
008c9317 xorps xmm0, xmm0
008c931a mov dword ptr [0x1de660c], ebp
008c9320 movss dword ptr [0x1de6610], xmm0
008c9328 cmp dword ptr [0x1de6614], ebp
008c932e je 0x8c9366
008c9330 call 0x4120b0
008c9335 cmp dword ptr [eax + 0x34], ebp
008c9338 je 0x8c9355
008c933a mov ecx, dword ptr [eax + 0x2c]
008c933d lea ecx, [ecx + ecx*2]
008c9340 cmp dword ptr [eax + ecx*4 + 0x14], 0xa
008c9345 jne 0x8c9355
008c9347 mov edx, dword ptr [0x1ce716c]
008c934d cmp dword ptr [edx + 0x1bc], edi
008c9353 je 0x8c9366
008c9355 xorps xmm0, xmm0
008c9358 mov dword ptr [0x1de6614], ebp
008c935e movss dword ptr [0x1de6618], xmm0
008c9366 mov ecx, dword ptr [0x1de661c]
008c936c cmp ecx, ebp
008c936e je 0x8c93ab
008c9370 call 0x6b47f0
008c9375 test eax, eax
008c9377 jne 0x8c93ab
008c9379 mov eax, dword ptr [0x1ce716c]
008c937e mov esi, dword ptr [eax + 0x1bc]
008c9384 call 0x4120b0
008c9389 cmp dword ptr [eax + 0x34], ebp
008c938c je 0x8c93a5
008c938e mov ecx, dword ptr [eax + 0x2c]
008c9391 lea ecx, [ecx + ecx*2]
008c9394 cmp dword ptr [eax + ecx*4 + 0x14], 0xa
008c9399 jne 0x8c93a5
008c939b cmp esi, 5
008c939e je 0x8c93ab
008c93a0 cmp esi, 6
008c93a3 je 0x8c93ab
008c93a5 mov dword ptr [0x1de661c], ebp
008c93ab cmp dword ptr [0x1de6628], ebp
008c93b1 je 0x8c93ce
008c93b3 mov edx, dword ptr [0x1ce716c]
008c93b9 mov eax, dword ptr [edx + 0x1bc]
008c93bf cmp eax, 1
008c93c2 je 0x8c93ce
008c93c4 cmp eax, edi
008c93c6 je 0x8c93ce
008c93c8 mov dword ptr [0x1de6628], ebp
008c93ce mov ecx, dword ptr [0x1de6620]
008c93d4 cmp ecx, ebp
008c93d6 je 0x8c9419
008c93d8 call 0x6b47f0
008c93dd test eax, eax
008c93df .byte 0x75