005fe810: push ebx
005fe811: push esi
005fe812: push edi
005fe813: mov ebx, ecx
005fe815: call 0xa09d00
005fe81a: test eax, eax
005fe81c: jne 0x5fe822
005fe81e: xor edi, edi
005fe820: jmp 0x5fe825
005fe822: mov edi, dword ptr [eax + 0x60]
005fe825: xor esi, esi
005fe827: test edi, edi
005fe829: jle 0x5fe86c
005fe82b: jmp 0x5fe830
005fe82d: lea ecx, [ecx]
005fe830: call 0xa09d00
005fe835: test eax, eax
005fe837: je 0x5fe858
005fe839: cmp esi, -1
005fe83c: je 0x5fe858
005fe83e: test esi, esi
005fe840: js 0x5fe858
005fe842: cmp esi, dword ptr [eax + 0x60]
005fe845: jae 0x5fe858
005fe847: mov edx, dword ptr [eax + 0x64]
005fe84a: lea ecx, [esi*8]
005fe851: sub ecx, esi
005fe853: lea eax, [edx + ecx*8]
005fe856: jmp 0x5fe85a
005fe858: xor eax, eax
005fe85a: mov ecx, dword ptr [eax + 0x34]
005fe85d: shl ecx, 0x15
005fe860: sar ecx, 0x15
005fe863: cmp ecx, ebx
005fe865: je 0x5fe884
005fe867: inc esi
005fe868: cmp esi, edi
005fe86a: jl 0x5fe830
005fe86c: call 0xa09d00
005fe871: test eax, eax
005fe2a0: push ebx
005fe2a1: push esi
005fe2a2: push edi
005fe2a3: mov ebx, ecx
005fe2a5: call 0xa09d00
005fe2aa: test eax, eax
005fe2ac: jne 0x5fe2b2
005fe2ae: xor edi, edi
005fe2b0: jmp 0x5fe2b5
005fe2b2: mov edi, dword ptr [eax + 0x6c]
005fe2b5: xor esi, esi
005fe2b7: test edi, edi
005fe2b9: jle 0x5fe2f5
005fe2bb: jmp 0x5fe2c0
005fe2bd: lea ecx, [ecx]
005fe2c0: call 0xa09d00
005fe2c5: mov ecx, eax
005fe2c7: test ecx, ecx
005fe2c9: je 0x5fe2e6
005fe2cb: cmp esi, -1
005fe2ce: je 0x5fe2e6
005fe2d0: test esi, esi
005fe2d2: js 0x5fe2e6
005fe2d4: cmp esi, dword ptr [ecx + 0x6c]
005fe2d7: jae 0x5fe2e6
005fe2d9: mov eax, esi
005fe2db: imul eax, eax, 0x2f8
005fe2e1: add eax, dword ptr [ecx + 0x70]
005fe2e4: jmp 0x5fe2e8
005fe2e6: xor eax, eax
005fe2e8: movzx ecx, word ptr [eax + 0x74]
005fe2ec: cmp ecx, ebx
005fe2ee: je 0x5fe2f7
005fe2f0: inc esi
005fe2f1: cmp esi, edi
005fe2f3: jl 0x5fe2c0
005fe2f5: xor eax, eax
005fe2f7: pop edi
005fe2f8: pop esi
005fe2f9: pop ebx
005fe2fa: ret 
005fa580: push esi
005fa581: mov esi, ecx
005fa583: call 0xa09d00
005fa588: test eax, eax
005fa58a: je 0x5fa5a7
005fa58c: cmp esi, -1
005fa58f: je 0x5fa5a7
005fa591: test esi, esi
005fa593: js 0x5fa5a7
005fa595: cmp esi, dword ptr [eax + 0x6c]
005fa598: jae 0x5fa5a7
005fa59a: imul esi, esi, 0x2f8
005fa5a0: add esi, dword ptr [eax + 0x70]
005fa5a3: mov eax, esi
005fa5a5: pop esi
005fa5a6: ret 
005fa5a7: xor eax, eax
005fa5a9: pop esi
005fa5aa: ret 
005fa5ab: movsd dword ptr es:[edi], dword ptr [esi]
005fa5ac: int3 
005fa5ad: int3 
005fa5ae: int3 
005fa5af: int3 
005fa5b0: push esi
005fa5b1: mov esi, ecx
005fa5b3: call 0xa09d00
005fa5b8: mov ecx, eax
005fa5ba: test ecx, ecx
005fa5bc: je 0x5fa5df
005fa5be: test esi, esi
005fa5c0: je 0x5fa5df
005fa5c2: sub esi, dword ptr [ecx + 0x70]
005fa5c5: mov eax, 0xac769185
005fa5ca: imul esi
005fa5cc: add edx, esi
005fa5ce: sar edx, 9
005fa5d1: mov esi, edx
005fa5d3: shr esi, 0x1f
005fa5d6: add esi, edx
005fa5d8: js 0x5fa5df
004b19a0: add byte ptr [eax], al
004b19a2: call 0x5bb6b0
004b19a7: mov eax, 1
004b19ac: ret 
004b19ad: xor ecx, ecx
004b19af: call 0xa09f10
004b19b4: mov dword ptr [eax + 0x20], 0xc
004b19bb: mov eax, 1
004b19c0: ret 
004b19c1: call 0xa09fd0
004b19c6: cmp dword ptr [eax], 0
004b19c9: je 0x4b19d2
004b19cb: call 0x5bb6a0
004b19d0: jmp 0x4b19dc
004b19d2: xor ecx, ecx
004b19d4: call 0xa09f10
004b19d9: mov eax, dword ptr [eax + 0x20]
004b19dc: push esi
004b19dd: xor ecx, ecx
004b19df: lea esi, [eax - 1]
004b19e2: call 0xa09fd0
004b19e7: cmp dword ptr [eax], 0
004b19ea: je 0x4b19fa
004b19ec: mov ecx, esi
004b19ee: call 0x5bb6b0
004b19f3: pop esi
004b19f4: mov eax, 1
004b19f9: ret 
004b19fa: xor ecx, ecx
004b19fc: call 0xa09f10
004b1a01: mov dword ptr [eax + 0x20], esi
004e0190: push ecx
004e0191: push ebx
004e0192: push ebp
004e0193: push esi
004e0194: mov ebp, ecx
004e0196: call 0xd944c0
004e019b: mov esi, eax
004e019d: neg esi
004e019f: sbb esi, esi
004e01a1: neg esi
004e01a3: cmp dword ptr [0x15d29ac], 0
004e01aa: jne 0x4e01d2
004e01ac: mov ecx, 0x15a7660
004e01b1: call 0x4daa60
004e01b6: test eax, eax
004e01b8: je 0x4e01d2
004e01ba: call 0xaac570
004e01bf: mov edx, dword ptr [eax]
004e01c1: mov ecx, eax
004e01c3: mov eax, dword ptr [edx + 0xc]
004e01c6: call eax
004e01c8: mov dword ptr [0x15d29ac], 1
004e01d2: call 0x4df6d0
004e01d7: fstp dword ptr [esp + 0xc]
004e01db: movss xmm0, dword ptr [esp + 0xc]
004e01e1: push ecx
004e01e2: movss dword ptr [esp], xmm0
004e01e7: call 0x5cd450
004e01ec: movss xmm0, dword ptr [ebp + 0x1aa0]
004e01f4: push ecx
004e01f5: mov ecx, 0x1c35800
004e01fa: movss dword ptr [esp], xmm0
004e01ff: call 0x69da00
004e0204: mov edx, ebp
004e0206: mov ecx, 0x1c35fd8
004e020b: call 0x6a0400
004e0210: mov ecx, ebp
004e0212: call 0x55f790
004e0217: movss xmm0, dword ptr [esp + 0xc]
004e021d: push ecx
004e021e: movss dword ptr [esp], xmm0
004e0223: call 0x4df770
004e0228: mov ecx, ebp
004e022a: call 0x468090
004e022f: mov ecx, ebp
004e0231: call 0x54b630
004e0236: mov ecx, 0x154c150
004e023b: call 0x48e350
004e0240: mov ecx, 0x1552f60
004e0245: call 0x48e350