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

Disassembly:
push ebp
push ebx
push edi
push esi
sub esp, 0x274
mov ecx, dword [esp + 0x28c]
mov edi, dword [esp + 0x288]
test edi, edi
je 0x4cd481
mov ecx, dword [esp + 0x290]
mov edx, ecx
and edx, 0xc
mov eax, 0xffffff2f
cmp edx, 0xc
je 0x4cd48d
test edx, edx
setne dl
mov ebx, ecx
not ebx
test bl, 0x82
je 0x4cd48d
mov ebx, ecx
and ebx, 0x40
shr ebx, 6
and dl, bl
jne 0x4cd48d
mov eax, ecx
or eax, 8
test cl, 0x44
cmovne eax, ecx
test al, 0x40
mov dword [esp + 8], eax
jne 0x4cd498
push edi
call fcn.00784240
add esp, 4
inc eax
lea ecx, [esp + 0x178]
push ecx
push 0
push eax
push edi
call fcn.00784250
add esp, 0x10
test eax, eax
je 0x4cdc80
mov esi, eax
mov eax, dword [esp + 8]
and eax, 4
mov dword [esp + 0x10], eax
cmp dword [esp + 0x178], 1
jne 0x4cd815
mov bl, 1
xor edi, edi
jmp 0x4cd8fa
xor eax, eax
test ecx, ecx
je 0x4cd48d
mov dword [ecx], 0
add esp, 0x274
pop esi
pop edi
pop ebx
pop ebp
ret
mov ecx, eax
and ecx, 4
mov dword [esp + 0x10], ecx
mov dword [esp + 0x2c], 0
mov ecx, eax
and ecx, 1
mov dword [esp + 0x18], ecx
mov ecx, eax
and eax, 8
shl eax, 0xa
and ecx, 0x20
shl ecx, 9
or ecx, eax
xor ecx, 0x4d5b
mov dword [esp + 0x34], ecx
mov dword [esp], 0
lea ebp, [esp + 0x38]
lea esi, [esp + 0x20]
jmp 0x4cd4f4
mov dword [esp], edi
mov byte [esp + edi + 0x78], 0
mov edi, eax
inc edi
cmp byte [eax], 0
je 0x4cd7c9
push 0x2e
push edi
call fcn.004cf090
add esp, 8
mov ebx, eax
mov dword [esp + 4], eax
sub ebx, edi
mov dword [esp + 0xc], ebx
mov dword [esp + 0x1c], 0
mov dword [esp + 0x28], 0x3f
push ebx
push edi
call fcn.004cf390
add esp, 8
test al, al
je 0x4cd560
cmp byte [esp + 8], 0
js 0x4cd541
cmp ebx, 4
jb 0x4cd541
cmp dword [edi], 0x2d2d6e78
je 0x4cd663
cmp ebx, 0x3f
ja 0x4cdaea
push ebx
push edi
push ebp
call sub.api_ms_win_crt_private_l1_1_0.dll_memcpy
add esp, 0xc
jmp 0x4cd709
mov byte [esp + 0x14], al
mov ecx, ebx
mov eax, edi
xor edi, edi
mov dword [esp + 0x24], 0
xor ebx, ebx
push dword [esp + 0x18]
push esi
lea edx, [esp + 0x24]
push edx
push ecx
push eax
call fcn.004cf260
add esp, 0x14
test eax, eax
jne 0x4cd6e0
cmp dword [esp + 0x10], 0
je 0x4cd6c1
mov dword [esp + 0x38], 0x2d2d6e78
mov dword [esp + 0x30], 0x3b
lea eax, [esp + 0x30]
push eax
lea eax, [esp + 0x40]
push eax
push dword [esp + 0x28]
push dword [esp + 0x28]
call fcn.004ce520
add esp, 0x10
test eax, eax
jne 0x4cd6e0
mov eax, dword [esp + 0x30]
lea ecx, [eax + 4]
cmp byte [esp + 0x14], 0
je 0x4cd75a
mov eax, 0xfffffec6
cmp ebx, ecx
jne 0x4cd7b8
cmp edi, ebp
mov dword [esp + 0x14], ecx
sete cl
test ebx, ebx
sete dl
or dl, cl
mov ecx, dword [esp + 0x14]
jne 0x4cd7b6
mov ecx, 1
nop dword [eax + eax]
movzx ebp, byte [edi + ecx - 1]
lea esi, [ebp - 0x41]
lea edx, [ebp + 0x20]
cmp esi, 0x1a
cmovae edx, ebp
movzx esi, byte [esp + ecx + 0x37]
lea ebp, [esi - 0x41]
lea eax, [esi + 0x20]
cmp ebp, 0x1a
cmovae eax, esi
movzx edx, dl
movzx ebp, al
cmp ebx, ecx
je 0x4cd645
test edx, edx
je 0x4cd645
inc ecx
cmp edx, ebp
je 0x4cd610
cmp edx, ebp
lea ebp, [esp + 0x38]
lea esi, [esp + 0x20]
mov eax, 0xfffffec6
mov ecx, dword [esp + 0x14]
je 0x4cd7b6
jmp 0x4cd6e5
mov byte [esp + 0x14], al
lea eax, [edi + 4]
lea ecx, [ebx - 4]
lea edx, [esp + 0x28]
push edx
lea esi, [esp + 0x17c]
push esi
push ecx
push eax
call fcn.004ce860
add esp, 0x10
test eax, eax
jne 0x4cdaef
mov dword [esp + 0xc], 0x3f
lea eax, [esp + 0xc]
push eax
push 0
push dword [esp + 0x30]
push esi
call fcn.00783ef0
add esp, 0x10
test eax, eax
je 0x4cdc59
mov ecx, dword [esp + 0xc]
mov dword [esp + 0x24], eax
lea esi, [esp + 0x20]
jmp 0x4cd574
push dword [esp + 0x20]
push dword [esp + 0x20]
push dword [esp + 0x3c]
call fcn.004cf3d0
add esp, 0xc
test eax, eax
je 0x4cd59b
nop dword [eax]
mov ebx, 0x3f
push dword [esp + 0x1c]
mov edi, eax
call fcn.004cef40
add esp, 4
push dword [esp + 0x24]
call fcn.004cef40
mov eax, edi
add esp, 4
test edi, edi
jne 0x4cdaef
mov eax, 0xfd
test ebx, ebx
jne 0x4cd723
mov eax, dword [esp + 4]
cmp byte [eax], 1
mov eax, 0
adc eax, 0xfd
mov ecx, dword [esp]
lea edi, [ebx + ecx]
cmp edi, eax
ja 0x4cd7bf
lea eax, [esp + ecx]
add eax, 0x78
push ebx
push ebp
push eax
call sub.api_ms_win_crt_private_l1_1_0.dll_memcpy
add esp, 0xc
mov eax, dword [esp + 4]
cmp byte [eax], 0x2e
jne 0x4cd4e0
mov byte [esp + edi + 0x78], 0x2e
inc edi
jmp 0x4cd4e0
cmp byte [esp + 8], 0
js 0x4cd7b6
mov ebx, ecx
lea ecx, [esp + 0x28]
push ecx
lea edi, [esp + 0x17c]
push edi
push eax
lea eax, [esp + 0x48]
push eax
call fcn.004ce860
add esp, 0x10
mov ecx, eax
mov eax, 0xfffffec6
test ecx, ecx
jne 0x4cd6e5
mov ecx, dword [esp + 0x20]
cmp ecx, dword [esp + 0x28]
jne 0x4cd6e5
push ecx
push edi
push dword [esp + 0x24]
call fcn.00783e10
add esp, 0xc
mov ecx, eax
mov eax, 0xfffffec6
test ecx, ecx
mov ecx, ebx
jne 0x4cd7b8
xor eax, eax
mov ebx, ecx
jmp 0x4cd6e5
mov eax, 0xffffff33
jmp 0x4cdaef
push dword [esp + 0x2c]
call fcn.004cef40
add esp, 4
xor eax, eax
mov edi, dword [esp + 0x28c]
test edi, edi
je 0x4cd48d
mov esi, dword [esp]
inc esi
push esi
call sub.api_ms_win_crt_heap_l1_1_0.dll_malloc
add esp, 4
test eax, eax
je 0x4cdc4f
lea ecx, [esp + 0x78]
push esi
push ecx
push eax
mov esi, eax
call sub.api_ms_win_crt_private_l1_1_0.dll_memcpy
add esp, 0xc
mov dword [edi], esi
xor eax, eax
jmp 0x4cd48d
xor ebx, ebx
lea ebp, [esp + 0x78]
xor edi, edi
jmp 0x4cd84d
push 2
push ebp
call fcn.004cee00
add esp, 8
test eax, eax
je 0x4cd875
mov eax, dword [esp + 0x80]
and eax, 0x1f
add edi, eax
inc ebx
mov eax, dword [esp + 0x178]
lea ecx, [eax - 1]
cmp ebx, ecx
jae 0x4cd8d9
push ebp
push dword [esi + ebx*4]
call fcn.004cec60
add esp, 8
push 0x10
push ebp
call fcn.004cee00
add esp, 8
test eax, eax
je 0x4cd81f
cmp dword [esi + ebx*4], 0
jne 0x4cdc04
inc edi
jmp 0x4cd83a
push 1
push ebp
call fcn.004cee00
add esp, 8
test eax, eax
jne 0x4cd872
push 4
push ebp
call fcn.004cee00
add esp, 8
test eax, eax
jne 0x4cd83a
push 8
push ebp
call fcn.004cee00
add esp, 8
test eax, eax
je 0x4cd8ab
cmp dword [esp + 0x10], 0
jne 0x4cd82e
jmp 0x4cd872
test byte [esp + 8], 0x20
jne 0x4cd83a
push 0x40
push ebp
call fcn.004cee00
add esp, 8
test eax, eax
jne 0x4cd872
push 0x20
push ebp
call fcn.004cee00
add esp, 8
test eax, eax
jne 0x4cd82e
jmp 0x4cd83a
cmp eax, 1
sete bl
cmp edi, 0xff
jb 0x4cd8fa
push esi
call fcn.004cef40
add esp, 4
mov eax, 0xffffff33
jmp 0x4cd48d
lea eax, [edi*4 + 4]
push eax
call sub.api_ms_win_crt_heap_l1_1_0.dll_malloc
add esp, 4
mov dword [esp + 4], eax
test eax, eax
je 0x4cdad7
mov eax, ebx
xor ebx, ebx
test al, al
je 0x4cdb04
push esi
call fcn.004cef40
add esp, 4
mov esi, dword [esp + 4]
mov dword [esi + ebx*4], 0
inc ebx
mov eax, dword [0xb5af40]
lea ecx, [esp + 0x178]
push ecx
push 0
push ebx
push esi
push eax
call fcn.00783610
add esp, 0x14
mov edi, eax
push esi
call fcn.004cef40
add esp, 4
test edi, edi
je 0x4cdc80
mov ecx, dword [edi]
test ecx, ecx
je 0x4cdc17
xor eax, eax
cmp dword [esp + 0x10], 0
sete al
shl eax, 0xc
mov edx, dword [esp + 8]
and edx, 0x20
mov ebx, edx
shl ebx, 9
add eax, ebx
add eax, 0x100f
xor eax, 0x4000
mov dword [esp + 4], eax
xor eax, eax
test edx, edx
sete al
shl eax, 0xe
or eax, 0x200f
mov dword [esp + 0x24], eax
xor ebp, ebp
lea ebx, [esp + 0x78]
mov dword [esp + 0x18], edi
mov eax, edi
nop word cs:[eax + eax]
xor edx, edx
mov esi, ecx
mov edi, eax
test esi, esi
je 0x4cd9e2
nop word [eax + eax]
cmp esi, 0x2e
je 0x4cd9e2
mov esi, dword [edi + 4]
add edi, 4
add edx, 4
test esi, esi
jne 0x4cd9d0
mov esi, ebx
sar edx, 2
cmp edx, 4
setl bl
cmp ecx, 0x78
setne cl
or cl, bl
jne 0x4cda90
cmp dword [eax + 4], 0x6e
jne 0x4cda90
cmp dword [eax + 8], 0x2d
jne 0x4cda90
cmp dword [eax + 0xc], 0x2d
jne 0x4cda90
mov dword [esp + 0xc], 0x3f
add eax, 0x10
add edx, 0xfffffffc
lea ecx, [esp + 0x38]
push ecx
push 0
push edx
push eax
call fcn.00783ef0
add esp, 0x10
test eax, eax
je 0x4cdc74
mov ecx, eax
mov ebx, esi
lea eax, [esp + 0xc]
push eax
push esi
push dword [esp + 0x40]
push ecx
mov esi, ecx
call fcn.004ce860
add esp, 0x10
mov dword [esp], eax
push esi
call fcn.004cef40
mov eax, dword [esp + 4]
add esp, 4
test eax, eax
jne 0x4cdc9b
push dword [esp + 0xc]
push ebx
push dword [esp + 0x2c]
call fcn.004cf3d0
add esp, 0xc
test eax, eax
cmovne ebp, eax
jmp 0x4cdaa5
push edx
push eax
push dword [esp + 0xc]
call fcn.004cf3d0
add esp, 0xc
test eax, eax
cmovne ebp, eax
mov ebx, esi
xor ecx, ecx
cmp dword [edi], 0
setne cl
lea eax, [edi + ecx*4]
mov ecx, dword [edi + ecx*4]
test ecx, ecx
jne 0x4cd9c0
test ebp, ebp
mov edi, dword [esp + 0x18]
je 0x4cdc17
push edi
call fcn.004cef40
add esp, 4
mov eax, ebp
jmp 0x4cd48d
push esi
call fcn.004cef40
add esp, 4
mov eax, 0xffffff9c
jmp 0x4cd48d
mov eax, 0xffffff32
push dword [esp + 0x2c]
mov esi, eax
call fcn.004cef40
mov eax, esi
add esp, 4
jmp 0x4cd48d
xor ebp, ebp
xor ebx, ebx
mov dword [esp], esi
nop dword [eax + eax]
mov edi, dword [esi + ebp*4]
lea esi, [esp + 0x78]
push esi
push edi
call fcn.004cec60
add esp, 8
push 0x10
push esi
call fcn.004cee00
add esp, 8
test eax, eax
je 0x4cdb3a
mov eax, dword [esp + 4]
mov dword [eax + ebx*4], edi
inc ebx
jmp 0x4cdb5c
push 2
push esi
call fcn.004cee00
add esp, 8
test eax, eax
je 0x4cdb71
mov eax, dword [esp + 4]
lea eax, [eax + ebx*4]
push esi
push eax
call fcn.004cee60
add esp, 8
add ebx, eax
mov esi, dword [esp]
inc ebp
mov eax, dword [esp + 0x178]
dec eax
cmp ebp, eax
jb 0x4cdb10
jmp 0x4cd922
push 1
push esi
call fcn.004cee00
add esp, 8
test eax, eax
jne 0x4cdb30
push 4
push esi
call fcn.004cee00
add esp, 8
test eax, eax
jne 0x4cdb5c
push 8
push esi
call fcn.004cee00
add esp, 8
test eax, eax
je 0x4cdbb2
cmp dword [esp + 0x10], 0
mov esi, dword [esp]
jne 0x4cdbe8
mov eax, dword [esp + 4]
mov dword [eax + ebx*4], edi
inc ebx
jmp 0x4cdb5f
test byte [esp + 8], 0x20
jne 0x4cdb5c
push 0x40
lea esi, [esp + 0x7c]
push esi
call fcn.004cee00
add esp, 8
test eax, eax
jne 0x4cdb30
push 0x20
push esi
call fcn.004cee00
add esp, 8
test eax, eax
jne 0x4cdb49
jmp 0x4cdb5c
mov eax, dword [esp + 4]
lea eax, [eax + ebx*4]
lea ecx, [esp + 0x78]
push ecx
push eax
call fcn.004cee60
add esp, 8
add ebx, eax
jmp 0x4cdb5f
push esi
call fcn.004cef40
add esp, 4
mov eax, 0xfffffed0
jmp 0x4cd48d
lea eax, [esp + 0x178]
push eax
push 0
push dword [esp + 0x180]
push edi
call fcn.00783ef0
add esp, 0x10
mov esi, eax
push edi
call fcn.004cef40
add esp, 4
test esi, esi
je 0x4cdc80
mov dword [esp + 0x2c], esi
mov edi, esi
mov eax, dword [esp + 8]
jmp 0x4cd4a9
mov eax, 0xffffff9c
jmp 0x4cd48d
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__errno]
cmp dword [eax], 0xc
mov ecx, 0xffffff9c
mov eax, 0xffffff38
cmove eax, ecx
jmp 0x4cdaef
push dword [esp + 0x18]
call fcn.004cef40
add esp, 4
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__errno]
cmp dword [eax], 0xc
mov ecx, 0xffffff9c
mov eax, 0xffffff38
cmove eax, ecx
jmp 0x4cd48d
push dword [esp + 0x18]
jmp 0x4cdaf3