Function at 0x4cef90
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 0x4cf041
mov ecx, dword [esp + 0x290]
mov edx, ecx
and edx, 0xc
mov eax, 0xffffff2f
cmp edx, 0xc
je 0x4cf04d
test edx, edx
setne dl
mov ebx, ecx
not ebx
test bl, 0x82
je 0x4cf04d
mov ebx, ecx
and ebx, 0x40
shr ebx, 6
and dl, bl
jne 0x4cf04d
mov eax, ecx
or eax, 8
test cl, 0x44
cmovne eax, ecx
test al, 0x40
mov dword [esp + 8], eax
jne 0x4cf058
push edi
call fcn.00786240
add esp, 4
inc eax
lea ecx, [esp + 0x178]
push ecx
push 0
push eax
push edi
call fcn.00786250
add esp, 0x10
test eax, eax
je 0x4cf840
mov esi, eax
mov eax, dword [esp + 8]
and eax, 4
mov dword [esp + 0x10], eax
cmp dword [esp + 0x178], 1
jne 0x4cf3d5
mov bl, 1
xor edi, edi
jmp 0x4cf4ba
xor eax, eax
test ecx, ecx
je 0x4cf04d
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 0x4cf0b4
mov dword [esp], edi
mov byte [esp + edi + 0x78], 0
mov edi, eax
inc edi
cmp byte [eax], 0
je 0x4cf389
push 0x2e
push edi
call fcn.004d0c50
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.004d0f50
add esp, 8
test al, al
je 0x4cf120
cmp byte [esp + 8], 0
js 0x4cf101
cmp ebx, 4
jb 0x4cf101
cmp dword [edi], 0x2d2d6e78
je 0x4cf223
cmp ebx, 0x3f
ja 0x4cf6aa
push ebx
push edi
push ebp
call sub.api_ms_win_crt_private_l1_1_0.dll_memcpy
add esp, 0xc
jmp 0x4cf2c9
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.004d0e20
add esp, 0x14
test eax, eax
jne 0x4cf2a0
cmp dword [esp + 0x10], 0
je 0x4cf281
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.004d00e0
add esp, 0x10
test eax, eax
jne 0x4cf2a0
mov eax, dword [esp + 0x30]
lea ecx, [eax + 4]
cmp byte [esp + 0x14], 0
je 0x4cf31a
mov eax, 0xfffffec6
cmp ebx, ecx
jne 0x4cf378
cmp edi, ebp
mov dword [esp + 0x14], ecx
sete cl
test ebx, ebx
sete dl
or dl, cl
mov ecx, dword [esp + 0x14]
jne 0x4cf376
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 0x4cf205
test edx, edx
je 0x4cf205
inc ecx
cmp edx, ebp
je 0x4cf1d0
cmp edx, ebp
lea ebp, [esp + 0x38]
lea esi, [esp + 0x20]
mov eax, 0xfffffec6
mov ecx, dword [esp + 0x14]
je 0x4cf376
jmp 0x4cf2a5
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.004d0420
add esp, 0x10
test eax, eax
jne 0x4cf6af
mov dword [esp + 0xc], 0x3f
lea eax, [esp + 0xc]
push eax
push 0
push dword [esp + 0x30]
push esi
call fcn.00785ef0
add esp, 0x10
test eax, eax
je 0x4cf819
mov ecx, dword [esp + 0xc]
mov dword [esp + 0x24], eax
lea esi, [esp + 0x20]
jmp 0x4cf134
push dword [esp + 0x20]
push dword [esp + 0x20]
push dword [esp + 0x3c]
call fcn.004d0f90
add esp, 0xc
test eax, eax
je 0x4cf15b
nop dword [eax]
mov ebx, 0x3f
push dword [esp + 0x1c]
mov edi, eax
call fcn.004d0b00
add esp, 4
push dword [esp + 0x24]
call fcn.004d0b00
mov eax, edi
add esp, 4
test edi, edi
jne 0x4cf6af
mov eax, 0xfd
test ebx, ebx
jne 0x4cf2e3
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 0x4cf37f
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 0x4cf0a0
mov byte [esp + edi + 0x78], 0x2e
inc edi
jmp 0x4cf0a0
cmp byte [esp + 8], 0
js 0x4cf376
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.004d0420
add esp, 0x10
mov ecx, eax
mov eax, 0xfffffec6
test ecx, ecx
jne 0x4cf2a5
mov ecx, dword [esp + 0x20]
cmp ecx, dword [esp + 0x28]
jne 0x4cf2a5
push ecx
push edi
push dword [esp + 0x24]
call fcn.00785e10
add esp, 0xc
mov ecx, eax
mov eax, 0xfffffec6
test ecx, ecx
mov ecx, ebx
jne 0x4cf378
xor eax, eax
mov ebx, ecx
jmp 0x4cf2a5
mov eax, 0xffffff33
jmp 0x4cf6af
push dword [esp + 0x2c]
call fcn.004d0b00
add esp, 4
xor eax, eax
mov edi, dword [esp + 0x28c]
test edi, edi
je 0x4cf04d
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 0x4cf80f
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 0x4cf04d
xor ebx, ebx
lea ebp, [esp + 0x78]
xor edi, edi
jmp 0x4cf40d
push 2
push ebp
call fcn.004d09c0
add esp, 8
test eax, eax
je 0x4cf435
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 0x4cf499
push ebp
push dword [esi + ebx*4]
call fcn.004d0820
add esp, 8
push 0x10
push ebp
call fcn.004d09c0
add esp, 8
test eax, eax
je 0x4cf3df
cmp dword [esi + ebx*4], 0
jne 0x4cf7c4
inc edi
jmp 0x4cf3fa
push 1
push ebp
call fcn.004d09c0
add esp, 8
test eax, eax
jne 0x4cf432
push 4
push ebp
call fcn.004d09c0
add esp, 8
test eax, eax
jne 0x4cf3fa
push 8
push ebp
call fcn.004d09c0
add esp, 8
test eax, eax
je 0x4cf46b
cmp dword [esp + 0x10], 0
jne 0x4cf3ee
jmp 0x4cf432
test byte [esp + 8], 0x20
jne 0x4cf3fa
push 0x40
push ebp
call fcn.004d09c0
add esp, 8
test eax, eax
jne 0x4cf432
push 0x20
push ebp
call fcn.004d09c0
add esp, 8
test eax, eax
jne 0x4cf3ee
jmp 0x4cf3fa
cmp eax, 1
sete bl
cmp edi, 0xff
jb 0x4cf4ba
push esi
call fcn.004d0b00
add esp, 4
mov eax, 0xffffff33
jmp 0x4cf04d
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 0x4cf697
mov eax, ebx
xor ebx, ebx
test al, al
je 0x4cf6c4
push esi
call fcn.004d0b00
add esp, 4
mov esi, dword [esp + 4]
mov dword [esi + ebx*4], 0
inc ebx
mov eax, dword [0xad5e14]
lea ecx, [esp + 0x178]
push ecx
push 0
push ebx
push esi
push eax
call fcn.00785610
add esp, 0x14
mov edi, eax
push esi
call fcn.004d0b00
add esp, 4
test edi, edi
je 0x4cf840
mov ecx, dword [edi]
test ecx, ecx
je 0x4cf7d7
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 0x4cf5a2
nop word [eax + eax]
cmp esi, 0x2e
je 0x4cf5a2
mov esi, dword [edi + 4]
add edi, 4
add edx, 4
test esi, esi
jne 0x4cf590
mov esi, ebx
sar edx, 2
cmp edx, 4
setl bl
cmp ecx, 0x78
setne cl
or cl, bl
jne 0x4cf650
cmp dword [eax + 4], 0x6e
jne 0x4cf650
cmp dword [eax + 8], 0x2d
jne 0x4cf650
cmp dword [eax + 0xc], 0x2d
jne 0x4cf650
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.00785ef0
add esp, 0x10
test eax, eax
je 0x4cf834
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.004d0420
add esp, 0x10
mov dword [esp], eax
push esi
call fcn.004d0b00
mov eax, dword [esp + 4]
add esp, 4
test eax, eax
jne 0x4cf85b
push dword [esp + 0xc]
push ebx
push dword [esp + 0x2c]
call fcn.004d0f90
add esp, 0xc
test eax, eax
cmovne ebp, eax
jmp 0x4cf665
push edx
push eax
push dword [esp + 0xc]
call fcn.004d0f90
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 0x4cf580
test ebp, ebp
mov edi, dword [esp + 0x18]
je 0x4cf7d7
push edi
call fcn.004d0b00
add esp, 4
mov eax, ebp
jmp 0x4cf04d
push esi
call fcn.004d0b00
add esp, 4
mov eax, 0xffffff9c
jmp 0x4cf04d
mov eax, 0xffffff32
push dword [esp + 0x2c]
mov esi, eax
call fcn.004d0b00
mov eax, esi
add esp, 4
jmp 0x4cf04d
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.004d0820
add esp, 8
push 0x10
push esi
call fcn.004d09c0
add esp, 8
test eax, eax
je 0x4cf6fa
mov eax, dword [esp + 4]
mov dword [eax + ebx*4], edi
inc ebx
jmp 0x4cf71c
push 2
push esi
call fcn.004d09c0
add esp, 8
test eax, eax
je 0x4cf731
mov eax, dword [esp + 4]
lea eax, [eax + ebx*4]
push esi
push eax
call fcn.004d0a20
add esp, 8
add ebx, eax
mov esi, dword [esp]
inc ebp
mov eax, dword [esp + 0x178]
dec eax
cmp ebp, eax
jb 0x4cf6d0
jmp 0x4cf4e2
push 1
push esi
call fcn.004d09c0
add esp, 8
test eax, eax
jne 0x4cf6f0
push 4
push esi
call fcn.004d09c0
add esp, 8
test eax, eax
jne 0x4cf71c
push 8
push esi
call fcn.004d09c0
add esp, 8
test eax, eax
je 0x4cf772
cmp dword [esp + 0x10], 0
mov esi, dword [esp]
jne 0x4cf7a8
mov eax, dword [esp + 4]
mov dword [eax + ebx*4], edi
inc ebx
jmp 0x4cf71f
test byte [esp + 8], 0x20
jne 0x4cf71c
push 0x40
lea esi, [esp + 0x7c]
push esi
call fcn.004d09c0
add esp, 8
test eax, eax
jne 0x4cf6f0
push 0x20
push esi
call fcn.004d09c0
add esp, 8
test eax, eax
jne 0x4cf709
jmp 0x4cf71c
mov eax, dword [esp + 4]
lea eax, [eax + ebx*4]
lea ecx, [esp + 0x78]
push ecx
push eax
call fcn.004d0a20
add esp, 8
add ebx, eax
jmp 0x4cf71f
push esi
call fcn.004d0b00
add esp, 4
mov eax, 0xfffffed0
jmp 0x4cf04d
lea eax, [esp + 0x178]
push eax
push 0
push dword [esp + 0x180]
push edi
call fcn.00785ef0
add esp, 0x10
mov esi, eax
push edi
call fcn.004d0b00
add esp, 4
test esi, esi
je 0x4cf840
mov dword [esp + 0x2c], esi
mov edi, esi
mov eax, dword [esp + 8]
jmp 0x4cf069
mov eax, 0xffffff9c
jmp 0x4cf04d
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 0x4cf6af
push dword [esp + 0x18]
call fcn.004d0b00
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 0x4cf04d
push dword [esp + 0x18]
jmp 0x4cf6b3