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

Disassembly:
sub esp, 0x60
mov eax, dword [0x7d9a88]
xor eax, esp
mov dword [esp + 0x5c], eax
mov eax, dword [esp + 0x70]
mov edx, dword [esp + 0x74]
push ebx
push ebp
push esi
mov dword [esp + 0x40], eax
mov eax, dword [esp + 0x84]
xor esi, esi
push edi
mov edi, ecx
mov ecx, dword [esp + 0x78]
mov dword [esp + 0x3c], edx
mov dword [esp + 0x28], eax
mov dword [esp + 0x10], 0xffffffff
mov dword [esp + 0x20], esi
mov dword [esp + 0x1c], 1
cmp eax, esi
je 0x4c8dbf
mov dword [eax], esi
mov eax, dword [esp + 0x7c]
push eax
push ecx
mov ecx, dword [edi + 4]
call fcn.004ced00
mov ebp, dword [esp + 0x74]
mov ebx, eax
test ebx, ebx
je 0x4c8e32
mov ecx, ebx
call fcn.004cdc80
cmp eax, 6
jne 0x4c93f9
lea ecx, [esp + 0x14]
push ecx
lea edx, [esp + 0x1c]
push edx
lea eax, [esp + 0x18]
push eax
mov ecx, ebx
mov dword [esp + 0x2c], ebx
call fcn.004ce770
cmp ebp, 3
ja case.default.0x4c8e06
jmp dword [ebp*4 + 0x4c9410]
dec dword [esp + 0x14]
jmp case.default.0x4c8e06
inc dword [esp + 0x14]
jmp case.default.0x4c8e06
dec dword [esp + 0x18]
jmp case.default.0x4c8e06
inc dword [esp + 0x18]
mov ecx, ebx
call fcn.004cdcb0
test eax, eax
je 0x4c93f9
mov eax, dword [esp + 0x10]
test eax, eax
jl 0x4c93f9
mov edi, edi
cmp ebp, 3
ja case.default.0x4c8e49
jmp dword [ebp*4 + 0x4c9420]
cmp dword [esp + 0x14], 0
jl case.default.0x4c8e49
jmp 0x4c8e60
test esi, esi
jne 0x4c93a8
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x18]
push ecx
push edx
push eax
mov ecx, edi
call fcn.004c6e50
mov esi, eax
test esi, esi
je 0x4c8e8f
mov ecx, esi
call fcn.004cdcb0
test eax, eax
jne 0x4c8f10
mov eax, dword [esp + 0x18]
lea ebp, [eax - 1]
lea ebx, [eax + 1]
mov eax, dword [esp + 0x10]
xor esi, esi
nop
test ebp, ebp
jge 0x4c8eb4
mov edx, dword [edi + 0x6dc]
lea ecx, [eax + eax*2]
cmp ebx, dword [edx + ecx*8]
jge 0x4c8f14
jmp 0x4c8ed9
mov ecx, dword [esp + 0x14]
push ecx
push ebp
push eax
mov ecx, edi
call fcn.004c6e50
mov esi, eax
test esi, esi
je 0x4c8ed5
mov ecx, esi
call fcn.004cdcb0
test eax, eax
jne 0x4c8f10
xor esi, esi
mov eax, dword [esp + 0x10]
mov ecx, dword [edi + 0x6dc]
lea edx, [eax + eax*2]
cmp ebx, dword [ecx + edx*8]
jge 0x4c8f0c
mov edx, dword [esp + 0x14]
push edx
push ebx
push eax
mov ecx, edi
call fcn.004c6e50
mov esi, eax
test esi, esi
je 0x4c8f08
mov ecx, esi
call fcn.004cdcb0
test eax, eax
jne 0x4c8f10
xor esi, esi
mov eax, dword [esp + 0x10]
dec ebp
inc ebx
jmp 0x4c8ea0
mov eax, dword [esp + 0x10]
sub dword [esp + 0x14], 1
jns 0x4c8e60
jmp 0x4c91d1
mov ebx, dword [edi + 0x6dc]
mov ecx, dword [esp + 0x14]
lea edx, [eax + eax*2]
cmp ecx, dword [ebx + edx*8 + 4]
jge case.default.0x4c8e49
jmp 0x4c8f40
test esi, esi
jne 0x4c93a8
push ecx
mov ecx, dword [esp + 0x1c]
push ecx
push eax
mov ecx, edi
call fcn.004c6e50
mov esi, eax
test esi, esi
je 0x4c8f6b
mov ecx, esi
call fcn.004cdcb0
test eax, eax
jne 0x4c8ff0
mov eax, dword [esp + 0x18]
lea ebp, [eax - 1]
lea ebx, [eax + 1]
mov eax, dword [esp + 0x10]
xor esi, esi
jmp 0x4c8f80
test ebp, ebp
jge 0x4c8f94
mov ecx, dword [edi + 0x6dc]
lea edx, [eax + eax*2]
cmp ebx, dword [ecx + edx*8]
jge 0x4c8ff4
jmp 0x4c8fb9
mov edx, dword [esp + 0x14]
push edx
push ebp
push eax
mov ecx, edi
call fcn.004c6e50
mov esi, eax
test esi, esi
je 0x4c8fb5
mov ecx, esi
call fcn.004cdcb0
test eax, eax
jne 0x4c8ff0
xor esi, esi
mov eax, dword [esp + 0x10]
mov edx, dword [edi + 0x6dc]
lea ecx, [eax + eax*2]
cmp ebx, dword [edx + ecx*8]
jge 0x4c8fec
mov ecx, dword [esp + 0x14]
push ecx
push ebx
push eax
mov ecx, edi
call fcn.004c6e50
mov esi, eax
test esi, esi
je 0x4c8fe8
mov ecx, esi
call fcn.004cdcb0
test eax, eax
jne 0x4c8ff0
xor esi, esi
mov eax, dword [esp + 0x10]
dec ebp
inc ebx
jmp 0x4c8f80
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
mov ebx, dword [edi + 0x6dc]
inc ecx
lea edx, [eax + eax*2]
mov dword [esp + 0x14], ecx
cmp ecx, dword [ebx + edx*8 + 4]
jl 0x4c8f40
jmp 0x4c91d1
cmp dword [esp + 0x18], 0
jl case.default.0x4c8e49
test esi, esi
jne 0x4c93a8
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x18]
push ecx
push edx
push eax
mov ecx, edi
call fcn.004c6e50
mov esi, eax
test esi, esi
je 0x4c904f
mov ecx, esi
call fcn.004cdcb0
test eax, eax
jne 0x4c90d2
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0x10]
xor esi, esi
lea ebp, [ecx - 1]
lea ebx, [ecx + 1]
nop
test ebp, ebp
jge 0x4c9075
mov edx, dword [edi + 0x6dc]
lea ecx, [eax + eax*2]
cmp ebx, dword [edx + ecx*8 + 4]
jge 0x4c90d6
jmp 0x4c9096
push ecx
push ebp
push eax
mov ecx, edi
call fcn.004c6e50
mov esi, eax
test esi, esi
je 0x4c9092
mov ecx, esi
call fcn.004cdcb0
test eax, eax
jne 0x4c90d2
xor esi, esi
mov eax, dword [esp + 0x10]
mov edx, dword [edi + 0x6dc]
lea ecx, [eax + eax*2]
cmp ebx, dword [edx + ecx*8 + 4]
jge 0x4c90ca
mov ecx, dword [esp + 0x14]
push ecx
push ebx
push eax
mov ecx, edi
call fcn.004c6e50
mov esi, eax
test esi, esi
je 0x4c90c6
mov ecx, esi
call fcn.004cdcb0
test eax, eax
jne 0x4c90d2
xor esi, esi
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
dec ebp
inc ebx
jmp 0x4c9060
mov eax, dword [esp + 0x10]
sub dword [esp + 0x18], 1
jns 0x4c9020
jmp 0x4c91d1
mov ebx, dword [edi + 0x6dc]
mov ecx, dword [esp + 0x18]
lea edx, [eax + eax*2]
cmp ecx, dword [ebx + edx*8]
jge case.default.0x4c8e49
lea esp, [esp]
test esi, esi
jne 0x4c93a8
mov edx, dword [esp + 0x14]
push edx
push ecx
push eax
mov ecx, edi
call fcn.004c6e50
mov esi, eax
test esi, esi
je 0x4c912b
mov ecx, esi
call fcn.004cdcb0
test eax, eax
jne 0x4c91b2
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0x10]
xor esi, esi
lea ebp, [ecx - 1]
lea ebx, [ecx + 1]
jmp 0x4c9140
test ebp, ebp
jge 0x4c9155
mov edx, dword [edi + 0x6dc]
lea ecx, [eax + eax*2]
cmp ebx, dword [edx + ecx*8 + 4]
jge 0x4c91b6
jmp 0x4c9176
push ecx
push ebp
push eax
mov ecx, edi
call fcn.004c6e50
mov esi, eax
test esi, esi
je 0x4c9172
mov ecx, esi
call fcn.004cdcb0
test eax, eax
jne 0x4c91b2
xor esi, esi
mov eax, dword [esp + 0x10]
mov edx, dword [edi + 0x6dc]
lea ecx, [eax + eax*2]
cmp ebx, dword [edx + ecx*8 + 4]
jge 0x4c91aa
mov ecx, dword [esp + 0x14]
push ecx
push ebx
push eax
mov ecx, edi
call fcn.004c6e50
mov esi, eax
test esi, esi
je 0x4c91a6
mov ecx, esi
call fcn.004cdcb0
test eax, eax
jne 0x4c91b2
xor esi, esi
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
dec ebp
inc ebx
jmp 0x4c9140
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x18]
mov ebx, dword [edi + 0x6dc]
inc ecx
lea edx, [eax + eax*2]
mov dword [esp + 0x18], ecx
cmp ecx, dword [ebx + edx*8]
jl 0x4c9100
test esi, esi
jne 0x4c93a8
mov ebp, dword [esp + 0x74]
cmp dword [esp + 0x1c], 0
je 0x4c937a
lea eax, [esp + 0x38]
push eax
lea ecx, [esp + 0x50]
push ecx
mov ecx, dword [esp + 0x28]
call fcn.004ce7f0
test eax, eax
je 0x4c936e
mov edx, dword [esp + 0x38]
mov ecx, dword [edi + 4]
push edx
lea eax, [esp + 0x50]
push eax
call fcn.004ced00
mov ebx, eax
test ebx, ebx
je 0x4c936e
mov ecx, ebx
call fcn.004cdc80
mov ecx, ebx
cmp eax, 0xd
jne 0x4c92a1
call fcn.004d39c0
mov ecx, ebx
mov ebp, eax
call fcn.004d3a00
lea ecx, [esp + 0x2c]
push ecx
lea edx, [esp + 0x34]
push edx
mov ecx, ebx
mov dword [esp + 0x24], eax
call fcn.004d3960
mov eax, dword [esp + 0x1c]
sub dword [esp + 0x2c], eax
mov ecx, ebx
call fcn.004d3b90
test eax, eax
mov eax, dword [esp + 0x74]
jne 0x4c926c
sub eax, 0
jmp 0x4c926f
sub eax, 2
je 0x4c927f
sub eax, 1
jne 0x4c92ff
lea eax, [ebp + 1]
jmp 0x4c9282
lea eax, [ebp - 1]
cmp eax, ebp
je 0x4c92ff
cmp eax, dword [esp + 0x30]
jl 0x4c92ff
cmp eax, dword [esp + 0x2c]
jg 0x4c92ff
push 1
push eax
mov ecx, ebx
call fcn.004d3990
jmp 0x4c93eb
call fcn.004cdc80
cmp eax, 0xf
jne 0x4c92ff
mov ecx, ebx
call fcn.004d2dd0
lea ecx, [esp + 0x40]
push ecx
lea edx, [esp + 0x4c]
push edx
mov ecx, ebx
mov ebp, eax
call fcn.004d2cc0
mov ecx, ebx
call fcn.004d2f30
test eax, eax
mov eax, dword [esp + 0x74]
jne 0x4c92d9
sub eax, 2
jmp 0x4c92dc
sub eax, 0
je 0x4c92e8
sub eax, 1
jne 0x4c92ff
lea eax, [ebp + 1]
jmp 0x4c92eb
lea eax, [ebp - 1]
cmp eax, ebp
je 0x4c92ff
cmp eax, dword [esp + 0x48]
jl 0x4c92ff
cmp eax, dword [esp + 0x40]
jle 0x4c93d5
mov ecx, ebx
call fcn.004cdc80
cmp eax, 0xe
jne 0x4c936e
mov ecx, ebx
call fcn.004d33f0
mov ecx, ebx
mov ebp, eax
call fcn.004d3420
mov dword [esp + 0x1c], eax
lea eax, [esp + 0x24]
push eax
lea ecx, [esp + 0x38]
push ecx
mov ecx, ebx
call fcn.004d32e0
mov edx, dword [esp + 0x1c]
sub dword [esp + 0x24], edx
mov ecx, ebx
call fcn.004d3590
test eax, eax
mov eax, dword [esp + 0x74]
jne 0x4c934c
sub eax, 2
jmp 0x4c934f
sub eax, 0
je 0x4c935b
sub eax, 1
jne 0x4c936e
lea eax, [ebp + 1]
jmp 0x4c935e
lea eax, [ebp - 1]
cmp eax, ebp
je 0x4c936e
cmp eax, dword [esp + 0x34]
jl 0x4c936e
cmp eax, dword [esp + 0x24]
jle 0x4c93e1
mov ebp, dword [esp + 0x74]
mov dword [esp + 0x1c], 0
mov edx, dword [esp + 0x20]
lea eax, [esp + 0x14]
push eax
lea ecx, [esp + 0x1c]
push ecx
push edx
lea eax, [esp + 0x1c]
push eax
push ebp
mov ecx, edi
call fcn.004c7cc0
mov dword [esp + 0x20], eax
mov eax, dword [esp + 0x10]
test eax, eax
jge 0x4c8e40
jmp 0x4c93f9
mov ecx, dword [esp + 0x3c]
mov edx, dword [esp + 0x44]
push ecx
mov ecx, dword [edi + 4]
push edx
push esi
call fcn.004cea80
pop edi
pop esi
pop ebp
mov eax, 1
pop ebx
mov ecx, dword [esp + 0x5c]
xor ecx, esp
call fcn.005ae766
add esp, 0x60
ret 0x18
push 1
push eax
mov ecx, ebx
call fcn.004d2da0
jmp 0x4c93eb
push 1
push eax
mov ecx, ebx
call fcn.004d33c0
mov eax, dword [esp + 0x28]
test eax, eax
je 0x4c93f9
mov dword [eax], 1
mov ecx, dword [esp + 0x6c]
pop edi
pop esi
pop ebp
pop ebx
xor ecx, esp
xor eax, eax
call fcn.005ae766
add esp, 0x60
ret 0x18