Function at 0x417220
Capabilities:
Read file on windows
Resolve function by parsing pe exports

Disassembly:
mov eax, 0x7a0c
call fcn.00427c20
mov al, byte [0x433b08]
mov edx, dword [esp + 0x7a14]
push ebx
push ebp
push esi
mov dword [esp + 0x14], ecx
mov ebp, dword [edx + 0x10]
push edi
mov byte [esp + 0x24], al
mov ecx, 0x20
xor eax, eax
lea edi, [esp + 0x25]
rep stosd dword es:[edi], eax
cmp ebp, 0x78f0
stosb byte es:[edi], al
jle 0x41726d
pop edi
pop esi
pop ebp
mov eax, 2
pop ebx
add esp, 0x7a0c
ret 0x48
mov esi, dword [edx + 0xc]
sub esi, 0x46
jns 0x417277
xor esi, esi
lea ecx, [esp + 0x14]
push 0
lea edx, [esi + ebp]
push ecx
mov ecx, dword [esp + 0x7a28]
lea eax, [esp + 0x134]
push edx
push eax
push ecx
mov dword [esp + 0x28], 0
call dword [sym.imp.KERNEL32.dll_ReadFile]
test eax, eax
jne 0x4172b6
pop edi
pop esi
pop ebp
mov eax, 0xa
pop ebx
add esp, 0x7a0c
ret 0x48
cmp dword [esp + 0x14], ebp
jge 0x4172ce
pop edi
pop esi
pop ebp
mov eax, 3
pop ebx
add esp, 0x7a0c
ret 0x48
lea ebx, [esp + esi + 0x12c]
xor eax, eax
xor ecx, ecx
mov al, byte [ebx + 1]
mov cl, byte [ebx + 2]
mov dl, byte [ebx]
mov esi, eax
shl esi, 8
add esi, ecx
mov byte [esp + 0x10], dl
cmp esi, ebp
jg 0x41746b
mov eax, dword [esp + 0x10]
add ebx, 3
and eax, 0xff
sub esi, 3
sub eax, 0
je 0x41742d
dec eax
je 0x417348
sub eax, 3
jne 0x41747d
lea edx, [esp + 0xa8]
lea eax, [esi + 1]
push edx
lea ecx, [ebx - 1]
push eax
push ecx
call fcn.00402200
mov edx, 0xfffffffd
add esp, 0xc
sub edx, esi
add ebx, esi
add ebp, edx
test ebp, ebp
jle 0x41747d
jmp 0x41744c
mov ecx, dword [esp + 0x18]
mov eax, dword [esp + 0x7a64]
push eax
mov edx, dword [ecx + 0x14594]
mov ecx, dword [esp + 0x7a60]
mov eax, dword [edx + 0x48]
mov edx, dword [esp + 0x7a5c]
push eax
mov eax, dword [esp + 0x7a48]
push ecx
mov ecx, dword [esp + 0x7a3c]
push edx
mov edx, dword [esp + 0x7a60]
push eax
push ecx
lea eax, [esp + 0x34]
push edx
mov edx, dword [esp + 0x7a70]
lea ecx, [esp + 0x3c]
push eax
mov eax, dword [esp + 0x7a80]
push ecx
mov ecx, dword [esp + 0x7a70]
push edx
mov edx, dword [esp + 0x7a70]
push eax
mov eax, dword [esp + 0x7a70]
push ecx
push edx
mov edx, dword [esp + 0x7a6c]
lea ecx, [esp + 0x58]
push eax
mov eax, dword [esp + 0x7a6c]
push ecx
mov ecx, dword [esp + 0x7a68]
push edx
mov edx, dword [esp + 0x7a68]
push eax
push ecx
lea eax, [esi + 1]
push edx
lea ecx, [ebx - 1]
push eax
push ecx
call fcn.00401a30
mov edx, 0xfffffffd
lea edi, [esp + 0x78]
sub edx, esi
or ecx, 0xffffffff
xor eax, eax
add ebp, edx
add ebx, esi
mov edx, dword [esp + 0x7a9c]
repne scasb al, byte es:[edi]
mov eax, dword [esp + 0x7a98]
not ecx
dec ecx
mov dword [eax], ecx
lea ecx, [esp + 0x78]
push ecx
push 0x431080
push edx
call dword [sym.imp.MSVCRT.dll_sprintf]
add esp, 0x60
test ebp, ebp
jle 0x41747d
jmp 0x41744c
lea eax, [esi + 1]
lea ecx, [ebx - 1]
push eax
push ecx
call fcn.00401560
mov edx, 0xfffffffd
add esp, 8
sub edx, esi
add ebx, esi
add ebp, edx
test ebp, ebp
jle 0x41747d
xor ecx, ecx
mov al, byte [ebx]
mov cl, byte [ebx + 1]
xor edx, edx
mov dl, byte [ebx + 2]
mov esi, ecx
shl esi, 8
add esi, edx
mov byte [esp + 0x10], al
cmp esi, ebp
jle 0x4172f4
pop edi
pop esi
pop ebp
mov eax, 4
pop ebx
add esp, 0x7a0c
ret 0x48
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x7a0c
ret 0x48