Function at 0x45e861
Capabilities:
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x100
push ebx
push ebp
push esi
mov esi, ecx
push edi
push 0x280
mov eax, dword [esi + 0x14]
push eax
call dword [0x100190b8]
xor ebp, ebp
add esp, 8
cmp eax, ebp
jne 0x45e8b2
mov ecx, dword [esi + 0x14]
push ecx
call dword [0x100190b0]
add esp, 4
mov dword [esi + 0x14], ebp
mov dword [esi + 0x10], ebp
mov dword [esi + 0x10508], 1
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret
lea edx, [eax + 0x50]
mov ecx, esi
push edx
push eax
mov dword [esi + 0x14], eax
call fcn.0045f9b1
fst dword [esp + 0x24]
fadd qword [0x10019128]
mov ecx, dword [esi + 0x14]
lea eax, [esp + 0x1c]
push eax
mov edx, dword [ecx + 4]
fstp dword [esp + 0x74]
mov edi, dword [esp + 0x74]
mov eax, dword [ecx]
push edi
push edx
push eax
mov ecx, esi
call fcn.00461461
test eax, eax
jne 0x45e8f6
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret
mov ecx, dword [esp + 0x20]
mov edx, dword [esp + 0x1c]
push ecx
lea eax, [esp + 0x74]
push edx
push eax
mov ecx, esi
call fcn.0045fbf1
mov ecx, dword [eax]
mov dword [esp + 0x48], ecx
mov ecx, dword [esp + 0x24]
mov edx, dword [eax + 4]
lea eax, [esp + 0x1c]
mov dword [esp + 0x4c], edx
mov edx, dword [esi + 0x14]
push eax
push ecx
mov eax, dword [edx + 4]
push eax
mov ecx, dword [edx]
push ecx
mov ecx, esi
call fcn.00461461
test eax, eax
jne 0x45e940
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret
mov edx, dword [esp + 0x20]
mov eax, dword [esp + 0x1c]
push edx
lea ecx, [esp + 0x74]
push eax
push ecx
mov ecx, esi
call fcn.0045fbf1
mov edx, dword [eax]
lea ecx, [esp + 0x38]
mov dword [esp + 0x38], edx
lea edx, [esp + 0x48]
mov eax, dword [eax + 4]
push ecx
push edx
mov ecx, esi
mov dword [esp + 0x44], eax
call fcn.0045fa61
fstp dword [esp + 0xc0]
fld dword [esp + 0x24]
fadd qword [0x10019120]
mov edx, dword [esi + 0x14]
lea eax, [esp + 0x1c]
push eax
mov eax, dword [edx + 4]
fstp dword [esp + 0x74]
mov ecx, dword [esp + 0x74]
push ecx
mov ecx, dword [edx]
push eax
push ecx
mov ecx, esi
call fcn.00461461
test eax, eax
jne 0x45e9b0
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret
mov edx, dword [esp + 0x20]
mov eax, dword [esp + 0x1c]
push edx
lea ecx, [esp + 0x9c]
push eax
push ecx
mov ecx, esi
call fcn.0045fbf1
fld dword [esp + 0x24]
mov edx, dword [eax]
lea ecx, [esp + 0x1c]
fsub qword [0x10019120]
mov dword [esp + 0x30], edx
mov eax, dword [eax + 4]
mov edx, dword [esi + 0x14]
mov dword [esp + 0x34], eax
fstp dword [esp + 0x98]
mov eax, dword [edx + 4]
mov ebx, dword [esp + 0x98]
push ecx
push ebx
mov ecx, dword [edx]
push eax
push ecx
mov ecx, esi
call fcn.00461461
test eax, eax
jne 0x45ea11
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret
mov edx, dword [esp + 0x20]
mov eax, dword [esp + 0x1c]
push edx
lea ecx, [esp + 0x9c]
push eax
push ecx
mov ecx, esi
call fcn.0045fbf1
mov edx, dword [eax]
lea ecx, [esp + 0x30]
mov dword [esp + 0x40], edx
lea edx, [esp + 0x40]
mov eax, dword [eax + 4]
push ecx
push edx
mov ecx, esi
mov dword [esp + 0x4c], eax
call fcn.0045fa61
mov ecx, dword [esi + 0x14]
lea eax, [esp + 0x1c]
fstp dword [esp + 0x98]
mov edx, dword [ecx + 0x54]
push eax
push edi
push edx
mov eax, dword [ecx + 0x50]
mov ecx, esi
push eax
call fcn.00461461
test eax, eax
jne 0x45ea73
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret
mov ecx, dword [esp + 0x20]
mov edx, dword [esp + 0x1c]
push ecx
lea eax, [esp + 0x10c]
push edx
push eax
mov ecx, esi
call fcn.0045fbf1
mov ecx, dword [eax]
mov dword [esp + 0xb8], ecx
mov ecx, dword [esp + 0x24]
mov edx, dword [eax + 4]
lea eax, [esp + 0x1c]
mov dword [esp + 0xbc], edx
mov edx, dword [esi + 0x14]
push eax
push ecx
mov eax, dword [edx + 0x54]
push eax
mov ecx, dword [edx + 0x50]
push ecx
mov ecx, esi
call fcn.00461461
test eax, eax
jne 0x45eac7
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret
mov edx, dword [esp + 0x20]
mov eax, dword [esp + 0x1c]
push edx
lea ecx, [esp + 0x10c]
push eax
push ecx
mov ecx, esi
call fcn.0045fbf1
mov edx, dword [eax]
lea ecx, [esp + 0xa8]
mov dword [esp + 0xa8], edx
lea edx, [esp + 0xb8]
mov eax, dword [eax + 4]
push ecx
push edx
mov ecx, esi
mov dword [esp + 0xb4], eax
call fcn.0045fa61
mov edx, dword [esi + 0x14]
mov ecx, dword [esp + 0x70]
lea eax, [esp + 0x1c]
fstp dword [esp + 0x24]
push eax
mov eax, dword [edx + 0x54]
push ecx
push eax
mov ecx, dword [edx + 0x50]
push ecx
mov ecx, esi
call fcn.00461461
test eax, eax
jne 0x45eb36
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret
mov edx, dword [esp + 0x20]
mov eax, dword [esp + 0x1c]
push edx
lea ecx, [esp + 0x10c]
push eax
push ecx
mov ecx, esi
call fcn.0045fbf1
mov edx, dword [eax]
lea ecx, [esp + 0x1c]
mov dword [esp + 0xa0], edx
mov edx, dword [esi + 0x14]
mov eax, dword [eax + 4]
push ecx
mov dword [esp + 0xa8], eax
mov eax, dword [edx + 0x54]
push ebx
push eax
mov ecx, dword [edx + 0x50]
push ecx
mov ecx, esi
call fcn.00461461
test eax, eax
jne 0x45eb86
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret
mov edx, dword [esp + 0x20]
mov eax, dword [esp + 0x1c]
push edx
lea ecx, [esp + 0x10c]
push eax
push ecx
mov ecx, esi
call fcn.0045fbf1
mov edx, dword [eax]
lea ecx, [esp + 0xa0]
mov dword [esp + 0xb0], edx
lea edx, [esp + 0xb0]
mov eax, dword [eax + 4]
push ecx
push edx
mov ecx, esi
mov dword [esp + 0xbc], eax
call fcn.0045fa61
fstp dword [esp + 0x70]
fld dword [esp + 0xc0]
fcomp dword [esp + 0x24]
fnstsw ax
test ah, 0x41
jne 0x45ebe8
fld dword [esp + 0xc0]
jmp 0x45ebec
fld dword [esp + 0x24]
fld dword [esp + 0xc0]
fcomp dword [esp + 0x24]
fnstsw ax
test ah, 1
je 0x45ec07
fld dword [esp + 0xc0]
jmp 0x45ec0b
fld dword [esp + 0x24]
fxch st(1)
fdiv st(1)
fcomp dword [0x1001911c]
fnstsw ax
test ah, 0x41
fstp st(0)
jne 0x45ec28
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret
fld dword [esp + 0x98]
fcomp dword [esp + 0x70]
fnstsw ax
test ah, 0x41
jne 0x45ec43
fld dword [esp + 0x98]
jmp 0x45ec47
fld dword [esp + 0x70]
fld dword [esp + 0x98]
fcomp dword [esp + 0x70]
fnstsw ax
test ah, 1
je 0x45ec62
fld dword [esp + 0x98]
jmp 0x45ec66
fld dword [esp + 0x70]
fxch st(1)
fdiv st(1)
fcomp dword [0x1001911c]
fnstsw ax
test ah, 0x41
fstp st(0)
jne 0x45ec83
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [esi + 0x14]
fld dword [eax]
fsub dword [esp + 0x30]
fsubr dword [esp + 0x48]
fstp dword [esp + 0xe8]
fld dword [eax + 4]
fsub dword [esp + 0x4c]
fsubr dword [esp + 0x34]
fstp dword [esp + 0xec]
fld dword [eax]
fsub dword [esp + 0x38]
fsubr dword [esp + 0x30]
fstp dword [esp + 0xf0]
fld dword [eax + 4]
fsub dword [esp + 0x34]
fsubr dword [esp + 0x3c]
fstp dword [esp + 0xf4]
fld dword [eax]
fsub dword [esp + 0x40]
fsubr dword [esp + 0x38]
fstp dword [esp + 0xf8]
fld dword [eax + 4]
fsub dword [esp + 0x3c]
fsubr dword [esp + 0x44]
fstp dword [esp + 0xfc]
fld dword [eax]
fsub dword [esp + 0x48]
fsubr dword [esp + 0x40]
fstp dword [esp + 0x100]
fld dword [eax + 4]
fsub dword [esp + 0x44]
fsubr dword [esp + 0x4c]
fstp dword [esp + 0x104]
fld dword [eax + 0x50]
fsub dword [esp + 0xa0]
fsubr dword [esp + 0x48]
fstp dword [esp + 0xc8]
fld dword [eax + 0x54]
fsub dword [esp + 0xbc]
fsubr dword [esp + 0x34]
fstp dword [esp + 0xcc]
fld dword [eax + 0x50]
fsub dword [esp + 0xa8]
fsubr dword [esp + 0x30]
fstp dword [esp + 0xd0]
fld dword [eax + 0x54]
fsub dword [esp + 0xa4]
fsubr dword [esp + 0x3c]
fstp dword [esp + 0xd4]
fld dword [eax + 0x50]
fsub dword [esp + 0xb0]
fsubr dword [esp + 0x38]
fstp dword [esp + 0xd8]
fld dword [eax + 0x54]
fsub dword [esp + 0xac]
fsubr dword [esp + 0x44]
fstp dword [esp + 0xdc]
fld dword [eax + 0x50]
fsub dword [esp + 0xb8]
fsubr dword [esp + 0x40]
fstp dword [esp + 0xe0]
fld dword [eax + 0x54]
fsub dword [esp + 0xb4]
fsubr dword [esp + 0x4c]
fstp dword [esp + 0xe4]
xor edi, edi
mov ebx, 1
mov eax, dword [esi + 0x14]
cmp edi, ebp
jne 0x45ee92
mov ecx, dword [eax]
mov dword [esp + 0x14], ecx
mov edx, dword [eax + 4]
mov dword [esp + 0x18], edx
mov ecx, dword [eax + 0x50]
mov dword [esp + 0x28], ecx
mov edx, dword [eax + 0x54]
mov ecx, dword [esp + 0x30]
mov dword [esp + 0x2c], edx
mov edx, dword [esp + 0x34]
mov dword [esp + 0x78], ecx
mov ecx, dword [esp + 0x38]
mov dword [esp + 0x7c], edx
mov edx, dword [esp + 0x3c]
mov dword [esp + 0x80], ecx
mov ecx, dword [esp + 0x40]
mov dword [esp + 0x84], edx
mov edx, dword [esp + 0x44]
mov dword [esp + 0x88], ecx
mov ecx, dword [esp + 0x48]
mov dword [esp + 0x8c], edx
mov edx, dword [esp + 0x4c]
mov dword [esp + 0x90], ecx
mov ecx, dword [esp + 0xe8]
mov dword [esp + 0x94], edx
mov edx, dword [esp + 0xec]
mov dword [esp + 0x50], ecx
mov ecx, dword [esp + 0xf0]
mov dword [esp + 0x54], edx
mov edx, dword [esp + 0xf4]
mov dword [esp + 0x58], ecx
mov ecx, dword [esp + 0xf8]
mov dword [esp + 0x5c], edx
mov edx, dword [esp + 0xfc]
mov dword [esp + 0x60], ecx
mov ecx, dword [esp + 0x100]
mov dword [esp + 0x64], edx
mov edx, dword [esp + 0x104]
mov dword [esp + 0x68], ecx
jmp 0x45ef6b
mov ecx, dword [eax + 0x50]
mov dword [esp + 0x14], ecx
mov edx, dword [eax + 0x54]
mov dword [esp + 0x18], edx
mov ecx, dword [eax]
mov dword [esp + 0x28], ecx
mov edx, dword [eax + 4]
mov ecx, dword [esp + 0xb0]
mov dword [esp + 0x2c], edx
mov edx, dword [esp + 0xb4]
mov dword [esp + 0x78], ecx
mov ecx, dword [esp + 0xb8]
mov dword [esp + 0x7c], edx
mov edx, dword [esp + 0xbc]
mov dword [esp + 0x80], ecx
mov ecx, dword [esp + 0xa0]
mov dword [esp + 0x84], edx
mov edx, dword [esp + 0xa4]
mov dword [esp + 0x88], ecx
mov ecx, dword [esp + 0xa8]
mov dword [esp + 0x8c], edx
mov edx, dword [esp + 0xac]
mov dword [esp + 0x90], ecx
mov ecx, dword [esp + 0xd8]
mov dword [esp + 0x94], edx
mov edx, dword [esp + 0xdc]
mov dword [esp + 0x50], ecx
mov ecx, dword [esp + 0xe0]
mov dword [esp + 0x54], edx
mov edx, dword [esp + 0xe4]
mov dword [esp + 0x58], ecx
mov ecx, dword [esp + 0xc8]
mov dword [esp + 0x5c], edx
mov edx, dword [esp + 0xcc]
mov dword [esp + 0x60], ecx
mov ecx, dword [esp + 0xd0]
mov dword [esp + 0x64], edx
mov edx, dword [esp + 0xd4]
mov dword [esp + 0x68], ecx
fld dword [esp + 0x2c]
fsub dword [esp + 0x18]
mov ecx, dword [esi + 0x10]
mov dword [esp + 0x6c], edx
fsubr dword [esp + 0x14]
lea ecx, [ecx + ecx*4]
shl ecx, 4
fstp dword [ecx + eax]
fld dword [esp + 0x28]
fsub dword [esp + 0x14]
mov eax, dword [esi + 0x10]
fadd dword [esp + 0x18]
lea edx, [eax + eax*4]
mov eax, dword [esi + 0x14]
shl edx, 4
fstp dword [edx + eax + 4]
mov eax, dword [esi + 0x10]
mov edx, dword [esi + 0x14]
fld dword [esp + 0x14]
fsub dword [esp + 0x78]
lea ecx, [eax + eax*4]
shl ecx, 4
fsubr dword [ecx + edx]
lea eax, [ecx + edx]
fstp dword [eax + 0x10]
mov eax, dword [esi + 0x10]
mov ecx, dword [esi + 0x14]
fld dword [esp + 0x18]
fsub dword [esp + 0x7c]
lea eax, [eax + eax*4]
shl eax, 4
add eax, ecx
fsubr dword [eax + 4]
fstp dword [eax + 0x14]
mov eax, dword [esi + 0x10]
fld dword [esp + 0x14]
fsub dword [esp + 0x80]
lea edx, [eax + eax*4]
mov eax, dword [esi + 0x14]
shl edx, 4
add eax, edx
fsubr dword [eax]
fstp dword [eax + 0x18]
mov eax, dword [esi + 0x10]
mov edx, dword [esi + 0x14]
fld dword [esp + 0x18]
fsub dword [esp + 0x84]
lea ecx, [eax + eax*4]
shl ecx, 4
fsubr dword [ecx + edx + 4]
lea eax, [ecx + edx]
fstp dword [eax + 0x1c]
mov eax, dword [esi + 0x10]
mov ecx, dword [esi + 0x14]
fld dword [esp + 0x14]
fsub dword [esp + 0x88]
lea eax, [eax + eax*4]
shl eax, 4
add eax, ecx
fsubr dword [eax]
fstp dword [eax + 0x20]
mov eax, dword [esi + 0x10]
fld dword [esp + 0x18]
fsub dword [esp + 0x8c]
lea edx, [eax + eax*4]
mov eax, dword [esi + 0x14]
shl edx, 4
add eax, edx
fsubr dword [eax + 4]
fstp dword [eax + 0x24]
mov eax, dword [esi + 0x10]
lea ecx, [eax + eax*4]
shl ecx, 4
fld dword [esp + 0x14]
mov edx, dword [esi + 0x14]
fsub dword [esp + 0x90]
lea eax, [ecx + edx]
fsubr dword [eax]
fstp dword [eax + 0x28]
mov eax, dword [esi + 0x10]
mov ecx, dword [esi + 0x14]
fld dword [esp + 0x18]
fsub dword [esp + 0x94]
lea eax, [eax + eax*4]
shl eax, 4
add eax, ecx
fsubr dword [eax + 4]
fstp dword [eax + 0x2c]
mov eax, dword [esi + 0x10]
lea edx, [eax + eax*4]
mov eax, dword [esi + 0x14]
shl edx, 4
add eax, edx
lea edx, [esp + 0x28]
lea ecx, [eax + 0x48]
push ecx
push eax
add eax, 0x28
push edx
push eax
lea eax, [esp + 0xa0]
push eax
mov ecx, esi
call fcn.0045fa91
mov eax, dword [esi + 0x10]
mov edx, dword [esi + 0x14]
fld dword [esp + 0x68]
fsub dword [esp + 0x50]
lea ecx, [eax + eax*4]
shl ecx, 4
fsubr dword [ecx + edx + 0x48]
lea eax, [ecx + edx]
fstp dword [eax + 0x30]
mov eax, dword [esi + 0x10]
mov ecx, dword [esi + 0x14]
fld dword [esp + 0x6c]
fsub dword [esp + 0x54]
lea eax, [eax + eax*4]
shl eax, 4
add eax, ecx
fsubr dword [eax + 0x4c]
fstp dword [eax + 0x34]
mov eax, dword [esi + 0x10]
fld dword [esp + 0x68]
fsub dword [esp + 0x58]
lea edx, [eax + eax*4]
mov eax, dword [esi + 0x14]
shl edx, 4
add eax, edx
fsubr dword [eax + 0x48]
fstp dword [eax + 0x38]
mov eax, dword [esi + 0x10]
mov edx, dword [esi + 0x14]
fld dword [esp + 0x6c]
fsub dword [esp + 0x5c]
lea ecx, [eax + eax*4]
shl ecx, 4
fsubr dword [ecx + edx + 0x4c]
lea eax, [ecx + edx]
fstp dword [eax + 0x3c]
mov eax, dword [esi + 0x10]
mov ecx, dword [esi + 0x14]
fld dword [esp + 0x68]
fsub dword [esp + 0x60]
lea eax, [eax + eax*4]
shl eax, 4
add eax, ecx
fsubr dword [eax + 0x48]
fstp dword [eax + 0x40]
mov eax, dword [esi + 0x10]
fld dword [esp + 0x6c]
fsub dword [esp + 0x64]
lea edx, [eax + eax*4]
mov eax, dword [esi + 0x14]
shl edx, 4
add eax, edx
fsubr dword [eax + 0x4c]
fstp dword [eax + 0x44]
mov eax, dword [esi + 0x10]
mov edx, dword [esi + 0x14]
lea ecx, [eax + eax*4]
shl ecx, 4
mov dword [ecx + edx + 8], ebp
mov eax, dword [esi + 0x10]
mov ecx, dword [esi + 0x14]
lea eax, [eax + eax*4]
shl eax, 4
mov dword [eax + ecx + 0xc], ebx
mov edx, dword [esi + 0x10]
inc edx
inc edi
cmp edi, 2
mov dword [esi + 0x10], edx
jl 0x45edc1
xor edi, edi
mov eax, dword [esi + 0x14]
cmp edi, ebp
jne 0x45f271
mov edx, dword [eax]
mov dword [esp + 0x14], edx
mov ecx, dword [eax + 4]
mov dword [esp + 0x18], ecx
mov edx, dword [eax + 0x50]
mov dword [esp + 0x28], edx
mov ecx, dword [eax + 0x54]
mov edx, dword [esp + 0x48]
mov dword [esp + 0x2c], ecx
mov ecx, dword [esp + 0x4c]
mov dword [esp + 0x78], edx
mov edx, dword [esp + 0x30]
mov dword [esp + 0x7c], ecx
mov ecx, dword [esp + 0x34]
mov dword [esp + 0x80], edx
mov edx, dword [esp + 0x38]
mov dword [esp + 0x84], ecx
mov ecx, dword [esp + 0x3c]
mov dword [esp + 0x88], edx
mov edx, dword [esp + 0x40]
mov dword [esp + 0x8c], ecx
mov ecx, dword [esp + 0x44]
mov dword [esp + 0x90], edx
mov edx, dword [esp + 0x100]
mov dword [esp + 0x94], ecx
mov ecx, dword [esp + 0x104]
mov dword [esp + 0x50], edx
mov edx, dword [esp + 0xe8]
mov dword [esp + 0x54], ecx
mov ecx, dword [esp + 0xec]
mov dword [esp + 0x58], edx
mov edx, dword [esp + 0xf0]
mov dword [esp + 0x5c], ecx
mov ecx, dword [esp + 0xf4]
mov dword [esp + 0x60], edx
mov edx, dword [esp + 0xf8]
mov dword [esp + 0x64], ecx
mov ecx, dword [esp + 0xfc]
mov dword [esp + 0x68], edx
jmp 0x45f34a
mov edx, dword [eax + 0x50]
mov dword [esp + 0x14], edx
mov ecx, dword [eax + 0x54]
mov dword [esp + 0x18], ecx
mov edx, dword [eax]
mov dword [esp + 0x28], edx
mov ecx, dword [eax + 4]
mov edx, dword [esp + 0xa8]
mov dword [esp + 0x2c], ecx
mov ecx, dword [esp + 0xac]
mov dword [esp + 0x78], edx
mov edx, dword [esp + 0xb0]
mov dword [esp + 0x7c], ecx
mov ecx, dword [esp + 0xb4]
mov dword [esp + 0x80], edx
mov edx, dword [esp + 0xb8]
mov dword [esp + 0x84], ecx
mov ecx, dword [esp + 0xbc]
mov dword [esp + 0x88], edx
mov edx, dword [esp + 0xa0]
mov dword [esp + 0x8c], ecx
mov ecx, dword [esp + 0xa4]
mov dword [esp + 0x90], edx
mov edx, dword [esp + 0xd0]
mov dword [esp + 0x94], ecx
mov ecx, dword [esp + 0xd4]
mov dword [esp + 0x50], edx
mov edx, dword [esp + 0xd8]
mov dword [esp + 0x54], ecx
mov ecx, dword [esp + 0xdc]
mov dword [esp + 0x58], edx
mov edx, dword [esp + 0xe0]
mov dword [esp + 0x5c], ecx
mov ecx, dword [esp + 0xe4]
mov dword [esp + 0x60], edx
mov edx, dword [esp + 0xc8]
mov dword [esp + 0x64], ecx
mov ecx, dword [esp + 0xcc]
mov dword [esp + 0x68], edx
fld dword [esp + 0x2c]
fsub dword [esp + 0x18]
mov dword [esp + 0x6c], ecx
mov ecx, dword [esi + 0x10]
fadd dword [esp + 0x14]
lea edx, [ecx + ecx*4]
shl edx, 4
fstp dword [edx + eax]
fld dword [esp + 0x28]
fsub dword [esp + 0x14]
mov eax, dword [esi + 0x10]
mov ecx, dword [esi + 0x14]
fsubr dword [esp + 0x18]
lea eax, [eax + eax*4]
shl eax, 4
fstp dword [eax + ecx + 4]
mov eax, dword [esi + 0x10]
fld dword [esp + 0x14]
fsub dword [esp + 0x78]
lea edx, [eax + eax*4]
mov eax, dword [esi + 0x14]
shl edx, 4
add eax, edx
fsubr dword [eax]
fstp dword [eax + 0x10]
mov eax, dword [esi + 0x10]
mov edx, dword [esi + 0x14]
fld dword [esp + 0x18]
fsub dword [esp + 0x7c]
lea ecx, [eax + eax*4]
shl ecx, 4
fsubr dword [ecx + edx + 4]
lea eax, [ecx + edx]
fstp dword [eax + 0x14]
mov eax, dword [esi + 0x10]
mov ecx, dword [esi + 0x14]
fld dword [esp + 0x14]
fsub dword [esp + 0x80]
lea eax, [eax + eax*4]
shl eax, 4
add eax, ecx
fsubr dword [eax]
fstp dword [eax + 0x18]
mov eax, dword [esi + 0x10]
fld dword [esp + 0x18]
fsub dword [esp + 0x84]
lea edx, [eax + eax*4]
mov eax, dword [esi + 0x14]
shl edx, 4
add eax, edx
fsubr dword [eax + 4]
fstp dword [eax + 0x1c]
mov eax, dword [esi + 0x10]
mov edx, dword [esi + 0x14]
fld dword [esp + 0x14]
fsub dword [esp + 0x88]
lea ecx, [eax + eax*4]
shl ecx, 4
fsubr dword [ecx + edx]
lea eax, [ecx + edx]
fstp dword [eax + 0x20]
mov eax, dword [esi + 0x10]
mov ecx, dword [esi + 0x14]
fld dword [esp + 0x18]
fsub dword [esp + 0x8c]
lea eax, [eax + eax*4]
shl eax, 4
add eax, ecx
fsubr dword [eax + 4]
fstp dword [eax + 0x24]
mov eax, dword [esi + 0x10]
lea edx, [eax + eax*4]
shl edx, 4
fld dword [esp + 0x14]
mov eax, dword [esi + 0x14]
fsub dword [esp + 0x90]
add eax, edx
fsubr dword [eax]
fstp dword [eax + 0x28]
mov eax, dword [esi + 0x10]
mov edx, dword [esi + 0x14]
fld dword [esp + 0x18]
fsub dword [esp + 0x94]
lea ecx, [eax + eax*4]
shl ecx, 4
fsubr dword [ecx + edx + 4]
lea eax, [ecx + edx]
fstp dword [eax + 0x2c]
mov eax, dword [esi + 0x10]
mov ecx, dword [esi + 0x14]
lea eax, [eax + eax*4]
shl eax, 4
add eax, ecx
lea ecx, [esp + 0x28]
lea edx, [eax + 0x38]
push edx
push eax
add eax, 0x10
push ecx
lea edx, [esp + 0x84]
push eax
push edx
mov ecx, esi
call fcn.0045fa91
mov eax, dword [esi + 0x10]
mov ecx, dword [esi + 0x14]
fld dword [esp + 0x58]
fsub dword [esp + 0x50]
lea eax, [eax + eax*4]
shl eax, 4
add eax, ecx
fsubr dword [eax + 0x38]
fstp dword [eax + 0x30]
mov eax, dword [esi + 0x10]
fld dword [esp + 0x5c]
fsub dword [esp + 0x54]
lea edx, [eax + eax*4]
mov eax, dword [esi + 0x14]
shl edx, 4
add eax, edx
fsubr dword [eax + 0x3c]
fstp dword [eax + 0x34]
mov eax, dword [esi + 0x10]
mov edx, dword [esi + 0x14]
fld dword [esp + 0x58]
fsub dword [esp + 0x60]
lea ecx, [eax + eax*4]
shl ecx, 4
fsubr dword [ecx + edx + 0x38]
lea eax, [ecx + edx]
fstp dword [eax + 0x40]
mov eax, dword [esi + 0x10]
mov ecx, dword [esi + 0x14]
fld dword [esp + 0x5c]
fsub dword [esp + 0x64]
lea eax, [eax + eax*4]
shl eax, 4
add eax, ecx
fsubr dword [eax + 0x3c]
fstp dword [eax + 0x44]
mov eax, dword [esi + 0x10]
fld dword [esp + 0x58]
fsub dword [esp + 0x68]
lea edx, [eax + eax*4]
mov eax, dword [esi + 0x14]
shl edx, 4
add eax, edx
fsubr dword [eax + 0x38]
fstp dword [eax + 0x48]
mov eax, dword [esi + 0x10]
mov edx, dword [esi + 0x14]
fld dword [esp + 0x5c]
fsub dword [esp + 0x6c]
lea ecx, [eax + eax*4]
shl ecx, 4
fsubr dword [ecx + edx + 0x3c]
lea eax, [ecx + edx]
fstp dword [eax + 0x4c]
mov eax, dword [esi + 0x10]
mov ecx, dword [esi + 0x14]
lea eax, [eax + eax*4]
shl eax, 4
mov dword [eax + ecx + 8], ebp
mov eax, dword [esi + 0x10]
lea edx, [eax + eax*4]
mov eax, dword [esi + 0x14]
shl edx, 4
mov dword [edx + eax + 0xc], ebx
mov edx, dword [esi + 0x10]
inc edx
inc edi
cmp edi, 2
mov dword [esi + 0x10], edx
jl 0x45f1a0
xor edi, edi
mov eax, dword [esi + 0x14]
cmp edi, ebp
jne 0x45f5a0
mov ecx, dword [eax]
mov dword [esp + 0x14], ecx
mov edx, dword [eax + 4]
mov dword [esp + 0x18], edx
mov ecx, dword [eax + 0x50]
mov dword [esp + 0x28], ecx
mov edx, dword [eax + 0x54]
jmp 0x45f5b7
mov ecx, dword [eax + 0x50]
mov dword [esp + 0x14], ecx
mov edx, dword [eax + 0x54]
mov dword [esp + 0x18], edx
mov ecx, dword [eax]
mov dword [esp + 0x28], ecx
mov edx, dword [eax + 4]
fld dword [esp + 0x28]
fadd dword [esp + 0x14]
mov dword [esp + 0x2c], edx
mov ecx, dword [esi + 0x10]
fmul dword [0x10019118]
fld dword [esp + 0x2c]
fsub dword [esp + 0x18]
lea ecx, [ecx + ecx*4]
fmul dword [0x10019118]
shl ecx, 4
fsubp st(1)
fstp dword [ecx + eax]
fld dword [esp + 0x18]
fadd dword [esp + 0x2c]
mov eax, dword [esi + 0x10]
lea ecx, [esp + 0x14]
push ecx
fmul dword [0x10019118]
fld dword [esp + 0x2c]
fsub dword [esp + 0x18]
lea edx, [eax + eax*4]
mov eax, dword [esi + 0x14]
fmul dword [0x10019118]
shl edx, 4
faddp st(1)
fstp dword [edx + eax + 4]
mov eax, dword [esi + 0x10]
mov ecx, dword [esi + 0x14]
lea edx, [eax + eax*4]
shl edx, 4
add edx, ecx
mov ecx, esi
push edx
call fcn.0045f9b1
fstp dword [esp + 0x24]
fld dword [esp + 0x24]
fadd qword [0x10019128]
mov edx, dword [esp + 0x14]
lea eax, [esp + 0x1c]
push eax
push ecx
mov ecx, dword [esp + 0x20]
fstp dword [esp]
push ecx
push edx
mov ecx, esi
call fcn.00461461
test eax, eax
je 0x45ec79
mov eax, dword [esp + 0x20]
mov ecx, dword [esp + 0x1c]
push eax
lea edx, [esp + 0x10c]
push ecx
push edx
mov ecx, esi
call fcn.0045fbf1
mov ecx, dword [eax]
mov dword [esp + 0x48], ecx
mov ecx, dword [esp + 0x24]
mov edx, dword [eax + 4]
lea eax, [esp + 0x1c]
mov dword [esp + 0x4c], edx
mov edx, dword [esp + 0x18]
push eax
mov eax, dword [esp + 0x18]
push ecx
push edx
push eax
mov ecx, esi
call fcn.00461461
test eax, eax
je 0x45ec79
mov ecx, dword [esp + 0x20]
mov edx, dword [esp + 0x1c]
push ecx
lea eax, [esp + 0x74]
push edx
push eax
mov ecx, esi
call fcn.0045fbf1
mov ecx, dword [eax]
fld dword [esp + 0x24]
fadd qword [0x10019120]
mov dword [esp + 0x38], ecx
mov edx, dword [eax + 4]
lea eax, [esp + 0x1c]
mov dword [esp + 0x3c], edx
mov edx, dword [esp + 0x14]
push eax
push ecx
mov ecx, dword [esp + 0x20]
fstp dword [esp]
push ecx
push edx
mov ecx, esi
call fcn.00461461
test eax, eax
je 0x45ec79
mov eax, dword [esp + 0x20]
mov ecx, dword [esp + 0x1c]
push eax
lea edx, [esp + 0x9c]
push ecx
push edx
mov ecx, esi
call fcn.0045fbf1
mov ecx, dword [eax]
fld dword [esp + 0x24]
fsub qword [0x10019120]
mov dword [esp + 0x30], ecx
mov edx, dword [eax + 4]
lea eax, [esp + 0x1c]
mov dword [esp + 0x34], edx
mov edx, dword [esp + 0x14]
push eax
push ecx
mov ecx, dword [esp + 0x20]
fstp dword [esp]
push ecx
push edx
mov ecx, esi
call fcn.00461461
test eax, eax
je 0x45ec79
mov eax, dword [esp + 0x20]
mov ecx, dword [esp + 0x1c]
push eax
lea edx, [esp + 0xc4]
push ecx
push edx
mov ecx, esi
call fcn.0045fbf1
mov ecx, dword [eax]
fld dword [esp + 0x14]
fsub dword [esp + 0x30]
mov dword [esp + 0x40], ecx
mov edx, dword [eax + 4]
mov eax, dword [esi + 0x10]
mov ecx, dword [esi + 0x14]
mov dword [esp + 0x44], edx
lea eax, [eax + eax*4]
shl eax, 4
add eax, ecx
fsubr dword [eax]
fstp dword [eax + 0x10]
mov eax, dword [esi + 0x10]
fld dword [esp + 0x18]
fsub dword [esp + 0x34]
lea edx, [eax + eax*4]
mov eax, dword [esi + 0x14]
shl edx, 4
add eax, edx
fsubr dword [eax + 4]
fstp dword [eax + 0x14]
mov eax, dword [esi + 0x10]
mov edx, dword [esi + 0x14]
fld dword [esp + 0x14]
fsub dword [esp + 0x38]
lea ecx, [eax + eax*4]
shl ecx, 4
fsubr dword [ecx + edx]
lea eax, [ecx + edx]
fstp dword [eax + 0x18]
mov eax, dword [esi + 0x10]
mov ecx, dword [esi + 0x14]
fld dword [esp + 0x18]
fsub dword [esp + 0x3c]
lea eax, [eax + eax*4]
shl eax, 4
add eax, ecx
fsubr dword [eax + 4]
fstp dword [eax + 0x1c]
mov eax, dword [esi + 0x10]
fld dword [esp + 0x14]
fsub dword [esp + 0x40]
lea edx, [eax + eax*4]
mov eax, dword [esi + 0x14]
shl edx, 4
add eax, edx
fsubr dword [eax]
fstp dword [eax + 0x20]
mov eax, dword [esi + 0x10]
mov edx, dword [esi + 0x14]
fld dword [esp + 0x18]
fsub dword [esp + 0x44]
lea ecx, [eax + eax*4]
shl ecx, 4
fsubr dword [ecx + edx + 4]
lea eax, [ecx + edx]
fstp dword [eax + 0x24]
mov eax, dword [esi + 0x10]
mov ecx, dword [esi + 0x14]
fld dword [esp + 0x14]
fsub dword [esp + 0x48]
lea eax, [eax + eax*4]
shl eax, 4
add eax, ecx
fsubr dword [eax]
fstp dword [eax + 0x28]
mov eax, dword [esi + 0x10]
fld dword [esp + 0x18]
fsub dword [esp + 0x4c]
lea edx, [eax + eax*4]
mov eax, dword [esi + 0x14]
shl edx, 4
add eax, edx
fsubr dword [eax + 4]
fstp dword [eax + 0x2c]
mov eax, dword [esi + 0x10]
mov edx, dword [esi + 0x14]
fld dword [esp + 0x14]
fsub dword [esp + 0x50]
lea ecx, [eax + eax*4]
shl ecx, 4
fsubr dword [ecx + edx]
lea eax, [ecx + edx]
fstp dword [eax + 0x30]
mov eax, dword [esi + 0x10]
mov ecx, dword [esi + 0x14]
fld dword [esp + 0x18]
fsub dword [esp + 0x54]
lea eax, [eax + eax*4]
shl eax, 4
add eax, ecx
fsubr dword [eax + 4]
fstp dword [eax + 0x34]
mov eax, dword [esi + 0x10]
fld dword [esp + 0x14]
fsub dword [esp + 0x58]
lea edx, [eax + eax*4]
mov eax, dword [esi + 0x14]
shl edx, 4
add eax, edx
fsubr dword [eax]
fstp dword [eax + 0x38]
mov eax, dword [esi + 0x10]
mov edx, dword [esi + 0x14]
fld dword [esp + 0x18]
fsub dword [esp + 0x5c]
lea ecx, [eax + eax*4]
shl ecx, 4
fsubr dword [ecx + edx + 4]
lea eax, [ecx + edx]
fstp dword [eax + 0x3c]
mov eax, dword [esi + 0x10]
mov ecx, dword [esi + 0x14]
fld dword [esp + 0x14]
fsub dword [esp + 0x60]
lea eax, [eax + eax*4]
shl eax, 4
add eax, ecx
fsubr dword [eax]
fstp dword [eax + 0x40]
mov eax, dword [esi + 0x10]
fld dword [esp + 0x18]
fsub dword [esp + 0x64]
lea edx, [eax + eax*4]
mov eax, dword [esi + 0x14]
shl edx, 4
add eax, edx
fsubr dword [eax + 4]
fstp dword [eax + 0x44]
mov eax, dword [esi + 0x10]
mov edx, dword [esi + 0x14]
fld dword [esp + 0x14]
fsub dword [esp + 0x68]
lea ecx, [eax + eax*4]
shl ecx, 4
fsubr dword [ecx + edx]
lea eax, [ecx + edx]
fstp dword [eax + 0x48]
mov eax, dword [esi + 0x10]
mov ecx, dword [esi + 0x14]
fld dword [esp + 0x18]
fsub dword [esp + 0x6c]
lea eax, [eax + eax*4]
shl eax, 4
add eax, ecx
fsubr dword [eax + 4]
fstp dword [eax + 0x4c]
mov eax, dword [esi + 0x10]
lea edx, [eax + eax*4]
mov eax, dword [esi + 0x14]
shl edx, 4
mov dword [edx + eax + 8], ebp
mov eax, dword [esi + 0x10]
mov edx, dword [esi + 0x14]
lea ecx, [eax + eax*4]
shl ecx, 4
mov dword [ecx + edx + 0xc], ebx
mov edx, dword [esi + 0x10]
inc edx
inc edi
cmp edi, 2
mov dword [esi + 0x10], edx
jl 0x45f580
pop edi
mov eax, ebx
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret