Function at 0x42ebba
Capabilities:
Read file on windows

Disassembly:
push ebp
mov ebp, esp
push edi
push esi
push ebx
push eax
mov eax, 0x2058
call fcn.005a812c
sub esp, eax
mov eax, dword [esp + eax]
mov dword [ebp - 0x2030], eax
mov dword [ebp - 0x204c], edx
mov dword [ebp - 0x2050], ecx
mov eax, dword [eax + 0x18]
mov dword [ebp - 0x2034], eax
mov byte [ebp - 0x201c], 0
mov byte [ebp - 0x101a], 0
xor esi, esi
mov dword [ebp - 0x2048], esi
mov dword [ebp - 0x2044], esi
test eax, eax
je 0x42ec20
mov dword [esp], eax
call dword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll__ftelli64]
mov dword [ebp - 0x2048], eax
mov dword [ebp - 0x2044], edx
mov eax, dword [ebp - 0x2030]
mov ebx, dword [eax + 0x448]
add ebx, dword [eax + 4]
mov dword [esp], ebx
call sub.api_ms_win_crt_string_l1_1_0.dll_strlen
mov esi, eax
mov eax, 0x2000
cmp esi, eax
cmovb esi, eax
mov dword [esp], esi
call sub.api_ms_win_crt_heap_l1_1_0.dll_malloc
mov edi, eax
mov dword [esp + 4], ebx
mov dword [esp], eax
call sub.api_ms_win_crt_string_l1_1_0.dll_strcpy
mov eax, dword [ebp - 0x2050]
mov dword [esp], eax
call sub.api_ms_win_crt_string_l1_1_0.dll_strlen
mov dword [ebp - 0x2054], eax
mov dword [ebp - 0x202c], edi
xor ebx, ebx
mov dword [ebp - 0x2038], ebx
xor ebx, ebx
cmp ebx, 2
je 0x42f02a
mov eax, dword [ebp - 0x204c]
mov dword [esp + 4], eax
mov dword [esp], edi
call sub.api_ms_win_crt_private_l1_1_0.dll_strstr
mov edx, eax
test eax, eax
jne 0x42ecf2
test bl, 1
jne 0x42ecf2
mov dword [esp + 4], 0x3c
mov dword [esp], edi
call sub.api_ms_win_crt_private_l1_1_0.dll_strrchr
test eax, eax
je 0x42ed12
mov dword [esp], eax
mov dword [ebp - 0x203c], eax
call sub.api_ms_win_crt_string_l1_1_0.dll_strlen
mov ebx, eax
cmp eax, esi
mov edx, dword [ebp - 0x203c]
jb 0x42ece8
lea esi, [eax + 1]
mov dword [esp + 4], esi
mov dword [esp], edi
call sub.api_ms_win_crt_heap_l1_1_0.dll_realloc
mov edi, eax
mov edx, dword [ebp - 0x203c]
mov dword [esp + 8], ebx
mov dword [esp + 4], edx
jmp 0x42ed45
test ebx, ebx
je 0x42ee69
mov dword [esp + 4], 0x3d
mov dword [esp], edx
call sub.api_ms_win_crt_private_l1_1_0.dll_strchr
test eax, eax
jne 0x42ef11
mov eax, dword [ebp - 0x202c]
mov dword [esp], eax
call sub.api_ms_win_crt_string_l1_1_0.dll_strlen
mov ebx, eax
cmp eax, esi
jb 0x42ed37
lea esi, [eax + 1]
mov dword [esp + 4], esi
mov dword [esp], edi
call sub.api_ms_win_crt_heap_l1_1_0.dll_realloc
mov edi, eax
mov dword [esp + 8], ebx
mov eax, dword [ebp - 0x202c]
mov dword [esp + 4], eax
mov dword [esp], edi
call sub.api_ms_win_crt_private_l1_1_0.dll_memmove
mov byte [edi + ebx], 0
xor ebx, ebx
cmp dword [ebp - 0x2034], 0
jne 0x42ed6a
cmp dword [ebp - 0x2038], 0
je 0x42ed84
jmp 0x42f14d
mov eax, dword [ebp - 0x2030]
mov eax, dword [eax + 0x18]
mov dword [esp], eax
call sub.api_ms_win_crt_stdio_l1_1_0.dll_feof
test eax, eax
je 0x42ed5c
jmp 0x42f14d
lea eax, [ebp - 0x201c]
cmp dword [ebp - 0x202c], eax
jne 0x42ed98
lea eax, [ebp - 0x101a]
mov dword [ebp - 0x202c], eax
cmp dword [ebp - 0x2034], 0
je 0x42ee2c
mov eax, dword [ebp - 0x2030]
mov eax, dword [eax + 0x18]
mov dword [esp + 0xc], eax
mov dword [esp + 8], 0x1000
mov dword [esp + 4], 1
mov eax, dword [ebp - 0x202c]
mov dword [esp], eax
call sub.api_ms_win_crt_stdio_l1_1_0.dll_fread
mov ecx, dword [ebp - 0x202c]
mov byte [ecx + eax + 1], 0
mov byte [ecx + eax], 0
mov dword [esp], ecx
call sub.api_ms_win_crt_string_l1_1_0.dll_strlen
mov dword [ebp - 0x203c], eax
mov dword [esp], edi
call sub.api_ms_win_crt_string_l1_1_0.dll_strlen
mov ecx, dword [ebp - 0x203c]
add eax, ecx
cmp eax, esi
jb 0x42ee18
lea esi, [eax + 1]
mov dword [esp + 4], esi
mov dword [esp], edi
call sub.api_ms_win_crt_heap_l1_1_0.dll_realloc
mov edi, eax
mov eax, dword [ebp - 0x202c]
mov dword [esp + 4], eax
mov dword [esp], edi
call sub.api_ms_win_crt_string_l1_1_0.dll_strcat
jmp 0x42ee36
mov dword [ebp - 0x2038], 1
cmp dword [ebp + 0x10], 0
je 0x42ec7d
mov eax, dword [ebp + 0x10]
mov dword [esp + 4], eax
mov dword [esp], edi
call sub.api_ms_win_crt_private_l1_1_0.dll_strstr
test eax, eax
je 0x42ec7d
mov byte [eax], 0
mov dword [ebp - 0x2038], 1
jmp 0x42ec7d
mov al, byte [edx]
mov byte [ebp - 0x203c], al
mov byte [edx], 0
mov dword [ebp - 0x2040], edx
mov dword [esp + 4], 0x3c
mov dword [esp], edi
call sub.api_ms_win_crt_private_l1_1_0.dll_strrchr
mov ebx, eax
test eax, eax
je 0x42f14f
mov al, byte [ebp - 0x203c]
mov edx, dword [ebp - 0x2040]
mov byte [edx], al
mov dword [esp], ebx
call sub.api_ms_win_crt_string_l1_1_0.dll_strlen
mov edx, eax
cmp eax, esi
jb 0x42eecd
lea esi, [eax + 1]
mov dword [ebp - 0x203c], eax
mov dword [esp + 4], esi
mov dword [esp], edi
call sub.api_ms_win_crt_heap_l1_1_0.dll_realloc
mov edi, eax
mov edx, dword [ebp - 0x203c]
mov dword [esp + 8], edx
mov dword [ebp - 0x203c], edx
mov dword [esp + 4], ebx
mov dword [esp], edi
call sub.api_ms_win_crt_private_l1_1_0.dll_memmove
mov edx, dword [ebp - 0x203c]
mov byte [edi + edx], 0
mov eax, dword [ebp - 0x204c]
mov dword [esp + 4], eax
mov dword [esp], edi
call sub.api_ms_win_crt_private_l1_1_0.dll_strstr
mov edx, eax
jmp 0x42ecfa
cmp dl, 0x22
je 0x42ef21
cmp dl, 0x27
je 0x42ef27
inc eax
mov dl, byte [eax]
test dl, dl
jne 0x42ef06
mov ebx, 1
jmp 0x42ed53
test dl, dl
je 0x42ef17
mov dl, 0x22
lea ebx, [eax + 1]
mov byte [ebp - 0x203c], dl
movsx eax, byte [ebx]
test al, al
je 0x42ef17
mov dword [esp + 4], eax
mov dword [esp], 0x5cd3e9
call sub.api_ms_win_crt_private_l1_1_0.dll_strchr
test eax, eax
movsx edx, byte [ebp - 0x203c]
je 0x42ef55
inc ebx
jmp 0x42ef2a
mov dword [esp + 4], edx
mov dword [esp], ebx
call sub.api_ms_win_crt_private_l1_1_0.dll_strchr
test eax, eax
je 0x42ef17
mov eax, dword [ebp - 0x2054]
mov dword [esp + 8], eax
mov eax, dword [ebp - 0x2050]
mov dword [esp + 4], eax
mov dword [esp], ebx
call sub.api_ms_win_crt_string_l1_1_0.dll_strncmp
test eax, eax
jne 0x42f0fb
lea ebx, [edi + 1]
movsx eax, byte [ebx]
mov dword [esp + 4], eax
mov dword [esp], 0x5ccd23
call sub.api_ms_win_crt_private_l1_1_0.dll_strchr
test eax, eax
je 0x42efa6
inc ebx
jmp 0x42ef8c
mov edx, ebx
mov dword [ebp - 0x203c], edx
movsx eax, byte [edx]
mov dword [ebp - 0x2058], edx
mov byte [ebp - 0x2040], al
mov dword [esp + 4], eax
mov dword [esp], 0x5ccd23
call sub.api_ms_win_crt_private_l1_1_0.dll_strchr
mov edx, dword [ebp - 0x2058]
inc edx
test eax, eax
je 0x42efa8
mov eax, dword [ebp - 0x203c]
mov byte [eax], 0
cmp dword [ebp + 8], 0
je 0x42f000
cmp dword [ebp + 0xc], 0
je 0x42f000
mov eax, dword [ebp + 8]
mov dword [esp + 4], eax
mov dword [esp], ebx
call sub.api_ms_win_crt_string_l1_1_0.dll_strcmp
test eax, eax
je 0x42f01c
cmp dword [ebp + 0x14], 0
je 0x42f00d
mov eax, dword [ebp + 0x14]
xor ecx, ecx
mov dword [eax], ecx
mov dword [esp], ebx
call sub.api_ms_win_crt_string_l1_1_0.dll__strdup
mov ebx, eax
jmp 0x42f14f
mov ecx, dword [ebp - 0x203c]
mov al, byte [ebp - 0x2040]
mov byte [ecx], al
mov eax, dword [ebp + 0xc]
mov dword [esp + 4], eax
lea eax, [edi + 1]
mov dword [esp], eax
call sub.api_ms_win_crt_private_l1_1_0.dll_strstr
mov ebx, eax
test eax, eax
jne 0x42f08b
mov eax, dword [ebp - 0x202c]
mov dword [esp], eax
call sub.api_ms_win_crt_string_l1_1_0.dll_strlen
mov ebx, eax
cmp eax, esi
jb 0x42f067
lea esi, [eax + 1]
mov dword [esp + 4], esi
mov dword [esp], edi
call sub.api_ms_win_crt_heap_l1_1_0.dll_realloc
mov edi, eax
mov dword [esp + 8], ebx
mov eax, dword [ebp - 0x202c]
mov dword [esp + 4], eax
mov dword [esp], edi
call sub.api_ms_win_crt_private_l1_1_0.dll_memmove
mov byte [edi + ebx], 0
mov ebx, 2
jmp 0x42ed53
mov eax, dword [ebp + 0xc]
mov dword [esp], eax
call sub.api_ms_win_crt_string_l1_1_0.dll_strlen
add ebx, eax
movsx eax, byte [ebx]
mov dword [esp + 4], eax
mov dword [esp], str.__t_r_n
call sub.api_ms_win_crt_private_l1_1_0.dll_strchr
mov edx, ebx
inc ebx
test eax, eax
jne 0x42f098
xor esi, esi
movsx eax, byte [edx + esi + 1]
mov dword [ebp - 0x202c], edx
mov dword [esp + 4], eax
mov dword [esp], str.__t_r_n__
call sub.api_ms_win_crt_private_l1_1_0.dll_strchr
test eax, eax
mov edx, dword [ebp - 0x202c]
jne 0x42f0dc
inc esi
jmp 0x42f0b4
mov byte [edx + esi], 0
mov dword [esp], ebx
call sub.api_ms_win_crt_string_l1_1_0.dll__strdup
mov ebx, eax
cmp dword [ebp + 0x14], 0
je 0x42f14f
mov eax, dword [ebp + 0x14]
mov dword [eax], 1
jmp 0x42f14f
mov dword [esp], ebx
call sub.api_ms_win_crt_string_l1_1_0.dll_strlen
mov edx, eax
cmp eax, esi
jb 0x42f126
lea esi, [eax + 1]
mov dword [ebp - 0x203c], eax
mov dword [esp + 4], esi
mov dword [esp], edi
call sub.api_ms_win_crt_heap_l1_1_0.dll_realloc
mov edi, eax
mov edx, dword [ebp - 0x203c]
mov dword [esp + 8], edx
mov dword [ebp - 0x203c], edx
mov dword [esp + 4], ebx
mov dword [esp], edi
call sub.api_ms_win_crt_private_l1_1_0.dll_memmove
mov edx, dword [ebp - 0x203c]
mov byte [edi + edx], 0
xor ebx, ebx
jmp 0x42ec86
xor ebx, ebx
mov dword [esp], edi
call sub.api_ms_win_crt_heap_l1_1_0.dll_free
cmp dword [ebp - 0x2034], 0
je 0x42f17f
mov eax, dword [ebp - 0x2030]
mov eax, dword [eax + 0x18]
xor edx, edx
mov dword [esp], edx
mov edx, dword [ebp - 0x2048]
mov ecx, dword [ebp - 0x2044]
call fcn.00425b5e
mov eax, ebx
add esp, 0x205c
pop ebx
pop esi
pop edi
pop ebp
ret