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

Disassembly:
push 0xffffffffffffffff
push 0x5ac7a8
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x50
mov eax, dword [esp + 0x64]
push ebx
push ebp
push esi
push edi
mov edi, dword [esp + 0x78]
mov ebx, ecx
lea esi, [eax + 0x14]
push 0
push edi
mov ecx, esi
mov dword [esp + 0x28], ebx
mov dword [esp + 0x3c], esi
call fcn.00788e00
mov ebp, eax
push edi
mov ecx, esi
mov dword [esp + 0x34], ebp
call fcn.00788e50
mov ecx, dword [ebp]
push 0
push ecx
mov ecx, ebx
mov dword [esp + 0x2c], eax
call fcn.0078d910
mov ebx, eax
mov dword [esp + 0x1c], ebx
mov eax, dword [ebx + 0x14]
test al, 0x10
jne 0x78d288
shr eax, 8
add ebp, 0x18
and eax, 1
push ebp
mov dword [esp + 0x30], eax
call fcn.0077e720
add ebp, eax
push ebp
call fcn.0077e720
mov esi, dword [ebp + eax]
add ebp, eax
add esp, 8
call 0xc112fa
adc byte [eax - 0x18], dl
mov al, byte [0x8500077c]
sal byte [ebp + 6], 0x89
inc esp
and al, 0x10
jmp 0x78cfcc
mov ecx, dword [esp + 0x10]
mov edx, dword [esi + 0x1c]
xor eax, eax
cmp edx, ecx
sete al
push 1
mov dword [esp + 0x3c], eax
call dword [ebx + 0x2c]
push 5
mov dword [esp + 0x2c], eax
call dword [ebx + 0x2c]
push esi
call eax
mov ebx, eax
test ebx, ebx
mov dword [esp + 0x14], ebx
je 0x78d288
mov eax, dword [esi + 0x1c]
lea edx, [esp + 0x3c]
push edx
push eax
call 0xc0b905
out dx, al
mov ecx, dword [esi + 0x1c]
call 0xc13b8c
add dword [ecx - 1], edx
xlatb
push eax
call fcn.00804c5b
lea edx, [esp + 0x3c]
mov ecx, eax
push edx
call fcn.00809b6f
mov ecx, esi
mov dword [esp + 0x18], 0
call fcn.008076ba
test eax, eax
jne 0x78d045
mov dword [esp + 0x18], 0x8000000
mov eax, dword [esi + 0x1c]
push eax
call edi
push eax
call fcn.00804c5b
test eax, eax
jne 0x78d059
xor edi, edi
jmp 0x78d05c
mov edi, dword [eax + 0x1c]
mov ecx, dword [esp + 0x24]
mov eax, dword [esp + 0x40]
mov edx, dword [esp + 0x70]
push 0
push 0
push ecx
mov ecx, dword [esp + 0x54]
push edx
mov edx, dword [esp + 0x54]
sub ecx, eax
push ecx
mov ecx, dword [esp + 0x50]
sub edx, ecx
push edx
push eax
push ecx
push 0
mov ecx, esi
call fcn.008075e8
push eax
mov eax, dword [esp + 0x40]
push edi
push eax
push ebx
call 0xc13c8a
ficom word [eax + 0x53]
call 0xc067ee
mov word [eax - 1], ss
push esp
and al, 0x60
mov edi, eax
test edi, edi
je 0x78d27a
mov ecx, dword [edi + 0x1c]
push ecx
call 0xc0c688
or al, byte [ebp - 0x477bf040]
add dword [eax], eax
add byte [ebx - 0x9e3dbac], cl
inc edx
adc al, 0x80
je 0x78d158
lea ecx, [esp + 0x4c]
call fcn.0077dd40
mov dword [esp + 0x4c], 0x8429f0
mov eax, dword [esi + 0x1c]
mov dword [esp + 0x68], 0
test eax, eax
je 0x78d116
push eax
call 0xc07c98
fmul dword [ebx + 0x74db85d8]
sbb dword [ebx - 0x73], edx
dec esp
and al, 0x50
call fcn.0077dfd0
push 2
push ebx
call 0xc142ef
mov bh, 0x8b
fadd dword [ebp - 0x74188a25]
inc esp
and al, 0x5c
mov eax, dword [esp + 0x5c]
mov ecx, dword [edi + 0x1c]
shr eax, 2
dec eax
mov dword [esp + 0x70], ecx
mov ebx, eax
js 0x78d13f
mov eax, dword [esp + 0x54]
mov edx, dword [esp + 0x70]
push edx
mov ecx, dword [eax + ebx*4]
push ecx
call 0xc0c38d
jge 0x78d188
jns 0x78d129
lea ecx, [esp + 0x4c]
mov dword [esp + 0x68], 0xffffffff
mov dword [esp + 0x4c], 0x842750
call fcn.0077df40
mov edx, dword [esp + 0x78]
mov eax, dword [esp + 0x74]
mov ecx, dword [esp + 0x20]
push edx
push eax
mov dword [ebp], edi
call fcn.0078d2a0
mov ecx, dword [edi + 0x1c]
call 0xc13f54
test al, 0x6a
add byte [edx], ch
push 0x806f
push ecx
call ebx
mov edx, dword [edi + 0x1c]
push 0
push 0
push 0x8076
push edx
call ebx
mov eax, dword [esp + 0x1c]
test dword [eax + 0x14], 0x100000
je 0x78d1be
mov ecx, dword [edi + 0x1c]
push ecx
call 0xc12671
invalid
mov eax, dword [esi + 0x1c]
push 0xfffffffffffffff0
push eax
call 0xc1406b
mov ebp, 0xa9
adc byte [ecx + ecx + 0x6a], dh
or byte [ebx - 0x5b461731], cl
pop es
add byte [ebx - 0x42d3dbbc], cl
add dword [eax], eax
add byte [eax], al
cmp eax, ebp
jne 0x78d219
mov ecx, dword [esi + 0x1c]
push 0
push 0
push 0x130b
push ecx
call ebx
mov edx, dword [edi + 0x1c]
push 0
push eax
push 0x130c
push edx
call ebx
mov eax, dword [esp + 0x30]
mov ecx, dword [esp + 0x34]
push 0x7fffffff
push 0
push eax
call fcn.007896d0
mov ebx, dword [esp + 0x20]
mov ecx, esi
mov dword [ebx + 0x1d8], ebp
mov edx, dword [esi]
call dword [edx + 0x58]
mov eax, dword [esp + 0x38]
mov dword [ebx + 0x1d8], 0
cmp eax, ebp
jne 0x78d245
mov ecx, edi
call fcn.008076fc
jmp 0x78d276
mov esi, dword [esp + 0x10]
test esi, esi
je 0x78d276
push esi
call 0xc0c688
xchg ebx, eax
test eax, eax
je 0x78d276
call 0xc112fa
stc
push eax
call fcn.00804c5b
test eax, eax
je 0x78d26b
mov eax, dword [eax + 0x1c]
cmp eax, esi
je 0x78d276
push esi
call 0xc1359d
outsd dx, dword [esi]
mov ebx, dword [esp + 0x14]
push ebx
call 0xc069ce
jne 0x78d2d5
call 0xc141d1
loop 0x78d214
mov ecx, dword [esp + 0x60]
dec esp
and al, 0x60
pop edi
pop esi
pop ebp
pop ebx
mov dword fs:[0], ecx
add esp, 0x5c
ret 0xc