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

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff0
sub esp, 0x340
mov edi, ecx
mov ecx, dword [ebp + 0x14]
mov edx, dword [ebp + 0xc]
mov ebx, dword [ebp + 8]
mov eax, dword [0x567b10]
xor eax, ebp
mov dword [esp + 0x338], eax
mov eax, dword [edi + 8]
mov eax, dword [eax + 0x1c]
test byte [eax], 0x20
mov esi, dword [ecx]
je 0x4efb70
cmp esi, 2
jb 0x4efb70
mov eax, esi
shl eax, 4
cmp word [eax + edx - 0x14], 0x43
jne 0x4efb70
and byte [ebx + 0xe], 0xfd
mov eax, dword [ebp + 0x14]
mov esi, dword [eax]
lea eax, [esp + 0x2b8]
mov dword [esp + 0x2ac], eax
mov dword [esp + 0x2b0], 0
mov dword [esp + 0x2b4], 0x80
mov eax, dword [ebx]
mov dword [esp + 0x10], eax
mov eax, esi
shl eax, 4
cmp word [edx + eax + 0xc], 0x43
sete al
mov dword [esp + 0xc], edi
nop dword [eax]
mov ecx, esi
shl ecx, 4
mov ecx, dword [edx + ecx]
test al, 1
mov dword [esp + 0x18], ecx
je 0x4efbc8
add esi, 1
mov eax, dword [ebp + 0x14]
mov dword [eax], esi
shl esi, 4
mov eax, esi
mov dword [esp + 4], esi
mov esi, dword [edx + esi + 4]
add esi, dword [ebx + 4]
mov eax, dword [esp + 0x2b0]
cmp eax, esi
jbe 0x4efbf0
mov dword [esp + 0x2b0], esi
jmp 0x4efc40
jae 0x4efc40
cmp dword [esp + 0x2b4], esi
jae 0x4efc19
lea ecx, [esp + 0x2ac]
push 1
push esi
lea eax, [esp + 0x2c0]
push eax
call fcn.00424880
mov eax, dword [esp + 0x2b0]
mov ecx, esi
sub ecx, eax
je 0x4efbe3
add eax, dword [esp + 0x2ac]
push ecx
push 0
push eax
call sub.VCRUNTIME140.dll_memset
add esp, 0xc
jmp 0x4efbe3
mov eax, dword [esp + 0x2ac]
mov dword [esp + 0x6c], eax
mov byte [esp + 0x6b], 0
mov eax, dword [edi + 8]
lea ecx, [esp + 0x6b]
push ecx
push dword [eax + 0x1c]
push dword [eax + 0x2c]
lea eax, [esp + 0x78]
push eax
push ebx
call fcn.004ba040
add esp, 0x14
mov esi, eax
mov eax, dword [esp + 0x6c]
mov ecx, dword [esp + 0x2ac]
cmp eax, ecx
je 0x4efc88
push esi
push eax
push ecx
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
cmp byte [esp + 0x6b], 0
mov ecx, dword [esp + 4]
jne 0x4f020a
mov eax, dword [ebp + 0xc]
add eax, ecx
mov ecx, dword [esp + 0x2ac]
add ecx, esi
mov dword [esp + 0x6c], ecx
mov ecx, dword [esp + 0xc]
mov ecx, dword [ecx + 8]
lea edx, [esp + 0x6b]
push edx
push dword [ecx + 0x1c]
push dword [ecx + 0x2c]
lea ecx, [esp + 0x78]
push ecx
push eax
call fcn.004ba040
add esp, 0x14
cmp byte [esp + 0x6b], 0
jne 0x4f020a
mov edi, eax
test eax, eax
je 0x4efcf6
mov eax, dword [esp + 0x6c]
mov ecx, dword [esp + 0x2ac]
add ecx, esi
cmp eax, ecx
je 0x4efcf6
push edi
push eax
push ecx
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
mov dword [esp + 0x14], esi
add esi, edi
mov eax, dword [esp + 0x2b0]
cmp eax, esi
ja 0x4efd50
jae 0x4efd59
cmp dword [esp + 0x2b4], esi
jae 0x4efd30
lea ecx, [esp + 0x2ac]
push 1
push esi
lea eax, [esp + 0x2c0]
push eax
call fcn.00424880
mov eax, dword [esp + 0x2b0]
mov ecx, esi
sub ecx, eax
je 0x4efd50
add eax, dword [esp + 0x2ac]
push ecx
push 0
push eax
call sub.VCRUNTIME140.dll_memset
add esp, 0xc
nop dword [eax]
mov dword [esp + 0x2b0], esi
mov eax, esi
xorps xmm0, xmm0
movaps xmmword [esp + 0x50], xmm0
mov word [esp + 0x5c], 0xd
mov ecx, dword [esp + 0xc]
mov ecx, dword [ecx + 8]
push 0
push 0
lea edx, [esp + 0x58]
push edx
push eax
push dword [esp + 0x2bc]
call fcn.004c4b60
mov eax, dword [esp + 0x50]
mov ecx, dword [esp + 0x58]
mov dword [esp + 8], ecx
mov ecx, dword [ebx + 0xc]
add ecx, 0xfffffffb
cmp cx, 1
ja 0x4efdf0
mov ecx, dword [ebp + 0xc]
mov edx, dword [esp + 4]
mov ecx, dword [ecx + edx + 0xc]
add ecx, 0xfffffffb
cmp cx, 1
ja 0x4efdf0
mov edi, dword [esp + 0xc]
mov ecx, dword [edi + 8]
add dword [ecx + 0x52c], 1
xorps xmm0, xmm0
movaps xmmword [esp + 0x40], xmm0
mov word [esp + 0x4c], 6
mov ecx, dword [esp + 8]
mov dword [esp + 0x48], ecx
mov dword [esp + 0x40], eax
mov dword [esp + 0x44], esi
jmp 0x4f01c0
mov ebx, dword [esp + 0xc]
mov ecx, dword [ebx + 8]
add dword [ecx + 0x528], 1
mov ecx, dword [ebx + 8]
mov esi, dword [ecx + 0x2c]
mov ecx, esi
push eax
lea eax, [esp + 0x40]
push eax
call fcn.0045b580
mov byte [esp + 0x3b], 0
mov ecx, esi
lea eax, [esp + 0x3b]
push eax
push dword [esp + 0x40]
lea eax, [esp + 0x78]
push eax
call fcn.00450c10
cmp byte [esp + 0x3b], 0
jne 0x4f0399
mov eax, dword [esp + 0x70]
mov dword [esp + 0x1c], eax
mov eax, dword [esp + 0x14]
mov edx, dword [esp + 8]
add eax, edx
add eax, edi
mov edi, eax
mov eax, dword [ebx + 8]
mov eax, dword [eax + 0x1c]
mov dword [esp + 0x14], eax
mov ecx, dword [esp + 0x3c]
mov byte [esp + 0x24], 0
lea eax, [ecx + 1]
cmp eax, 2
mov ebx, dword [ebp + 8]
jae 0x4f0060
xor eax, eax
lea esi, [esp + 0x70]
mov ecx, esi
push edi
push edx
push dword [esp + 0x24]
push dword [esp + 0x20]
push eax
call fcn.004b9450
mov ecx, esi
lea eax, [esp + 0x40]
push eax
call fcn.004bfee0
mov eax, dword [esp + 0x294]
cmp eax, dword [esp + 0xc8]
jne 0x4efed0
movzx eax, word [esp + 0x4c]
cmp ax, 1
je 0x4efed0
mov dword [esp + 4], 0
cmp ax, 0x43
mov edi, dword [esp + 0xc]
jne 0x4f0180
mov word [esp + 0x4c], 0
jmp 0x4f0180
mov edi, dword [esp + 0xc]
mov eax, dword [edi + 8]
mov ecx, dword [eax + 0x2c]
mov eax, dword [edi + 0x18]
mov edx, dword [edi + 0x1c]
sub esp, 0x20
movaps xmm0, xmmword [0x55f690]
movups xmmword [esp + 0x10], xmm0
mov dword [esp + 0xc], edx
mov dword [esp + 8], eax
mov eax, dword [esp + 0x38]
mov dword [esp + 4], eax
lea eax, [esp + 0x54]
mov dword [esp], eax
call fcn.0044fc20
mov eax, dword [edi + 8]
mov ecx, dword [eax + 0x1c]
mov ecx, dword [ecx]
test cl, 0x20
je 0x4eff50
cmp word [ebx + 0xc], 0x2a
jne 0x4eff50
mov edx, dword [ebp + 0xc]
mov esi, dword [esp + 4]
cmp word [edx + esi + 0xc], 0x2a
jne 0x4eff50
mov ecx, edi
push dword [esp + 0x34]
push ebx
call fcn.004f0920
mov dword [esp + 4], 1
jmp 0x4f0180
mov dword [esp + 4], 2
test ecx, 0x8000000
jne 0x4f0180
test cl, 0x20
mov ecx, 0x3ec
mov edx, 0x37d
cmove ecx, edx
mov edx, dword [esp + 0x34]
mov esi, dword [eax + 0x18]
mov dword [esi + 0xdc], edx
mov dword [esi + 0xe0], ecx
lea eax, [esi + 0xc4]
cmp dword [esi + 0xd8], 0x10
jb 0x4eff98
mov eax, dword [eax]
mov dword [esi + 0xd4], 0
mov byte [eax], 0
lea eax, [esi + 0xe4]
mov dword [esp + 0x24], eax
mov dword [esp + 0x28], 0
mov dword [esp + 0x2c], esi
mov word [esp + 0x30], 1
mov byte [esi + 0xe4], 0
mov dword [esi + 0x20c], 0
mov dword [esp + 8], esi
mov eax, dword [esi + 0x278]
test eax, eax
je 0x4f0072
mov ecx, dword [esp + 8]
mov ebx, dword [ecx + 0x274]
imul edi, eax, 0x34
jmp 0x4f0024
push esi
push ecx
call fcn.00533ac0
add esp, 8
mov dword [ebx + edi - 0xc], 0
mov dword [ebx + edi - 8], 0xf
mov byte [ebx + edi - 0x1c], 0
add edi, 0xffffffcc
je 0x4f0072
mov eax, dword [ebx + edi - 8]
cmp eax, 0x10
jb 0x4f000a
mov ecx, dword [ebx + edi - 0x1c]
lea esi, [eax + 1]
cmp esi, 0x1000
jb 0x4f0000
mov edx, dword [ecx - 4]
add ecx, 0xfffffffc
sub ecx, edx
cmp ecx, 0x20
jae 0x4f03d1
add eax, 0x24
mov esi, eax
mov ecx, edx
jmp 0x4f0000
test ecx, ecx
js 0x4f0105
add esi, 0x6c
mov eax, ecx
jmp 0x4f0126
mov eax, dword [esp + 8]
mov dword [eax + 0x278], 0
lea ecx, [esp + 0x24]
push dword [esp + 0x2b0]
push dword [esp + 0x2b0]
call fcn.004545a0
cmp byte [esp + 0x30], 0
je 0x4f00bc
mov ecx, dword [esp + 0x2c]
movzx eax, byte [esp + 0x31]
push eax
call fcn.0045a620
mov dword [esp + 0x2c], 0
mov word [esp + 0x30], 0
mov esi, dword [esp + 0x24]
test esi, esi
mov edi, dword [esp + 0xc]
mov ebx, dword [ebp + 8]
je 0x4f0180
mov eax, dword [esp + 0x28]
test eax, eax
je 0x4f0180
cmp eax, esi
ja 0x4f0163
lea ecx, [eax + 0x2d40]
cmp ecx, esi
jb 0x4f0163
mov ecx, dword [eax + 0x2d80]
lea edx, [ecx + 1]
mov dword [eax + 0x2d80], edx
mov dword [eax + ecx*4 + 0x2d40], esi
jmp 0x4f0180
mov eax, 0xfffffffe
sub eax, ecx
mov ecx, eax
shr ecx, 5
mov edx, dword [esi + 0x8c]
mov ecx, dword [edx + ecx*4]
bt ecx, eax
jae 0x4f0145
add esi, 0x78
mov edx, dword [esp + 8]
mov ecx, dword [esi]
test ecx, ecx
je 0x4efe6e
lea eax, [eax + eax*4]
lea eax, [ecx + eax*4]
mov eax, dword [eax]
test eax, eax
jns 0x4efe70
jmp 0x4efe6e
mov ecx, esi
lea edx, [esp + 0x24]
push edx
push eax
call fcn.0044fcd0
cmp byte [esp + 0x24], 0
mov edx, dword [esp + 8]
jne 0x4efe6e
jmp 0x4f0136
mov ecx, esi
call fcn.00454310
push esi
call fcn.00533f45
add esp, 4
nop word cs:[eax + eax]
nop dword [eax]
mov dword [esp + 0x70], fcn.00404940
lea ecx, [esp + 0xd0]
call fcn.00406fa0
mov dword [esp + 0x70], 0x55ba2c
mov eax, dword [esp + 0x98]
lea ecx, [esp + 0xa4]
cmp eax, ecx
je 0x4f01b8
push eax
call dword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
add esp, 4
mov eax, dword [esp + 4]
test eax, eax
jne 0x4f0211
movzx eax, word [ebx + 0xe]
mov ecx, eax
and ecx, 1
movzx edx, word [esp + 0x4e]
and edx, 0xfffffffc
or edx, ecx
and eax, 2
or eax, edx
mov word [esp + 0x4e], ax
mov eax, dword [ebp + 0x14]
add dword [eax], 1
movaps xmm0, xmmword [esp + 0x40]
movups xmmword [ebx], xmm0
mov esi, dword [eax]
cmp esi, dword [ebp + 0x10]
je 0x4f0221
mov ecx, esi
shl ecx, 4
mov al, 1
mov edx, dword [ebp + 0xc]
cmp word [edx + ecx + 0xc], 0x43
je 0x4efbb0
jmp 0x4f0224
mov bl, 1
jmp 0x4f039b
mov bl, 1
cmp eax, 2
jne 0x4f039b
mov eax, dword [ebp + 0x14]
mov esi, dword [eax]
mov edx, dword [ebp + 0xc]
shl esi, 4
mov esi, dword [esi + edx - 0x10]
mov ecx, dword [edi + 8]
mov eax, dword [esp + 0x10]
test eax, eax
js 0x4f0265
mov dword [esp + 4], ecx
mov ecx, 0x7fffffff
and ecx, dword [edi + 0x28]
mov edx, eax
sub edx, ecx
mov ebx, edi
mov edi, dword [edi + 0x2c]
add edi, ecx
cmp eax, edi
mov edi, 0
cmovae edx, edi
cmp eax, ecx
mov ecx, dword [esp + 4]
cmovb edx, edi
add edx, dword [ebx + 0x20]
mov eax, edx
mov dword [esp + 0x10], eax
mov eax, dword [ecx + 0x2c]
mov dword [esp + 4], eax
test esi, esi
js 0x4f02a0
mov eax, 0x7fffffff
mov ebx, dword [esp + 0xc]
and eax, dword [ebx + 0x28]
mov ecx, esi
sub ecx, eax
mov edx, dword [ebx + 0x2c]
add edx, eax
xor edi, edi
cmp esi, edx
cmovae ecx, edi
cmp esi, eax
cmovb ecx, edi
mov eax, dword [ebx + 0x20]
add ecx, eax
mov dword [esp + 8], ecx
jmp 0x4f02ab
mov dword [esp + 8], esi
mov eax, dword [esp + 0xc]
mov eax, dword [eax + 0x20]
mov esi, dword [esp + 4]
mov ecx, esi
push eax
lea eax, [esp + 0x54]
push eax
call fcn.0045b580
mov ecx, esi
push dword [esp + 0x10]
lea eax, [esp + 0x74]
push eax
call fcn.0045b580
mov eax, dword [esp + 0x70]
cmp eax, dword [esp + 0x50]
jne 0x4f02e4
mov ebx, dword [esp + 0x10]
lea edi, [esp + 0x70]
mov esi, dword [esp + 4]
jmp 0x4f0310
mov ebx, dword [esp + 0x10]
lea edi, [esp + 0x70]
mov esi, dword [esp + 4]
mov ecx, esi
push ebx
push edi
call fcn.00451860
mov ebx, dword [esp + 0x70]
mov ecx, esi
push ebx
push edi
call fcn.0045b580
mov eax, dword [esp + 0x70]
cmp eax, dword [esp + 0x50]
jne 0x4f02f0
mov dword [esp + 0x10], ebx
mov ecx, esi
push dword [esp + 8]
push edi
call fcn.0045b580
mov eax, dword [esp + 0x70]
cmp eax, dword [esp + 0x50]
mov ebx, esi
jne 0x4f0332
mov esi, dword [esp + 8]
jmp 0x4f0360
mov esi, dword [esp + 8]
nop word cs:[eax + eax]
mov ecx, ebx
push esi
push edi
call fcn.00451860
mov esi, dword [esp + 0x74]
mov ecx, ebx
push esi
push edi
call fcn.0045b580
mov eax, dword [esp + 0x70]
cmp eax, dword [esp + 0x50]
jne 0x4f0340
lea eax, [esp + 0x20]
mov ecx, ebx
push 0
push 0
push 1
mov edi, dword [ebp + 8]
push dword [edi + 4]
push esi
push dword [esp + 0x24]
push dword [edi]
push eax
call fcn.0044fc20
mov eax, dword [esp + 0x20]
mov dword [edi], eax
cmp word [edi + 0xc], 6
jne 0x4f0399
mov eax, dword [esp + 0xc]
mov ecx, dword [eax + 8]
push edi
call fcn.004c56d0
xor ebx, ebx
mov eax, dword [esp + 0x2ac]
lea ecx, [esp + 0x2b8]
cmp eax, ecx
je 0x4f03b7
push eax
call dword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
add esp, 4
mov ecx, dword [esp + 0x338]
xor ecx, ebp
call fcn.00533ace
mov eax, ebx
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret 0x10
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3