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

Disassembly:
sub esp, 0x1e8
lea eax, [esp + 0x24]
lea ecx, [esp + 0x20]
push ebx
push ebp
push esi
mov esi, dword [esp + 0x1f8]
push edi
push eax
mov ebp, 1
push ecx
push ebp
push esi
call fcn.004c1dd0
add esp, 0x10
test eax, eax
je 0x4c28a6
mov eax, dword [esp + 0x34]
cmp eax, 0x31000
jb 0x4c2887
cmp eax, 0x35000
ja 0x4c2887
mov edx, dword [esp + 0x30]
lea eax, [esp + 0x1c]
push edx
push eax
push esi
mov dword [esp + 0x28], 0
call fcn.004c1490
mov ecx, dword [esp + 0x3c]
add esp, 0xc
cmp eax, ecx
jne 0x4c28a6
mov eax, dword [esp + 0x1c]
mov edi, eax
and edi, 0xff
test ah, 0xf0
jne 0x4c24b5
mov ecx, eax
and ecx, 0xf00
shl ecx, 4
or eax, ecx
mov dword [esp + 0x1c], eax
xor ebx, ebx
mov bl, byte [esp + 0x1e]
call fcn.004badf0
mov dword [esp + 0x24], eax
call fcn.004bae20
cmp edi, 3
mov dword [esp + 0x20], eax
je 0x4c24f4
cmp edi, 4
je 0x4c24f4
cmp edi, 5
je 0x4c24f4
cmp edi, 6
je 0x4c24f4
push 0
call fcn.004badd0
push 0
call fcn.004bae00
add esp, 8
jmp 0x4c250f
push ebp
call fcn.004badd0
add esp, 4
test bl, 1
je 0x4c2506
push 0
jmp 0x4c2507
push ebp
call fcn.004bae00
add esp, 4
lea edx, [esp + 0x18]
push 0
lea eax, [esp + 0x14]
push edx
lea ecx, [esp + 0x1c]
push eax
push ecx
push esi
call fcn.004c1ca0
add esp, 0x14
test eax, eax
je 0x4c2617
mov eax, dword [esp + 0x18]
cmp eax, 0x31000
jb 0x4c258e
cmp eax, 0x35000
ja 0x4c258e
mov eax, dword [esp + 0x14]
cmp eax, 2
je 0x4c25af
cmp eax, 0x13
je 0x4c263b
mov edx, dword [esp + 0x10]
push edx
push esi
call fcn.004c17b0
add esp, 8
test eax, eax
je 0x4c2617
lea eax, [esp + 0x18]
push 0
lea ecx, [esp + 0x14]
push eax
lea edx, [esp + 0x1c]
push ecx
push edx
push esi
call fcn.004c1ca0
add esp, 0x14
test eax, eax
jne 0x4c2531
jmp 0x4c2617
push 0x80000004
mov dword [esp + 0x2c], ebp
call fcn.004f7960
mov dword [esp + 0x30], eax
lea eax, [esp + 0x2c]
push eax
call fcn.004c6ca0
add esp, 8
jmp 0x4c2617
mov ebx, dword [esp + 0x10]
lea ebp, [esp + 0x78]
test ebx, ebx
jbe 0x4c260b
cmp ebx, 0x40
mov esi, 0x40
ja 0x4c25c7
mov esi, ebx
mov edx, dword [esp + 0x1fc]
lea ecx, [esp + 0x38]
push esi
push ecx
push edx
call fcn.004c1490
add esp, 0xc
cmp eax, esi
jne 0x4c2698
sub ebx, esi
test esi, esi
jbe 0x4c25fe
lea ecx, [esp + 0x38]
mov eax, ebp
sub ecx, ebp
mov edi, esi
mov dl, byte [ecx + eax]
mov byte [eax], dl
inc eax
dec edi
jne 0x4c25f5
add ebp, esi
test ebx, ebx
ja 0x4c25bb
mov esi, dword [esp + 0x1fc]
lea eax, [esp + 0x78]
test eax, eax
jne 0x4c26a6
mov eax, dword [esp + 0x24]
push eax
call fcn.004badd0
mov ecx, dword [esp + 0x24]
push ecx
call fcn.004bae00
add esp, 8
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x1e8
ret
mov edi, dword [esp + 0x10]
lea ebx, [esp + 0x78]
test edi, edi
jbe 0x4c260b
cmp edi, 0x80
mov esi, 0x80
ja 0x4c2656
mov esi, edi
mov ecx, dword [esp + 0x1fc]
lea eax, [esp + 0x178]
push esi
push eax
push ecx
call fcn.004c1490
add esp, 0xc
cmp eax, esi
jne 0x4c2698
sub edi, esi
mov eax, 0
shr esi, 1
je 0x4c268d
mov dl, byte [esp + eax*2 + 0x178]
mov byte [eax + ebx], dl
inc eax
cmp eax, esi
jb 0x4c267e
add ebx, esi
test edi, edi
ja 0x4c2647
jmp 0x4c2604
mov esi, dword [esp + 0x1fc]
xor eax, eax
jmp 0x4c260f
lea edx, [esp + 0x14]
push 0
lea eax, [esp + 0x14]
push edx
lea ecx, [esp + 0x20]
push eax
push ecx
push esi
call fcn.004c1ca0
add esp, 0x14
test eax, eax
je 0x4c27c5
mov eax, dword [esp + 0x14]
cmp eax, 0x31000
jb 0x4c2725
cmp eax, 0x35000
ja 0x4c2725
mov eax, dword [esp + 0x18]
cmp eax, 2
je 0x4c274a
cmp eax, 0x13
je 0x4c27ab
mov edx, dword [esp + 0x10]
push edx
push esi
call fcn.004c17b0
add esp, 8
test eax, eax
je 0x4c27c5
lea eax, [esp + 0x14]
push 0
lea ecx, [esp + 0x14]
push eax
lea edx, [esp + 0x20]
push ecx
push edx
push esi
call fcn.004c1ca0
add esp, 0x14
test eax, eax
jne 0x4c26c8
jmp 0x4c27c5
push 0x80000004
mov dword [esp + 0x2c], 1
call fcn.004f7960
mov dword [esp + 0x30], eax
lea eax, [esp + 0x2c]
push eax
call fcn.004c6ca0
add esp, 8
jmp 0x4c27c5
mov ebx, dword [esp + 0x10]
lea ebp, [esp + 0xf8]
test ebx, ebx
jbe 0x4c279e
cmp ebx, 0x40
mov esi, 0x40
ja 0x4c2765
mov esi, ebx
mov edx, dword [esp + 0x1fc]
lea ecx, [esp + 0x38]
push esi
push ecx
push edx
call fcn.004c1490
add esp, 0xc
cmp eax, esi
jne 0x4c27a7
sub ebx, esi
test esi, esi
jbe 0x4c2798
lea ecx, [esp + 0x38]
mov eax, ebp
sub ecx, ebp
mov edi, esi
mov dl, byte [ecx + eax]
mov byte [eax], dl
inc eax
dec edi
jne 0x4c278f
add ebp, esi
test ebx, ebx
ja 0x4c2759
lea eax, [esp + 0xf8]
jmp 0x4c27c1
xor eax, eax
jmp 0x4c27c1
mov eax, dword [esp + 0x10]
lea ecx, [esp + 0xf8]
push eax
push esi
push ecx
call fcn.004c28c0
add esp, 0xc
test eax, eax
jne 0x4c27e9
mov edx, dword [esp + 0x24]
push edx
call fcn.004badd0
mov eax, dword [esp + 0x24]
push eax
call fcn.004bae00
add esp, 8
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x1e8
ret
lea ecx, [esp + 0xf8]
lea edx, [esp + 0x78]
push ecx
push edx
call fcn.004bb2b0
mov esi, eax
add esp, 8
test esi, esi
jne 0x4c283a
mov eax, dword [esp + 0x1fc]
push eax
push 0x5f57a0
call fcn.004cb250
mov ecx, dword [esp + 0x2c]
push ecx
call fcn.004badd0
mov edx, dword [esp + 0x2c]
push edx
call fcn.004bae00
add esp, 0x10
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x1e8
ret
cmp dword [esi + 0x54], 1
jne 0x4c284c
mov eax, dword [esp + 0x1c]
and eax, 0xffff
mov dword [esi + 0x50], eax
mov ecx, dword [esp + 0x24]
push ecx
call fcn.004badd0
mov edx, dword [esp + 0x24]
push edx
call fcn.004bae00
mov eax, dword [esp + 0x204]
push esi
push eax
push 0x5f57a0
call fcn.004cafc0
add esp, 0x14
neg eax
sbb eax, eax
pop edi
and eax, esi
pop esi
pop ebp
pop ebx
add esp, 0x1e8
ret
push 0x80000004
mov dword [esp + 0x2c], ebp
call fcn.004f7960
lea ecx, [esp + 0x2c]
mov dword [esp + 0x30], eax
push ecx
call fcn.004c6ca0
add esp, 8
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x1e8
ret