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

Disassembly:
sub esp, 0x4c
mov ecx, dword [esp + 0x70]
mov edx, dword [esp + 0x50]
push ebx
push ebp
mov ebp, dword [esp + 0x70]
add edx, 0x3abf0
push esi
movzx esi, byte [ecx + 0x1059cc3c]
mov eax, esi
mov dword [esp + 0x1c], edx
mov ebx, dword [edx + 0x1e4]
shr eax, 1
mov dword [esp + 0x14], eax
mov eax, esi
shr eax, 2
mov dword [esp + 0x48], eax
push edi
lea edi, [edx + 0x1e8]
cmp ebp, ebx
jge 0x10078ba5
mov eax, dword [edi]
mov edx, dword [esp + 0x7c]
mov dword [esp + 0x48], eax
cmp edx, eax
jge 0x10078ba5
mov eax, dword [esp + 0x20]
mov ecx, dword [eax + 0x204]
mov eax, dword [eax + 0x1fc]
imul ecx, ebp
add ecx, edx
lea eax, [eax + ecx*4]
mov ecx, dword [esp + 0x80]
mov dword [esp + 0x28], eax
mov eax, dword [eax]
mov ebx, dword [eax]
cmp ebx, ecx
jne 0x100789a6
push 0
push ecx
mov byte [esp + 0x1c], 0
call fcn.10073da0
mov edx, dword [esp + 0x84]
add esp, 8
mov dword [esp + 0x10], eax
jmp 0x10078bd0
movzx eax, byte [ebx + 0x1059cc3c]
movzx edi, byte [ecx + 0x1059cc54]
movzx ebp, byte [ebx + 0x1059cc54]
mov dword [esp + 0x2c], eax
cmp ecx, 3
jle 0x10078b6b
mov ecx, dword [esp + 0x78]
mov eax, esi
cdq
sub eax, edx
sar eax, 1
add ecx, eax
mov dword [esp + 0x44], eax
mov eax, dword [esp + 0x20]
cmp ecx, dword [eax + 0x1e4]
jge 0x10078b67
mov ecx, dword [esp + 0x7c]
mov edx, edi
shr edx, 1
add ecx, edx
cmp ecx, dword [esp + 0x48]
jge 0x10078b67
mov eax, dword [esp + 0x28]
mov ecx, dword [esp + 0x44]
mov ecx, dword [eax + ecx*4]
mov eax, dword [esp + 0x20]
imul edx, dword [eax + 0x204]
mov eax, dword [esp + 0x28]
mov edx, dword [eax + edx*4]
mov eax, dword [esp + 0x2c]
cmp eax, esi
jne 0x10078a84
lea eax, [ebp*4]
cmp eax, edi
jne 0x10078a39
mov byte [esp + 0x14], 8
push 8
jmp 0x10078b88
mov eax, dword [esp + 0x80]
cmp dword [edx], ebx
jne 0x10078a64
push 1
push eax
mov byte [esp + 0x1c], 1
call fcn.10073da0
mov edx, dword [esp + 0x84]
add esp, 8
mov dword [esp + 0x10], eax
jmp 0x10078bd0
push 5
push eax
mov byte [esp + 0x1c], 5
call fcn.10073da0
mov edx, dword [esp + 0x84]
add esp, 8
mov dword [esp + 0x10], eax
jmp 0x10078bd0
cmp ebp, edi
jne 0x10078ae6
shl eax, 2
cmp eax, esi
jne 0x10078a9b
mov byte [esp + 0x14], 9
push 9
jmp 0x10078b88
mov eax, dword [esp + 0x80]
cmp dword [ecx], ebx
jne 0x10078ac6
push 2
push eax
mov byte [esp + 0x1c], 2
call fcn.10073da0
mov edx, dword [esp + 0x84]
add esp, 8
mov dword [esp + 0x10], eax
jmp 0x10078bd0
push 7
push eax
mov byte [esp + 0x1c], 7
call fcn.10073da0
mov edx, dword [esp + 0x84]
add esp, 8
mov dword [esp + 0x10], eax
jmp 0x10078bd0
add eax, eax
cmp eax, esi
jne 0x10078b5e
lea eax, [ebp*2]
cmp eax, edi
jne 0x10078b5e
mov eax, dword [edx]
movzx eax, byte [eax + 0x1059cc3c]
cmp eax, esi
jne 0x10078b0d
mov byte [esp + 0x14], 4
push 4
jmp 0x10078b88
mov eax, dword [ecx]
movzx eax, byte [eax + 0x1059cc54]
cmp eax, edi
mov eax, dword [esp + 0x80]
jne 0x10078b41
push 6
push eax
mov byte [esp + 0x1c], 6
call fcn.10073da0
mov edx, dword [esp + 0x84]
add esp, 8
mov dword [esp + 0x10], eax
jmp 0x10078bd0
push 3
push eax
mov byte [esp + 0x1c], 3
call fcn.10073da0
mov edx, dword [esp + 0x84]
add esp, 8
mov dword [esp + 0x10], eax
jmp 0x10078bd0
mov byte [esp + 0x14], 3
push 3
jmp 0x10078b88
mov eax, dword [esp + 0x2c]
cmp eax, esi
sbb ecx, ecx
and ecx, 2
cmp ebp, edi
sbb eax, eax
neg eax
or ecx, eax
mov al, byte [ecx + 0x1059bb00]
mov byte [esp + 0x14], al
push dword [esp + 0x14]
mov eax, dword [esp + 0x84]
push eax
call fcn.10073da0
mov edx, dword [esp + 0x84]
add esp, 8
mov dword [esp + 0x10], eax
jmp 0x10078bd0
push 0xff
push ecx
call fcn.10073da0
add esp, 8
mov dword [esp + 0x10], eax
mov byte [esp + 0x14], 0xff
cmp ebp, ebx
jge case.default.0x10079238
mov edx, dword [esp + 0x7c]
cmp edx, dword [edi]
jge case.default.0x10079238
mov ecx, dword [esp + 0x20]
xor ebx, ebx
mov ebp, dword [esp + 0x6c]
mov dword [esp + 0x28], 0
mov eax, dword [ecx + 0x3bb8]
cmp byte [eax + 0x4d], bl
sete bl
add ecx, 0x3610
mov dword [esp + 0x1c], ecx
xor eax, eax
lea ebx, [ebx*2 + 1]
mov dword [esp + 0x58], ebx
mov ebx, dword [esp + 0x64]
lea edi, [ebx + 0x1210]
lea esi, [ebx + 0x11b0]
mov dword [esp + 0x2c], edi
mov dword [esp + 0x24], esi
nop dword [eax]
cmp dword [ecx], 0
mov ebx, dword [esp + 0x80]
je 0x10078d56
lea ecx, [esp + 0x3c]
push ecx
lea ecx, [esp + 0x54]
push ecx
lea ecx, [esp + 0x40]
push ecx
lea ecx, [esp + 0x60]
push ecx
push ebx
push edx
push dword [esp + 0x90]
push eax
push dword [esp + 0x40]
call fcn.100b4850
mov ecx, dword [esp + 0x40]
add esp, 0x24
test eax, eax
je 0x10078d52
mov eax, dword [ecx + 0x10]
mov edx, dword [esp + 0x50]
mov dword [esp + 0x44], eax
mov eax, dword [esp + 0x3c]
mov dword [esp + 0x40], edx
cmp edx, eax
jge 0x10078d52
mov edi, edx
imul edi, dword [esp + 0x44]
mov dword [esp + 0x48], edi
nop dword [eax]
mov ebx, dword [esp + 0x54]
cmp ebx, dword [esp + 0x38]
jge 0x10078d32
xor eax, eax
cmp eax, dword [esp + 0x28]
sbb eax, eax
and eax, 0xfffffffe
add eax, 7
mov dword [esp + 0x30], eax
lea eax, [ebx + edi]
shl eax, 6
mov dword [esp + 0x34], eax
nop word [eax + eax]
mov edi, dword [ecx + 0x14]
add edi, eax
mov eax, dword [ecx]
mov esi, dword [edi]
cmp eax, 3
jne 0x10078dda
push eax
mov eax, dword [esp + 0x68]
mov eax, dword [eax + 0x1b54]
add eax, 0x31a2
push eax
push esi
push ebp
call fcn.10072110
add esp, 0x10
sub esi, 1
je 0x10078dbf
sub esi, 1
jne 0x10078d0c
push ebp
push dword [esp + 0x30]
lea eax, [edi + 0x30]
push eax
call fcn.1007a390
add esp, 0xc
mov esi, dword [esp + 0x24]
mov ecx, dword [esp + 0x1c]
mov eax, dword [esp + 0x34]
inc ebx
add eax, 0x40
mov dword [esp + 0x34], eax
cmp ebx, dword [esp + 0x38]
jl 0x10078cc0
mov eax, dword [esp + 0x3c]
mov edx, dword [esp + 0x40]
mov edi, dword [esp + 0x48]
add edi, dword [esp + 0x44]
inc edx
mov dword [esp + 0x40], edx
mov dword [esp + 0x48], edi
cmp edx, eax
jl 0x10078c90
mov edi, dword [esp + 0x2c]
mov ebx, dword [esp + 0x80]
mov eax, dword [esp + 0x28]
mov edx, dword [esp + 0x7c]
inc eax
add ecx, 0x2c
mov dword [esp + 0x28], eax
add esi, 0x20
mov dword [esp + 0x1c], ecx
add edi, 0xc
mov dword [esp + 0x24], esi
mov dword [esp + 0x2c], edi
cmp eax, dword [esp + 0x58]
jl 0x10078c20
mov esi, dword [esp + 0x78]
mov edi, edx
mov eax, dword [esp + 0x64]
push ebp
push ebx
push dword [esp + 0x1c]
add eax, 0xe0
push edi
push esi
push dword [esp + 0x2c]
push eax
push dword [esp + 0x3c]
call fcn.100799d0
movzx ebx, byte [esp + 0x34]
add esp, 0x20
mov dword [esp + 0x14], ebx
cmp ebx, 9
ja case.default.0x10078db8
jmp dword [ebx*4 + 0x1007938c]
mov esi, dword [esp + 0x24]
push ebp
push esi
lea eax, [edi + 0x10]
push eax
push dword [esp + 0x3c]
call fcn.1007bc70
add esp, 0x10
jmp 0x10078d10
cmp eax, 1
jne 0x10078e10
mov eax, dword [esp + 0x64]
push 2
mov eax, dword [eax + 0x1b54]
add eax, 0x31aa
push eax
xor eax, eax
test esi, esi
setne al
push eax
push ebp
call fcn.10072110
add esp, 0x10
test esi, esi
mov esi, dword [esp + 0x24]
je 0x10078d10
jmp 0x10078dc3
cmp eax, 2
jne 0x10078e44
push eax
mov eax, dword [esp + 0x68]
mov eax, dword [eax + 0x1b54]
add eax, 0x31b0
push eax
xor eax, eax
test esi, esi
setne al
push eax
push ebp
call fcn.10072110
add esp, 0x10
test esi, esi
je 0x10078d0c
jmp 0x10078cfb
mov esi, dword [esp + 0x24]
jmp 0x10078d14
push edi
push esi
push dword [esp + 0x7c]
push dword [esp + 0x7c]
push ebp
push dword [esp + 0x7c]
mov ebp, dword [esp + 0x7c]
push ebp
push dword [esp + 0x7c]
call fcn.10077eb0
add esp, 0x20
jmp 0x10079209
mov ebx, dword [esp + 0x68]
push edi
mov edi, dword [esp + 0x74]
push esi
mov esi, dword [esp + 0x7c]
push esi
push edi
push ebp
push ebx
push dword [esp + 0x7c]
push dword [esp + 0x7c]
call fcn.10077eb0
mov ecx, dword [esp + 0x40]
add esp, 0x20
mov eax, dword [esp + 0x78]
add eax, dword [esp + 0x18]
cmp eax, dword [ecx + 0x1e4]
jge 0x10079201
mov ecx, dword [esp + 0x7c]
push ecx
push eax
push esi
push edi
push ebp
push ebx
mov ebp, dword [esp + 0x7c]
push ebp
push dword [esp + 0x7c]
call fcn.10077eb0
mov ebx, dword [esp + 0x34]
add esp, 0x20
jmp 0x10079209
mov ebx, dword [esp + 0x68]
push edi
mov edi, dword [esp + 0x74]
push esi
mov esi, dword [esp + 0x7c]
push esi
push edi
push ebp
push ebx
push dword [esp + 0x7c]
push dword [esp + 0x7c]
call fcn.10077eb0
mov ecx, dword [esp + 0x40]
add esp, 0x20
mov eax, dword [esp + 0x18]
add eax, dword [esp + 0x7c]
cmp eax, dword [ecx + 0x1e8]
jge 0x10079201
push eax
push dword [esp + 0x7c]
jmp 0x10078eb2
push dword [esp + 0x10]
mov ebp, dword [esp + 0x74]
mov ebx, dword [esp + 0x6c]
push edi
push esi
mov esi, dword [esp + 0x80]
push esi
push ebp
push dword [esp + 0x80]
push ebx
push dword [esp + 0x80]
push dword [esp + 0x80]
call fcn.10078900
push dword [esp + 0x34]
add edi, dword [esp + 0x40]
push edi
push dword [esp + 0xa4]
push esi
push ebp
push dword [esp + 0xa4]
push ebx
push dword [esp + 0xa4]
push dword [esp + 0xa4]
call fcn.10078900
mov esi, dword [esp + 0x60]
add esp, 0x48
mov ecx, dword [esp + 0x7c]
add esi, dword [esp + 0x78]
push dword [esp + 0x10]
push ecx
push esi
push dword [esp + 0x80]
push ebp
push dword [esp + 0x80]
push ebx
push dword [esp + 0x80]
push dword [esp + 0x80]
call fcn.10078900
push dword [esp + 0x34]
push edi
push esi
push dword [esp + 0xa4]
push ebp
push dword [esp + 0xa4]
mov ebp, dword [esp + 0xa0]
push ebx
push ebp
push dword [esp + 0xa4]
call fcn.10078900
mov ebx, dword [esp + 0x5c]
add esp, 0x48
jmp 0x10079209
mov ebx, dword [esp + 0x74]
push edi
mov edi, dword [esp + 0x74]
push esi
mov esi, dword [esp + 0x70]
push ebx
push edi
push ebp
push esi
push dword [esp + 0x7c]
push dword [esp + 0x7c]
call fcn.10077eb0
mov eax, dword [esp + 0x38]
add eax, dword [esp + 0x9c]
push eax
push dword [esp + 0x9c]
push ebx
push edi
push ebp
push esi
push dword [esp + 0x9c]
push dword [esp + 0x9c]
call fcn.10077eb0
mov eax, dword [esp + 0xb8]
add esp, 0x40
add eax, dword [esp + 0x18]
push dword [esp + 0x7c]
push eax
push ebx
push edi
push ebp
push esi
jmp 0x10078eb6
mov ebp, dword [esp + 0x74]
mov ebx, dword [esp + 0x70]
push edi
mov edi, dword [esp + 0x6c]
push esi
push ebp
push ebx
push dword [esp + 0x7c]
push edi
push dword [esp + 0x7c]
push dword [esp + 0x7c]
call fcn.10077eb0
push dword [esp + 0x9c]
add esi, dword [esp + 0x3c]
push esi
push ebp
push ebx
push dword [esp + 0x9c]
push edi
push dword [esp + 0x9c]
push dword [esp + 0x9c]
call fcn.10077eb0
mov eax, dword [esp + 0xbc]
add esp, 0x40
add eax, dword [esp + 0x18]
push eax
push esi
push ebp
push ebx
push dword [esp + 0x7c]
push edi
jmp 0x10078eb6
mov ebx, dword [esp + 0x74]
push edi
mov edi, dword [esp + 0x74]
push esi
mov esi, dword [esp + 0x70]
push ebx
push edi
push ebp
push esi
push dword [esp + 0x7c]
push dword [esp + 0x7c]
call fcn.10077eb0
push dword [esp + 0x9c]
mov eax, dword [esp + 0x9c]
add eax, dword [esp + 0x3c]
push eax
push ebx
push edi
push ebp
push esi
push dword [esp + 0x9c]
push dword [esp + 0x9c]
call fcn.10077eb0
mov eax, dword [esp + 0xbc]
add esp, 0x40
add eax, dword [esp + 0x18]
push eax
push dword [esp + 0x7c]
push ebx
push edi
push ebp
push esi
jmp 0x10078eb6
mov ebp, dword [esp + 0x74]
mov ebx, dword [esp + 0x70]
push edi
mov edi, dword [esp + 0x6c]
push esi
push ebp
push ebx
push dword [esp + 0x7c]
push edi
push dword [esp + 0x7c]
push dword [esp + 0x7c]
call fcn.10077eb0
mov esi, dword [esp + 0x38]
add esi, dword [esp + 0x9c]
push esi
push dword [esp + 0x9c]
push ebp
push ebx
push dword [esp + 0x9c]
push edi
push dword [esp + 0x9c]
push dword [esp + 0x9c]
call fcn.10077eb0
mov eax, dword [esp + 0xb8]
add esp, 0x40
add eax, dword [esp + 0x18]
push esi
push eax
push ebp
push ebx
push dword [esp + 0x7c]
push edi
jmp 0x10078eb6
mov edi, dword [esp + 0x78]
xor esi, esi
mov ebx, dword [esp + 0x74]
test esi, esi
jle 0x10079197
mov eax, dword [esp + 0x20]
cmp edi, dword [eax + 0x1e4]
jge 0x10079201
push dword [esp + 0x7c]
push edi
push ebx
push dword [esp + 0x7c]
push ebp
push dword [esp + 0x7c]
push dword [esp + 0x7c]
push dword [esp + 0x7c]
call fcn.10077eb0
add edi, dword [esp + 0x6c]
inc esi
add esp, 0x20
cmp esi, 4
jl 0x10079187
jmp 0x10079201
mov ebx, dword [esp + 0x74]
xor esi, esi
test esi, esi
jle 0x100791d8
mov eax, dword [esp + 0x20]
cmp edi, dword [eax + 0x1e8]
jge 0x10079201
push edi
push dword [esp + 0x7c]
push ebx
push dword [esp + 0x7c]
push ebp
push dword [esp + 0x7c]
push dword [esp + 0x7c]
push dword [esp + 0x7c]
call fcn.10077eb0
add edi, dword [esp + 0x6c]
inc esi
add esp, 0x20
cmp esi, 4
jl 0x100791c8
mov ebx, dword [esp + 0x14]
mov ebp, dword [esp + 0x64]
mov eax, dword [esp + 0x80]
cmp eax, 3
jl case.default.0x10079238
movzx esi, byte [eax + 0x1059cc3c]
push 3
push eax
shr esi, 1
call fcn.10073da0
add esp, 8
mov edi, eax
cmp ebx, 9
ja case.default.0x10079238
jmp dword [ebx*4 + 0x100793b4]
mov eax, dword [esp + 0x80]
cmp eax, 3
jne case.default.0x10079238
jmp 0x10079258
mov eax, dword [esp + 0x80]
push eax
push dword [esp + 0x14]
lea eax, [ebp + 0xe0]
push dword [esp + 0x84]
push dword [esp + 0x84]
push eax
call fcn.100759b0
add esp, 0x14
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x4c
ret
push dword [esp + 0x10]
mov ebp, dword [esp + 0x80]
mov ebx, dword [esp + 0x68]
push edi
mov edi, dword [esp + 0x80]
add ebx, 0xe0
push ebp
push edi
push ebx
call fcn.100759b0
mov eax, dword [esp + 0x24]
push eax
push eax
push ebp
lea eax, [esi + edi]
push eax
push ebx
call fcn.100759b0
add esp, 0x28
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x4c
ret
mov eax, dword [esp + 0x10]
mov ebp, dword [esp + 0x7c]
mov ebx, dword [esp + 0x64]
push eax
push eax
push ebp
push dword [esp + 0x84]
add ebx, 0xe0
push ebx
call fcn.100759b0
push dword [esp + 0x24]
mov eax, dword [esp + 0x90]
push edi
push ebp
add eax, esi
push eax
push ebx
call fcn.100759b0
add esp, 0x28
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x4c
ret
push dword [esp + 0x10]
mov ebp, dword [esp + 0x80]
mov ebx, dword [esp + 0x68]
push edi
mov edi, dword [esp + 0x80]
add ebx, 0xe0
push ebp
push edi
push ebx
call fcn.100759b0
mov eax, dword [esp + 0x24]
push eax
push eax
lea eax, [esi + ebp]
push eax
push edi
push ebx
call fcn.100759b0
add esp, 0x28
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x4c
ret
mov eax, dword [esp + 0x10]
mov ebp, dword [esp + 0x7c]
mov ebx, dword [esp + 0x64]
push eax
push eax
push ebp
push dword [esp + 0x84]
add ebx, 0xe0
push ebx
call fcn.100759b0
push dword [esp + 0x24]
lea eax, [esi + ebp]
push edi
push eax
push dword [esp + 0x98]
push ebx
call fcn.100759b0
add esp, 0x28
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x4c
ret