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

Disassembly:
push ebp
push ebx
push edi
push esi
sub esp, 0x72c
mov dword [esp + 0x28], edx
mov esi, ecx
mov dword [esp + 0x6c], esi
mov eax, dword [0x8187d8]
mov dword [esp], eax
call fcn.007c74c0
mov dword [esp + 0xc], esi
lea eax, [esp + 0x6c]
mov dword [esp + 8], eax
mov dword [esp + 4], 0x78c570
mov dword [esp], 0x8189e8
call fcn.007c57f0
test eax, eax
je 0x78c739
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0x740]
mov dword [esp + 0x24], eax
xor eax, eax
lea ecx, [esp + 0x74]
mov dword [esp + 0x20], ecx
lea ecx, [esp + 0x70]
mov dword [esp + 0x1c], ecx
xor ebp, ebp
mov esi, 0x10
jmp 0x78c622
mov ecx, eax
and ecx, 1
xor ecx, eax
cmp ecx, 0xffffffff
setne cl
movzx ecx, cl
add eax, ecx
test eax, eax
jne 0x78c64f
mov ecx, eax
not ecx
and ecx, 1
add ecx, eax
jne 0x78c610
jmp 0x78c64f
mov dword [esp], esi
call fcn.005bf5a0
add ebp, esi
lea esi, [esi + esi*2]
shr esi, 1
lea ebx, [esp + 0x4fc]
mov dword [esp + 8], ebx
mov dword [esp + 4], 1
mov dword [esp], 0
call fcn.007920f0
test eax, eax
jne 0x78c6f0
lea edi, [esp + 0x2dc]
mov dword [esp + 0x14], edi
mov dword [esp + 0x10], ebx
mov eax, dword [esp + 0x24]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [esp + 0x28]
mov dword [esp], eax
mov dword [esp + 0xc], 1
mov dword [esp + 8], 0
call fcn.007a3150
test eax, eax
jne 0x78c6f0
mov eax, dword [esp + 0x20]
mov dword [esp + 8], eax
mov dword [esp + 4], edi
mov dword [esp], 1
call fcn.007921b0
mov ecx, dword [esp + 0x1c]
mov dword [ecx], eax
mov ecx, eax
imul ecx, ecx
and ecx, 3
cmp ecx, 2
sete cl
movzx ecx, cl
cmp eax, ecx
je 0x78c7a5
nop word cs:[eax + eax]
cmp eax, 0xfa000013
je 0x78c750
test eax, eax
je 0x78c767
cmp ebp, 0x3a99
jb 0x78c640
xor esi, esi
jmp 0x78c72b
mov eax, esi
imul eax, eax
and eax, 3
cmp eax, 2
adc esi, 0
mov eax, dword [0x8187d8]
mov dword [esp], eax
call fcn.007c74e0
mov eax, 0xfa000001
test esi, esi
je 0x78c710
jmp 0x78c8dc
mov eax, dword [0x8187d8]
mov dword [esp], eax
call fcn.007c74e0
mov eax, 0xf900ffff
jmp 0x78c8dc
mov eax, dword [0x8187d8]
mov dword [esp], eax
call fcn.007c74e0
mov eax, 0xfa000013
jmp 0x78c8dc
xor edx, edx
mov esi, 3
mov edi, dword [esp + 0x18]
mov eax, edi
add eax, 0x84c
mov ebx, dword [esp + 0x744]
jmp 0x78c792
inc edx
dec esi
mov ecx, edx
xor ecx, esi
setne cl
movzx ecx, cl
cmp edx, ecx
jb 0x78c790
jmp 0x78c855
movsd xmm0, qword [esp + 0x98]
movsd qword [esp + 0x64], xmm0
movsd xmm0, qword [esp + 0x90]
movsd qword [esp + 0x5c], xmm0
movsd xmm0, qword [esp + 0x88]
movsd qword [esp + 0x54], xmm0
movsd xmm0, qword [esp + 0x78]
movsd xmm1, qword [esp + 0x80]
movsd qword [esp + 0x4c], xmm1
movsd qword [esp + 0x44], xmm0
mov ecx, dword [esp + 0xa0]
movsd xmm0, qword [esp + 0xb4]
movsd qword [esp + 0x3c], xmm0
movsd xmm0, qword [esp + 0xa4]
movsd xmm1, qword [esp + 0xac]
movsd qword [esp + 0x34], xmm1
movsd qword [esp + 0x2c], xmm0
mov esi, 0xffffffff
mov edi, dword [esp + 0x18]
cmp ecx, dword [edi + 0x84c]
jne 0x78c8fd
mov eax, ecx
imul eax, eax
and eax, 3
cmp eax, 2
jae 0x78c8fd
mov eax, edi
add eax, 0x84c
mov ebx, dword [esp + 0x744]
movsd xmm0, qword [esp + 0x64]
movsd qword [edi + 0x844], xmm0
movsd xmm0, qword [esp + 0x5c]
movsd qword [edi + 0x83c], xmm0
movsd xmm0, qword [esp + 0x54]
movsd qword [edi + 0x834], xmm0
movsd xmm0, qword [esp + 0x44]
movsd xmm1, qword [esp + 0x4c]
movsd qword [edi + 0x82c], xmm1
movsd qword [edi + 0x824], xmm0
mov dword [eax], ecx
movsd xmm0, qword [esp + 0x3c]
movsd qword [edi + 0x860], xmm0
movsd xmm0, qword [esp + 0x2c]
movsd xmm1, qword [esp + 0x34]
movsd qword [edi + 0x858], xmm1
movsd qword [edi + 0x850], xmm0
mov dword [edi + 0x878], ebx
mov eax, dword [0x8187d8]
mov dword [esp], eax
call fcn.007c74e0
xor eax, eax
add esp, 0x72c
pop esi
pop edi
pop ebx
pop ebp
ret
mov eax, dword [0x8187d8]
mov dword [esp], eax
call fcn.007c74e0
add esi, 1
mov eax, 0xfa000013
jae 0x78c8dc
jmp 0x78c8f0