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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x24
push ebx
push esi
mov esi, dword [ebp + 8]
mov eax, dword [esi + 0x68]
test al, 1
push edi
jne 0x447fcc
push 0x476478
push esi
call fcn.00446670
add esp, 8
mov edi, dword [ebp + 0x10]
cmp edi, 0x20
je 0x448032
push 0x47645c
push esi
call fcn.00446710
push edi
push esi
call fcn.00447850
add esp, 0x10
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
test al, 4
je 0x447fef
push 0x476444
push esi
call fcn.00446710
mov eax, dword [ebp + 0x10]
push eax
push esi
call fcn.00447850
add esp, 0x10
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
test al, 2
je 0x448000
push 0x476428
push esi
call fcn.00446710
jmp 0x447fa1
mov eax, dword [ebp + 0xc]
test eax, eax
je 0x447fa4
mov eax, dword [eax + 8]
test al, 4
je 0x447fa4
test ah, 8
jne 0x447fa4
push 0x476410
push esi
call fcn.00446710
mov ecx, dword [ebp + 0x10]
push ecx
push esi
call fcn.00447850
add esp, 0x10
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
push 4
lea edx, [esp + 0x10]
push edx
push esi
call fcn.00440770
push 4
lea eax, [esp + 0x1c]
push eax
push esi
call fcn.00440240
mov eax, dword [esp + 0x24]
movzx edi, al
movzx ecx, ah
mov ax, word [esp + 0x26]
shl edi, 8
add edi, ecx
movzx edx, al
shl edi, 8
add edi, edx
push 4
lea ecx, [esp + 0x28]
movzx eax, ah
push ecx
shl edi, 8
push esi
add edi, eax
call fcn.00440770
push 4
lea edx, [esp + 0x34]
push edx
push esi
call fcn.00440240
mov ecx, dword [esp + 0x3c]
movzx eax, cl
shl eax, 8
movzx ecx, ch
add eax, ecx
mov cx, word [esp + 0x3e]
shl eax, 8
movzx edx, cl
add eax, edx
movzx ecx, ch
shl eax, 8
add esp, 0x30
add eax, ecx
cmp edi, 0x13880
ja 0x448401
cmp eax, 0x13880
ja 0x448401
lea edx, [eax + edi]
cmp edx, 0x186a0
ja 0x448401
mov dword [esp + 0x20], eax
push 4
lea eax, [esp + 0x10]
push eax
push esi
mov dword [esp + 0x30], edi
call fcn.004467f0
lea ecx, [esp + 0x18]
push ecx
call fcn.004467c0
push 4
lea edx, [esp + 0x20]
push edx
push esi
mov edi, eax
call fcn.004467f0
lea eax, [esp + 0x28]
push eax
call fcn.004467c0
add esp, 0x20
cmp edi, 0x13880
ja 0x4483e4
cmp eax, 0x13880
ja 0x4483e4
lea ecx, [eax + edi]
cmp ecx, 0x186a0
ja 0x4483e4
push 4
lea edx, [esp + 0x10]
push edx
push esi
mov dword [esp + 0x28], edi
mov dword [esp + 0x24], eax
call fcn.004467f0
lea eax, [esp + 0x18]
push eax
call fcn.004467c0
push 4
lea ecx, [esp + 0x20]
push ecx
push esi
mov edi, eax
call fcn.004467f0
lea edx, [esp + 0x28]
push edx
call fcn.004467c0
add esp, 0x20
cmp edi, 0x13880
ja 0x4483c7
cmp eax, 0x13880
ja 0x4483c7
lea ecx, [eax + edi]
cmp ecx, 0x186a0
ja 0x4483c7
push 4
lea edx, [esp + 0x10]
push edx
push esi
mov dword [esp + 0x20], edi
mov dword [esp + 0x1c], eax
call fcn.004467f0
lea eax, [esp + 0x18]
push eax
call fcn.004467c0
push 4
lea ecx, [esp + 0x20]
push ecx
mov edi, eax
push esi
mov dword [esp + 0x44], edi
call fcn.004467f0
lea edx, [esp + 0x28]
push edx
call fcn.004467c0
add esp, 0x20
cmp edi, 0x13880
mov ebx, eax
mov dword [esp + 0x2c], ebx
ja 0x4483aa
cmp ebx, 0x13880
ja 0x4483aa
lea eax, [ebx + edi]
cmp eax, 0x186a0
ja 0x4483aa
fild dword [esp + 0x24]
mov eax, dword [ebp + 0xc]
mov ecx, dword [eax + 8]
test ch, 8
fmul dword [0x476210]
fild dword [esp + 0x20]
fmul dword [0x476210]
fild dword [esp + 0x1c]
fmul dword [0x476210]
fild dword [esp + 0x18]
fmul dword [0x476210]
fild dword [esp + 0x14]
fmul dword [0x476210]
fild dword [esp + 0x10]
fmul dword [0x476210]
fild dword [esp + 0x28]
fmul dword [0x476210]
fild dword [esp + 0x2c]
fmul dword [0x476210]
fstp dword [esp + 0x2c]
je 0x44833b
mov eax, dword [esp + 0x24]
fstp st(0)
fstp st(0)
add eax, 0xffff85da
fstp st(0)
cdq
fstp st(0)
xor eax, edx
fstp st(0)
sub eax, edx
cmp eax, 0x3e8
fstp st(0)
fstp st(0)
jg 0x44831b
mov eax, dword [esp + 0x20]
add eax, 0xffff7f7c
cdq
xor eax, edx
sub eax, edx
cmp eax, 0x3e8
jg 0x44831b
mov eax, dword [esp + 0x1c]
add eax, 0xffff0600
cdq
xor eax, edx
sub eax, edx
cmp eax, 0x3e8
jg 0x44831b
mov eax, dword [esp + 0x18]
add eax, 0xffff7f18
cdq
xor eax, edx
sub eax, edx
cmp eax, 0x3e8
jg 0x44831b
mov eax, dword [esp + 0x14]
add eax, 0xffff8ad0
cdq
xor eax, edx
sub eax, edx
cmp eax, 0x3e8
jg 0x44831b
mov eax, dword [esp + 0x10]
add eax, 0xffff15a0
cdq
xor eax, edx
sub eax, edx
cmp eax, 0x3e8
jg 0x44831b
lea eax, [edi - 0x3a98]
cdq
xor eax, edx
sub eax, edx
cmp eax, 0x3e8
jg 0x44831b
lea eax, [ebx - 0x1770]
cdq
xor eax, edx
sub eax, edx
cmp eax, 0x3e8
jle 0x448329
push 0x4763d8
push esi
call fcn.00446710
add esp, 8
push 0
push esi
call fcn.00447850
add esp, 8
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
fld dword [esp + 0x2c]
sub esp, 0x40
fstp qword [esp + 0x38]
fstp qword [esp + 0x30]
fstp qword [esp + 0x28]
fstp qword [esp + 0x20]
fstp qword [esp + 0x18]
fstp qword [esp + 0x10]
fstp qword [esp + 8]
fstp qword [esp]
push eax
push esi
call fcn.00444bc0
mov ecx, dword [esp + 0x58]
mov edx, dword [esp + 0x5c]
mov eax, dword [esp + 0x60]
push ebx
push edi
push ecx
mov ecx, dword [esp + 0x70]
push edx
mov edx, dword [esp + 0x78]
push eax
mov eax, dword [esp + 0x80]
push ecx
mov ecx, dword [ebp + 0xc]
push edx
push eax
push ecx
push esi
call fcn.00444e80
add esp, 0x70
push 0
push esi
call fcn.00447850
add esp, 8
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
push 0x4763c0
push esi
call fcn.00446710
push 0
push esi
call fcn.00447850
add esp, 0x10
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
push 0x4763a4
push esi
call fcn.00446710
push 8
push esi
call fcn.00447850
add esp, 0x10
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
push 0x47638c
push esi
call fcn.00446710
push 0x10
push esi
call fcn.00447850
add esp, 0x10
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
push 0x476370
push esi
call fcn.00446710
push 0x18
push esi
call fcn.00447850
add esp, 0x10
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret