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

Disassembly:
push ebp
mov ebp, esp
sub esp, 0xc
xor edx, edx
push ebx
push esi
mov esi, dword [ebp + 8]
or ebx, 0xffffffff
push edi
mov edi, ecx
cmp dword [esi + 0xc], edx
ja 0x4878e2
cmp dword [esi + 8], ebx
jae 0x4878e2
mov al, dl
mov byte [ebp + 0xb], dl
jmp 0x4878e7
mov al, 1
mov byte [ebp + 0xb], al
cmp dword [esi + 0x14], edx
ja 0x4878f8
cmp dword [esi + 0x10], ebx
jae 0x4878f8
mov cl, dl
mov byte [ebp - 1], dl
jmp 0x4878fd
mov cl, 1
mov byte [ebp - 1], cl
cmp dword [esi + 0x44], edx
ja 0x487907
cmp dword [esi + 0x40], ebx
jb 0x487909
mov dl, 1
mov byte [ebp - 2], dl
test cl, cl
jne 0x48791b
test al, al
jne 0x48791b
mov byte [ebp - 6], al
test dl, dl
je 0x48791f
mov byte [ebp - 6], 1
push 0x2014b50
mov ecx, edi
call fcn.004875f0
movzx eax, byte [esi + 0x38]
mov ecx, edi
push eax
call fcn.00487648
movzx eax, byte [esi + 0x39]
mov ecx, edi
push eax
call fcn.00487648
push dword [ebp - 6]
mov ecx, edi
push esi
call fcn.00487b01
cmp byte [ebp - 1], 0
mov eax, ebx
jne 0x487959
mov eax, dword [esi + 0x10]
push eax
mov ecx, edi
call fcn.004875f0
cmp byte [ebp + 0xb], 0
mov eax, ebx
jne 0x48796c
mov eax, dword [esi + 8]
push eax
mov ecx, edi
call fcn.004875f0
movzx eax, word [esi + 0x24]
mov ecx, edi
push eax
call fcn.004875c3
movzx ecx, byte [ebp - 2]
movzx eax, byte [ebp - 1]
add cx, ax
movzx eax, byte [ebp + 0xb]
add cx, ax
movzx eax, cx
lea ecx, [esi + 0x48]
shl ax, 3
mov dword [ebp - 0xc], eax
call fcn.00487494
movzx ecx, ax
mov eax, dword [ebp - 0xc]
add eax, 4
add eax, ecx
cmp byte [ebp - 6], 0
movzx eax, ax
cmovne ecx, eax
xor eax, eax
cmp byte [esi + 0x78], al
push 0x24
pop edx
cmovne eax, edx
add cx, ax
movzx eax, cx
mov ecx, edi
push eax
call fcn.004875c3
movzx eax, word [esi + 0x58]
mov ecx, edi
push eax
call fcn.004875c3
push 0
mov ecx, edi
call fcn.004875c3
movzx eax, word [esi + 0x3a]
mov ecx, edi
push eax
call fcn.004875c3
push dword [esi + 0x3c]
mov ecx, edi
call fcn.004875f0
cmp byte [ebp - 2], 0
jne 0x487a06
mov ebx, dword [esi + 0x40]
push ebx
mov ecx, edi
call fcn.004875f0
push dword [esi + 0x24]
mov ecx, edi
push dword [esi + 0x20]
call fcn.0048768a
cmp byte [ebp - 6], 0
je 0x487a6d
push 1
mov ecx, edi
call fcn.004875c3
push dword [ebp - 0xc]
mov ecx, edi
call fcn.004875c3
cmp byte [ebp + 0xb], 0
je 0x487a47
push dword [esi + 0xc]
mov ecx, edi
push dword [esi + 8]
call fcn.00487615
cmp byte [ebp - 1], 0
je 0x487a5a
push dword [esi + 0x14]
mov ecx, edi
push dword [esi + 0x10]
call fcn.00487615
cmp byte [ebp - 2], 0
je 0x487a6d
push dword [esi + 0x44]
mov ecx, edi
push dword [esi + 0x40]
call fcn.00487615
cmp byte [esi + 0x78], 0
je 0x487adc
push 0xa
mov ecx, edi
call fcn.004875c3
push 0x20
mov ecx, edi
call fcn.004875c3
push 0
mov ecx, edi
call fcn.004875f0
push 1
mov ecx, edi
call fcn.004875c3
push 0x18
mov ecx, edi
call fcn.004875c3
push dword [esi + 0x60]
mov ecx, edi
call fcn.004875f0
push dword [esi + 0x64]
mov ecx, edi
call fcn.004875f0
push dword [esi + 0x68]
mov ecx, edi
call fcn.004875f0
push dword [esi + 0x6c]
mov ecx, edi
call fcn.004875f0
push dword [esi + 0x70]
mov ecx, edi
call fcn.004875f0
push dword [esi + 0x74]
mov ecx, edi
call fcn.004875f0
lea eax, [esi + 0x48]
mov ecx, edi
push eax
call fcn.00487b6c
cmp dword [esi + 0x58], 0
jbe 0x487afa
push dword [esi + 0x58]
mov ecx, edi
push dword [esi + 0x54]
call fcn.0048768a
pop edi
pop esi
pop ebx
leave
ret 4