Function at 0xf052f61
Capabilities:
Read file on windows

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
sub esp, 0x48
mov eax, dword [0xf072008]
xor eax, ebp
mov dword [ebp - 4], eax
mov eax, dword [ebp + 0x14]
mov ecx, dword [ebp + 8]
push ebx
xor ebx, ebx
mov dword [ebp - 0x38], ecx
cmp eax, ebx
je 0xf053280
cmp ecx, ebx
je 0xf053280
cmp word [ebp + 0x10], bx
je 0xf053280
push esi
push ebx
push ebx
push 3
push ebx
push 3
push 0x80000000
push eax
mov dword [ebp - 0x48], ebx
mov dword [ebp - 0x44], ebx
call dword [sym.imp.KERNEL32.dll_CreateFileA]
mov esi, eax
mov dword [ebp - 0x3c], esi
cmp esi, 0xffffffff
je 0xf05327a
push edi
mov edi, dword [sym.imp.KERNEL32.dll_ReadFile]
push ebx
lea eax, [ebp - 0x30]
push eax
push 0x1c
lea eax, [ebp - 0x2c]
push eax
push esi
call edi
test eax, eax
je 0xf053270
cmp dword [ebp - 0x30], 0x1c
jne 0xf053270
cmp word [ebp - 0x12], bx
je 0xf053270
cmp word [ebp - 0x14], bx
je 0xf053270
push 8
lea eax, [ebp - 0x2c]
push 0xf004780
push eax
call fcn.0f00b565
add esp, 0xc
test eax, eax
jne 0xf053270
cmp word [ebp + 0xc], bx
je 0xf0530b6
movzx eax, word [ebp - 0x12]
imul eax, eax, 6
push 1
push ebx
push eax
push esi
call dword [sym.imp.KERNEL32.dll_SetFilePointer]
cmp eax, 0xffffffff
je 0xf053270
movzx esi, word [ebp - 0x14]
imul esi, esi, 6
push esi
call fcn.0f005706
pop ecx
mov dword [ebp - 0x34], eax
cmp eax, ebx
jne 0xf053061
push 0x11
push ebx
push ebx
push 7
call fcn.0f02c9f5
call fcn.0f02d021
push ebx
lea eax, [ebp - 0x30]
push eax
push esi
push dword [ebp - 0x34]
push dword [ebp - 0x3c]
call edi
test eax, eax
je 0xf0530ad
cmp dword [ebp - 0x30], esi
jne 0xf0530ad
xor eax, eax
xor ecx, ecx
cmp ax, word [ebp - 0x14]
jae 0xf0530ad
mov si, word [ebp + 0xc]
mov eax, dword [ebp - 0x34]
movzx edx, cx
imul edx, edx, 6
cmp word [edx + eax], si
je 0xf05309e
inc ecx
cmp cx, word [ebp - 0x14]
jb 0xf053082
jmp 0xf0530b0
movzx ecx, cx
imul ecx, ecx, 6
mov ecx, dword [ecx + eax + 2]
mov dword [ebp - 0x44], ecx
jmp 0xf0530b0
mov eax, dword [ebp - 0x34]
push eax
jmp 0xf05316f
movzx esi, word [ebp - 0x12]
imul esi, esi, 6
push esi
call fcn.0f005706
pop ecx
mov dword [ebp - 0x34], eax
cmp eax, ebx
jne 0xf0530db
push 0x11
push ebx
push ebx
push 7
call fcn.0f02c9f5
call fcn.0f02d021
push ebx
lea eax, [ebp - 0x30]
push eax
push esi
push dword [ebp - 0x34]
push dword [ebp - 0x3c]
call edi
test eax, eax
je 0xf05316c
cmp dword [ebp - 0x30], esi
jne 0xf05316c
xor eax, eax
mov dword [ebp - 0x40], ebx
cmp ax, word [ebp - 0x12]
jae 0xf05316c
movzx eax, word [ebp - 0x40]
mov ecx, dword [ebp - 0x34]
imul eax, eax, 6
lea esi, [eax + ecx]
movsx eax, byte [esi]
push eax
call fcn.0f05eeb5
mov edi, eax
mov eax, dword [ebp - 0x38]
movsx eax, byte [eax]
push eax
call fcn.0f05eeb5
pop ecx
pop ecx
cmp edi, eax
jne 0xf053146
movsx eax, byte [esi + 1]
push eax
call fcn.0f05eeb5
mov esi, eax
mov eax, dword [ebp - 0x38]
movsx eax, byte [eax + 1]
push eax
call fcn.0f05eeb5
pop ecx
pop ecx
cmp esi, eax
je 0xf053155
inc dword [ebp - 0x40]
mov ax, word [ebp - 0x40]
cmp ax, word [ebp - 0x12]
jb 0xf0530fd
jmp 0xf053166
movzx eax, word [ebp - 0x40]
mov ecx, dword [ebp - 0x34]
imul eax, eax, 6
mov eax, dword [eax + ecx + 2]
mov dword [ebp - 0x44], eax
mov edi, dword [sym.imp.KERNEL32.dll_ReadFile]
push dword [ebp - 0x34]
call fcn.0f00996a
pop ecx
cmp dword [ebp - 0x44], ebx
je 0xf053270
push ebx
push ebx
push dword [ebp - 0x44]
push dword [ebp - 0x3c]
call dword [sym.imp.KERNEL32.dll_SetFilePointer]
cmp eax, 0xffffffff
je 0xf053270
push ebx
lea eax, [ebp - 0x30]
push eax
push 0xa
lea eax, [ebp - 0x10]
push eax
push dword [ebp - 0x3c]
call edi
test eax, eax
je 0xf053270
cmp dword [ebp - 0x30], 0xa
jne 0xf053270
mov eax, dword [ebp - 0x38]
movsx eax, byte [eax]
push eax
call fcn.0f05eeb5
mov esi, eax
movsx eax, byte [ebp - 0x10]
push eax
call fcn.0f05eeb5
pop ecx
pop ecx
cmp eax, esi
jne 0xf053270
mov eax, dword [ebp - 0x38]
movsx eax, byte [eax + 1]
push eax
call fcn.0f05eeb5
mov esi, eax
movsx eax, byte [ebp - 0xf]
push eax
call fcn.0f05eeb5
pop ecx
pop ecx
cmp eax, esi
jne 0xf053270
cmp byte [ebp - 7], bl
je 0xf053270
movzx esi, byte [ebp - 7]
imul esi, esi, 6
push esi
call fcn.0f005706
pop ecx
mov dword [ebp - 0x38], eax
cmp eax, ebx
jne 0xf053222
push 0x11
push ebx
push ebx
push 7
call fcn.0f02c9f5
call fcn.0f02d021
push ebx
lea eax, [ebp - 0x30]
push eax
push esi
push dword [ebp - 0x38]
push dword [ebp - 0x3c]
call edi
test eax, eax
je 0xf053267
cmp dword [ebp - 0x30], esi
jne 0xf053267
movzx ax, byte [ebp - 7]
xor ecx, ecx
cmp cx, ax
jae 0xf053267
mov dx, word [ebp + 0x10]
mov esi, dword [ebp - 0x38]
movzx ecx, bx
imul ecx, ecx, 6
cmp dx, word [ecx + esi]
je 0xf053260
inc ebx
cmp bx, ax
jb 0xf053245
jmp 0xf053267
mov dword [ebp - 0x48], 1
push dword [ebp - 0x38]
call fcn.0f00996a
pop ecx
push dword [ebp - 0x3c]
call dword [sym.imp.KERNEL32.dll_CloseHandle]
pop edi
mov eax, dword [ebp - 0x48]
pop esi
jmp 0xf05328a
push 0x57
call dword [sym.imp.KERNEL32.dll_SetLastError]
xor eax, eax
mov ecx, dword [ebp - 4]
xor ecx, ebp
pop ebx
call fcn.0f0057d5
leave
ret 0x10