Function at 0x474874
Capabilities:
Authenticate hmac

Disassembly:
push ebp
mov ebp, esp
mov ecx, 0xd9
push 0
push 0
dec ecx
jne 0x47487c
push ebx
push esi
push edi
mov ebx, eax
mov esi, 0x48764c
mov edi, 0x488ef0
xor eax, eax
push ebp
push 0x478afa
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, dword [ebx + 0x3c4]
mov edx, dword [eax]
call dword [edx + 0xd8]
cmp al, 1
jne 0x4748be
mov dword [0x488f1c], 1
jmp 0x4748c5
xor eax, eax
mov dword [0x488f1c], eax
mov eax, dword [ebx + 0x3c8]
mov edx, dword [eax]
call dword [edx + 0xd8]
cmp al, 1
jne 0x4748e3
mov dword [0x488f20], 1
jmp 0x4748ea
xor eax, eax
mov dword [0x488f20], eax
mov eax, dword [ebx + 0x3cc]
mov edx, dword [eax]
call dword [edx + 0xd8]
cmp al, 1
jne 0x474908
mov dword [0x488f24], 1
jmp 0x47490f
xor eax, eax
mov dword [0x488f24], eax
mov eax, dword [ebx + 0x3d0]
mov edx, dword [eax]
call dword [edx + 0xd8]
cmp al, 1
jne 0x47492d
mov dword [0x488f28], 1
jmp 0x474934
xor eax, eax
mov dword [0x488f28], eax
mov eax, dword [ebx + 0x3d4]
mov edx, dword [eax]
call dword [edx + 0xd8]
cmp al, 1
jne 0x474952
mov dword [0x488f2c], 1
jmp 0x474959
xor eax, eax
mov dword [0x488f2c], eax
mov eax, dword [ebx + 0x3d8]
mov edx, dword [eax]
call dword [edx + 0xd8]
cmp al, 1
jne 0x474977
mov dword [0x488f30], 1
jmp 0x47497e
xor eax, eax
mov dword [0x488f30], eax
mov eax, dword [0x483394]
mov byte [eax], 0x2e
mov eax, dword [0x483430]
mov byte [eax], 0x2c
mov byte [0x488ff6], 0
mov ecx, 0x478b10
xor edx, edx
mov eax, ebx
call fcn.00471fdc
call fcn.0040b1fc
fstp st(0)
call fcn.0040b1fc
add esp, 0xfffffff8
fstp qword [esp]
wait
lea ecx, [ebp - 0x36]
lea edx, [ebp - 0x34]
lea eax, [ebp - 0x32]
call fcn.0040b1b4
mov ecx, 0x478b1c
mov edx, 8
mov eax, ebx
call fcn.00471fdc
mov ecx, 0x478b3c
mov edx, 9
mov eax, ebx
call fcn.00471fdc
mov ecx, 0x478b54
mov edx, 0xa
mov eax, ebx
call fcn.00471fdc
mov ecx, 0x478b6c
mov edx, 0xa
mov eax, ebx
call fcn.00471fdc
mov ecx, 0x478b80
mov edx, 0xa
mov eax, ebx
call fcn.00471fdc
lea edx, [ebp - 0x44]
mov eax, dword [esi + 0xc]
call fcn.004092b4
mov ecx, dword [ebp - 0x44]
lea eax, [ebp - 0x40]
mov edx, 0x478b90
call fcn.00405360
mov ecx, dword [ebp - 0x40]
mov edx, 0xb
mov eax, ebx
call fcn.00471fdc
lea edx, [ebp - 0x4c]
mov eax, dword [esi + 0x244]
call fcn.004092b4
mov ecx, dword [ebp - 0x4c]
lea eax, [ebp - 0x48]
mov edx, 0x478b90
call fcn.00405360
mov ecx, dword [ebp - 0x48]
mov edx, 0xc
mov eax, ebx
call fcn.00471fdc
lea edx, [ebp - 0x54]
mov eax, dword [esi + 0x38]
call fcn.004092b4
mov ecx, dword [ebp - 0x54]
lea eax, [ebp - 0x50]
mov edx, 0x478b90
call fcn.00405360
mov ecx, dword [ebp - 0x50]
mov edx, 0xc
mov eax, ebx
call fcn.00471fdc
mov ecx, 0x478b9c
mov edx, 0xc
mov eax, ebx
call fcn.00471fdc
lea edx, [ebp - 0x58]
mov eax, dword [esi + 4]
call fcn.004092b4
mov ecx, dword [ebp - 0x58]
mov edx, 0x17
mov eax, ebx
call fcn.00471fdc
lea edx, [ebp - 0x5c]
mov eax, dword [esi + 0x10]
call fcn.004092b4
cmp dword [ebp - 0x5c], 0
je 0x474af0
lea edx, [ebp - 0x60]
mov eax, dword [esi + 0x10]
call fcn.004092b4
mov ecx, dword [ebp - 0x60]
mov edx, 0x17
mov eax, ebx
call fcn.00471fdc
lea edx, [ebp - 0x64]
mov eax, dword [esi + 0x14]
call fcn.004092b4
cmp dword [ebp - 0x64], 0
je 0x474b1b
lea edx, [ebp - 0x68]
mov eax, dword [esi + 0x14]
call fcn.004092b4
mov ecx, dword [ebp - 0x68]
mov edx, 0x17
mov eax, ebx
call fcn.00471fdc
lea edx, [ebp - 0x6c]
mov eax, dword [esi + 0x18]
call fcn.004092b4
cmp dword [ebp - 0x6c], 0
je 0x474b46
lea edx, [ebp - 0x70]
mov eax, dword [esi + 0x18]
call fcn.004092b4
mov ecx, dword [ebp - 0x70]
mov edx, 0x17
mov eax, ebx
call fcn.00471fdc
lea edx, [ebp - 0x74]
mov eax, dword [esi + 0x1c]
call fcn.004092b4
cmp dword [ebp - 0x74], 0
je 0x474b71
lea edx, [ebp - 0x78]
mov eax, dword [esi + 0x1c]
call fcn.004092b4
mov ecx, dword [ebp - 0x78]
mov edx, 0x17
mov eax, ebx
call fcn.00471fdc
lea edx, [ebp - 0x7c]
mov eax, dword [esi + 0x20]
call fcn.004092b4
cmp dword [ebp - 0x7c], 0
je 0x474b9c
lea edx, [ebp - 0x80]
mov eax, dword [esi + 0x20]
call fcn.004092b4
mov ecx, dword [ebp - 0x80]
mov edx, 0x17
mov eax, ebx
call fcn.00471fdc
lea edx, [ebp - 0x84]
mov eax, dword [esi + 0x24]
call fcn.004092b4
cmp dword [ebp - 0x84], 0
je 0x474c04
lea edx, [ebp - 0x8c]
mov eax, dword [esi + 0x24]
call fcn.004092b4
push dword [ebp - 0x8c]
push 0x478bbc
lea edx, [ebp - 0x90]
mov eax, dword [esi + 0x28]
call fcn.004092b4
push dword [ebp - 0x90]
lea eax, [ebp - 0x88]
mov edx, 3
call fcn.004053d4
mov ecx, dword [ebp - 0x88]
mov edx, 0x17
mov eax, ebx
call fcn.00471fdc
jmp 0x474c24
lea edx, [ebp - 0x94]
mov eax, dword [esi + 0x28]
call fcn.004092b4
mov ecx, dword [ebp - 0x94]
mov edx, 0x17
mov eax, ebx
call fcn.00471fdc
lea edx, [ebp - 0x9c]
mov eax, dword [esi + 0x2bc]
call fcn.004092b4
mov edx, dword [ebp - 0x9c]
lea ecx, [ebp - 0x98]
mov eax, ebx
call fcn.0047cdb0
mov ecx, dword [ebp - 0x98]
mov edx, 0x18
mov eax, ebx
call fcn.00471fdc
lea eax, [ebp - 0xa0]
push eax
lea edx, [ebp - 0xa4]
mov eax, dword [esi + 0x208]
call fcn.004092b4
mov eax, dword [ebp - 0xa4]
mov ecx, 3
mov edx, 1
call fcn.00405574
mov eax, dword [ebp - 0xa0]
mov edx, 0x478bc8
call fcn.00405460
jne 0x474ced
lea edx, [ebp - 0xac]
mov eax, dword [esi + 0x2bc]
call fcn.004092b4
push dword [ebp - 0xac]
push 0x478bd4
lea edx, [ebp - 0xb0]
mov eax, dword [esi + 0x34]
call fcn.004092b4
push dword [ebp - 0xb0]
lea eax, [ebp - 0xa8]
mov edx, 3
call fcn.004053d4
mov ecx, dword [ebp - 0xa8]
mov edx, 0x19
mov eax, ebx
call fcn.00471fdc
jmp 0x474d10
lea edx, [ebp - 0xb4]
mov eax, dword [esi + 0x2bc]
call fcn.004092b4
mov ecx, dword [ebp - 0xb4]
mov edx, 0x19
mov eax, ebx
call fcn.00471fdc
push dword [0x488edc]
push 0x478c00
lea eax, [ebp - 0xbc]
push eax
lea edx, [ebp - 0xc0]
mov eax, dword [0x488f04]
call fcn.00409598
mov eax, dword [ebp - 0xc0]
mov ecx, 6
mov edx, 2
call fcn.00405574
push dword [ebp - 0xbc]
push 0x478c0c
lea edx, [ebp - 0xc4]
movzx eax, word [ebp - 0x36]
call fcn.00409598
push dword [ebp - 0xc4]
push 0x478c00
lea edx, [ebp - 0xc8]
movzx eax, word [ebp - 0x34]
call fcn.00409598
push dword [ebp - 0xc8]
push 0x478c00
lea edx, [ebp - 0xcc]
movzx eax, word [ebp - 0x32]
call fcn.00409598
push dword [ebp - 0xcc]
push 0x478c00
lea edx, [ebp - 0xd0]
mov eax, dword [0x488f00]
call fcn.00409598
push dword [ebp - 0xd0]
push 0x478c00
push dword [0x488ec0]
push 0x478c00
lea eax, [ebp - 0xb8]
mov edx, 0xe
call fcn.004053d4
mov ecx, dword [ebp - 0xb8]
mov edx, 0x51
mov eax, ebx
call fcn.00471fdc
mov ecx, 0x478c20
mov edx, 0x1f
mov eax, ebx
call fcn.00471fdc
mov ecx, 0x478c30
mov edx, 0x20
mov eax, ebx
call fcn.00471fdc
mov ecx, 0x478c48
mov edx, 0x20
mov eax, ebx
call fcn.00471fdc
mov ecx, 0x478c64
mov edx, 0x20
mov eax, ebx
call fcn.00471fdc
mov ecx, 0x478c7c
mov edx, 0x20
mov eax, ebx
call fcn.00471fdc
mov ecx, 0x478ca0
mov edx, 0x21
mov eax, ebx
call fcn.00471fdc
mov ecx, 0x478cb8
mov edx, 0x22
mov eax, ebx
call fcn.00471fdc
lea edx, [ebp - 0xd4]
mov eax, dword [esi]
call fcn.004092b4
mov ecx, dword [ebp - 0xd4]
mov edx, 0x25
mov eax, ebx
call fcn.00471fdc
lea edx, [ebp - 0xdc]
mov eax, dword [esi + 0x30]
call fcn.004092b4
push dword [ebp - 0xdc]
push 0x478cd4
lea edx, [ebp - 0xe0]
mov eax, dword [esi + 0x23c]
call fcn.004092b4
push dword [ebp - 0xe0]
lea eax, [ebp - 0xd8]
mov edx, 3
call fcn.004053d4
mov ecx, dword [ebp - 0xd8]
mov edx, 0x26
mov eax, ebx
call fcn.00471fdc
lea edx, [ebp - 0xe4]
mov eax, dword [esi + 0x240]
call fcn.004092b4
mov ecx, dword [ebp - 0xe4]
mov edx, 0x26
mov eax, ebx
call fcn.00471fdc
lea edx, [ebp - 0xe8]
mov eax, dword [esi + 0x248]
call fcn.004092b4
lea eax, [ebp - 0xe8]
mov edx, 0x478ce0
call fcn.0040531c
mov ecx, dword [ebp - 0xe8]
mov edx, 0x26
mov eax, ebx
call fcn.00471fdc
mov ecx, dword [0x488ec4]
mov edx, 0x26
mov eax, ebx
call fcn.00471fdc
mov ecx, dword [0x488eb0]
mov edx, 0x26
mov eax, ebx
call fcn.00471fdc
mov ecx, dword [0x488eb4]
mov edx, 0x26
mov eax, ebx
call fcn.00471fdc
cmp dword [0x488eb8], 0
je 0x474f77
mov ecx, dword [0x488eb8]
mov edx, 0x26
mov eax, ebx
call fcn.00471fdc
lea edx, [ebp - 0xec]
mov eax, dword [esi + 0x2c]
call fcn.004092b4
mov ecx, dword [ebp - 0xec]
mov edx, 0x27
mov eax, ebx
call fcn.00471fdc
lea edx, [ebp - 0xf0]
mov eax, dword [esi + 0x288]
call fcn.004092b4
mov eax, dword [ebp - 0xf0]
mov dword [ebp - 0xf4], eax
mov eax, dword [ebp - 0xf4]
mov dword [ebp - 0x3c], eax
cmp dword [ebp - 0x3c], 0
je 0x474fce
mov eax, dword [ebp - 0x3c]
sub eax, 4
mov eax, dword [eax]
mov dword [ebp - 0x3c], eax
lea edx, [ebp - 0xf8]
mov eax, dword [esi + 0x28c]
call fcn.004092b4
mov eax, dword [ebp - 0xf8]
mov dword [ebp - 0xf4], eax
mov eax, dword [ebp - 0xf4]
test eax, eax
je 0x474ffa
sub eax, 4
mov eax, dword [eax]
add eax, dword [ebp - 0x3c]
cmp eax, 0x2d
jle 0x47507e
lea edx, [ebp - 0xfc]
mov eax, dword [esi + 0x288]
call fcn.004092b4
cmp dword [ebp - 0xfc], 0
je 0x47503f
lea edx, [ebp - 0x100]
mov eax, dword [esi + 0x288]
call fcn.004092b4
mov ecx, dword [ebp - 0x100]
mov edx, 0x28
mov eax, ebx
call fcn.00471fdc
lea edx, [ebp - 0x104]
mov eax, dword [esi + 0x28c]
call fcn.004092b4
cmp dword [ebp - 0x104], 0
je 0x4750d3
lea edx, [ebp - 0x108]
mov eax, dword [esi + 0x28c]
call fcn.004092b4
mov ecx, dword [ebp - 0x108]
mov edx, 0x28
mov eax, ebx
call fcn.00471fdc
jmp 0x4750d3
lea edx, [ebp - 0x110]
mov eax, dword [esi + 0x288]
call fcn.004092b4
push dword [ebp - 0x110]
push 0x478bbc
lea edx, [ebp - 0x114]
mov eax, dword [esi + 0x28c]
call fcn.004092b4
push dword [ebp - 0x114]
lea eax, [ebp - 0x10c]
mov edx, 3
call fcn.004053d4
mov ecx, dword [ebp - 0x10c]
mov edx, 0x28
mov eax, ebx
call fcn.00471fdc
lea edx, [ebp - 0x118]
mov eax, dword [esi + 0x290]
call fcn.004092b4
cmp dword [ebp - 0x118], 0
je 0x475142
lea edx, [ebp - 0x120]
mov eax, dword [esi + 0x290]
call fcn.004092b4
push dword [ebp - 0x120]
push 0x478bbc
lea edx, [ebp - 0x124]
mov eax, dword [esi + 0x294]
call fcn.004092b4
push dword [ebp - 0x124]
lea eax, [ebp - 0x11c]
mov edx, 3
call fcn.004053d4
mov ecx, dword [ebp - 0x11c]
mov edx, 0x28
mov eax, ebx
call fcn.00471fdc
lea edx, [ebp - 0x128]
mov eax, dword [esi + 0x298]
call fcn.004092b4
cmp dword [ebp - 0x128], 0
jne 0x475176
lea edx, [ebp - 0x12c]
mov eax, dword [esi + 0x29c]
call fcn.004092b4
cmp dword [ebp - 0x12c], 0
je 0x4751cb
lea edx, [ebp - 0x134]
mov eax, dword [esi + 0x298]
call fcn.004092b4
push dword [ebp - 0x134]
push 0x478bbc
lea edx, [ebp - 0x138]
mov eax, dword [esi + 0x29c]
call fcn.004092b4
push dword [ebp - 0x138]
lea eax, [ebp - 0x130]
mov edx, 3
call fcn.004053d4
mov ecx, dword [ebp - 0x130]
mov edx, 0x28
mov eax, ebx
call fcn.00471fdc
push 0x478cf0
push dword [esi + 0x234]
push 0x478d00
push 0x478bbc
push dword [esi + 0x22c]
push 0x478d10
push 0x478bbc
push dword [esi + 0x238]
lea eax, [ebp - 0x13c]
mov edx, 8
call fcn.004053d4
mov ecx, dword [ebp - 0x13c]
mov edx, 0x28
mov eax, ebx
call fcn.00471fdc
lea edx, [ebp - 0x144]
mov eax, dword [esi + 0xc]
call fcn.004092b4
mov ecx, dword [ebp - 0x144]
lea eax, [ebp - 0x140]
mov edx, 0x478d20
call fcn.00405360
mov ecx, dword [ebp - 0x140]
mov edx, 0x33
mov eax, ebx
call fcn.00471fdc
lea edx, [ebp - 0x14c]
mov eax, dword [esi + 8]
call fcn.004092b4
mov eax, dword [ebp - 0x14c]
call fcn.00409748
push edx
push eax
lea eax, [ebp - 0x148]
call fcn.00409684
mov ecx, dword [ebp - 0x148]
mov edx, 0x34
mov eax, ebx
call fcn.00471fdc
mov ecx, 0x478d44
mov edx, 0x35
mov eax, ebx
call fcn.00471fdc
lea edx, [ebp - 0x150]
mov eax, dword [esi + 0x2ac]
call fcn.004092b4
mov ecx, dword [ebp - 0x150]
mov edx, 0x35
mov eax, ebx
call fcn.00471fdc
lea edx, [ebp - 0x154]
mov eax, dword [esi + 0x1d8]
call fcn.004092b4
cmp dword [ebp - 0x154], 0
je 0x47554c
lea edx, [ebp - 0x158]
mov eax, dword [esi + 0x1d8]
call fcn.004092b4
mov ecx, dword [ebp - 0x158]
mov edx, 0x36
mov eax, ebx
call fcn.00471fdc
lea edx, [ebp - 0x15c]
mov eax, dword [esi + 0x1dc]
call fcn.004092b4
mov ecx, dword [ebp - 0x15c]
mov edx, 0x37
mov eax, ebx
call fcn.00471fdc
lea edx, [ebp - 0x160]
mov eax, dword [esi + 0x1e8]
call fcn.004092b4
mov ecx, dword [ebp - 0x160]
mov edx, 0x38
mov eax, ebx
call fcn.00471fdc
lea edx, [ebp - 0x164]
mov eax, dword [esi + 0x1e0]
call fcn.004092b4
mov eax, dword [ebp - 0x164]
call fcn.004745fc
mov eax, dword [edi]
call fcn.004746d0
cmp dword [edi], 0
je 0x475377
mov eax, dword [edi]
mov edx, 0x478d60
call fcn.00405460
jne 0x47538a
mov ecx, 0x478d70
mov edx, 0x39
mov eax, ebx
call fcn.00471fdc
jmp 0x4753df
mov eax, dword [edi]
call fcn.0040acd8
fstp qword [0x489004]
wait
fld qword [0x489004]
fmul dword [0x478d78]
add esp, 0xfffffff8
fistp qword [esp]
wait
lea ecx, [ebp - 0x168]
mov edx, 2
mov al, 3
call fcn.0040aca0
mov edx, dword [ebp - 0x168]
mov eax, 0x488ef4
call fcn.004050a4
mov ecx, dword [0x488ef4]
mov edx, 0x39
mov eax, ebx
call fcn.00471fdc
lea edx, [ebp - 0x16c]
mov eax, dword [esi + 0x1e4]
call fcn.004092b4
mov eax, dword [ebp - 0x16c]
call fcn.004745fc
mov eax, dword [edi]
call fcn.004746d0
cmp dword [edi], 0
je 0x475415
mov eax, dword [edi]
mov edx, 0x478d60
call fcn.00405460
jne 0x475428
mov ecx, 0x478d70
mov edx, 0x3a
mov eax, ebx
call fcn.00471fdc
jmp 0x47547d
mov eax, dword [edi]
call fcn.0040acd8
fstp qword [0x489004]
wait
fld qword [0x489004]
fmul dword [0x478d78]
add esp, 0xfffffff8
fistp qword [esp]
wait
lea ecx, [ebp - 0x170]
mov edx, 2
mov al, 3
call fcn.0040aca0
mov edx, dword [ebp - 0x170]
mov eax, 0x488ef4
call fcn.004050a4
mov ecx, dword [0x488ef4]
mov edx, 0x3a
mov eax, ebx
call fcn.00471fdc
lea edx, [ebp - 0x174]
mov eax, dword [esi + 0x24c]
call fcn.004092b4
cmp dword [ebp - 0x174], 0
je 0x47553b
lea edx, [ebp - 0x178]
mov eax, dword [esi + 0x24c]
call fcn.004092b4
mov eax, dword [ebp - 0x178]
call fcn.004745fc
mov eax, dword [edi]
call fcn.004746d0
mov eax, dword [edi]
mov edx, 0x478d60
call fcn.00405460
je 0x4754d1
cmp dword [edi], 0
jne 0x4754e4
mov ecx, 0x478d70
mov edx, 0x3b
mov eax, ebx
call fcn.00471fdc
jmp 0x47554c
mov eax, dword [edi]
call fcn.0040acd8
fstp qword [0x489004]
wait
fld qword [0x489004]
fmul dword [0x478d78]
add esp, 0xfffffff8
fistp qword [esp]
wait
lea ecx, [ebp - 0x17c]
mov edx, 2
mov al, 3
call fcn.0040aca0
mov edx, dword [ebp - 0x17c]
mov eax, 0x488ef4
call fcn.004050a4
mov ecx, dword [0x488ef4]
mov edx, 0x3b
mov eax, ebx
call fcn.00471fdc
jmp 0x47554c
mov ecx, 0x478bbc
mov edx, 0x3b
mov eax, ebx
call fcn.00471fdc
lea edx, [ebp - 0x180]
mov eax, dword [esi + 0x7c]
call fcn.004092b4
cmp dword [ebp - 0x180], 0
je 0x47578e
lea edx, [ebp - 0x184]
mov eax, dword [esi + 0x7c]
call fcn.004092b4
cmp dword [ebp - 0x184], 0
je 0x47561f
lea edx, [ebp - 0x188]
mov eax, dword [esi + 0x7c]
call fcn.004092b4
mov eax, dword [ebp - 0x188]
call fcn.004745fc
mov eax, dword [edi]
call fcn.004746d0
mov eax, dword [edi]
mov edx, 0x478d84
call fcn.00405460
je 0x4755b5
cmp dword [edi], 0
jne 0x4755c8
mov ecx, 0x478d70
mov edx, 0x3c
mov eax, ebx
call fcn.00471fdc
jmp 0x475630
mov eax, dword [edi]
call fcn.0040acd8
fstp qword [0x489004]
wait
fld qword [0x489004]
fmul dword [0x478d78]
add esp, 0xfffffff8
fistp qword [esp]
wait
lea ecx, [ebp - 0x18c]
mov edx, 2
mov al, 3
call fcn.0040aca0
mov edx, dword [ebp - 0x18c]
mov eax, 0x488ef4
call fcn.004050a4
mov ecx, dword [0x488ef4]
mov edx, 0x3c
mov eax, ebx
call fcn.00471fdc
jmp 0x475630
mov ecx, 0x478bbc
mov edx, 0x3c
mov eax, ebx
call fcn.00471fdc
lea edx, [ebp - 0x190]
mov eax, dword [esi + 0x80]
call fcn.004092b4
cmp dword [ebp - 0x190], 0
je 0x4756ee
lea edx, [ebp - 0x194]
mov eax, dword [esi + 0x80]
call fcn.004092b4
mov eax, dword [ebp - 0x194]
call fcn.004745fc
mov eax, dword [edi]
call fcn.004746d0
cmp dword [edi], 0
je 0x475684
mov eax, dword [edi]
mov edx, 0x478d94
call fcn.00405460
jne 0x475697
mov ecx, 0x478d70
mov edx, 0x3d
mov eax, ebx
call fcn.00471fdc
jmp 0x4756ff
mov eax, dword [edi]
call fcn.0040acd8
fstp qword [0x489004]
wait
fld qword [0x489004]
fmul dword [0x478d78]
add esp, 0xfffffff8
fistp qword [esp]
wait
lea ecx, [ebp - 0x198]
mov edx, 2
mov al, 3
call fcn.0040aca0
mov edx, dword [ebp - 0x198]
mov eax, 0x488ef4
call fcn.004050a4
mov ecx, dword [0x488ef4]
mov edx, 0x3d
mov eax, ebx
call fcn.00471fdc
jmp 0x4756ff
mov ecx, 0x478bbc
mov edx, 0x3d
mov eax, ebx
call fcn.00471fdc
lea edx, [ebp - 0x19c]
mov eax, dword [esi + 0x84]
call fcn.004092b4
cmp dword [ebp - 0x19c], 0
je 0x47577d
lea edx, [ebp - 0x1a4]
mov eax, dword [esi + 0x84]
call fcn.004092b4
mov eax, dword [ebp - 0x1a4]
call fcn.004096d4
cdq
xor eax, edx
sub eax, edx
lea edx, [ebp - 0x1a0]
call fcn.00409598
mov eax, dword [ebp - 0x1a0]
call fcn.0040ad88
fistp qword [ebp - 8]
wait
push dword [ebp - 4]
push dword [ebp - 8]
lea ecx, [ebp - 0x1a8]
xor edx, edx
mov al, 3
call fcn.0040aca0
mov ecx, dword [ebp - 0x1a8]
mov edx, 0x3e
mov eax, ebx
call fcn.00471fdc
jmp 0x47578e
mov ecx, 0x478bbc
mov edx, 0x3e
mov eax, ebx
call fcn.00471fdc
lea edx, [ebp - 0x1ac]
mov eax, dword [esi + 0x1ec]
call fcn.004092b4
cmp dword [ebp - 0x1ac], 0
je 0x475a20
lea edx, [ebp - 0x1b0]
mov eax, dword [esi + 0x1ec]
call fcn.004092b4
mov ecx, dword [ebp - 0x1b0]
mov edx, 0x36
mov eax, ebx
call fcn.00471fdc
lea edx, [ebp - 0x1b4]
mov eax, dword [esi + 0x1f0]
call fcn.004092b4
mov ecx, dword [ebp - 0x1b4]
mov edx, 0x37
mov eax, ebx
call fcn.00471fdc
lea edx, [ebp - 0x1b8]
mov eax, dword [esi + 0x1fc]
call fcn.004092b4
mov ecx, dword [ebp - 0x1b8]
mov edx, 0x38
mov eax, ebx
call fcn.00471fdc
lea edx, [ebp - 0x1bc]
mov eax, dword [esi + 0x1f4]
call fcn.004092b4
mov eax, dword [ebp - 0x1bc]
call fcn.004745fc
mov eax, dword [edi]
call fcn.004746d0
cmp dword [edi], 0
je 0x47584b
mov eax, dword [edi]
mov edx, 0x478d60
call fcn.00405460
jne 0x47585e
mov ecx, 0x478d70
mov edx, 0x39
mov eax, ebx
call fcn.00471fdc
jmp 0x4758b3
mov eax, dword [edi]
call fcn.0040acd8
fstp qword [0x489004]
wait
fld qword [0x489004]
fmul dword [0x478d78]
add esp, 0xfffffff8
fistp qword [esp]
wait
lea ecx, [ebp - 0x1c0]
mov edx, 2
mov al, 3
call fcn.0040aca0
mov edx, dword [ebp - 0x1c0]
mov eax, 0x488ef4
call fcn.004050a4
mov ecx, dword [0x488ef4]
mov edx, 0x39
mov eax, ebx
call fcn.00471fdc
lea edx, [ebp - 0x1c4]
mov eax, dword [esi + 0x1f8]
call fcn.004092b4
mov eax, dword [ebp - 0x1c4]
call fcn.004745fc
mov eax, dword [edi]
call fcn.004746d0
cmp dword [edi], 0
je 0x4758e9
mov eax, dword [edi]
mov edx, 0x478d60
call fcn.00405460
jne 0x4758fc
mov ecx, 0x478d70
mov edx, 0x3a
mov eax, ebx
call fcn.00471fdc
jmp 0x475951
mov eax, dword [edi]
call fcn.0040acd8
fstp qword [0x489004]
wait
fld qword [0x489004]
fmul dword [0x478d78]
add esp, 0xfffffff8
fistp qword [esp]
wait
lea ecx, [ebp - 0x1c8]
mov edx, 2
mov al, 3
call fcn.0040aca0
mov edx, dword [ebp - 0x1c8]
mov eax, 0x488ef4
call fcn.004050a4
mov ecx, dword [0x488ef4]
mov edx, 0x3a
mov eax, ebx
call fcn.00471fdc
lea edx, [ebp - 0x1cc]
mov eax, dword [esi + 0x250]
call fcn.004092b4
cmp dword [ebp - 0x1cc], 0
je 0x475a0f
lea edx, [ebp - 0x1d0]
mov eax, dword [esi + 0x250]
call fcn.004092b4
mov eax, dword [ebp - 0x1d0]
call fcn.004745fc
mov eax, dword [edi]
call fcn.004746d0
mov eax, dword [edi]
mov edx, 0x478d60
call fcn.00405460
je 0x4759a5
cmp dword [edi], 0
jne 0x4759b8
mov ecx, 0x478d70
mov edx, 0x3b
mov eax, ebx
call fcn.00471fdc
jmp 0x475a20
mov eax, dword [edi]
call fcn.0040acd8
fstp qword [0x489004]
wait
fld qword [0x489004]
fmul dword [0x478d78]
add esp, 0xfffffff8
fistp qword [esp]
wait
lea ecx, [ebp - 0x1d4]
mov edx, 2
mov al, 3
call fcn.0040aca0
mov edx, dword [ebp - 0x1d4]
mov eax, 0x488ef4
call fcn.004050a4
mov ecx, dword [0x488ef4]
mov edx, 0x3b
mov eax, ebx
call fcn.00471fdc
jmp 0x475a20
mov ecx, 0x478bbc
mov edx, 0x3b
mov eax, ebx
call fcn.00471fdc
lea edx, [ebp - 0x1d8]
mov eax, dword [esi + 0x88]
call fcn.004092b4
cmp dword [ebp - 0x1d8], 0
je 0x475c6b
lea edx, [ebp - 0x1dc]
mov eax, dword [esi + 0x88]
call fcn.004092b4
cmp dword [ebp - 0x1dc], 0
je 0x475afc
lea edx, [ebp - 0x1e0]
mov eax, dword [esi + 0x88]
call fcn.004092b4
mov eax, dword [ebp - 0x1e0]
call fcn.004745fc
mov eax, dword [edi]
call fcn.004746d0
mov eax, dword [edi]
mov edx, 0x478d84
call fcn.00405460
je 0x475a92
cmp dword [edi], 0
jne 0x475aa5
mov ecx, 0x478d70
mov edx, 0x3c
mov eax, ebx
call fcn.00471fdc
jmp 0x475b0d
mov eax, dword [edi]
call fcn.0040acd8
fstp qword [0x489004]
wait
fld qword [0x489004]
fmul dword [0x478d78]
add esp, 0xfffffff8
fistp qword [esp]
wait
lea ecx, [ebp - 0x1e4]
mov edx, 2
mov al, 3
call fcn.0040aca0
mov edx, dword [ebp - 0x1e4]
mov eax, 0x488ef4
call fcn.004050a4
mov ecx, dword [0x488ef4]
mov edx, 0x3c
mov eax, ebx
call fcn.00471fdc
jmp 0x475b0d
mov ecx, 0x478bbc
mov edx, 0x3c
mov eax, ebx
call fcn.00471fdc
lea edx, [ebp - 0x1e8]
mov eax, dword [esi + 0x8c]
call fcn.004092b4
cmp dword [ebp - 0x1e8], 0
je 0x475bcb
lea edx, [ebp - 0x1ec]
mov eax, dword [esi + 0x8c]
call fcn.004092b4
mov eax, dword [ebp - 0x1ec]
call fcn.004745fc
mov eax, dword [edi]
call fcn.004746d0
cmp dword [edi], 0
je 0x475b61
mov eax, dword [edi]
mov edx, 0x478d94
call fcn.00405460
jne 0x475b74
mov ecx, 0x478d70
mov edx, 0x3d
mov eax, ebx
call fcn.00471fdc
jmp 0x475bdc
mov eax, dword [edi]
call fcn.0040acd8
fstp qword [0x489004]
wait
fld qword [0x489004]
fmul dword [0x478d78]
add esp, 0xfffffff8
fistp qword [esp]
wait
lea ecx, [ebp - 0x1f0]
mov edx, 2
mov al, 3
call fcn.0040aca0
mov edx, dword [ebp - 0x1f0]
mov eax, 0x488ef4
call fcn.004050a4
mov ecx, dword [0x488ef4]
mov edx, 0x3d
mov eax, ebx
call fcn.00471fdc
jmp 0x475bdc
mov ecx, 0x478bbc
mov edx, 0x3d
mov eax, ebx
call fcn.00471fdc
lea edx, [ebp - 0x1f4]
mov eax, dword [esi + 0x90]
call fcn.004092b4
cmp dword [ebp - 0x1f4], 0
je 0x475c5a
lea edx, [ebp - 0x1fc]
mov eax, dword [esi + 0x90]
call fcn.004092b4
mov eax, dword [ebp - 0x1fc]
call fcn.004096d4
cdq
xor eax, edx
sub eax, edx
lea edx, [ebp - 0x1f8]
call fcn.00409598
mov eax, dword [ebp - 0x1f8]
call fcn.0040ad88
fistp qword [ebp - 8]
wait
push dword [ebp - 4]
push dword [ebp - 8]
lea ecx, [ebp - 0x200]
xor edx, edx
mov al, 3
call fcn.0040aca0
mov ecx, dword [ebp - 0x200]
mov edx, 0x3e
mov eax, ebx
call fcn.00471fdc
jmp 0x475c6b
mov ecx, 0x478bbc
mov edx, 0x3e
mov eax, ebx
call fcn.00471fdc
lea edx, [ebp - 0x204]
mov eax, dword [esi + 0x94]
call fcn.004092b4
cmp dword [ebp - 0x204], 0
je 0x475ebe
lea edx, [ebp - 0x208]
mov eax, dword [esi + 0x94]
call fcn.004092b4
cmp dword [ebp - 0x208], 0
je 0x475d47
lea edx, [ebp - 0x20c]
mov eax, dword [esi + 0x94]
call fcn.004092b4
mov eax, dword [ebp - 0x20c]
call fcn.004745fc
mov eax, dword [edi]
call fcn.004746d0
mov eax, dword [edi]
mov edx, 0x478d84
call fcn.00405460
je 0x475cdd
cmp dword [edi], 0
jne 0x475cf0
mov ecx, 0x478d70
mov edx, 0x3c
mov eax, ebx
call fcn.00471fdc
jmp 0x475d58
mov eax, dword [edi]
call fcn.0040acd8
fstp qword [0x489004]
wait
fld qword [0x489004]
fmul dword [0x478d78]
add esp, 0xfffffff8
fistp qword [esp]
wait
lea ecx, [ebp - 0x210]
mov edx, 2
mov al, 3
call fcn.0040aca0
mov edx, dword [ebp - 0x210]
mov eax, 0x488ef4
call fcn.004050a4
mov ecx, dword [0x488ef4]
mov edx, 0x3c
mov eax, ebx
call fcn.00471fdc
jmp 0x475d58
mov ecx, 0x478bbc
mov edx, 0x3c
mov eax, ebx
call fcn.00471fdc
lea edx, [ebp - 0x214]
mov eax, dword [esi + 0x98]
call fcn.004092b4
cmp dword [ebp - 0x214], 0
je 0x475e16
lea edx, [ebp - 0x218]
mov eax, dword [esi + 0x98]
call fcn.004092b4
mov eax, dword [ebp - 0x218]
call fcn.004745fc
mov eax, dword [edi]
call fcn.004746d0
cmp dword [edi], 0
je 0x475dac
mov eax, dword [edi]
mov edx, 0x478d94
call fcn.00405460
jne 0x475dbf
mov ecx, 0x478d70
mov edx, 0x3d
mov eax, ebx
call fcn.00471fdc
jmp 0x475e27
mov eax, dword [edi]
call fcn.0040acd8
fstp qword [0x489004]
wait
fld qword [0x489004]
fmul dword [0x478d78]
add esp, 0xfffffff8
fistp qword [esp]
wait
lea ecx, [ebp - 0x21c]
mov edx, 2
mov al, 3
call fcn.0040aca0
mov edx, dword [ebp - 0x21c]
mov eax, 0x488ef4
call fcn.004050a4
mov ecx, dword [0x488ef4]
mov edx, 0x3d
mov eax, ebx
call fcn.00471fdc
jmp 0x475e27
mov ecx, 0x478bbc
mov edx, 0x3d
mov eax, ebx
call fcn.00471fdc
lea edx, [ebp - 0x220]
mov eax, dword [esi + 0x9c]
call fcn.004092b4
cmp dword [ebp - 0x220], 0
je 0x475ead
lea edx, [ebp - 0x228]
mov eax, dword [esi + 0x9c]
call fcn.004092b4
mov eax, dword [ebp - 0x228]
call fcn.00409748
test edx, edx
jge 0x475e68
neg eax
adc edx, 0
neg edx
push edx
push eax
lea eax, [ebp - 0x224]
call fcn.00409684
mov eax, dword [ebp - 0x224]
call fcn.0040ad88
fistp qword [ebp - 8]
wait
push dword [ebp - 4]
push dword [ebp - 8]
lea ecx, [ebp - 0x22c]
xor edx, edx
mov al, 3
call fcn.0040aca0
mov ecx, dword [ebp - 0x22c]
mov edx, 0x3e
mov eax, ebx
call fcn.00471fdc
jmp 0x475ebe
mov ecx, 0x478bbc
mov edx, 0x3e
mov eax, ebx
call fcn.00471fdc
lea edx, [ebp - 0x230]
mov eax, dword [esi + 0xd4]
call fcn.004092b4
cmp dword [ebp - 0x230], 0
je 0x476089
lea edx, [ebp - 0x234]
mov eax, dword [esi + 0xd4]
call fcn.004092b4
cmp dword [ebp - 0x234], 0
je 0x475f5a
lea edx, [ebp - 0x23c]
mov eax, dword [esi + 0xd4]
call fcn.004092b4
mov eax, dword [ebp - 0x23c]
call fcn.004096d4
cdq
xor eax, edx
sub eax, edx
lea edx, [ebp - 0x238]
call fcn.00409598
mov eax, dword [ebp - 0x238]
call fcn.0040ad88
fistp qword [ebp - 8]
wait
push dword [ebp - 4]
push dword [ebp - 8]
lea ecx, [ebp - 0x240]
xor edx, edx
mov al, 3
call fcn.0040aca0
mov ecx, dword [ebp - 0x240]
mov edx, 0x3c
mov eax, ebx
call fcn.00471fdc
jmp 0x475f6b
mov ecx, 0x478bbc
mov edx, 0x3c
mov eax, ebx
call fcn.00471fdc
lea edx, [ebp - 0x244]
mov eax, dword [esi + 0xd8]
call fcn.004092b4
cmp dword [ebp - 0x244], 0
je 0x475fe9
lea edx, [ebp - 0x24c]
mov eax, dword [esi + 0xd8]
call fcn.004092b4
mov eax, dword [ebp - 0x24c]
call fcn.004096d4
cdq
xor eax, edx
sub eax, edx
lea edx, [ebp - 0x248]
call fcn.00409598
mov eax, dword [ebp - 0x248]
call fcn.0040ad88
fistp qword [ebp - 8]
wait
push dword [ebp - 4]
push dword [ebp - 8]
lea ecx, [ebp - 0x250]
xor edx, edx
mov al, 3
call fcn.0040aca0
mov ecx, dword [ebp - 0x250]
mov edx, 0x3d
mov eax, ebx
call fcn.00471fdc
jmp 0x475ffa
mov ecx, 0x478bbc
mov edx, 0x3d
mov eax, ebx
call fcn.00471fdc
lea edx, [ebp - 0x254]
mov eax, dword [esi + 0xdc]
call fcn.004092b4
cmp dword [ebp - 0x254], 0
je 0x476078
lea edx, [ebp - 0x25c]
mov eax, dword [esi + 0xdc]
call fcn.004092b4
mov eax, dword [ebp - 0x25c]
call fcn.004096d4
cdq
xor eax, edx
sub eax, edx
lea edx, [ebp - 0x258]
call fcn.00409598
mov eax, dword [ebp - 0x258]
call fcn.0040ad88
fistp qword [ebp - 8]
wait
push dword [ebp - 4]
push dword [ebp - 8]
lea ecx, [ebp - 0x260]
xor edx, edx
mov al, 3
call fcn.0040aca0
mov ecx, dword [ebp - 0x260]
mov edx, 0x3e
mov eax, ebx
call fcn.00471fdc
jmp 0x476089
mov ecx, 0x478bbc
mov edx, 0x3e
mov eax, ebx
call fcn.00471fdc
lea edx, [ebp - 0x264]
mov eax, dword [esi + 0xe0]
call fcn.004092b4
cmp dword [ebp - 0x264], 0
je 0x476254
lea edx, [ebp - 0x268]
mov eax, dword [esi + 0xe0]
call fcn.004092b4
cmp dword [ebp - 0x268], 0
je 0x476125
lea edx, [ebp - 0x270]
mov eax, dword [esi + 0xe0]
call fcn.004092b4
mov eax, dword [ebp - 0x270]
call fcn.004096d4
cdq
xor eax, edx
sub eax, edx
lea edx, [ebp - 0x26c]
call fcn.00409598
mov eax, dword [ebp - 0x26c]
call fcn.0040ad88
fistp qword [ebp - 8]
wait
push dword [ebp - 4]
push dword [ebp - 8]
lea ecx, [ebp - 0x274]
xor edx, edx
mov al, 3
call fcn.0040aca0
mov ecx, dword [ebp - 0x274]
mov edx, 0x3c
mov eax, ebx
call fcn.00471fdc
jmp 0x476136
mov ecx, 0x478bbc
mov edx, 0x3c
mov eax, ebx
call fcn.00471fdc
lea edx, [ebp - 0x278]
mov eax, dword [esi + 0xe4]
call fcn.004092b4
cmp dword [ebp - 0x278], 0
je 0x4761b4
lea edx, [ebp - 0x280]
mov eax, dword [esi + 0xe4]
call fcn.004092b4
mov eax, dword [ebp - 0x280]
call fcn.004096d4
cdq
xor eax, edx
sub eax, edx
lea edx, [ebp - 0x27c]
call fcn.00409598
mov eax, dword [ebp - 0x27c]
call fcn.0040ad88
fistp qword [ebp - 8]
wait
push dword [ebp - 4]
push dword [ebp - 8]
lea ecx, [ebp - 0x284]
xor edx, edx
mov al, 3
call fcn.0040aca0
mov ecx, dword [ebp - 0x284]
mov edx, 0x3d
mov eax, ebx
call fcn.00471fdc
jmp 0x4761c5
mov ecx, 0x478bbc
mov edx, 0x3d
mov eax, ebx
call fcn.00471fdc
lea edx, [ebp - 0x288]
mov eax, dword [esi + 0xe8]
call fcn.004092b4
cmp dword [ebp - 0x288], 0
je 0x476243
lea edx, [ebp - 0x290]
mov eax, dword [esi + 0xe8]
call fcn.004092b4
mov eax, dword [ebp - 0x290]
call fcn.004096d4
cdq
xor eax, edx
sub eax, edx
lea edx, [ebp - 0x28c]
call fcn.00409598
mov eax, dword [ebp - 0x28c]
call fcn.0040ad88
fistp qword [ebp - 8]
wait
push dword [ebp - 4]
push dword [ebp - 8]
lea ecx, [ebp - 0x294]
xor edx, edx
mov al, 3
call fcn.0040aca0
mov ecx, dword [ebp - 0x294]
mov edx, 0x3e
mov eax, ebx
call fcn.00471fdc
jmp 0x476254
mov ecx, 0x478bbc
mov edx, 0x3e
mov eax, ebx
call fcn.00471fdc
lea edx, [ebp - 0x298]
mov eax, dword [esi + 0xec]
call fcn.004092b4
cmp dword [ebp - 0x298], 0
je 0x476427
lea edx, [ebp - 0x29c]
mov eax, dword [esi + 0xec]
call fcn.004092b4
cmp dword [ebp - 0x29c], 0
je 0x4762f0
lea edx, [ebp - 0x2a4]
mov eax, dword [esi + 0xec]
call fcn.004092b4
mov eax, dword [ebp - 0x2a4]
call fcn.004096d4
cdq
xor eax, edx
sub eax, edx
lea edx, [ebp - 0x2a0]
call fcn.00409598
mov eax, dword [ebp - 0x2a0]
call fcn.0040ad88
fistp qword [ebp - 8]
wait
push dword [ebp - 4]
push dword [ebp - 8]
lea ecx, [ebp - 0x2a8]
xor edx, edx
mov al, 3
call fcn.0040aca0
mov ecx, dword [ebp - 0x2a8]
mov edx, 0x3c
mov eax, ebx
call fcn.00471fdc
jmp 0x476301
mov ecx, 0x478bbc
mov edx, 0x3c
mov eax, ebx
call fcn.00471fdc
lea edx, [ebp - 0x2ac]
mov eax, dword [esi + 0xf0]
call fcn.004092b4
cmp dword [ebp - 0x2ac], 0
je 0x47637f
lea edx, [ebp - 0x2b4]
mov eax, dword [esi + 0xf0]
call fcn.004092b4
mov eax, dword [ebp - 0x2b4]
call fcn.004096d4
cdq
xor eax, edx
sub eax, edx
lea edx, [ebp - 0x2b0]
call fcn.00409598
mov eax, dword [ebp - 0x2b0]
call fcn.0040ad88
fistp qword [ebp - 8]
wait
push dword [ebp - 4]
push dword [ebp - 8]
lea ecx, [ebp - 0x2b8]
xor edx, edx
mov al, 3
call fcn.0040aca0
mov ecx, dword [ebp - 0x2b8]
mov edx, 0x3d
mov eax, ebx
call fcn.00471fdc
jmp 0x476390
mov ecx, 0x478bbc
mov edx, 0x3d
mov eax, ebx
call fcn.00471fdc
lea edx, [ebp - 0x2bc]
mov eax, dword [esi + 0xf4]
call fcn.004092b4
cmp dword [ebp - 0x2bc], 0
je 0x476416
lea edx, [ebp - 0x2c4]
mov eax, dword [esi + 0xf4]
call fcn.004092b4
mov eax, dword [ebp - 0x2c4]
call fcn.00409748
test edx, edx
jge 0x4763d1
neg eax
adc edx, 0
neg edx
push edx
push eax
lea eax, [ebp - 0x2c0]
call fcn.00409684
mov eax, dword [ebp - 0x2c0]
call fcn.0040ad88
fistp qword [ebp - 8]
wait
push dword [ebp - 4]
push dword [ebp - 8]
lea ecx, [ebp - 0x2c8]
xor edx, edx
mov al, 3
call fcn.0040aca0
mov ecx, dword [ebp - 0x2c8]
mov edx, 0x3e
mov eax, ebx
call fcn.00471fdc
jmp 0x476427
mov ecx, 0x478bbc
mov edx, 0x3e
mov eax, ebx
call fcn.00471fdc
lea edx, [ebp - 0x2cc]
mov eax, dword [esi + 0x50]
call fcn.004092b4
cmp dword [ebp - 0x2cc], 0
je 0x4765dd
lea edx, [ebp - 0x2d0]
mov eax, dword [esi + 0x50]
call fcn.004092b4
cmp dword [ebp - 0x2d0], 0
je 0x4764ba
lea edx, [ebp - 0x2d8]
mov eax, dword [esi + 0x50]
call fcn.004092b4
mov eax, dword [ebp - 0x2d8]
call fcn.004096d4
cdq
xor eax, edx
sub eax, edx
lea edx, [ebp - 0x2d4]
call fcn.00409598
mov eax, dword [ebp - 0x2d4]
call fcn.0040ad88
fistp qword [ebp - 8]
wait
push dword [ebp - 4]
push dword [ebp - 8]
lea ecx, [ebp - 0x2dc]
xor edx, edx
mov al, 3
call fcn.0040aca0
mov ecx, dword [ebp - 0x2dc]
mov edx, 0x3c
mov eax, ebx
call fcn.00471fdc
jmp 0x4764cb
mov ecx, 0x478bbc
mov edx, 0x3c
mov eax, ebx
call fcn.00471fdc
lea edx, [ebp - 0x2e0]
mov eax, dword [esi + 0x54]
call fcn.004092b4
cmp dword [ebp - 0x2e0], 0
je 0x476543
lea edx, [ebp - 0x2e8]
mov eax, dword [esi + 0x54]
call fcn.004092b4
mov eax, dword [ebp - 0x2e8]
call fcn.004096d4
cdq
xor eax, edx
sub eax, edx
lea edx, [ebp - 0x2e4]
call fcn.00409598
mov eax, dword [ebp - 0x2e4]
call fcn.0040ad88
fistp qword [ebp - 8]
wait
push dword [ebp - 4]
push dword [ebp - 8]
lea ecx, [ebp - 0x2ec]
xor edx, edx
mov al, 3
call fcn.0040aca0
mov ecx, dword [ebp - 0x2ec]
mov edx, 0x3d
mov eax, ebx
call fcn.00471fdc
jmp 0x476554
mov ecx, 0x478bbc
mov edx, 0x3d
mov eax, ebx
call fcn.00471fdc
lea edx, [ebp - 0x2f0]
mov eax, dword [esi + 0x58]
call fcn.004092b4
cmp dword [ebp - 0x2f0], 0
je 0x4765cc
lea edx, [ebp - 0x2f8]
mov eax, dword [esi + 0x58]
call fcn.004092b4
mov eax, dword [ebp - 0x2f8]
call fcn.004096d4
cdq
xor eax, edx
sub eax, edx
lea edx, [ebp - 0x2f4]
call fcn.00409598
mov eax, dword [ebp - 0x2f4]
call fcn.0040ad88
fistp qword [ebp - 8]
wait
push dword [ebp - 4]
push dword [ebp - 8]
lea ecx, [ebp - 0x2fc]
xor edx, edx
mov al, 3
call fcn.0040aca0
mov ecx, dword [ebp - 0x2fc]
mov edx, 0x3e
mov eax, ebx
call fcn.00471fdc
jmp 0x4765dd
mov ecx, 0x478bbc
mov edx, 0x3e
mov eax, ebx
call fcn.00471fdc
lea edx, [ebp - 0x300]
mov eax, dword [esi + 0x68]
call fcn.004092b4
cmp dword [ebp - 0x300], 0
je 0x476793
lea edx, [ebp - 0x304]
mov eax, dword [esi + 0x68]
call fcn.004092b4
cmp dword [ebp - 0x304], 0
je 0x476670
lea edx, [ebp - 0x30c]
mov eax, dword [esi + 0x68]
call fcn.004092b4
mov eax, dword [ebp - 0x30c]
call fcn.004096d4
cdq
xor eax, edx
sub eax, edx
lea edx, [ebp - 0x308]
call fcn.00409598
mov eax, dword [ebp - 0x308]
call fcn.0040ad88
fistp qword [ebp - 8]
wait
push dword [ebp - 4]
push dword [ebp - 8]
lea ecx, [ebp - 0x310]
xor edx, edx
mov al, 3
call fcn.0040aca0
mov ecx, dword [ebp - 0x310]
mov edx, 0x3c
mov eax, ebx
call fcn.00471fdc
jmp 0x476681
mov ecx, 0x478bbc
mov edx, 0x3c
mov eax, ebx
call fcn.00471fdc
lea edx, [ebp - 0x314]
mov eax, dword [esi + 0x6c]
call fcn.004092b4
cmp dword [ebp - 0x314], 0
je 0x4766f9
lea edx, [ebp - 0x31c]
mov eax, dword [esi + 0x6c]
call fcn.004092b4
mov eax, dword [ebp - 0x31c]
call fcn.004096d4
cdq
xor eax, edx
sub eax, edx
lea edx, [ebp - 0x318]
call fcn.00409598
mov eax, dword [ebp - 0x318]
call fcn.0040ad88
fistp qword [ebp - 8]
wait
push dword [ebp - 4]
push dword [ebp - 8]
lea ecx, [ebp - 0x320]
xor edx, edx
mov al, 3
call fcn.0040aca0
mov ecx, dword [ebp - 0x320]
mov edx, 0x3d
mov eax, ebx
call fcn.00471fdc
jmp 0x47670a
mov ecx, 0x478bbc
mov edx, 0x3d
mov eax, ebx
call fcn.00471fdc
lea edx, [ebp - 0x324]
mov eax, dword [esi + 0x70]
call fcn.004092b4
cmp dword [ebp - 0x324], 0
je 0x476782
lea edx, [ebp - 0x32c]
mov eax, dword [esi + 0x70]
call fcn.004092b4
mov eax, dword [ebp - 0x32c]
call fcn.004096d4
cdq
xor eax, edx
sub eax, edx
lea edx, [ebp - 0x328]
call fcn.00409598
mov eax, dword [ebp - 0x328]
call fcn.0040ad88
fistp qword [ebp - 8]
wait
push dword [ebp - 4]
push dword [ebp - 8]
lea ecx, [ebp - 0x330]
xor edx, edx
mov al, 3
call fcn.0040aca0
mov ecx, dword [ebp - 0x330]
mov edx, 0x3e
mov eax, ebx
call fcn.00471fdc
jmp 0x476793
mov ecx, 0x478bbc
mov edx, 0x3e
mov eax, ebx
call fcn.00471fdc
lea edx, [ebp - 0x334]
mov eax, dword [esi + 0xa8]
call fcn.004092b4
cmp dword [ebp - 0x334], 0
je 0x47695e
lea edx, [ebp - 0x338]
mov eax, dword [esi + 0xa8]
call fcn.004092b4
cmp dword [ebp - 0x338], 0
je 0x47682f
lea edx, [ebp - 0x340]
mov eax, dword [esi + 0xa8]
call fcn.004092b4
mov eax, dword [ebp - 0x340]
call fcn.004096d4
cdq
xor eax, edx
sub eax, edx
lea edx, [ebp - 0x33c]
call fcn.00409598
mov eax, dword [ebp - 0x33c]
call fcn.0040ad88
fistp qword [ebp - 8]
wait
push dword [ebp - 4]
push dword [ebp - 8]
lea ecx, [ebp - 0x344]
xor edx, edx
mov al, 3
call fcn.0040aca0
mov ecx, dword [ebp - 0x344]
mov edx, 0x3c
mov eax, ebx
call fcn.00471fdc
jmp 0x476840
mov ecx, 0x478bbc
mov edx, 0x3c
mov eax, ebx
call fcn.00471fdc
lea edx, [ebp - 0x348]
mov eax, dword [esi + 0xac]
call fcn.004092b4
cmp dword [ebp - 0x348], 0
je 0x4768be
lea edx, [ebp - 0x350]
mov eax, dword [esi + 0xac]
call fcn.004092b4
mov eax, dword [ebp - 0x350]
call fcn.004096d4
cdq
xor eax, edx
sub eax, edx
lea edx, [ebp - 0x34c]
call fcn.00409598
mov eax, dword [ebp - 0x34c]
call fcn.0040ad88
fistp qword [ebp - 8]
wait
push dword [ebp - 4]
push dword [ebp - 8]
lea ecx, [ebp - 0x354]
xor edx, edx
mov al, 3
call fcn.0040aca0
mov ecx, dword [ebp - 0x354]
mov edx, 0x3d
mov eax, ebx
call fcn.00471fdc
jmp 0x4768cf
mov ecx, 0x478bbc
mov edx, 0x3d
mov eax, ebx
call fcn.00471fdc
lea edx, [ebp - 0x358]
mov eax, dword [esi + 0xb0]
call fcn.004092b4
cmp dword [ebp - 0x358], 0
je 0x47694d
lea edx, [ebp - 0x360]
mov eax, dword [esi + 0xb0]
call fcn.004092b4
mov eax, dword [ebp - 0x360]
call fcn.004096d4
cdq
xor eax, edx
sub eax, edx
lea edx, [ebp - 0x35c]
call fcn.00409598
mov eax, dword [ebp - 0x35c]
call fcn.0040ad88
fistp qword [ebp - 8]
wait
push dword [ebp - 4]
push dword [ebp - 8]
lea ecx, [ebp - 0x364]
xor edx, edx
mov al, 3
call fcn.0040aca0
mov ecx, dword [ebp - 0x364]
mov edx, 0x3e
mov eax, ebx
call fcn.00471fdc
jmp 0x47695e
mov ecx, 0x478bbc
mov edx, 0x3e
mov eax, ebx
call fcn.00471fdc
lea edx, [ebp - 0x368]
mov eax, dword [esi + 0xb4]
call fcn.004092b4
cmp dword [ebp - 0x368], 0
je 0x476b29
lea edx, [ebp - 0x36c]
mov eax, dword [esi + 0xb4]
call fcn.004092b4
cmp dword [ebp - 0x36c], 0
je 0x4769fa
lea edx, [ebp - 0x374]
mov eax, dword [esi + 0xb4]
call fcn.004092b4
mov eax, dword [ebp - 0x374]
call fcn.004096d4
cdq
xor eax, edx
sub eax, edx
lea edx, [ebp - 0x370]
call fcn.00409598
mov eax, dword [ebp - 0x370]
call fcn.0040ad88
fistp qword [ebp - 8]
wait
push dword [ebp - 4]
push dword [ebp - 8]
lea ecx, [ebp - 0x378]
xor edx, edx
mov al, 3
call fcn.0040aca0
mov ecx, dword [ebp - 0x378]
mov edx, 0x3c
mov eax, ebx
call fcn.00471fdc
jmp 0x476a0b
mov ecx, 0x478bbc
mov edx, 0x3c
mov eax, ebx
call fcn.00471fdc
lea edx, [ebp - 0x37c]
mov eax, dword [esi + 0xb8]
call fcn.004092b4
cmp dword [ebp - 0x37c], 0
je 0x476a89
lea edx, [ebp - 0x384]
mov eax, dword [esi + 0xb8]
call fcn.004092b4
mov eax, dword [ebp - 0x384]
call fcn.004096d4
cdq
xor eax, edx
sub eax, edx
lea edx, [ebp - 0x380]
call fcn.00409598
mov eax, dword [ebp - 0x380]
call fcn.0040ad88
fistp qword [ebp - 8]
wait
push dword [ebp - 4]
push dword [ebp - 8]
lea ecx, [ebp - 0x388]
xor edx, edx
mov al, 3
call fcn.0040aca0
mov ecx, dword [ebp - 0x388]
mov edx, 0x3d
mov eax, ebx
call fcn.00471fdc
jmp 0x476a9a
mov ecx, 0x478bbc
mov edx, 0x3d
mov eax, ebx
call fcn.00471fdc
lea edx, [ebp - 0x38c]
mov eax, dword [esi + 0xbc]
call fcn.004092b4
cmp dword [ebp - 0x38c], 0
je 0x476b18
lea edx, [ebp - 0x394]
mov eax, dword [esi + 0xbc]
call fcn.004092b4
mov eax, dword [ebp - 0x394]
call fcn.004096d4
cdq
xor eax, edx
sub eax, edx
lea edx, [ebp - 0x390]
call fcn.00409598
mov eax, dword [ebp - 0x390]
call fcn.0040ad88
fistp qword [ebp - 8]
wait
push dword [ebp - 4]
push dword [ebp - 8]
lea ecx, [ebp - 0x398]
xor edx, edx
mov al, 3
call fcn.0040aca0
mov ecx, dword [ebp - 0x398]
mov edx, 0x3e
mov eax, ebx
call fcn.00471fdc
jmp 0x476b29
mov ecx, 0x478bbc
mov edx, 0x3e
mov eax, ebx
call fcn.00471fdc
lea edx, [ebp - 0x39c]
mov eax, dword [esi + 0xc0]
call fcn.004092b4
cmp dword [ebp - 0x39c], 0
je 0x476cf4
lea edx, [ebp - 0x3a0]
mov eax, dword [esi + 0xc0]
call fcn.004092b4
cmp dword [ebp - 0x3a0], 0
je 0x476bc5
lea edx, [ebp - 0x3a8]
mov eax, dword [esi + 0xc0]
call fcn.004092b4
mov eax, dword [ebp - 0x3a8]
call fcn.004096d4
cdq
xor eax, edx
sub eax, edx
lea edx, [ebp - 0x3a4]
call fcn.00409598
mov eax, dword [ebp - 0x3a4]
call fcn.0040ad88
fistp qword [ebp - 8]
wait
push dword [ebp - 4]
push dword [ebp - 8]
lea ecx, [ebp - 0x3ac]
xor edx, edx
mov al, 3
call fcn.0040aca0
mov ecx, dword [ebp - 0x3ac]
mov edx, 0x3c
mov eax, ebx
call fcn.00471fdc
jmp 0x476bd6
mov ecx, 0x478bbc
mov edx, 0x3c
mov eax, ebx
call fcn.00471fdc
lea edx, [ebp - 0x3b0]
mov eax, dword [esi + 0xc4]
call fcn.004092b4
cmp dword [ebp - 0x3b0], 0
je 0x476c54
lea edx, [ebp - 0x3b8]
mov eax, dword [esi + 0xc4]
call fcn.004092b4
mov eax, dword [ebp - 0x3b8]
call fcn.004096d4
cdq
xor eax, edx
sub eax, edx
lea edx, [ebp - 0x3b4]
call fcn.00409598
mov eax, dword [ebp - 0x3b4]
call fcn.0040ad88
fistp qword [ebp - 8]
wait
push dword [ebp - 4]
push dword [ebp - 8]
lea ecx, [ebp - 0x3bc]
xor edx, edx
mov al, 3
call fcn.0040aca0
mov ecx, dword [ebp - 0x3bc]
mov edx, 0x3d
mov eax, ebx
call fcn.00471fdc
jmp 0x476c65
mov ecx, 0x478bbc
mov edx, 0x3d
mov eax, ebx
call fcn.00471fdc
lea edx, [ebp - 0x3c0]
mov eax, dword [esi + 0xc8]
call fcn.004092b4
cmp dword [ebp - 0x3c0], 0
je 0x476ce3
lea edx, [ebp - 0x3c8]
mov eax, dword [esi + 0xc8]
call fcn.004092b4
mov eax, dword [ebp - 0x3c8]
call fcn.004096d4
cdq
xor eax, edx
sub eax, edx
lea edx, [ebp - 0x3c4]
call fcn.00409598
mov eax, dword [ebp - 0x3c4]
call fcn.0040ad88
fistp qword [ebp - 8]
wait
push dword [ebp - 4]
push dword [ebp - 8]
lea ecx, [ebp - 0x3cc]
xor edx, edx
mov al, 3
call fcn.0040aca0
mov ecx, dword [ebp - 0x3cc]
mov edx, 0x3e
mov eax, ebx
call fcn.00471fdc
jmp 0x476cf4
mov ecx, 0x478bbc
mov edx, 0x3e
mov eax, ebx
call fcn.00471fdc
lea edx, [ebp - 0x3d0]
mov eax, dword [esi + 0x254]
call fcn.004092b4
cmp dword [ebp - 0x3d0], 0
je 0x476db2
lea edx, [ebp - 0x3d4]
mov eax, dword [esi + 0x254]
call fcn.004092b4
mov eax, dword [ebp - 0x3d4]
call fcn.004745fc
mov eax, dword [edi]
call fcn.004746d0
mov eax, dword [edi]
mov edx, 0x478d60
call fcn.00405460
je 0x476d48
cmp dword [edi], 0
jne 0x476d5b
mov ecx, 0x478bbc
mov edx, 0x3f
mov eax, ebx
call fcn.00471fdc
jmp 0x476dc3
mov eax, dword [edi]
call fcn.0040acd8
fstp qword [0x489004]
wait
fld qword [0x489004]
fmul dword [0x478d78]
add esp, 0xfffffff8
fistp qword [esp]
wait
lea ecx, [ebp - 0x3d8]
mov edx, 2
mov al, 3
call fcn.0040aca0
mov edx, dword [ebp - 0x3d8]
mov eax, 0x488ef4
call fcn.004050a4
mov ecx, dword [0x488ef4]
mov edx, 0x3f
mov eax, ebx
call fcn.00471fdc
jmp 0x476dc3
mov ecx, 0x478bbc
mov edx, 0x3f
mov eax, ebx
call fcn.00471fdc
lea edx, [ebp - 0x3dc]
mov eax, dword [esi + 0x25c]
call fcn.004092b4
cmp dword [ebp - 0x3dc], 0
je 0x476e59
mov eax, dword [esi + 0x25c]
call fcn.0040acd8
fcomp dword [0x478da0]
wait
fnstsw ax
sahf
je 0x476e59
lea edx, [ebp - 0x3e8]
mov eax, dword [esi + 0x25c]
call fcn.004092b4
mov eax, dword [ebp - 0x3e8]
call fcn.0040acd8
fabs
add esp, 0xfffffff4
fstp xword [esp]
wait
lea eax, [ebp - 0x3e4]
call fcn.0040ac40
mov eax, dword [ebp - 0x3e4]
call fcn.0040ad88
add esp, 0xfffffff8
fistp qword [esp]
wait
lea ecx, [ebp - 0x3e0]
xor edx, edx
mov al, 3
call fcn.0040aca0
mov ecx, dword [ebp - 0x3e0]
mov edx, 0x40
mov eax, ebx
call fcn.00471fdc
jmp 0x476e6a
mov ecx, 0x478bbc
mov edx, 0x40
mov eax, ebx
call fcn.00471fdc
lea edx, [ebp - 0x3ec]
mov eax, dword [esi + 0x258]
call fcn.004092b4
cmp dword [ebp - 0x3ec], 0
je 0x476f2b
lea edx, [ebp - 0x3f0]
mov eax, dword [esi + 0x258]
call fcn.004092b4
mov ecx, dword [ebp - 0x3f0]
mov edx, 0x41
mov eax, ebx
call fcn.00471fdc
lea edx, [ebp - 0x3f4]
mov eax, dword [esi + 0x25c]
call fcn.004092b4
cmp dword [ebp - 0x3f4], 0
je 0x476f2b
lea edx, [ebp - 0x3fc]
mov eax, dword [esi + 0x25c]
call fcn.004092b4
mov eax, dword [ebp - 0x3fc]
call fcn.0040acd8
fabs
add esp, 0xfffffff4
fstp xword [esp]
wait
lea eax, [ebp - 0x3f8]
call fcn.0040ac40
mov eax, dword [ebp - 0x3f8]
call fcn.0040ad88
fistp qword [ebp - 8]
wait
push dword [ebp - 4]
push dword [ebp - 8]
lea ecx, [ebp - 0x400]
xor edx, edx
mov al, 3
call fcn.0040aca0
mov ecx, dword [ebp - 0x400]
mov edx, 0x42
mov eax, ebx
call fcn.00471fdc
lea edx, [ebp - 0x404]
mov eax, dword [esi + 0xfc]
call fcn.004092b4
cmp dword [ebp - 0x404], 0
je 0x476ffc
lea edx, [ebp - 0x408]
mov eax, dword [esi + 0xfc]
call fcn.004092b4
lea eax, [ebp - 0x408]
mov edx, 0x478dac
call fcn.0040531c
mov ecx, dword [ebp - 0x408]
mov edx, 0x41
mov eax, ebx
call fcn.00471fdc
lea edx, [ebp - 0x40c]
mov eax, dword [esi + 0x108]
call fcn.004092b4
cmp dword [ebp - 0x40c], 0
je 0x476ffc
lea edx, [ebp - 0x414]
mov eax, dword [esi + 0x108]
call fcn.004092b4
mov eax, dword [ebp - 0x414]
call fcn.0040acd8
fabs
add esp, 0xfffffff4
fstp xword [esp]
wait
lea eax, [ebp - 0x410]
call fcn.0040ac40
mov eax, dword [ebp - 0x410]
call fcn.0040ad88
fistp qword [ebp - 8]
wait
push dword [ebp - 4]
push dword [ebp - 8]
lea ecx, [ebp - 0x418]
xor edx, edx
mov al, 3
call fcn.0040aca0
mov ecx, dword [ebp - 0x418]
mov edx, 0x42
mov eax, ebx
call fcn.00471fdc
lea edx, [ebp - 0x41c]
mov eax, dword [esi + 0x110]
call fcn.004092b4
cmp dword [ebp - 0x41c], 0
je 0x4770cd
lea edx, [ebp - 0x420]
mov eax, dword [esi + 0x110]
call fcn.004092b4
lea eax, [ebp - 0x420]
mov edx, 0x478dac
call fcn.0040531c
mov ecx, dword [ebp - 0x420]
mov edx, 0x41
mov eax, ebx
call fcn.00471fdc
lea edx, [ebp - 0x424]
mov eax, dword [esi + 0x11c]
call fcn.004092b4
cmp dword [ebp - 0x424], 0
je 0x4770cd
lea edx, [ebp - 0x42c]
mov eax, dword [esi + 0x11c]
call fcn.004092b4
mov eax, dword [ebp - 0x42c]
call fcn.0040acd8
fabs
add esp, 0xfffffff4
fstp xword [esp]
wait
lea eax, [ebp - 0x428]
call fcn.0040ac40
mov eax, dword [ebp - 0x428]
call fcn.0040ad88
fistp qword [ebp - 8]
wait
push dword [ebp - 4]
push dword [ebp - 8]
lea ecx, [ebp - 0x430]
xor edx, edx
mov al, 3
call fcn.0040aca0
mov ecx, dword [ebp - 0x430]
mov edx, 0x42
mov eax, ebx
call fcn.00471fdc
lea edx, [ebp - 0x434]
mov eax, dword [esi + 0x25c]
call fcn.004092b4
cmp dword [ebp - 0x434], 0
je 0x477272
lea edx, [ebp - 0x43c]
mov eax, dword [esi + 0xc]
call fcn.004092b4
mov ecx, dword [ebp - 0x43c]
lea eax, [ebp - 0x438]
mov edx, 0x478db8
call fcn.00405360
mov ecx, dword [ebp - 0x438]
mov edx, 0x5f
mov eax, ebx
call fcn.00471fdc
lea edx, [ebp - 0x440]
mov eax, dword [esi + 0x260]
call fcn.004092b4
cmp dword [ebp - 0x440], 0
je 0x477250
lea edx, [ebp - 0x444]
mov eax, dword [esi + 0x2c0]
call fcn.004092b4
mov eax, dword [ebp - 0x444]
call fcn.0040acd8
fcomp dword [0x478da0]
wait
fnstsw ax
sahf
je 0x4771a6
lea edx, [ebp - 0x44c]
mov eax, dword [esi + 0x2c0]
call fcn.004092b4
mov eax, dword [ebp - 0x44c]
call fcn.0040acd8
add esp, 0xfffffff4
fstp xword [esp]
wait
lea eax, [ebp - 0x448]
call fcn.0040ac40
mov eax, dword [ebp - 0x448]
call fcn.0040ad88
fistp qword [ebp - 0x28]
wait
jmp 0x4771ae
xor eax, eax
mov dword [ebp - 0x28], eax
mov dword [ebp - 0x24], eax
lea edx, [ebp - 0x450]
mov eax, dword [esi + 0x260]
call fcn.004092b4
mov eax, dword [ebp - 0x450]
call fcn.0040acd8
fcomp dword [0x478da0]
wait
fnstsw ax
sahf
je 0x477215
lea edx, [ebp - 0x458]
mov eax, dword [esi + 0x260]
call fcn.004092b4
mov eax, dword [ebp - 0x458]
call fcn.0040acd8
add esp, 0xfffffff4
fstp xword [esp]
wait
lea eax, [ebp - 0x454]
call fcn.0040ac40
mov eax, dword [ebp - 0x454]
call fcn.0040ad88
fistp qword [ebp - 0x20]
wait
jmp 0x47721d
xor eax, eax
mov dword [ebp - 0x20], eax
mov dword [ebp - 0x1c], eax
fild qword [ebp - 0x20]
fild qword [ebp - 0x28]
fsubp st(1)
fistp qword [ebp - 8]
wait
push dword [ebp - 4]
push dword [ebp - 8]
lea ecx, [ebp - 0x45c]
xor edx, edx
mov al, 3
call fcn.0040aca0
mov ecx, dword [ebp - 0x45c]
mov edx, 0x60
mov eax, ebx
call fcn.00471fdc
mov ecx, 0x478bbc
mov edx, 0x41
mov eax, ebx
call fcn.00471fdc
mov ecx, 0x478bbc
mov edx, 0x42
mov eax, ebx
call fcn.00471fdc
lea edx, [ebp - 0x460]
mov eax, dword [esi + 0x130]
call fcn.004092b4
cmp dword [ebp - 0x460], 0
je 0x477333
lea edx, [ebp - 0x464]
mov eax, dword [esi + 0x124]
call fcn.004092b4
mov ecx, dword [ebp - 0x464]
mov edx, 0x41
mov eax, ebx
call fcn.00471fdc
lea edx, [ebp - 0x468]
mov eax, dword [esi + 0x130]
call fcn.004092b4
cmp dword [ebp - 0x468], 0
je 0x477333
lea edx, [ebp - 0x470]
mov eax, dword [esi + 0x130]
call fcn.004092b4
mov eax, dword [ebp - 0x470]
call fcn.0040acd8
fabs
add esp, 0xfffffff4
fstp xword [esp]
wait
lea eax, [ebp - 0x46c]
call fcn.0040ac40
mov eax, dword [ebp - 0x46c]
call fcn.0040ad88
fistp qword [ebp - 8]
wait
push dword [ebp - 4]
push dword [ebp - 8]
lea ecx, [ebp - 0x474]
xor edx, edx
mov al, 3
call fcn.0040aca0
mov ecx, dword [ebp - 0x474]
mov edx, 0x42
mov eax, ebx
call fcn.00471fdc
lea edx, [ebp - 0x478]
mov eax, dword [esi + 0x144]
call fcn.004092b4
cmp dword [ebp - 0x478], 0
je 0x4773f4
lea edx, [ebp - 0x47c]
mov eax, dword [esi + 0x138]
call fcn.004092b4
mov ecx, dword [ebp - 0x47c]
mov edx, 0x41
mov eax, ebx
call fcn.00471fdc
lea edx, [ebp - 0x480]
mov eax, dword [esi + 0x144]
call fcn.004092b4
cmp dword [ebp - 0x480], 0
je 0x4773f4
lea edx, [ebp - 0x488]
mov eax, dword [esi + 0x144]
call fcn.004092b4
mov eax, dword [ebp - 0x488]
call fcn.0040acd8
fabs
add esp, 0xfffffff4
fstp xword [esp]
wait
lea eax, [ebp - 0x484]
call fcn.0040ac40
mov eax, dword [ebp - 0x484]
call fcn.0040ad88
fistp qword [ebp - 8]
wait
push dword [ebp - 4]
push dword [ebp - 8]
lea ecx, [ebp - 0x48c]
xor edx, edx
mov al, 3
call fcn.0040aca0
mov ecx, dword [ebp - 0x48c]
mov edx, 0x42
mov eax, ebx
call fcn.00471fdc
lea edx, [ebp - 0x490]
mov eax, dword [esi + 0x158]
call fcn.004092b4
cmp dword [ebp - 0x490], 0
je 0x4774b5
lea edx, [ebp - 0x494]
mov eax, dword [esi + 0x14c]
call fcn.004092b4
mov ecx, dword [ebp - 0x494]
mov edx, 0x41
mov eax, ebx
call fcn.00471fdc
lea edx, [ebp - 0x498]
mov eax, dword [esi + 0x158]
call fcn.004092b4
cmp dword [ebp - 0x498], 0
je 0x4774b5
lea edx, [ebp - 0x4a0]
mov eax, dword [esi + 0x158]
call fcn.004092b4
mov eax, dword [ebp - 0x4a0]
call fcn.0040acd8
fabs
add esp, 0xfffffff4
fstp xword [esp]
wait
lea eax, [ebp - 0x49c]
call fcn.0040ac40
mov eax, dword [ebp - 0x49c]
call fcn.0040ad88
fistp qword [ebp - 8]
wait
push dword [ebp - 4]
push dword [ebp - 8]
lea ecx, [ebp - 0x4a4]
xor edx, edx
mov al, 3
call fcn.0040aca0
mov ecx, dword [ebp - 0x4a4]
mov edx, 0x42
mov eax, ebx
call fcn.00471fdc
lea edx, [ebp - 0x4a8]
mov eax, dword [esi + 0x16c]
call fcn.004092b4
cmp dword [ebp - 0x4a8], 0
je 0x477576
lea edx, [ebp - 0x4ac]
mov eax, dword [esi + 0x160]
call fcn.004092b4
mov ecx, dword [ebp - 0x4ac]
mov edx, 0x41
mov eax, ebx
call fcn.00471fdc
lea edx, [ebp - 0x4b0]
mov eax, dword [esi + 0x16c]
call fcn.004092b4
cmp dword [ebp - 0x4b0], 0
je 0x477576
lea edx, [ebp - 0x4b8]
mov eax, dword [esi + 0x16c]
call fcn.004092b4
mov eax, dword [ebp - 0x4b8]
call fcn.0040acd8
fabs
add esp, 0xfffffff4
fstp xword [esp]
wait
lea eax, [ebp - 0x4b4]
call fcn.0040ac40
mov eax, dword [ebp - 0x4b4]
call fcn.0040ad88
fistp qword [ebp - 8]
wait
push dword [ebp - 4]
push dword [ebp - 8]
lea ecx, [ebp - 0x4bc]
xor edx, edx
mov al, 3
call fcn.0040aca0
mov ecx, dword [ebp - 0x4bc]
mov edx, 0x42
mov eax, ebx
call fcn.00471fdc
lea edx, [ebp - 0x4c0]
mov eax, dword [esi + 0x180]
call fcn.004092b4
cmp dword [ebp - 0x4c0], 0
je 0x477637
lea edx, [ebp - 0x4c4]
mov eax, dword [esi + 0x174]
call fcn.004092b4
mov ecx, dword [ebp - 0x4c4]
mov edx, 0x41
mov eax, ebx
call fcn.00471fdc
lea edx, [ebp - 0x4c8]
mov eax, dword [esi + 0x180]
call fcn.004092b4
cmp dword [ebp - 0x4c8], 0
je 0x477637
lea edx, [ebp - 0x4d0]
mov eax, dword [esi + 0x180]
call fcn.004092b4
mov eax, dword [ebp - 0x4d0]
call fcn.0040acd8
fabs
add esp, 0xfffffff4
fstp xword [esp]
wait
lea eax, [ebp - 0x4cc]
call fcn.0040ac40
mov eax, dword [ebp - 0x4cc]
call fcn.0040ad88
fistp qword [ebp - 8]
wait
push dword [ebp - 4]
push dword [ebp - 8]
lea ecx, [ebp - 0x4d4]
xor edx, edx
mov al, 3
call fcn.0040aca0
mov ecx, dword [ebp - 0x4d4]
mov edx, 0x42
mov eax, ebx
call fcn.00471fdc
lea edx, [ebp - 0x4d8]
mov eax, dword [esi + 0x264]
call fcn.004092b4
cmp dword [ebp - 0x4d8], 0
je 0x477748
mov eax, dword [esi + 0x264]
call fcn.0040acd8
fcomp dword [0x478da0]
wait
fnstsw ax
sahf
je 0x477748
lea edx, [ebp - 0x4e0]
mov eax, dword [esi + 0xc]
call fcn.004092b4
mov ecx, dword [ebp - 0x4e0]
lea eax, [ebp - 0x4dc]
mov edx, 0x478dd4
call fcn.00405360
mov ecx, dword [ebp - 0x4dc]
mov edx, 0x5f
mov eax, ebx
call fcn.00471fdc
lea edx, [ebp - 0x4e4]
mov eax, dword [esi + 0x264]
call fcn.004092b4
cmp dword [ebp - 0x4e4], 0
je 0x477726
lea edx, [ebp - 0x4ec]
mov eax, dword [esi + 0x264]
call fcn.004092b4
mov eax, dword [ebp - 0x4ec]
call fcn.0040acd8
fabs
add esp, 0xfffffff4
fstp xword [esp]
wait
lea eax, [ebp - 0x4e8]
call fcn.0040ac40
mov eax, dword [ebp - 0x4e8]
call fcn.0040ad88
fistp qword [ebp - 8]
wait
push dword [ebp - 4]
push dword [ebp - 8]
lea ecx, [ebp - 0x4f0]
xor edx, edx
mov al, 3
call fcn.0040aca0
mov ecx, dword [ebp - 0x4f0]
mov edx, 0x60
mov eax, ebx
call fcn.00471fdc
mov ecx, 0x478bbc
mov edx, 0x41
mov eax, ebx
call fcn.00471fdc
mov ecx, 0x478bbc
mov edx, 0x42
mov eax, ebx
call fcn.00471fdc
lea edx, [ebp - 0x4f4]
mov eax, dword [esi + 0x1c8]
call fcn.004092b4
cmp dword [ebp - 0x4f4], 0
je 0x47784f
lea edx, [ebp - 0x4f8]
mov eax, dword [esi + 0x1c4]
call fcn.004092b4
mov ecx, dword [ebp - 0x4f8]
mov edx, 0x5f
mov eax, ebx
call fcn.00471fdc
lea edx, [ebp - 0x4fc]
mov eax, dword [esi + 0x1c8]
call fcn.004092b4
cmp dword [ebp - 0x4fc], 0
je 0x47784f
lea edx, [ebp - 0x504]
mov eax, dword [esi + 0x1c8]
call fcn.004092b4
mov eax, dword [ebp - 0x504]
call fcn.0040acd8
fabs
add esp, 0xfffffff4
fstp xword [esp]
wait
lea eax, [ebp - 0x500]
call fcn.0040ac40
mov eax, dword [ebp - 0x500]
call fcn.0040ad88
fistp qword [ebp - 8]
wait
lea edx, [ebp - 0x50c]
mov eax, dword [esi + 0x1c8]
call fcn.004092b4
mov eax, dword [ebp - 0x50c]
call fcn.0040acd8
fabs
add esp, 0xfffffff4
fstp xword [esp]
wait
lea eax, [ebp - 0x508]
call fcn.0040ac40
mov eax, dword [ebp - 0x508]
call fcn.0040ad88
fistp qword [0x488f94]
wait
push dword [ebp - 4]
push dword [ebp - 8]
lea ecx, [ebp - 0x510]
xor edx, edx
mov al, 3
call fcn.0040aca0
mov ecx, dword [ebp - 0x510]
mov edx, 0x60
mov eax, ebx
call fcn.00471fdc
lea edx, [ebp - 0x514]
mov eax, dword [esi + 0x2a0]
call fcn.004092b4
cmp dword [ebp - 0x514], 0
je 0x477952
lea edx, [ebp - 0x518]
mov eax, dword [esi + 0x2a0]
call fcn.004092b4
mov eax, dword [ebp - 0x518]
call fcn.0040acd8
fcomp dword [0x478da0]
wait
fnstsw ax
sahf
je 0x477952
lea edx, [ebp - 0x520]
mov eax, dword [esi + 0x2a4]
call fcn.004092b4
mov ecx, dword [ebp - 0x520]
lea eax, [ebp - 0x51c]
mov edx, 0x478df8
call fcn.00405360
mov ecx, dword [ebp - 0x51c]
mov edx, 0x2c
mov eax, ebx
call fcn.00471fdc
lea edx, [ebp - 0x524]
mov eax, dword [esi + 0x2a0]
call fcn.004092b4
cmp dword [ebp - 0x524], 0
je 0x477952
lea edx, [ebp - 0x52c]
mov eax, dword [esi + 0x2a0]
call fcn.004092b4
mov eax, dword [ebp - 0x52c]
call fcn.0040acd8
fabs
add esp, 0xfffffff4
fstp xword [esp]
wait
lea eax, [ebp - 0x528]
call fcn.0040ac40
mov eax, dword [ebp - 0x528]
call fcn.0040ad88
fistp qword [ebp - 8]
wait
push dword [ebp - 4]
push dword [ebp - 8]
lea ecx, [ebp - 0x530]
xor edx, edx
mov al, 3
call fcn.0040aca0
mov ecx, dword [ebp - 0x530]
mov edx, 0x2d
mov eax, ebx
call fcn.00471fdc
lea edx, [ebp - 0x534]
mov eax, dword [esi + 0x268]
call fcn.004092b4
cmp dword [ebp - 0x534], 0
je 0x477a2b
lea edx, [ebp - 0x538]
mov eax, dword [esi + 0x268]
call fcn.004092b4
mov eax, dword [ebp - 0x538]
call fcn.0040acd8
fcomp dword [0x478da0]
wait
fnstsw ax
sahf
je 0x477a2b
mov ecx, 0x478e30
mov edx, 0x2e
mov eax, ebx
call fcn.00471fdc
lea edx, [ebp - 0x53c]
mov eax, dword [esi + 0x268]
call fcn.004092b4
cmp dword [ebp - 0x53c], 0
je 0x477a2b
lea edx, [ebp - 0x544]
mov eax, dword [esi + 0x268]
call fcn.004092b4
mov eax, dword [ebp - 0x544]
call fcn.0040acd8
add esp, 0xfffffff4
fstp xword [esp]
wait
lea eax, [ebp - 0x540]
call fcn.0040ac40
mov eax, dword [ebp - 0x540]
call fcn.0040ad88
fistp qword [ebp - 8]
wait
push dword [ebp - 4]
push dword [ebp - 8]
lea ecx, [ebp - 0x548]
xor edx, edx
mov al, 3
call fcn.0040aca0
mov ecx, dword [ebp - 0x548]
mov edx, 0x2f
mov eax, ebx
call fcn.00471fdc
lea edx, [ebp - 0x54c]
mov eax, dword [esi + 0x108]
call fcn.004092b4
mov eax, dword [ebp - 0x54c]
call fcn.0040acd8
fcomp dword [0x478da0]
wait
fnstsw ax
sahf
jne 0x477a7f
lea edx, [ebp - 0x550]
mov eax, dword [esi + 0x11c]
call fcn.004092b4
mov eax, dword [ebp - 0x550]
call fcn.0040acd8
fcomp dword [0x478da0]
wait
fnstsw ax
sahf
je 0x477ba1
mov ecx, 0x478e60
mov edx, 0x30
mov eax, ebx
call fcn.00471fdc
lea edx, [ebp - 0x554]
mov eax, dword [esi + 0x108]
call fcn.004092b4
mov eax, dword [ebp - 0x554]
call fcn.0040acd8
fcomp dword [0x478da0]
wait
fnstsw ax
sahf
je 0x477af7
lea edx, [ebp - 0x55c]
mov eax, dword [esi + 0x108]
call fcn.004092b4
mov eax, dword [ebp - 0x55c]
call fcn.0040acd8
add esp, 0xfffffff4
fstp xword [esp]
wait
lea eax, [ebp - 0x558]
call fcn.0040ac40
mov eax, dword [ebp - 0x558]
call fcn.0040ad88
fistp qword [ebp - 0x10]
wait
jmp 0x477aff
xor eax, eax
mov dword [ebp - 0x10], eax
mov dword [ebp - 0xc], eax
lea edx, [ebp - 0x560]
mov eax, dword [esi + 0x11c]
call fcn.004092b4
mov eax, dword [ebp - 0x560]
call fcn.0040acd8
fcomp dword [0x478da0]
wait
fnstsw ax
sahf
je 0x477b66
lea edx, [ebp - 0x568]
mov eax, dword [esi + 0x11c]
call fcn.004092b4
mov eax, dword [ebp - 0x568]
call fcn.0040acd8
add esp, 0xfffffff4
fstp xword [esp]
wait
lea eax, [ebp - 0x564]
call fcn.0040ac40
mov eax, dword [ebp - 0x564]
call fcn.0040ad88
fistp qword [ebp - 0x18]
wait
jmp 0x477b6e
xor eax, eax
mov dword [ebp - 0x18], eax
mov dword [ebp - 0x14], eax
fild qword [ebp - 0x10]
fild qword [ebp - 0x18]
faddp st(1)
fistp qword [ebp - 8]
wait
push dword [ebp - 4]
push dword [ebp - 8]
lea ecx, [ebp - 0x56c]
xor edx, edx
mov al, 3
call fcn.0040aca0
mov ecx, dword [ebp - 0x56c]
mov edx, 0x31
mov eax, ebx
call fcn.00471fdc
lea edx, [ebp - 0x570]
mov eax, dword [esi + 0x2c0]
call fcn.004092b4
cmp dword [ebp - 0x570], 0
je 0x477c7a
lea edx, [ebp - 0x574]
mov eax, dword [esi + 0x2c0]
call fcn.004092b4
mov eax, dword [ebp - 0x574]
call fcn.0040acd8
fcomp dword [0x478da0]
wait
fnstsw ax
sahf
je 0x477c7a
mov ecx, 0x478e88
mov edx, 0x32
mov eax, ebx
call fcn.00471fdc
lea edx, [ebp - 0x578]
mov eax, dword [esi + 0x2c0]
call fcn.004092b4
cmp dword [ebp - 0x578], 0
je 0x477c7a
lea edx, [ebp - 0x580]
mov eax, dword [esi + 0x2c0]
call fcn.004092b4
mov eax, dword [ebp - 0x580]
call fcn.0040acd8
add esp, 0xfffffff4
fstp xword [esp]
wait
lea eax, [ebp - 0x57c]
call fcn.0040ac40
mov eax, dword [ebp - 0x57c]
call fcn.0040ad88
fistp qword [ebp - 8]
wait
push dword [ebp - 4]
push dword [ebp - 8]
lea ecx, [ebp - 0x584]
xor edx, edx
mov al, 3
call fcn.0040aca0
mov ecx, dword [ebp - 0x584]
mov edx, 0x16
mov eax, ebx
call fcn.00471fdc
lea edx, [ebp - 0x588]
mov eax, dword [esi + 0x1cc]
call fcn.004092b4
cmp dword [ebp - 0x588], 0
je 0x477e21
mov eax, dword [esi + 0x1cc]
call fcn.0040acd8
fcomp dword [0x478da0]
wait
fnstsw ax
sahf
jb 0x477d54
lea edx, [ebp - 0x590]
mov eax, dword [esi + 0xc]
call fcn.004092b4
mov ecx, dword [ebp - 0x590]
lea eax, [ebp - 0x58c]
mov edx, 0x478eb8
call fcn.00405360
mov ecx, dword [ebp - 0x58c]
mov edx, 0x43
mov eax, ebx
call fcn.00471fdc
lea edx, [ebp - 0x598]
mov eax, dword [esi + 0x1cc]
call fcn.004092b4
mov eax, dword [ebp - 0x598]
call fcn.0040acd8
fabs
add esp, 0xfffffff4
fstp xword [esp]
wait
lea eax, [ebp - 0x594]
call fcn.0040ac40
mov eax, dword [ebp - 0x594]
call fcn.0040ad88
fistp qword [ebp - 8]
wait
push dword [ebp - 4]
push dword [ebp - 8]
lea ecx, [ebp - 0x59c]
xor edx, edx
mov al, 3
call fcn.0040aca0
mov ecx, dword [ebp - 0x59c]
mov edx, 0x44
mov eax, ebx
call fcn.00471fdc
jmp 0x477e21
mov eax, dword [esi + 0x1cc]
call fcn.0040acd8
fcomp dword [0x478da0]
wait
fnstsw ax
sahf
jae 0x477e21
lea edx, [ebp - 0x5a4]
mov eax, dword [esi + 0xc]
call fcn.004092b4
mov ecx, dword [ebp - 0x5a4]
lea eax, [ebp - 0x5a0]
mov edx, 0x478eb8
call fcn.00405360
mov ecx, dword [ebp - 0x5a0]
mov edx, 0x43
mov eax, ebx
call fcn.00471fdc
lea edx, [ebp - 0x5ac]
mov eax, dword [esi + 0x1cc]
call fcn.004092b4
mov eax, dword [ebp - 0x5ac]
call fcn.0040acd8
fabs
add esp, 0xfffffff4
fstp xword [esp]
wait
lea eax, [ebp - 0x5a8]
call fcn.0040ac40
mov eax, dword [ebp - 0x5a8]
call fcn.0040ad88
fistp qword [ebp - 8]
wait
push dword [ebp - 4]
push dword [ebp - 8]
lea ecx, [ebp - 0x5b4]
xor edx, edx
mov al, 3
call fcn.0040aca0
mov ecx, dword [ebp - 0x5b4]
lea eax, [ebp - 0x5b0]
mov edx, 0x478ed8
call fcn.00405360
mov ecx, dword [ebp - 0x5b0]
mov edx, 0x44
mov eax, ebx
call fcn.00471fdc
lea edx, [ebp - 0x5b8]
mov eax, dword [esi + 0x1cc]
call fcn.004092b4
cmp dword [ebp - 0x5b8], 0
je 0x477fda
mov eax, 0x488ecc
call fcn.00405050
fild qword [ebp - 8]
fdiv dword [0x478d78]
add esp, 0xfffffff4
fstp xword [esp]
wait
lea eax, [ebp - 0x5bc]
call fcn.0040ac40
mov edx, dword [ebp - 0x5bc]
mov eax, 0x488ecc
call fcn.004050a4
lea ecx, [ebp - 0x5c0]
xor edx, edx
mov eax, dword [0x488ecc]
call fcn.0046e4b0
mov edx, dword [ebp - 0x5c0]
mov eax, 0x488ecc
call fcn.004050a4
lea edx, [ebp - 0x5c4]
mov eax, dword [0x488ecc]
call fcn.004092b4
mov edx, dword [ebp - 0x5c4]
mov eax, 0x488ecc
mov ecx, 0x478ee4
call fcn.00405360
push 0x488ed0
mov ecx, 1
mov edx, 1
mov eax, dword [0x488ecc]
call fcn.00405574
mov eax, 0x488ecc
mov ecx, 1
mov edx, 1
call fcn.004055b4
lea edx, [ebp - 0x5c8]
mov eax, dword [0x488ed0]
call fcn.00408f24
mov edx, dword [ebp - 0x5c8]
mov eax, 0x488ecc
mov ecx, dword [0x488ecc]
call fcn.00405360
mov eax, 0x488f6c
call fcn.00405050
mov eax, 0x488f70
call fcn.00405050
mov eax, ebx
call fcn.0047cc60
mov eax, dword [esi + 0x1cc]
call fcn.0040acd8
fcomp dword [0x478da0]
wait
fnstsw ax
sahf
jb 0x477f7a
push 0x478ef8
push dword [0x488f6c]
push 0x478bbc
push dword [0x488f70]
lea eax, [ebp - 0x5cc]
mov edx, 4
call fcn.004053d4
mov ecx, dword [ebp - 0x5cc]
mov edx, 0x45
mov eax, ebx
call fcn.00471fdc
jmp 0x477fda
mov eax, dword [esi + 0x1cc]
call fcn.0040acd8
fcomp dword [0x478da0]
wait
fnstsw ax
sahf
jae 0x477fda
push 0x478f0c
push dword [0x488f6c]
push 0x478bbc
push dword [0x488f70]
lea eax, [ebp - 0x5d0]
mov edx, 4
call fcn.004053d4
mov ecx, dword [ebp - 0x5d0]
mov edx, 0x45
mov eax, ebx
call fcn.00471fdc
mov ecx, 0x478f28
mov edx, 0x45
mov eax, ebx
call fcn.00471fdc
lea edx, [ebp - 0x5d4]
mov eax, dword [esi + 0x26c]
call fcn.004092b4
cmp dword [ebp - 0x5d4], 0
je 0x478196
lea edx, [ebp - 0x5d8]
mov eax, dword [esi + 0x26c]
call fcn.004092b4
mov eax, dword [ebp - 0x5d8]
mov edx, 0x478f94
call fcn.00405460
je 0x478196
lea edx, [ebp - 0x5dc]
mov eax, dword [esi + 0x270]
call fcn.004092b4
cmp dword [ebp - 0x5dc], 0
je 0x478196
mov ecx, 0x478fa0
mov edx, 0x46
mov eax, ebx
call fcn.00471fdc
mov ecx, 0x478ff0
mov edx, 0x47
mov eax, ebx
call fcn.00471fdc
lea edx, [ebp - 0x5e4]
mov eax, dword [esi + 0x26c]
call fcn.004092b4
mov eax, dword [ebp - 0x5e4]
call fcn.0040acd8
fabs
add esp, 0xfffffff4
fstp xword [esp]
wait
lea eax, [ebp - 0x5e0]
call fcn.0040ac40
mov eax, dword [ebp - 0x5e0]
call fcn.0040ad88
fistp qword [ebp - 8]
wait
push dword [ebp - 4]
push dword [ebp - 8]
lea ecx, [ebp - 0x5e8]
xor edx, edx
mov al, 3
call fcn.0040aca0
mov ecx, dword [ebp - 0x5e8]
mov edx, 0x48
mov eax, ebx
call fcn.00471fdc
mov ecx, 0x479010
mov edx, 0x47
mov eax, ebx
call fcn.00471fdc
lea edx, [ebp - 0x5ec]
mov eax, dword [esi + 0x270]
call fcn.004092b4
mov eax, dword [ebp - 0x5ec]
call fcn.004745fc
call fcn.004747ac
mov eax, dword [edi]
call fcn.0040acd8
fstp qword [0x48900c]
wait
fld qword [0x48900c]
fmul dword [0x478d78]
add esp, 0xfffffff8
fistp qword [esp]
wait
lea ecx, [ebp - 0x5f0]
xor edx, edx
mov al, 3
call fcn.0040aca0
mov edx, dword [ebp - 0x5f0]
mov eax, 0x488ef8
call fcn.004050a4
cmp byte [0x488ff6], 1
jne 0x478167
fld qword [0x48900c]
fcomp dword [0x478da0]
wait
fnstsw ax
sahf
je 0x478167
mov eax, 0x488ef8
mov ecx, dword [0x488ef8]
mov edx, 0x478ed8
call fcn.00405360
mov byte [0x488ff6], 0
mov ecx, dword [0x488ef8]
mov edx, 0x48
mov eax, ebx
call fcn.00471fdc
mov ecx, 0x479040
mov edx, 0x61
mov eax, ebx
call fcn.00471fdc
jmp 0x4784eb
lea edx, [ebp - 0x5f4]
mov eax, dword [esi + 0x26c]
call fcn.004092b4
cmp dword [ebp - 0x5f4], 0
je 0x478343
lea edx, [ebp - 0x5f8]
mov eax, dword [esi + 0x26c]
call fcn.004092b4
mov eax, dword [ebp - 0x5f8]
mov edx, 0x478f94
call fcn.00405460
jne 0x478343
lea edx, [ebp - 0x600]
mov eax, dword [esi + 0x270]
call fcn.004092b4
mov eax, dword [ebp - 0x600]
call fcn.0040acd8
fabs
add esp, 0xfffffff4
fstp xword [esp]
wait
lea eax, [ebp - 0x5fc]
call fcn.0040ac40
mov eax, dword [ebp - 0x5fc]
mov edx, 0x478f94
call fcn.00405460
je 0x478343
lea edx, [ebp - 0x604]
mov eax, dword [esi + 0x270]
call fcn.004092b4
cmp dword [ebp - 0x604], 0
je 0x478343
mov ecx, 0x478fa0
mov edx, 0x46
mov eax, ebx
call fcn.00471fdc
mov ecx, 0x478bbc
mov edx, 0x47
mov eax, ebx
call fcn.00471fdc
mov ecx, 0x479010
mov edx, 0x47
mov eax, ebx
call fcn.00471fdc
mov ecx, 0x478bbc
mov edx, 0x48
mov eax, ebx
call fcn.00471fdc
lea edx, [ebp - 0x608]
mov eax, dword [esi + 0x270]
call fcn.004092b4
mov eax, dword [ebp - 0x608]
call fcn.004745fc
call fcn.004747ac
mov eax, dword [edi]
call fcn.0040acd8
fstp qword [0x48900c]
wait
fld qword [0x48900c]
fmul dword [0x478d78]
add esp, 0xfffffff8
fistp qword [esp]
wait
lea ecx, [ebp - 0x60c]
xor edx, edx
mov al, 3
call fcn.0040aca0
mov edx, dword [ebp - 0x60c]
mov eax, 0x488ef8
call fcn.004050a4
cmp byte [0x488ff6], 1
jne 0x478314
fld qword [0x48900c]
fcomp dword [0x478da0]
wait
fnstsw ax
sahf
je 0x478314
mov eax, 0x488ef8
mov ecx, dword [0x488ef8]
mov edx, 0x478ed8
call fcn.00405360
mov byte [0x488ff6], 0
mov ecx, dword [0x488ef8]
mov edx, 0x48
mov eax, ebx
call fcn.00471fdc
mov ecx, 0x479040
mov edx, 0x61
mov eax, ebx
call fcn.00471fdc
jmp 0x4784eb
lea edx, [ebp - 0x610]
mov eax, dword [esi + 0x26c]
call fcn.004092b4
cmp dword [ebp - 0x610], 0
je 0x4784eb
lea edx, [ebp - 0x614]
mov eax, dword [esi + 0x26c]
call fcn.004092b4
mov eax, dword [ebp - 0x614]
mov edx, 0x478f94
call fcn.00405460
jne 0x4784eb
lea edx, [ebp - 0x61c]
mov eax, dword [esi + 0x270]
call fcn.004092b4
mov eax, dword [ebp - 0x61c]
call fcn.0040acd8
fabs
add esp, 0xfffffff4
fstp xword [esp]
wait
lea eax, [ebp - 0x618]
call fcn.0040ac40
mov eax, dword [ebp - 0x618]
mov edx, 0x478f94
call fcn.00405460
jne 0x4784eb
lea edx, [ebp - 0x620]
mov eax, dword [esi + 0x270]
call fcn.004092b4
cmp dword [ebp - 0x620], 0
je 0x4784eb
mov ecx, 0x478bbc
mov edx, 0x46
mov eax, ebx
call fcn.00471fdc
mov ecx, 0x478bbc
mov edx, 0x47
mov eax, ebx
call fcn.00471fdc
mov ecx, 0x479010
mov edx, 0x47
mov eax, ebx
call fcn.00471fdc
mov ecx, 0x478bbc
mov edx, 0x48
mov eax, ebx
call fcn.00471fdc
lea edx, [ebp - 0x624]
mov eax, dword [esi + 0x270]
call fcn.004092b4
mov eax, dword [ebp - 0x624]
call fcn.004745fc
call fcn.004747ac
mov eax, dword [edi]
call fcn.0040acd8
fstp qword [0x48900c]
wait
fld qword [0x48900c]
fmul dword [0x478d78]
add esp, 0xfffffff8
fistp qword [esp]
wait
lea ecx, [ebp - 0x628]
xor edx, edx
mov al, 3
call fcn.0040aca0
mov edx, dword [ebp - 0x628]
mov eax, 0x488ef8
call fcn.004050a4
cmp byte [0x488ff6], 1
jne 0x4784c1
fld qword [0x48900c]
fcomp dword [0x478da0]
wait
fnstsw ax
sahf
je 0x4784c1
mov eax, 0x488ef8
mov ecx, dword [0x488ef8]
mov edx, 0x478ed8
call fcn.00405360
mov byte [0x488ff6], 0
mov ecx, dword [0x488ef8]
mov edx, 0x48
mov eax, ebx
call fcn.00471fdc
mov ecx, 0x478bbc
mov edx, 0x61
mov eax, ebx
call fcn.00471fdc
lea edx, [ebp - 0x62c]
mov eax, dword [esi + 0x274]
call fcn.004092b4
cmp dword [ebp - 0x62c], 0
je 0x4785ce
push 0x4790a8
lea edx, [ebp - 0x634]
mov eax, dword [esi + 0x278]
call fcn.004092b4
push dword [ebp - 0x634]
push 0x4790f8
lea edx, [ebp - 0x638]
mov eax, dword [esi + 0x27c]
call fcn.004092b4
push dword [ebp - 0x638]
push 0x479108
lea eax, [ebp - 0x630]
mov edx, 5
call fcn.004053d4
mov ecx, dword [ebp - 0x630]
mov edx, 0x4b
mov eax, ebx
call fcn.00471fdc
lea edx, [ebp - 0x640]
mov eax, dword [esi + 0x274]
call fcn.004092b4
mov eax, dword [ebp - 0x640]
call fcn.0040acd8
fabs
add esp, 0xfffffff4
fstp xword [esp]
wait
lea eax, [ebp - 0x63c]
call fcn.0040ac40
mov eax, dword [ebp - 0x63c]
call fcn.0040ad88
fistp qword [ebp - 8]
wait
push dword [ebp - 4]
push dword [ebp - 8]
lea ecx, [ebp - 0x644]
xor edx, edx
mov al, 3
call fcn.0040aca0
mov ecx, dword [ebp - 0x644]
mov edx, 0x4c
mov eax, ebx
call fcn.00471fdc
lea edx, [ebp - 0x648]
mov eax, dword [esi + 0x284]
call fcn.004092b4
cmp dword [ebp - 0x648], 0
je 0x478686
lea edx, [ebp - 0x64c]
mov eax, dword [esi + 0x284]
call fcn.004092b4
mov eax, dword [ebp - 0x64c]
mov edx, 0x478f94
call fcn.00405460
je 0x478686
mov ecx, 0x479114
mov edx, 0x4b
mov eax, ebx
call fcn.00471fdc
lea edx, [ebp - 0x654]
mov eax, dword [esi + 0x284]
call fcn.004092b4
mov eax, dword [ebp - 0x654]
call fcn.0040acd8
fabs
add esp, 0xfffffff4
fstp xword [esp]
wait
lea eax, [ebp - 0x650]
call fcn.0040ac40
mov eax, dword [ebp - 0x650]
call fcn.0040ad88
fistp qword [ebp - 8]
wait
push dword [ebp - 4]
push dword [ebp - 8]
lea ecx, [ebp - 0x658]
xor edx, edx
mov al, 3
call fcn.0040aca0
mov ecx, dword [ebp - 0x658]
mov edx, 0x4c
mov eax, ebx
call fcn.00471fdc
lea edx, [ebp - 0x65c]
mov eax, dword [esi + 0x1cc]
call fcn.004092b4
cmp dword [ebp - 0x65c], 0
jne 0x4786b0
lea eax, [esi + 0x1cc]
mov edx, 0x478f94
call fcn.004050a4
mov eax, dword [esi + 0x1cc]
call fcn.0040acd8
fcomp dword [0x478da0]
wait
fnstsw ax
sahf
ja 0x4786dd
mov ecx, 0x479140
mov edx, 0x63
mov eax, ebx
call fcn.00471fdc
jmp 0x478a1e
cmp dword [esi + 0x20c], 0
je 0x478a1e
lea edx, [ebp - 0x664]
mov eax, dword [esi + 0x2bc]
call fcn.004092b4
mov edx, dword [ebp - 0x664]
lea ecx, [ebp - 0x660]
mov eax, ebx
call fcn.0047cf34
mov ecx, dword [ebp - 0x660]
mov edx, 0x56
mov eax, ebx
call fcn.00471fdc
mov ecx, 0x47915c
mov edx, 0x58
mov eax, ebx
call fcn.00471fdc
mov ecx, 0x47916c
mov edx, 0x58
mov eax, ebx
call fcn.00471fdc
mov ecx, 0x47917c
mov edx, 0x58
mov eax, ebx
call fcn.00471fdc
mov ecx, 0x47918c
mov edx, 0x58
mov eax, ebx
call fcn.00471fdc
lea edx, [ebp - 0x66c]
mov eax, dword [esi + 4]
call fcn.004092b4
mov ecx, dword [ebp - 0x66c]
lea eax, [ebp - 0x668]
mov edx, 0x478b90
call fcn.00405360
mov ecx, dword [ebp - 0x668]
mov edx, 0x59
mov eax, ebx
call fcn.00471fdc
lea edx, [ebp - 0x678]
mov eax, dword [esi + 8]
call fcn.004092b4
mov eax, dword [ebp - 0x678]
call fcn.00409748
push edx
push eax
lea eax, [ebp - 0x674]
call fcn.00409684
mov ecx, dword [ebp - 0x674]
lea eax, [ebp - 0x670]
mov edx, 0x478b90
call fcn.00405360
mov ecx, dword [ebp - 0x670]
mov edx, 0x59
mov eax, ebx
call fcn.00471fdc
cmp dword [esi + 0x1cc], 0
je 0x478811
lea edx, [ebp - 0x67c]
mov eax, dword [esi + 0x1cc]
call fcn.004092b4
mov eax, dword [ebp - 0x67c]
call fcn.0040ad88
fistp qword [ebp - 8]
wait
push dword [ebp - 4]
push dword [ebp - 8]
lea ecx, [ebp - 0x684]
xor edx, edx
mov al, 3
call fcn.0040aca0
mov ecx, dword [ebp - 0x684]
lea eax, [ebp - 0x680]
mov edx, 0x47919c
call fcn.00405360
mov ecx, dword [ebp - 0x680]
mov edx, 0x59
mov eax, ebx
call fcn.00471fdc
lea edx, [ebp - 0x68c]
mov eax, dword [esi + 0xc]
call fcn.004092b4
mov ecx, dword [ebp - 0x68c]
lea eax, [ebp - 0x688]
mov edx, 0x478b90
call fcn.00405360
mov ecx, dword [ebp - 0x688]
mov edx, 0x59
mov eax, ebx
call fcn.00471fdc
lea edx, [ebp - 0x694]
mov eax, dword [esi + 0x2bc]
call fcn.004092b4
mov edx, dword [ebp - 0x694]
lea ecx, [ebp - 0x690]
mov eax, ebx
call fcn.0047cf34
mov ecx, dword [ebp - 0x690]
mov edx, 0x5a
mov eax, ebx
call fcn.00471fdc
mov ecx, 0x47915c
mov edx, 0x5c
mov eax, ebx
call fcn.00471fdc
mov ecx, 0x47916c
mov edx, 0x5c
mov eax, ebx
call fcn.00471fdc
mov ecx, 0x47917c
mov edx, 0x5c
mov eax, ebx
call fcn.00471fdc
mov ecx, 0x47918c
mov edx, 0x5c
mov eax, ebx
call fcn.00471fdc
lea edx, [ebp - 0x69c]
mov eax, dword [esi + 4]
call fcn.004092b4
mov ecx, dword [ebp - 0x69c]
lea eax, [ebp - 0x698]
mov edx, 0x478b90
call fcn.00405360
mov ecx, dword [ebp - 0x698]
mov edx, 0x5d
mov eax, ebx
call fcn.00471fdc
lea edx, [ebp - 0x6a8]
mov eax, dword [esi + 8]
call fcn.004092b4
mov eax, dword [ebp - 0x6a8]
call fcn.00409748
push edx
push eax
lea eax, [ebp - 0x6a4]
call fcn.00409684
mov ecx, dword [ebp - 0x6a4]
lea eax, [ebp - 0x6a0]
mov edx, 0x478b90
call fcn.00405360
mov ecx, dword [ebp - 0x6a0]
mov edx, 0x5d
mov eax, ebx
call fcn.00471fdc
cmp dword [esi + 0x1cc], 0
je 0x4789ab
lea edx, [ebp - 0x6ac]
mov eax, dword [esi + 0x1cc]
call fcn.004092b4
mov eax, dword [ebp - 0x6ac]
call fcn.0040ad88
fistp qword [ebp - 8]
wait
push dword [ebp - 4]
push dword [ebp - 8]
lea ecx, [ebp - 0x6b4]
xor edx, edx
mov al, 3
call fcn.0040aca0
mov ecx, dword [ebp - 0x6b4]
lea eax, [ebp - 0x6b0]
mov edx, 0x47919c
call fcn.00405360
mov ecx, dword [ebp - 0x6b0]
mov edx, 0x5d
mov eax, ebx
call fcn.00471fdc
lea edx, [ebp - 0x6bc]
mov eax, dword [esi + 0xc]
call fcn.004092b4
mov ecx, dword [ebp - 0x6bc]
lea eax, [ebp - 0x6b8]
mov edx, 0x478b90
call fcn.00405360
mov ecx, dword [ebp - 0x6b8]
mov edx, 0x5d
mov eax, ebx
call fcn.00471fdc
lea edx, [ebp - 0x6c0]
mov eax, dword [esi + 0x1c8]
call fcn.004092b4
cmp dword [ebp - 0x6c0], 0
je 0x478a8c
mov ecx, 0x4791ac
mov edx, 0x49
mov eax, ebx
call fcn.00471fdc
push dword [0x488f98]
push dword [0x488f94]
lea ecx, [ebp - 0x6c8]
xor edx, edx
mov al, 3
call fcn.0040aca0
mov ecx, dword [ebp - 0x6c8]
lea eax, [ebp - 0x6c4]
mov edx, 0x4791c8
call fcn.00405360
mov ecx, dword [ebp - 0x6c4]
mov edx, 0x4a
mov eax, ebx
call fcn.00471fdc
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x478b01
lea eax, [ebp - 0x6c8]
mov edx, 0x64
call fcn.00405074
lea eax, [ebp - 0x538]
mov edx, 0x64
call fcn.00405074
lea eax, [ebp - 0x3a8]
mov edx, 0x64
call fcn.00405074
lea eax, [ebp - 0x218]
mov edx, 0x49
call fcn.00405074
lea eax, [ebp - 0xf0]
mov edx, 0x1b
call fcn.00405074
lea eax, [ebp - 0x84]
mov edx, 0x12
call fcn.00405074
ret