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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x94
push ebx
mov ebx, dword [ebp + 8]
push esi
push edi
lea eax, [esp + 0x14]
push eax
push 0
push 1
xor eax, eax
mov edi, ebx
call fcn.004731e0
add esp, 0xc
mov dword [esp + 0x20], 0
test eax, eax
je 0x4749d7
mov edx, dword [ebp + 0x14]
mov ecx, dword [esp + 0x14]
mov dword [edx], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [esp + 0x18]
mov ecx, dword [ebx + 0x1c]
sub ecx, dword [ebp + 0x10]
cmp dword [esp + 0x20], ecx
jge 0x4749c3
mov esi, dword [esp + 0x14]
mov eax, dword [esi + 0x18]
movzx ecx, byte [eax + 2]
movzx edx, byte [eax + 3]
add eax, 2
shl ecx, 8
add ecx, edx
mov dword [esp + 0x38], ecx
mov dword [esp + 0x18], 0
test ecx, ecx
jle 0x474b72
mov ebx, dword [ebx + 0x14]
add ebx, ebx
mov dword [esp + 0x2c], ebx
mov eax, dword [esp + 0x18]
mov edi, dword [ebp + 8]
push eax
push esi
lea ebx, [esp + 0x78]
call fcn.00473640
fld1
mov esi, ebx
fstp dword [esp + 0x18]
mov ebx, dword [esp + 0x34]
mov ecx, 0xc
lea edi, [esp + 0x48]
add esp, 8
xor eax, eax
rep movsd dword es:[edi], dword [esi]
mov edi, dword [ebp + 8]
test ebx, ebx
jle 0x474a7e
mov ecx, dword [edi + 0x14]
mov edx, dword [edi + 0x258]
add ecx, ecx
test edx, edx
jne 0x474a65
fld dword [esp + eax*4 + 0x4c]
fld dword [esp + eax*4 + 0x48]
jmp 0x474a6d
fild dword [esp + eax*4 + 0x4c]
fild dword [esp + eax*4 + 0x48]
fsubp st(1)
add eax, 2
cmp eax, ecx
fmul dword [esp + 0x10]
fstp dword [esp + 0x10]
jl 0x474a57
mov edx, dword [ebp + 0xc]
push edi
lea esi, [esp + 0x44]
call fcn.00474740
fld1
add esp, 4
fst dword [esp + 0x1c]
xor eax, eax
test ebx, ebx
jle 0x474acc
mov ecx, dword [edi + 0x14]
mov edx, dword [edi + 0x258]
add ecx, ecx
test edx, edx
jne 0x474ab3
fld dword [esp + eax*4 + 0x4c]
fld dword [esp + eax*4 + 0x48]
jmp 0x474abb
fild dword [esp + eax*4 + 0x4c]
fild dword [esp + eax*4 + 0x48]
fsubp st(1)
add eax, 2
cmp eax, ecx
fmul dword [esp + 0x1c]
fstp dword [esp + 0x1c]
jl 0x474aa5
fld dword [esp + 0x1c]
xor eax, eax
fsub dword [esp + 0x10]
fstp dword [esp + 0x1c]
fstp dword [esp + 0x10]
test ebx, ebx
jle 0x474b17
mov ecx, dword [edi + 0x14]
mov edx, dword [edi + 0x258]
add ecx, ecx
lea ecx, [ecx]
test edx, edx
jne 0x474afe
fld dword [esp + eax*4 + 0x7c]
fld dword [esp + eax*4 + 0x78]
jmp 0x474b06
fild dword [esp + eax*4 + 0x7c]
fild dword [esp + eax*4 + 0x78]
fsubp st(1)
add eax, 2
cmp eax, ecx
fmul dword [esp + 0x10]
fstp dword [esp + 0x10]
jl 0x474af0
mov ecx, dword [esp + 0x18]
fld dword [esp + 0x1c]
fld dword [esp + 0x10]
test ecx, ecx
je 0x474c39
fld dword [esp + 0x24]
fcom st(2)
fnstsw ax
test ah, 0x41
je 0x474c37
fld st(2)
fucompp
fnstsw ax
test ah, 0x44
jp 0x474b58
fld dword [esp + 0x3c]
fcomp st(1)
fnstsw ax
test ah, 0x41
je 0x474c39
fstp st(1)
fstp st(0)
mov esi, dword [esp + 0x14]
inc ecx
cmp ecx, dword [esp + 0x38]
mov dword [esp + 0x18], ecx
jl 0x474a17
mov ebx, dword [ebp + 8]
push 0
call fcn.00418600
mov edx, dword [esp + 0x38]
mov eax, dword [esp + 0x34]
add esp, 4
lea ecx, [esp + 0x28]
push ecx
push edx
push eax
mov eax, esi
mov edi, ebx
call fcn.004731e0
mov dword [esp + 0x24], eax
or eax, 0xffffffff
add esp, 0xc
add dword [esi + 0x10], eax
jne 0x474c0e
cmp dword [esi + 8], 1
jne 0x474bb2
cmp dword [esi + 0xc], 0
jne 0x474bb2
mov dword [ebx + 0x1c], eax
mov eax, dword [esi]
test eax, eax
je 0x474bc6
push eax
push ebx
call fcn.004735d0
add esp, 8
test eax, eax
jne 0x474bd0
mov edi, esi
call fcn.00473510
mov ebx, dword [ebp + 8]
mov eax, dword [esi + 8]
mov ecx, dword [esi + 0xc]
mov edx, eax
or edx, ecx
je 0x474c05
push ecx
push eax
call fcn.00473090
lea ecx, [ebx + eax*4 + 0x28]
mov eax, dword [ecx]
add esp, 8
cmp eax, esi
je 0x474bf9
lea ecx, [eax + 0x1c]
mov eax, dword [ecx]
cmp eax, esi
jne 0x474bf0
mov eax, dword [esi + 0x1c]
mov dword [ecx], eax
mov dword [esi + 0x1c], 0
push esi
call fcn.00418600
add esp, 4
mov ecx, dword [esp + 0x28]
inc dword [esp + 0x20]
cmp dword [esp + 0x18], 0
mov dword [esp + 0x14], ecx
je 0x4749d3
mov eax, dword [ebp + 0x14]
pop edi
mov edx, ecx
pop esi
mov dword [eax], edx
mov eax, dword [esp + 0x10]
pop ebx
mov esp, ebp
pop ebp
ret
fstp st(0)
mov edx, dword [esp + 0x70]
fxch st(1)
mov eax, dword [esp + 0x74]
fstp dword [esp + 0x24]
mov dword [esp + 0x30], edx
fstp dword [esp + 0x3c]
mov dword [esp + 0x34], eax
jmp 0x474b5c