Function at 0xf03bb6b
Capabilities:
Get file size
Read file on windows

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
sub esp, 0x134
mov eax, dword [0xf0ad034]
mov dword [ebp - 4], eax
mov eax, dword [ebp + 8]
push ebx
mov dword [ebp - 0x130], eax
push 1
lea eax, [ebp - 0x118]
push eax
xor ebx, ebx
push 1
mov dword [ebp - 0x120], 0x4000
mov dword [ebp - 0x124], 8
mov dword [ebp - 0x12c], ebx
mov dword [ebp - 0x11c], ebx
call fcn.0f01d9cc
cmp byte [ebp - 0x118], bl
jne 0xf03bbc9
xor eax, eax
jmp 0xf03bfce
push esi
push ebx
push 0x80
push 3
push ebx
push 1
push 0x80000000
lea eax, [ebp - 0x118]
push eax
call dword [sym.imp.KERNEL32.dll_CreateFileA]
mov esi, eax
cmp esi, 0xffffffff
jne 0xf03bbf5
xor eax, eax
jmp 0xf03bfcd
push edi
push ebx
push esi
call dword [sym.imp.KERNEL32.dll_GetFileSize]
mov edi, eax
cmp edi, ebx
je 0xf03bfc3
cmp edi, 0xffffffff
je 0xf03bfc3
push edi
call fcn.0f009d40
cmp eax, ebx
pop ecx
mov dword [ebp - 0x128], eax
jne 0xf03bc3c
push esi
call dword [sym.imp.KERNEL32.dll_CloseHandle]
push 0xf001a8a
push 1
push 7
call fcn.0f03d89e
jmp 0xf03bfca
push ebx
lea eax, [ebp - 0x134]
push eax
push edi
push dword [ebp - 0x128]
push esi
call dword [sym.imp.KERNEL32.dll_ReadFile]
test eax, eax
je 0xf03bfae
cmp dword [ebp - 0x134], edi
jne 0xf03bfae
push esi
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov esi, dword [ebp - 0x128]
jmp 0xf03bcef
movsx eax, byte [esi]
push eax
call fcn.0f09acb0
test eax, eax
pop ecx
je 0xf03bc87
inc esi
dec edi
jne 0xf03bc75
cmp edi, ebx
je 0xf03bf3f
cmp edi, 3
jb 0xf03bcc3
movsx eax, byte [esi]
push eax
call fcn.0f09ad00
cmp eax, 0x45
pop ecx
jne 0xf03bcc3
movsx eax, byte [esi + 1]
push eax
call fcn.0f09ad00
cmp eax, 0x4d
pop ecx
jne 0xf03bcc3
movsx eax, byte [esi + 2]
push eax
call fcn.0f09ad00
cmp eax, 0x4d
pop ecx
je 0xf03bcf8
dec edi
inc esi
cmp edi, ebx
je 0xf03bf3f
mov al, byte [esi]
cmp al, 0xa
je 0xf03bce9
cmp al, 0xd
je 0xf03bcdb
cmp al, bl
jne 0xf03bcc3
mov al, byte [esi]
cmp al, 0xa
je 0xf03bce9
cmp al, 0xd
je 0xf03bce9
cmp al, bl
jne 0xf03bcef
dec edi
inc esi
cmp edi, ebx
jne 0xf03bcdb
cmp edi, ebx
jne 0xf03bc75
jmp 0xf03bf3f
sub edi, 3
add esi, 3
cmp edi, ebx
je 0xf03bd3e
movsx eax, byte [esi]
push eax
call fcn.0f09acb0
test eax, eax
pop ecx
je 0xf03bd14
inc esi
dec edi
jne 0xf03bd02
cmp edi, ebx
je 0xf03bd3e
cmp byte [esi], 0x3d
jne 0xf03bd3e
dec edi
inc esi
cmp edi, ebx
je 0xf03bf3f
movsx eax, byte [esi]
push eax
call fcn.0f09acb0
test eax, eax
pop ecx
je 0xf03bd49
inc esi
dec edi
jne 0xf03bd27
jmp 0xf03bf3f
xor ecx, ecx
inc ecx
mov dword [ebp - 0x11c], ecx
jmp 0xf03bd4c
xor ecx, ecx
inc ecx
cmp edi, ebx
je 0xf03bf3f
jmp 0xf03bd59
xor ecx, ecx
inc ecx
cmp dword [ebp - 0x11c], ebx
jne 0xf03bf3f
mov al, byte [esi]
cmp al, 0xa
je 0xf03bf3f
cmp al, 0xd
je 0xf03bf3f
cmp al, bl
je 0xf03bf3f
cmp edi, ebx
je 0xf03bd98
movsx eax, byte [esi]
push eax
call fcn.0f09acb0
test eax, eax
pop ecx
je 0xf03bd95
inc esi
dec edi
jne 0xf03bd83
xor ecx, ecx
inc ecx
movsx eax, byte [esi]
sub eax, 0x41
je 0xf03bebf
dec eax
je 0xf03bdf9
sub eax, 0x10
je 0xf03bdc1
sub eax, 0xf
je 0xf03bebf
dec eax
je 0xf03bdf9
sub eax, 0x10
jne 0xf03bf31
cmp edi, 3
jb 0xf03bf31
mov al, byte [esi + 1]
cmp al, 0x61
je 0xf03bdd9
cmp al, 0x41
jne 0xf03bf31
mov al, byte [esi + 2]
cmp al, 0x6d
je 0xf03bde8
cmp al, 0x4d
jne 0xf03bf31
sub edi, 3
add esi, 3
mov dword [ebp - 0x12c], ecx
jmp 0xf03bf37
dec edi
je 0xf03bf31
inc esi
cmp byte [esi], 0x3d
jne 0xf03bf31
dec edi
inc esi
cmp edi, ebx
mov dword [ebp - 0x120], ebx
je 0xf03bf25
movsx eax, byte [esi]
push eax
call fcn.0f09ac60
test eax, eax
pop ecx
je 0xf03be86
mov al, byte [esi]
cmp al, 0x30
jl 0xf03be3a
cmp al, 0x39
jg 0xf03be3a
movsx eax, al
sub eax, 0x30
jmp 0xf03be5c
cmp al, 0x41
jl 0xf03be4a
cmp al, 0x46
jg 0xf03be4a
movsx eax, al
sub eax, 0x37
jmp 0xf03be5c
cmp al, 0x61
jl 0xf03be5a
cmp al, 0x66
jg 0xf03be5a
movsx eax, al
sub eax, 0x57
jmp 0xf03be5c
xor eax, eax
mov ecx, dword [ebp - 0x120]
shl ecx, 4
add ecx, eax
dec edi
inc esi
cmp cx, 0x4000
mov dword [ebp - 0x120], ecx
jg 0xf03be7c
cmp edi, ebx
jne 0xf03be1a
jmp 0xf03be86
mov dword [ebp - 0x11c], 1
cmp word [ebp - 0x120], 0x1000
jl 0xf03bf25
cmp word [ebp - 0x120], 0x4000
jg 0xf03bf25
movsx eax, word [ebp - 0x120]
shl eax, 4
shr eax, 0xe
shl eax, 0xe
shr eax, 4
mov dword [ebp - 0x120], eax
jmp 0xf03bf37
dec edi
je 0xf03bf31
inc esi
cmp byte [esi], 0x3d
jne 0xf03bf31
dec edi
inc esi
cmp edi, ebx
mov dword [ebp - 0x124], ebx
je 0xf03bf25
movsx eax, byte [esi]
push eax
call fcn.0f09ac10
test eax, eax
pop ecx
je 0xf03bf11
movsx cx, byte [esi]
mov eax, dword [ebp - 0x124]
lea eax, [eax + eax*4]
dec edi
inc esi
lea eax, [ecx + eax*2 - 0x30]
cmp ax, 0xff
mov dword [ebp - 0x124], eax
jg 0xf03bf07
cmp edi, ebx
jne 0xf03bed4
jmp 0xf03bf11
mov dword [ebp - 0x11c], 1
cmp word [ebp - 0x124], bx
je 0xf03bf25
cmp word [ebp - 0x124], 0xff
jle 0xf03bf37
mov dword [ebp - 0x11c], 1
jmp 0xf03bf37
mov dword [ebp - 0x11c], ecx
cmp edi, ebx
jne 0xf03bd56
push dword [ebp - 0x128]
call fcn.0f008a60
cmp dword [ebp - 0x11c], ebx
pop ecx
je 0xf03bf71
push 0xf001a8a
push 1
push 0x1a
call fcn.0f03d89e
push 8
mov ecx, 0x4000
pop edx
mov dword [ebp - 0x12c], ebx
jmp 0xf03bf7d
mov ecx, dword [ebp - 0x120]
mov edx, dword [ebp - 0x124]
mov eax, dword [ebp - 0x130]
mov word [eax + 4], dx
movsx edx, cx
mov esi, 0xa000
sub esi, edx
mov word [eax + 0xc], cx
xor ecx, ecx
shl esi, 4
cmp dword [ebp - 0x12c], ebx
mov dword [eax + 8], esi
sete cl
mov dword [eax + 0x10], ecx
xor eax, eax
inc eax
jmp 0xf03bfcc
push esi
call dword [sym.imp.KERNEL32.dll_CloseHandle]
push dword [ebp - 0x128]
call fcn.0f008a60
pop ecx
jmp 0xf03bfca
push esi
call dword [sym.imp.KERNEL32.dll_CloseHandle]
xor eax, eax
pop edi
pop esi
mov ecx, dword [ebp - 4]
pop ebx
call fcn.0f01dda0
leave
ret 4