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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x974
mov eax, dword [0x4c06dc]
xor eax, esp
mov dword [esp + 0x970], eax
push ebx
mov ebx, dword [ebp + 8]
push esi
xor esi, esi
cmp dword [0x4c3820], esi
push edi
jne 0x439361
xor eax, eax
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x970]
xor ecx, esp
call fcn.00487272
mov esp, ebp
pop ebp
ret
mov edi, dword [0x4c2818]
cmp edi, esi
mov dword [esp + 0xc], esi
jbe 0x43934a
nop
mov edx, dword [esi*4 + 0x4c2820]
test byte [edx + 0x9c8], 3
jne 0x4393a3
push edx
call fcn.00436350
add esp, 4
test al, al
je 0x4393a3
mov eax, dword [ebp + 0xc]
cmp dword [edx + 0x1c], eax
jg 0x4393aa
cmp dword [edx + 0x974], 0
jne 0x4393a3
add dword [esp + 0xc], 1
add esi, 1
cmp esi, edi
jb 0x439370
test esi, esi
je 0x43934a
test ebx, ebx
mov edi, esi
mov dword [esp + 0x14], edi
je 0x4395e2
mov ecx, dword [esp + 0xc]
mov dword [ebx], ecx
xor esi, esi
add ebx, 4
test edi, edi
mov dword [esp + 0x10], esi
jbe 0x4395e2
mov edx, dword [esi*4 + 0x4c2820]
cmp dword [edx + 0x974], 0
jne 0x4395d3
push edx
call fcn.00436350
add esp, 4
test al, al
je 0x4395d3
test byte [edx + 0x9c8], 3
jne 0x4395d3
mov eax, dword [edx]
mov ecx, dword [edx + 8]
mov dword [esp + 0x18], eax
mov eax, dword [edx + 0xc]
mov dword [esp + 0x20], eax
mov eax, dword [edx + 0x9d0]
test al, 2
mov dword [esp + 0x1c], ecx
je 0x439428
or eax, 1
jmp 0x43942b
and eax, 4
fld dword [edx + 0x9d4]
mov ecx, dword [edx + 0x1c]
fsub dword [edx + 0x9d8]
mov dword [esp + 0x28], ecx
mov ecx, dword [edx + 0xa20]
sub ecx, dword [edx + 0xa24]
fstp dword [esp + 0x2c]
mov dword [esp + 0x24], eax
fld dword [edx + 0x9dc]
mov eax, dword [edx + 0xa14]
fsub dword [edx + 0x9e0]
sub eax, dword [edx + 0xa18]
mov dword [esp + 0x54], ecx
mov ecx, dword [edx + 0xa30]
fstp dword [esp + 0x30]
sub ecx, dword [edx + 0xa34]
fld dword [edx + 0x9e4]
mov dword [esp + 0x50], eax
fstp dword [esp + 0x34]
mov eax, dword [edx + 0xa28]
fld dword [edx + 0x9e8]
sub eax, dword [edx + 0xa2c]
fstp dword [esp + 0x38]
mov dword [esp + 0x5c], ecx
fld dword [edx + 0x9ec]
mov ecx, dword [edx + 0xa40]
fsub dword [edx + 0x9f0]
sub ecx, dword [edx + 0xa48]
mov dword [esp + 0x58], eax
mov eax, dword [edx + 0xa3c]
fstp dword [esp + 0x3c]
sub eax, dword [edx + 0xa44]
fld dword [edx + 0x9f4]
mov dword [esp + 0x64], ecx
fsub dword [edx + 0x9f8]
mov ecx, dword [edx + 0xa50]
sub ecx, dword [edx + 0xa60]
mov dword [esp + 0x60], eax
fstp dword [esp + 0x40]
mov eax, dword [edx + 0xa4c]
fld dword [edx + 0x9fc]
sub eax, dword [edx + 0xa5c]
fsub dword [edx + 0xa00]
mov dword [esp + 0x6c], ecx
mov ecx, dword [edx + 0xa58]
sub ecx, dword [edx + 0xa68]
fstp dword [esp + 0x44]
mov dword [esp + 0x68], eax
fld dword [edx + 0xa04]
mov eax, dword [edx + 0xa54]
fsub dword [edx + 0xa0c]
sub eax, dword [edx + 0xa64]
mov dword [esp + 0x74], ecx
mov ecx, dword [edx + 0x7ac0]
sub ecx, dword [edx + 0x7ac4]
fstp dword [esp + 0x48]
fld dword [edx + 0xa08]
mov dword [esp + 0x70], eax
fsub dword [edx + 0xa10]
mov al, byte [edx + 0x7aa8]
mov byte [esp + 0x78], al
mov eax, dword [edx + 0xebd4]
fstp dword [esp + 0x4c]
mov dword [esp + 0x84], ecx
fld dword [edx + 0x7ab0]
mov dword [esp + 0x88], eax
fsub dword [edx + 0x7ab4]
lea esi, [edx + 0x48]
mov ecx, 0x23b
lea edi, [esp + 0x8c]
fstp dword [esp + 0x7c]
fld dword [edx + 0x7ab8]
fsub dword [edx + 0x7abc]
fstp dword [esp + 0x80]
rep movsd dword es:[edi], dword [esi]
mov edi, ebx
mov ecx, 0x258
lea esi, [esp + 0x18]
rep movsd dword es:[edi], dword [esi]
mov esi, dword [esp + 0x10]
add ebx, 0x960
mov edi, dword [esp + 0x14]
add esi, 1
cmp esi, edi
mov dword [esp + 0x10], esi
jb 0x4393d3
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x97c]
imul eax, eax, 0x960
pop edi
pop esi
pop ebx
xor ecx, esp
add eax, 4
call fcn.00487272
mov esp, ebp
pop ebp
ret