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

Disassembly:
push ebp
push ebx
push edi
push esi
sub esp, 0x84
mov ebx, dword [ecx]
mov ebp, dword [ecx + 4]
xor edi, edi
cmp ebx, ebp
je case.0x4f0e9a.84
cmp byte [ebx], 0x4c
jne case.0x4f0e9a.84
lea eax, [ebx + 1]
mov esi, ecx
mov dword [ecx], eax
mov ecx, ebp
sub ecx, eax
je case.0x4f0e9a.85
movsx eax, byte [eax]
lea edx, [eax - 0x54]
cmp edx, 0x25
ja case.0x4f0e9a.85
jmp dword [edx*4 + 0x525720]
cmp ecx, 2
jb case.0x4f0e9a.84
cmp al, 0x5f
jne case.0x4f0e9a.84
cmp byte [ebx + 2], 0x5a
jne case.0x4f0e9a.84
add ebx, 3
mov ecx, esi
mov dword [esi], ebx
call fcn.004ead30
test eax, eax
je case.0x4f0e9a.84
mov ecx, dword [esi]
cmp ecx, dword [esi + 4]
je case.0x4f0e9a.84
cmp byte [ecx], 0x45
jne case.0x4f0e9a.84
inc ecx
mov edi, eax
mov dword [esi], ecx
jmp case.0x4f0e9a.84
mov ecx, esi
call fcn.004eb6d0
test eax, eax
je case.0x4f0e9a.84
mov ebp, dword [esi]
mov edi, dword [esi + 4]
xor edx, edx
cmp edi, ebp
je 0x4f0f39
movsx ecx, byte [ebp]
xor edx, edx
add ecx, 0xffffffd0
cmp ecx, 9
ja 0x4f0f39
lea ebx, [ebp + 1]
nop dword [eax]
mov ecx, ebx
cmp edi, ebx
mov dword [esi], ebx
je 0x4f0f5d
movsx edx, byte [ecx]
lea ebx, [ecx + 1]
add edx, 0xffffffd0
cmp edx, 0xa
jb 0x4f0f20
dec ebx
jmp 0x4f0f5f
mov ecx, ebp
xor ebx, ebx
xor ebp, ebp
cmp ecx, edi
je 0x4f0f65
cmp byte [ecx], 0x45
jne 0x4f0f65
inc ecx
mov dword [esi], ecx
mov cl, 1
cmp ebp, ebx
jne 0x4f0f6b
xor edi, edi
test cl, cl
cmovne edi, eax
jmp case.0x4f0e9a.84
mov ebx, edi
xor edx, edx
cmp ecx, edi
jne 0x4f0f43
xor ecx, ecx
cmp ebp, ebx
je 0x4f0f51
xor edi, edi
test cl, cl
mov dword [esp + 8], edx
je case.0x4f0e9a.84
mov edi, dword [esi + 0x116c]
mov ecx, dword [edi + 4]
lea edx, [ecx + 0x20]
cmp edx, 0xff8
jb 0x4f0fb8
mov dword [esp + 0xc], eax
mov dword [esp], 0x1000
call sub.api_ms_win_crt_heap_l1_1_0.dll_malloc
test eax, eax
je 0x4f17ab
mov dword [eax], edi
mov dword [eax + 4], 0
mov dword [esi + 0x116c], eax
mov edi, eax
mov eax, dword [esp + 0xc]
xor ecx, ecx
add ecx, 0x20
mov edx, dword [esp + 8]
mov dword [edi + 4], ecx
mov esi, dword [esi + 0x116c]
or ebp, edx
or edx, ebx
mov ebx, edx
mov ecx, dword [esi + 4]
mov dword [esi + ecx - 0x14], 0x101013c
mov dword [esi + ecx - 0x18], 0x5266b4
mov dword [esi + ecx - 0x10], eax
lea edi, [esi + ecx - 0x18]
mov dword [esi + ecx - 8], ebx
mov dword [esi + ecx - 0xc], ebp
mov eax, edi
add esp, 0x84
pop esi
pop edi
pop ebx
pop ebp
ret
add ebx, 2
mov dword [esi], ebx
mov dword [esp + 0x2c], 0x52644c
mov dword [esp + 0x30], 0x52644e
movsd xmm0, qword [esp + 0x2c]
jmp 0x4f1771
add ebx, 2
mov dword [esi], ebx
mov dword [esp + 0x1c], str.__int128
mov dword [esp + 0x20], 0x52645b
movsd xmm0, qword [esp + 0x1c]
jmp 0x4f1771
add ebx, 2
mov dword [esi], ebx
mov dword [esp + 0x44], 0x526445
mov dword [esp + 0x48], 0x526446
movsd xmm0, qword [esp + 0x44]
jmp 0x4f1771
add ebx, 2
mov dword [esi], ebx
mov dword [esp + 0x34], 0x526449
mov dword [esp + 0x38], 0x52644b
movsd xmm0, qword [esp + 0x34]
jmp 0x4f1771
add ebx, 2
mov dword [esi], ebx
mov dword [esp + 0x24], 0x52644f
mov dword [esp + 0x28], 0x526452
movsd xmm0, qword [esp + 0x24]
jmp 0x4f1771
add ebx, 2
mov dword [esi], ebx
mov dword [esp + 0x6c], str.signed_char
mov dword [esp + 0x70], 0x526420
movsd xmm0, qword [esp + 0x6c]
jmp 0x4f1771
lea ecx, [ebx + 2]
mov eax, ebp
sub eax, ecx
mov dword [esi], ecx
cmp eax, 0x11
jb case.0x4f0e9a.84
movsx eax, byte [ebx + 2]
mov dword [esp + 8], ecx
mov dword [esp], eax
call dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_isxdigit]
test eax, eax
je case.0x4f0e9a.84
movsx eax, byte [ebx + 3]
mov dword [esp], eax
call dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_isxdigit]
test eax, eax
je case.0x4f0e9a.84
movsx eax, byte [ebx + 4]
mov dword [esp], eax
call dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_isxdigit]
test eax, eax
je case.0x4f0e9a.84
movsx eax, byte [ebx + 5]
mov dword [esp], eax
call dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_isxdigit]
test eax, eax
je case.0x4f0e9a.84
movsx eax, byte [ebx + 6]
mov dword [esp], eax
call dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_isxdigit]
test eax, eax
je case.0x4f0e9a.84
movsx eax, byte [ebx + 7]
mov dword [esp], eax
call dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_isxdigit]
test eax, eax
je case.0x4f0e9a.84
movsx eax, byte [ebx + 8]
mov dword [esp], eax
call dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_isxdigit]
test eax, eax
je case.0x4f0e9a.84
movsx eax, byte [ebx + 9]
mov dword [esp], eax
call dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_isxdigit]
test eax, eax
je case.0x4f0e9a.84
movsx eax, byte [ebx + 0xa]
mov dword [esp], eax
call dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_isxdigit]
test eax, eax
je case.0x4f0e9a.84
movsx eax, byte [ebx + 0xb]
mov dword [esp], eax
call dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_isxdigit]
test eax, eax
je case.0x4f0e9a.84
movsx eax, byte [ebx + 0xc]
mov dword [esp], eax
call dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_isxdigit]
test eax, eax
je case.0x4f0e9a.84
movsx eax, byte [ebx + 0xd]
mov dword [esp], eax
call dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_isxdigit]
test eax, eax
je case.0x4f0e9a.84
movsx eax, byte [ebx + 0xe]
mov dword [esp], eax
call dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_isxdigit]
test eax, eax
je case.0x4f0e9a.84
movsx eax, byte [ebx + 0xf]
mov dword [esp], eax
call dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_isxdigit]
test eax, eax
je case.0x4f0e9a.84
movsx eax, byte [ebx + 0x10]
mov dword [esp], eax
call dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_isxdigit]
test eax, eax
je case.0x4f0e9a.84
movsx eax, byte [ebx + 0x11]
mov dword [esp], eax
call dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_isxdigit]
test eax, eax
je case.0x4f0e9a.84
lea eax, [ebx + 0x12]
cmp eax, ebp
mov dword [esi], eax
mov dword [esp + 0xc], eax
je case.0x4f0e9a.84
mov eax, dword [esp + 0xc]
cmp byte [eax], 0x45
jne case.0x4f0e9a.84
add ebx, 0x13
mov dword [esi], ebx
mov edi, dword [esi + 0x116c]
mov ecx, dword [edi + 4]
lea eax, [ecx + 0x10]
cmp eax, 0xff8
jb 0x4f1281
mov dword [esp], 0x1000
call sub.api_ms_win_crt_heap_l1_1_0.dll_malloc
test eax, eax
je 0x4f17ab
mov dword [eax], edi
xor ecx, ecx
mov edi, eax
mov dword [eax + 4], 0
mov dword [esi + 0x116c], eax
add ecx, 0x10
mov dword [edi + 4], ecx
mov eax, dword [esi + 0x116c]
mov ecx, dword [eax + 4]
lea edi, [eax + ecx - 8]
mov dword [eax + ecx - 4], 0x101013f
mov dword [eax + ecx - 8], 0x5265c8
mov edx, dword [esp + 8]
mov dword [eax + ecx], edx
mov edx, dword [esp + 0xc]
mov dword [eax + ecx + 4], edx
jmp case.0x4f0e9a.84
add ebx, 2
mov dword [esi], ebx
mov dword [esp + 0x3c], 0x526447
mov dword [esp + 0x40], 0x526448
movsd xmm0, qword [esp + 0x3c]
jmp 0x4f1771
lea ecx, [ebx + 2]
mov eax, ebp
sub eax, ecx
mov dword [esi], ecx
cmp eax, 0x15
jb case.0x4f0e9a.84
movsx eax, byte [ebx + 2]
mov dword [esp + 8], ecx
mov dword [esp], eax
call dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_isxdigit]
test eax, eax
je case.0x4f0e9a.84
movsx eax, byte [ebx + 3]
mov dword [esp], eax
call dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_isxdigit]
test eax, eax
je case.0x4f0e9a.84
movsx eax, byte [ebx + 4]
mov dword [esp], eax
call dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_isxdigit]
test eax, eax
je case.0x4f0e9a.84
movsx eax, byte [ebx + 5]
mov dword [esp], eax
call dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_isxdigit]
test eax, eax
je case.0x4f0e9a.84
movsx eax, byte [ebx + 6]
mov dword [esp], eax
call dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_isxdigit]
test eax, eax
je case.0x4f0e9a.84
movsx eax, byte [ebx + 7]
mov dword [esp], eax
call dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_isxdigit]
test eax, eax
je case.0x4f0e9a.84
movsx eax, byte [ebx + 8]
mov dword [esp], eax
call dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_isxdigit]
test eax, eax
je case.0x4f0e9a.84
movsx eax, byte [ebx + 9]
mov dword [esp], eax
call dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_isxdigit]
test eax, eax
je case.0x4f0e9a.84
movsx eax, byte [ebx + 0xa]
mov dword [esp], eax
call dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_isxdigit]
test eax, eax
je case.0x4f0e9a.84
movsx eax, byte [ebx + 0xb]
mov dword [esp], eax
call dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_isxdigit]
test eax, eax
je case.0x4f0e9a.84
movsx eax, byte [ebx + 0xc]
mov dword [esp], eax
call dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_isxdigit]
test eax, eax
je case.0x4f0e9a.84
movsx eax, byte [ebx + 0xd]
mov dword [esp], eax
call dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_isxdigit]
test eax, eax
je case.0x4f0e9a.84
movsx eax, byte [ebx + 0xe]
mov dword [esp], eax
call dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_isxdigit]
test eax, eax
je case.0x4f0e9a.84
movsx eax, byte [ebx + 0xf]
mov dword [esp], eax
call dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_isxdigit]
test eax, eax
je case.0x4f0e9a.84
movsx eax, byte [ebx + 0x10]
mov dword [esp], eax
call dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_isxdigit]
test eax, eax
je case.0x4f0e9a.84
movsx eax, byte [ebx + 0x11]
mov dword [esp], eax
call dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_isxdigit]
test eax, eax
je case.0x4f0e9a.84
movsx eax, byte [ebx + 0x12]
mov dword [esp], eax
call dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_isxdigit]
test eax, eax
je case.0x4f0e9a.84
movsx eax, byte [ebx + 0x13]
mov dword [esp], eax
call dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_isxdigit]
test eax, eax
je case.0x4f0e9a.84
movsx eax, byte [ebx + 0x14]
mov dword [esp], eax
call dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_isxdigit]
test eax, eax
je case.0x4f0e9a.84
movsx eax, byte [ebx + 0x15]
mov dword [esp], eax
call dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_isxdigit]
test eax, eax
je case.0x4f0e9a.84
lea eax, [ebx + 0x16]
cmp eax, ebp
mov dword [esi], eax
mov dword [esp + 0xc], eax
je case.0x4f0e9a.84
mov eax, dword [esp + 0xc]
cmp byte [eax], 0x45
jne case.0x4f0e9a.84
add ebx, 0x17
mov dword [esi], ebx
mov edi, dword [esi + 0x116c]
mov ecx, dword [edi + 4]
lea eax, [ecx + 0x10]
cmp eax, 0xff8
jb 0x4f14ef
mov dword [esp], 0x1000
call sub.api_ms_win_crt_heap_l1_1_0.dll_malloc
test eax, eax
je 0x4f17ab
mov dword [eax], edi
xor ecx, ecx
mov edi, eax
mov dword [eax + 4], 0
mov dword [esi + 0x116c], eax
add ecx, 0x10
mov dword [edi + 4], ecx
mov eax, dword [esi + 0x116c]
mov ecx, dword [eax + 4]
mov dword [eax + ecx - 4], 0x1010140
lea edi, [eax + ecx - 8]
mov dword [eax + ecx - 8], 0x52663c
jmp 0x4f12a4
lea ecx, [ebx + 2]
mov eax, ebp
sub eax, ecx
mov dword [esi], ecx
cmp eax, 9
jb case.0x4f0e9a.84
movsx eax, byte [ebx + 2]
mov dword [esp + 8], ecx
mov dword [esp], eax
call dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_isxdigit]
test eax, eax
je case.0x4f0e9a.84
movsx eax, byte [ebx + 3]
mov dword [esp], eax
call dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_isxdigit]
test eax, eax
je case.0x4f0e9a.84
movsx eax, byte [ebx + 4]
mov dword [esp], eax
call dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_isxdigit]
test eax, eax
je case.0x4f0e9a.84
movsx eax, byte [ebx + 5]
mov dword [esp], eax
call dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_isxdigit]
test eax, eax
je case.0x4f0e9a.84
movsx eax, byte [ebx + 6]
mov dword [esp], eax
call dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_isxdigit]
test eax, eax
je case.0x4f0e9a.84
movsx eax, byte [ebx + 7]
mov dword [esp], eax
call dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_isxdigit]
test eax, eax
je case.0x4f0e9a.84
movsx eax, byte [ebx + 8]
mov dword [esp], eax
call dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_isxdigit]
test eax, eax
je case.0x4f0e9a.84
movsx eax, byte [ebx + 9]
mov dword [esp], eax
call dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_isxdigit]
test eax, eax
je case.0x4f0e9a.84
lea eax, [ebx + 0xa]
cmp eax, ebp
mov dword [esi], eax
je case.0x4f0e9a.84
cmp byte [eax], 0x45
jne case.0x4f0e9a.84
add ebx, 0xb
mov ebp, eax
mov dword [esi], ebx
mov edi, dword [esi + 0x116c]
mov ecx, dword [edi + 4]
lea eax, [ecx + 0x10]
cmp eax, 0xff8
jb 0x4f162c
mov dword [esp], 0x1000
call sub.api_ms_win_crt_heap_l1_1_0.dll_malloc
test eax, eax
je 0x4f17ab
mov dword [eax], edi
xor ecx, ecx
mov edi, eax
mov dword [eax + 4], 0
mov dword [esi + 0x116c], eax
add ecx, 0x10
mov edx, dword [esp + 8]
mov dword [edi + 4], ecx
mov eax, dword [esi + 0x116c]
mov ecx, dword [eax + 4]
mov dword [eax + ecx - 4], 0x101013e
mov dword [eax + ecx - 8], 0x526554
mov dword [eax + ecx], edx
lea edi, [eax + ecx - 8]
mov dword [eax + ecx + 4], ebp
jmp case.0x4f0e9a.84
add ebx, 2
mov dword [esi], ebx
mov dword [esp + 0x14], str.unsigned___int128
mov dword [esp + 0x18], 0x52646d
movsd xmm0, qword [esp + 0x14]
jmp 0x4f1771
add ebx, 2
mov dword [esi], ebx
mov dword [esp + 0x5c], str.short
mov dword [esp + 0x60], 0x526434
movsd xmm0, qword [esp + 0x5c]
jmp 0x4f1771
cmp ecx, 3
jb case.0x4f0e9a.84
cmp al, 0x62
jne case.0x4f0e9a.84
mov al, byte [ebx + 2]
cmp al, 0x30
je 0x4f1782
cmp al, 0x31
jne case.0x4f0e9a.84
cmp byte [ebx + 3], 0x45
jne case.0x4f0e9a.84
add ebx, 4
mov dword [esi], ebx
mov dword [esp + 0x10], 1
jmp 0x4f1799
add ebx, 2
mov dword [esi], ebx
mov dword [esp + 0x74], str.char
mov dword [esp + 0x78], 0x526414
movsd xmm0, qword [esp + 0x74]
jmp 0x4f1771
add ebx, 2
mov dword [esi], ebx
mov dword [esp + 0x4c], 0x526444
mov dword [esp + 0x50], 0x526444
movsd xmm0, qword [esp + 0x4c]
jmp 0x4f1771
add ebx, 2
mov dword [esi], ebx
mov dword [esp + 0x64], str.unsigned_char
mov dword [esp + 0x68], 0x52642e
movsd xmm0, qword [esp + 0x64]
jmp 0x4f1771
add ebx, 2
mov dword [esi], ebx
mov dword [esp + 0x7c], str.wchar_t
mov dword [esp + 0x80], 0x52640f
movsd xmm0, qword [esp + 0x7c]
jmp 0x4f1771
add ebx, 2
mov dword [esi], ebx
mov dword [esp + 0x54], str.unsigned_short
mov dword [esp + 0x58], 0x526443
movsd xmm0, qword [esp + 0x54]
mov ecx, esi
movsd qword [esp], xmm0
call fcn.004f3b20
jmp 0x4f0ff3
cmp byte [ebx + 3], 0x45
jne case.0x4f0e9a.84
add ebx, 4
mov dword [esi], ebx
mov dword [esp + 0x10], 0
lea edx, [esp + 0x10]
mov ecx, esi
call fcn.004f3c30
mov edi, eax
jmp case.0x4f0e9a.84
call fcn.00475380