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

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff8
add esp, 0xffffff58
mov esi, esp
call fcn.004c8790
call fcn.004c87a0
mov edi, eax
sub edi, 1
imul eax, edi
and eax, 1
cmp eax, 0
sete bl
cmp edx, 0xa
setl bh
or bl, bh
test bl, 1
call fcn.004c87b0
jne 0x4c7fd4
jmp 0x4c86cf
lea eax, [0x5e14b0]
mov ecx, 4
call fcn.004c87c0
mov eax, 0x4372b8
mov eax, ecx
call fcn.004c87d0
call fcn.00437f10
mov eax, esp
call fcn.004c87e0
mov dword [esi + 0x90], eax
mov eax, ecx
call fcn.00437f10
mov eax, esp
mov ecx, dword [esi + 0x94]
mov dword [esi + 0x8c], eax
mov eax, esi
mov eax, ecx
call fcn.00437f10
mov eax, esp
mov ecx, 0x18
mov dword [esi + 0x88], eax
mov eax, ecx
call fcn.00437f10
mov eax, esp
and eax, 0xfffffff8
mov esp, eax
mov ecx, dword [esi + 0x94]
call fcn.004c87f0
mov eax, ecx
call fcn.00437f10
mov ecx, 0x437474
mov eax, esp
call fcn.004c8800
mov dword [esi + 0x80], eax
mov eax, 0x4374b0
mov eax, ecx
call fcn.00437f10
mov eax, esp
mov ecx, dword [esi + 0x94]
call fcn.004c8810
mov eax, ecx
call fcn.00437f10
mov eax, esp
mov ecx, dword [esi + 0x94]
mov dword [esi + 0x78], eax
mov eax, ecx
call fcn.00437f10
mov eax, 0x4374b0
mov eax, esp
mov ecx, dword [esi + 0x94]
mov dword [esi + 0x74], eax
mov eax, ecx
call fcn.00437f10
mov eax, esp
mov ecx, dword [esi + 0x94]
call fcn.004c8820
mov eax, ecx
call fcn.00437f10
mov eax, esp
call fcn.004c8830
mov dword [esi + 0x6c], eax
mov eax, ecx
call fcn.00437f10
mov eax, esp
call fcn.004c8840
mov dword [esi + 0x68], eax
mov eax, ecx
call fcn.00437f10
mov eax, esp
mov ecx, dword [esi + 0x94]
mov dword [esi + 0x64], eax
mov eax, ecx
call fcn.00437f10
mov eax, esp
mov ecx, dword [esi + 0x8c]
mov edx, dword [esi + 0x9c]
call fcn.004c8850
call fcn.004c8860
mov ebx, dword [esi + 0x88]
mov ecx, dword [esi + 0x98]
mov dword [ebx], ecx
mov ecx, dword [ebx]
sub esp, 8
mov edx, dword [esi + 0x84]
mov dword [esp], edx
mov dword [esp + 4], ecx
call fcn.004c8870
call fcn.004c8880
call fcn.004e59a0
add esp, 8
call fcn.004c8890
mov ecx, dword [esi + 0x84]
mov dword [esi + 0x58], eax
call fcn.0051a8c0
mov ecx, dword [0x88c650]
call fcn.004c88a0
mov edi, ecx
sub edi, 1
imul ecx, edi
and ecx, 1
cmp ecx, 0
sete cl
cmp edx, 0xa
setl ch
or cl, ch
test cl, 1
mov dword [esi + 0x54], eax
jne 0x4c818e
jmp 0x4c86cf
sub esp, 0x10
mov eax, esp
mov ecx, dword [esi + 0x54]
mov dword [eax + 4], ecx
mov dword [eax + 0xc], 4
call fcn.004c88b0
mov dword [eax], 0
mov eax, dword [esi + 0x58]
call eax
mov dword [esi + 0x50], eax
call fcn.004c88c0
mov ecx, dword [esi + 0x50]
mov dword [eax], ecx
mov edx, dword [eax]
sub esp, 4
mov edi, esp
call fcn.004c88d0
call fcn.004c88e0
call fcn.004c88f0
call fcn.004981f0
mov dword [esi + 0x48], eax
mov ecx, dword [esi + 0x84]
call fcn.0051a8c0
lea ecx, [0x474ed0]
sub esp, 0xc
call fcn.004c8900
mov dword [esp], edx
call fcn.004c8910
mov dword [esp + 4], edi
mov dword [esp + 8], eax
mov dword [esi + 0x44], ecx
call fcn.00437810
add esp, 0xc
call fcn.004c8920
mov ecx, dword [eax]
mov edx, dword [esi + 0x5c]
mov dword [ecx + 0xb], edx
call fcn.004c8930
mov edi, dword [esi + 0x44]
mov dword [ecx + 0x10], edi
call fcn.004c8940
mov byte [ecx + 0x18], 0
call fcn.004c8950
call fcn.004c8960
sub esp, 0x10
mov eax, esp
call fcn.004c8970
call fcn.004c8980
call fcn.004c8990
mov dword [eax + 8], 0x20
call fcn.004c89a0
call ecx
call fcn.004c89b0
mov eax, dword [esi + 0x80]
call fcn.004c89c0
call fcn.004c89d0
call fcn.004c89e0
cmp dword [edx + 0x140], 0
je 0x4c829b
call fcn.004c89f0
cmp dword [eax + 0x144], 0
jne 0x4c82b7
mov eax, dword [esi + 0x90]
mov dword [eax], 0
call fcn.004c8a00
mov dword [ecx], 1
jmp 0x4c86b5
call fcn.004c8a10
call fcn.004c8a20
add ecx, dword [eax + 0x140]
mov edx, dword [esi + 0x6c]
call fcn.004c8a30
mov eax, dword [esi + 0x6c]
mov ecx, dword [eax]
cmp dword [ecx + 0xc], 0
je 0x4c86a1
call fcn.004c8a40
mov ecx, dword [esi + 0x5c]
mov edx, dword [ecx + 0x14]
mov edi, dword [esi + 0x6c]
mov ebx, dword [edi]
add edx, dword [ebx + 0xc]
sub esp, 4
mov ebx, esp
mov dword [ebx], edx
call eax
mov dword [esi + 0x3c], eax
mov eax, dword [esi + 0x68]
mov ecx, dword [esi + 0x3c]
call fcn.004c8a50
cmp dword [eax], 0
jne 0x4c8339
call fcn.004c8a60
call eax
mov dword [esi + 0x38], eax
mov eax, dword [esi + 0x90]
mov ecx, dword [esi + 0x38]
mov dword [eax], ecx
mov edx, dword [esi + 0x70]
call fcn.004c8a70
jmp 0x4c86b5
call fcn.004c8a80
add eax, 0x64
sub esp, 4
mov ecx, esp
call fcn.004c8a90
mov dword [ecx], edx
mov ecx, eax
call fcn.004e86c0
call fcn.004c8aa0
call fcn.004c8ab0
mov edx, dword [esi + 0x6c]
mov edi, dword [edx]
add ecx, dword [edi + 0x10]
mov edi, dword [esi + 0x64]
mov dword [edi], ecx
call fcn.004c8ac0
call fcn.004c8ad0
mov dword [ebx], ecx
call fcn.004c8ae0
cmp dword [ecx + 4], 0
je 0x4c83ca
mov eax, dword [esi + 0x6c]
mov ecx, dword [eax]
cmp dword [ecx], 0
jne 0x4c83b3
call fcn.004c8af0
call fcn.004c8b00
mov ecx, dword [esi + 0x70]
call fcn.004c8b10
jmp 0x4c86b5
mov eax, dword [esi + 0x5c]
mov ecx, dword [eax + 0x14]
call fcn.004c8b20
mov edi, dword [edx]
add ecx, dword [edi]
mov edi, dword [esi + 0x64]
call fcn.004c8b30
jmp 0x4c83cf
mov eax, dword [esi + 0x64]
mov ecx, dword [eax]
cmp dword [ecx], 0
je 0x4c8687
call fcn.004c8b40
mov ecx, dword [eax]
mov ecx, dword [ecx]
and ecx, 0x80000000
cmp ecx, 0
je 0x4c8457
mov eax, 1
mov ecx, 0
mov edx, dword [esi + 0x64]
call fcn.004c8b50
mov edi, dword [edi]
call fcn.004c8b60
call fcn.004c8b70
sub esp, 0x10
mov dword [esp], edx
mov dword [esp + 4], edi
mov dword [esp + 8], 1
mov dword [esp + 0xc], 0
mov dword [esi + 0x34], eax
mov dword [esi + 0x30], ecx
call fcn.004f6420
add esp, 0x10
mov dword [esi + 0x2c], eax
call fcn.004c8b80
mov ecx, dword [eax]
call fcn.004c8b90
mov dword [ecx], edx
jmp 0x4c85a7
mov eax, dword [0x88c650]
call fcn.004c8ba0
mov edx, eax
add edx, 0xffffffff
imul eax, edx
and eax, 1
cmp eax, 0
sete bl
cmp ecx, 0xa
setl bh
or bl, bh
test bl, 1
jne 0x4c8492
jmp 0x4c8769
mov eax, dword [esi + 0x5c]
call fcn.004c8bb0
call fcn.004c8bc0
mov edi, dword [edx]
add ecx, dword [edi]
add ecx, 2
call fcn.004c8bd0
call fcn.004c8be0
mov eax, dword [0x88c650]
mov edx, dword [0x88c654]
mov edi, eax
add edi, 0xffffffff
imul eax, edi
and eax, 1
cmp eax, 0
sete al
cmp edx, 0xa
setl ah
or al, ah
test al, 1
mov dword [esi + 0x28], ebx
call fcn.004c8bf0
jne 0x4c84f6
jmp 0x4c8769
sub esp, 8
mov eax, esp
mov ecx, dword [esi + 0x24]
mov dword [eax + 4], ecx
call fcn.004c8c00
mov dword [eax], edx
mov ecx, dword [esi + 0x5c]
call fcn.004f64f0
mov dword [esi + 0x20], eax
call fcn.004c8c10
call fcn.004c8c20
mov edx, ecx
mov edx, eax
sub edx, 1
imul eax, edx
and eax, 1
cmp eax, 0
sete bl
cmp ecx, 0xa
setl bh
or bl, bh
test bl, 1
jne 0x4c8550
jmp 0x4c876e
call fcn.004c8c30
call fcn.004c8c40
call fcn.004c8c50
call fcn.004c8c60
mov ecx, dword [0x88c650]
mov edi, dword [0x88c654]
mov ebx, ecx
add ebx, 0xffffffff
imul ecx, ebx
and ecx, 1
cmp ecx, 0
sete al
cmp edi, 0xa
setl ah
or al, ah
test al, 1
jne 0x4c85a2
jmp 0x4c876e
jmp 0x4c85a7
call fcn.004c8c70
call fcn.004c8c80
cmp dword [ecx], 0
jne 0x4c8658
mov eax, dword [0x88c650]
call fcn.004c8c90
mov edx, eax
sub edx, 1
imul eax, edx
and eax, 1
cmp eax, 0
sete bl
cmp ecx, 0xa
setl bh
or bl, bh
test bl, 1
jne 0x4c85f8
jmp 0x4c8780
mov eax, dword [0x88c650]
mov ecx, dword [0x88c654]
mov edx, eax
sub edx, 1
imul eax, edx
and eax, 1
cmp eax, 0
sete bl
cmp ecx, 0xa
setl bh
or bl, bh
test bl, 1
jne 0x4c8634
jmp 0x4c8780
call fcn.004c8ca0
call eax
call fcn.004c8cb0
mov eax, dword [esi + 0x90]
mov ecx, dword [esi + 0x1c]
mov dword [eax], ecx
mov edx, dword [esi + 0x70]
call fcn.004c8cc0
jmp 0x4c86b5
jmp 0x4c865d
mov eax, dword [esi + 0x64]
mov ecx, dword [eax]
add ecx, 4
call fcn.004c8cd0
call fcn.004c8ce0
call fcn.004c8cf0
add edx, 4
call fcn.004c8d00
jmp 0x4c83cf
jmp 0x4c868c
mov eax, dword [esi + 0x6c]
call fcn.004c8d10
sub ecx, 0xffffffec
mov dword [eax], ecx
jmp 0x4c82cf
mov eax, dword [esi + 0x90]
mov dword [eax], 0
mov ecx, dword [esi + 0x70]
call fcn.004c8d20
call fcn.004c8d30
call fcn.00551e20
mov ecx, dword [esi + 0x90]
mov eax, dword [ecx]
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
lea eax, [0x5e14b0]
mov ecx, 4
mov dword [esi + 0x18], eax
mov eax, ecx
mov dword [esi + 0x14], ecx
call fcn.00437f10
mov eax, 0x437474
mov eax, esp
mov ecx, dword [esi + 0x14]
call fcn.004c8d40
mov eax, ecx
call fcn.00437f10
mov eax, esp
mov ecx, dword [esi + 0x14]
call fcn.004c8d50
mov eax, ecx
call fcn.00437f10
mov eax, esp
mov ecx, 0x18
mov dword [esi + 8], eax
mov eax, ecx
call fcn.00437f10
mov eax, esp
and eax, 0xfffffff8
mov esp, eax
call fcn.004c8d60
mov edx, dword [esi + 0x9c]
call fcn.004c8d70
mov edi, dword [esi + 8]
mov ebx, dword [esi + 0x18]
mov dword [edi], ebx
call fcn.004c8d80
sub esp, 8
mov dword [esp], eax
mov dword [esp + 4], ecx
call fcn.004c8d90
call fcn.004e59a0
add esp, 8
mov ecx, dword [esi + 4]
call fcn.0051a8c0
mov dword [esi], eax
jmp 0x4c7fd4
jmp 0x4c8492
mov eax, dword [esi + 0x60]
mov ecx, dword [eax]
mov edx, dword [esi + 0x20]
call fcn.004c8da0
jmp 0x4c8550
jmp 0x4c85f8