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

Disassembly:
push ebp
push edi
push esi
push ebx
sub esp, 0x12c
mov ebx, dword [esp + 0x140]
mov eax, dword [ebx + 0x224c]
lea edi, [eax - 1]
imul ebp, edi, 0x110
lea eax, [ebx + ebp + 0x4c]
lea ebp, [ebx + ebp + 0x10c]
call fcn.004172b0
mov eax, dword [esp + 0x150]
fld dword [ebx + 0x2260]
fld dword [ebp]
fld dword [ebp + 0xc]
fld dword [ebp + 8]
fld dword [ebp + 4]
test eax, eax
je 0x429598
imul eax, edi, 0x110
add eax, ebx
mov edi, dword [eax + 0x158]
cmp edi, 0xffffffff
je 0x4293a0
fxch st(5)
fmulp st(4)
fxch st(3)
mov edx, dword [ebx + 0x2264]
mov ecx, dword [edx + 0x523c]
fstp dword [esp + 0x20]
fld dword [esp + 0x20]
lea ecx, [ecx + ecx*2 - 3]
lea esi, [edx + ecx*8]
fstp xword [esp + 0xb0]
fld xword [esp + 0xb0]
fld st(0)
fmul dword [eax + 0x144]
fstp dword [edx + ecx*8 + 0x5064]
fld st(0)
fmul dword [eax + 0x148]
fstp dword [edx + ecx*8 + 0x5070]
fmul dword [eax + 0x150]
mov eax, dword [eax + 0x154]
fstp dword [edx + ecx*8 + 0x506c]
mov ecx, 2
mov dword [esi + 0x5060], eax
mov eax, dword [esp + 0x150]
sub eax, dword [esp + 0x14c]
mov dword [esi + 0x505c], edi
cmp eax, ecx
cmovl eax, ecx
lea eax, [eax + eax*2]
add eax, eax
mov dword [esp + 0xac], eax
mov esi, eax
mov eax, dword [ebx + 0x2250]
mov edi, dword [eax + 0x18]
cmp esi, dword [eax + 0x20]
jg 0x4293d0
test edi, edi
je 0x4293b0
fld xword [esp + 0xb0]
mov eax, dword [esp + 0x150]
mov dword [esp], edx
xor esi, esi
mov dword [esp + 0x18], 2
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x14c]
fld st(0)
fdivr dword [0x5a6fec]
mov dword [esp + 0x10], eax
lea eax, [esp + 0xe4]
mov dword [esp + 4], eax
fstp dword [esp + 0x3c]
fxch st(2)
fmulp st(1)
fxch st(2)
fmulp st(3)
fxch st(1)
fsubrp st(2)
fxch st(1)
fstp dword [esp + 0x9c]
fld st(0)
fmul dword [esp + 0x148]
fstp dword [esp + 0xc]
fmul dword [esp + 0x144]
fstp dword [esp + 8]
call fcn.00424280
mov eax, dword [esp + 0xfc]
fld dword [esp + 0xe4]
mov dword [esp + 0xbc], eax
movzx eax, word [esp + 0x100]
fstp dword [esp + 0x7c]
fld dword [esp + 0xe8]
mov word [esp + 0x5c], ax
movzx eax, word [esp + 0x102]
mov word [esp + 0x5e], ax
mov eax, dword [esp + 0x104]
fstp dword [esp + 0x58]
fld dword [esp + 0xec]
mov dword [esp + 0x74], eax
mov eax, dword [esp + 0x108]
mov dword [esp + 0x48], eax
mov eax, dword [esp + 0x10c]
fstp dword [esp + 0x78]
fld dword [esp + 0xf0]
mov dword [esp + 0x60], eax
mov eax, dword [esp + 0x110]
mov dword [esp + 0x64], eax
mov eax, dword [esp + 0x114]
fstp dword [esp + 0x4c]
fld dword [esp + 0xf4]
mov dword [esp + 0x68], eax
mov eax, dword [esp + 0x118]
mov dword [esp + 0x6c], eax
mov eax, dword [esp + 0x11c]
fstp dword [esp + 0x50]
fld dword [esp + 0xf8]
mov dword [esp + 0x70], eax
fstp dword [esp + 0x54]
jmp 0x429062
fstp st(0)
lea eax, [esp + 0xc4]
mov dword [esp + 8], eax
lea eax, [esp + 0xe4]
mov dword [esp + 4], eax
mov eax, dword [ebx + 0x2264]
mov dword [esp], eax
call fcn.00423440
test eax, eax
je 0x429562
mov edx, dword [esp + 0x108]
cmp edx, 0xffffffff
je 0x429438
mov dword [esp + 0x48], edx
lea eax, [esi + 5]
fld dword [esp + 0xe4]
mov edx, dword [esp + 0xfc]
movzx ecx, word [esp + 0x102]
mov dword [esp + 0xbc], edx
movzx edx, word [esp + 0x100]
fstp dword [esp + 0x7c]
fld dword [esp + 0xe8]
mov word [esp + 0x5c], dx
mov edx, dword [esp + 0x104]
mov word [esp + 0x5e], cx
mov ecx, dword [esp + 0x10c]
fstp dword [esp + 0x58]
fld dword [esp + 0xec]
mov dword [esp + 0x74], edx
mov edx, dword [esp + 0x110]
mov dword [esp + 0x60], ecx
mov ecx, dword [esp + 0x114]
fstp dword [esp + 0x78]
fld dword [esp + 0xf0]
mov dword [esp + 0x64], edx
mov edx, dword [esp + 0x118]
mov dword [esp + 0x68], ecx
mov ecx, dword [esp + 0x11c]
fstp dword [esp + 0x4c]
fld dword [esp + 0xf4]
mov dword [esp + 0x6c], edx
mov dword [esp + 0x70], ecx
fstp dword [esp + 0x50]
fld dword [esp + 0xf8]
fstp dword [esp + 0x54]
fld dword [esp + 0xd8]
fst dword [esp + 0x2c]
fld dword [esp + 0xc8]
fld dword [esp + 0x9c]
fldz
fcompi st(1)
fstp st(0)
jbe 0x4291b0
fxch st(1)
fst dword [esp + 0xc8]
fxch st(1)
fst dword [esp + 0xd8]
fld dword [esp + 0xd0]
fld dword [esp + 0xe0]
fstp dword [esp + 0xd0]
fstp dword [esp + 0xe0]
fstp dword [esp + 0x2c]
jmp 0x4291b2
fstp st(1)
cmp dword [esp + 0xac], eax
jle 0x429060
fld dword [esp + 0x3c]
mov edx, esi
shl eax, 4
add esi, 6
shl edx, 4
add eax, edi
lea ecx, [edi + edx]
fld st(0)
fmul dword [esp + 0xc4]
fstp dword [esp + 0x20]
fld dword [esp + 0x20]
fld dword [ebp]
fld st(0)
fmul st(2)
fxch st(4)
fmulp st(3)
fxch st(2)
fstp dword [esp + 0x20]
fld dword [esp + 0x20]
fld dword [ebp + 8]
fld st(0)
fmul st(2)
fld dword [ebp + 0x10]
fxch st(6)
fld st(0)
fstp xword [esp + 0x80]
fxch st(1)
fld st(0)
fstp xword [esp + 0x90]
faddp st(1)
fxch st(5)
fld st(0)
fstp xword [esp + 0x30]
faddp st(5)
fxch st(4)
fstp dword [esp + 0x40]
fld dword [ebp + 4]
fmul st(2), st(0)
fld dword [ebp + 0xc]
fmul st(2), st(0)
fld st(2)
fld dword [ebp + 0x14]
fstp xword [esp + 0x20]
fxch st(4)
fld st(0)
fstp xword [esp + 0xa0]
faddp st(3)
fld xword [esp + 0x20]
faddp st(3)
fxch st(2)
fstp dword [esp + 0x44]
fld dword [esp + 0x3c]
fld st(0)
fmul dword [esp + 0xd4]
fstp dword [esp + 0x8c]
fld dword [esp + 0x8c]
fmul st(5), st(0)
fmulp st(2)
fmul dword [esp + 0x2c]
fstp dword [esp + 0x2c]
fld dword [esp + 0x2c]
fmul st(5), st(0)
fld st(5)
fadd st(5)
fld xword [esp + 0x30]
faddp st(1)
fstp dword [esp + 0x2c]
fmulp st(2)
fld st(1)
fadd st(1)
fld xword [esp + 0x20]
faddp st(1)
fstp dword [esp + 0x8c]
fld dword [esp + 0x8c]
fld dword [esp + 0xd0]
fld dword [esp + 0x40]
fstp dword [ecx]
fld dword [esp + 0x44]
fstp dword [ecx + 4]
fld dword [esp + 0xcc]
fstp dword [ecx + 8]
fst dword [ecx + 0xc]
fld dword [esp + 0x2c]
lea ecx, [edi + edx + 0x10]
fstp dword [ecx]
fxch st(1)
fstp dword [ecx + 4]
fld dword [esp + 0xdc]
fstp dword [ecx + 8]
fld dword [esp + 0xe0]
fstp dword [ecx + 0xc]
fld xword [esp + 0x90]
lea ecx, [edi + edx + 0x20]
faddp st(5)
fld xword [esp + 0x30]
fadd st(5), st(0)
fxch st(5)
fstp dword [edi + edx + 0x20]
fxch st(1)
faddp st(3)
fld xword [esp + 0x20]
fadd st(3), st(0)
fxch st(3)
fstp dword [edi + edx + 0x24]
fld dword [esp + 0xdc]
fstp dword [ecx + 8]
fst dword [ecx + 0xc]
fld dword [esp + 0x40]
lea ecx, [edi + edx + 0x30]
fstp dword [ecx]
fld dword [esp + 0x44]
fstp dword [ecx + 4]
fld dword [esp + 0xcc]
fstp dword [ecx + 8]
fstp dword [ecx + 0xc]
fld xword [esp + 0x80]
lea ecx, [edi + edx + 0x40]
faddp st(4)
fxch st(3)
faddp st(2)
fxch st(1)
fstp dword [edi + edx + 0x40]
fld xword [esp + 0xa0]
faddp st(2)
faddp st(1)
fstp dword [edi + edx + 0x44]
fld dword [esp + 0xcc]
fstp dword [ecx + 8]
fld dword [esp + 0xe0]
fst dword [ecx + 0xc]
fld dword [esp + 0x2c]
fstp dword [eax]
fld dword [esp + 0x8c]
fstp dword [eax + 4]
fld dword [esp + 0xdc]
fstp dword [eax + 8]
fstp dword [eax + 0xc]
jmp 0x429062
fstp st(0)
fstp st(0)
fstp st(0)
fstp st(0)
fstp st(0)
fstp st(0)
jmp 0x4293b8
fstp st(0)
fstp st(0)
fstp st(0)
fstp st(0)
fld dword [esp + 0x144]
add esp, 0x12c
pop ebx
pop esi
pop edi
pop ebp
ret
fxch st(3)
mov eax, esi
mov dword [esp], edi
add eax, 0xff
fstp dword [esp + 0x30]
fxch st(1)
xor al, al
fstp dword [esp + 0x3c]
mov esi, eax
shl eax, 4
fstp dword [esp + 0x2c]
mov dword [esp + 4], eax
fstp dword [esp + 0x20]
call sub.msvcrt.dll_realloc
mov edi, eax
test eax, eax
je 0x4293b8
mov eax, dword [ebx + 0x2250]
fld dword [esp + 0x20]
mov edx, dword [ebx + 0x2264]
fld dword [esp + 0x2c]
mov dword [eax + 0x18], edi
fld dword [esp + 0x3c]
mov dword [eax + 0x20], esi
fld dword [esp + 0x30]
fxch st(3)
fxch st(1)
fxch st(2)
fxch st(1)
jmp 0x428f34
test esi, esi
jne 0x429550
mov eax, ebx
call fcn.00424e10
test eax, eax
je 0x429560
mov eax, dword [esp + 0xbc]
fld dword [esp + 0x7c]
mov dword [esp + 0xfc], eax
movzx eax, word [esp + 0x5c]
fstp dword [esp + 0xe4]
fld dword [esp + 0x58]
mov word [esp + 0x100], ax
movzx eax, word [esp + 0x5e]
mov word [esp + 0x102], ax
mov eax, dword [esp + 0x74]
fstp dword [esp + 0xe8]
fld dword [esp + 0x78]
mov dword [esp + 0x104], eax
mov eax, dword [esp + 0x48]
mov dword [esp + 0x108], eax
mov eax, dword [esp + 0x60]
fstp dword [esp + 0xec]
fld dword [esp + 0x4c]
mov dword [esp + 0x10c], eax
mov eax, dword [esp + 0x64]
mov dword [esp + 0x110], eax
mov eax, dword [esp + 0x68]
fstp dword [esp + 0xf0]
fld dword [esp + 0x50]
mov dword [esp + 0x114], eax
mov eax, dword [esp + 0x6c]
fstp dword [esp + 0xf4]
fld dword [esp + 0x54]
mov dword [esp + 0x118], eax
mov eax, dword [esp + 0x70]
mov dword [esp + 0x11c], eax
lea eax, [esp + 0xc4]
fstp dword [esp + 0xf8]
mov dword [esp + 8], eax
lea eax, [esp + 0xe4]
mov dword [esp + 4], eax
mov eax, dword [ebx + 0x2264]
mov dword [esp], eax
call fcn.00423440
mov eax, dword [esp + 0x108]
mov dword [esp + 0x48], eax
cmp eax, 0xffffffff
je 0x429560
mov eax, 5
xor esi, esi
jmp 0x4290a5
mov ecx, esi
mov edx, edi
mov eax, ebx
call fcn.00415470
jmp 0x429440
xor esi, esi
mov eax, ebx
call fcn.00417700
mov ecx, esi
mov edx, edi
mov eax, ebx
call fcn.00415470
fld xword [esp + 0xb0]
fdivr dword [esp + 0xec]
fstp dword [esp + 0x20]
fld dword [esp + 0x20]
add esp, 0x12c
pop ebx
pop esi
pop edi
pop ebp
ret
fstp dword [esp + 0x44]
mov eax, dword [esp + 0x14c]
fstp dword [esp + 0x40]
fxch st(1)
fstp dword [esp + 0x30]
mov dword [esp], eax
fstp dword [esp + 0x3c]
fstp dword [esp + 0x2c]
fstp dword [esp + 0x20]
call sub.msvcrt.dll_strlen
add eax, dword [esp + 0x14c]
fld dword [esp + 0x44]
mov dword [esp + 0x150], eax
fld dword [esp + 0x40]
fld dword [esp + 0x30]
fld dword [esp + 0x3c]
fld dword [esp + 0x2c]
fld dword [esp + 0x20]
fxch st(5)
fxch st(1)
fxch st(4)
fxch st(1)
jmp 0x428e71