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

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
sub esp, 0x134
mov eax, dword [0xf072008]
xor eax, ebp
mov dword [ebp - 4], eax
mov eax, dword [ebp + 8]
push ebx
push 0x111
mov dword [ebp - 0x12c], eax
push 1
lea eax, [ebp - 0x118]
push eax
xor ebx, ebx
push 1
mov dword [ebp - 0x124], 0x4000
mov dword [ebp - 0x120], 8
mov dword [ebp - 0x128], ebx
mov dword [ebp - 0x11c], ebx
call fcn.0f037d5e
cmp byte [ebp - 0x118], bl
jne 0xf02a0be
xor eax, eax
jmp 0xf02a4c9
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 0xf02a0ea
xor eax, eax
jmp 0xf02a4c8
push edi
push ebx
push esi
call dword [sym.imp.KERNEL32.dll_GetFileSize]
mov edi, eax
cmp edi, ebx
je 0xf02a4be
cmp edi, 0xffffffff
je 0xf02a4be
push edi
call fcn.0f005706
mov ebx, eax
pop ecx
mov dword [ebp - 0x130], ebx
test ebx, ebx
jne 0xf02a133
push esi
call dword [sym.imp.KERNEL32.dll_CloseHandle]
push 0xf001d82
push 1
push 7
call fcn.0f02c789
jmp 0xf02a4c5
push 0
lea eax, [ebp - 0x134]
push eax
push edi
push ebx
push esi
call dword [sym.imp.KERNEL32.dll_ReadFile]
test eax, eax
je 0xf02a4ae
cmp dword [ebp - 0x134], edi
jne 0xf02a4ae
push esi
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov esi, ebx
jmp 0xf02a1de
movsx eax, byte [esi]
push eax
call fcn.0f05ecc5
pop ecx
test eax, eax
je 0xf02a176
inc esi
dec edi
jne 0xf02a164
test edi, edi
je 0xf02a43d
cmp edi, 3
jb 0xf02a1b2
movsx eax, byte [esi]
push eax
call fcn.0f05eeb5
pop ecx
cmp eax, 0x45
jne 0xf02a1b2
movsx eax, byte [esi + 1]
push eax
call fcn.0f05eeb5
pop ecx
cmp eax, 0x4d
jne 0xf02a1b2
movsx eax, byte [esi + 2]
push eax
call fcn.0f05eeb5
pop ecx
cmp eax, 0x4d
je 0xf02a1e7
dec edi
inc esi
test edi, edi
je 0xf02a43d
mov al, byte [esi]
cmp al, 0xa
je 0xf02a1d8
cmp al, 0xd
je 0xf02a1ca
test al, al
jne 0xf02a1b2
mov al, byte [esi]
cmp al, 0xa
je 0xf02a1d8
cmp al, 0xd
je 0xf02a1d8
test al, al
jne 0xf02a1de
dec edi
inc esi
test edi, edi
jne 0xf02a1ca
test edi, edi
jne 0xf02a164
jmp 0xf02a43d
sub edi, 3
add esi, 3
test edi, edi
je 0xf02a22d
movsx eax, byte [esi]
push eax
call fcn.0f05ecc5
pop ecx
test eax, eax
je 0xf02a203
inc esi
dec edi
jne 0xf02a1f1
test edi, edi
je 0xf02a22d
cmp byte [esi], 0x3d
jne 0xf02a22d
dec edi
inc esi
test edi, edi
je 0xf02a43d
movsx eax, byte [esi]
push eax
call fcn.0f05ecc5
pop ecx
test eax, eax
je 0xf02a237
inc esi
dec edi
jne 0xf02a216
jmp 0xf02a43d
mov dword [ebp - 0x11c], 1
test edi, edi
je 0xf02a43d
mov ebx, 0xff
cmp dword [ebp - 0x11c], 0
jne 0xf02a43d
mov al, byte [esi]
cmp al, 0xa
je 0xf02a43d
cmp al, 0xd
je 0xf02a43d
test al, al
je 0xf02a43d
test edi, edi
je 0xf02a43d
movsx eax, byte [esi]
push eax
call fcn.0f05ecc5
pop ecx
test eax, eax
je 0xf02a285
inc esi
dec edi
jne 0xf02a273
test edi, edi
je 0xf02a43d
movsx eax, byte [esi]
sub eax, 0x41
je 0xf02a3ba
dec eax
je 0xf02a2f2
sub eax, 0x10
je 0xf02a2b6
sub eax, 0xf
je 0xf02a3ba
dec eax
je 0xf02a2f2
sub eax, 0x10
jne 0xf02a42b
cmp edi, 3
jb 0xf02a42b
mov al, byte [esi + 1]
cmp al, 0x61
je 0xf02a2ce
cmp al, 0x41
jne 0xf02a42b
mov al, byte [esi + 2]
cmp al, 0x6d
je 0xf02a2dd
cmp al, 0x4d
jne 0xf02a42b
sub edi, 3
add esi, 3
mov dword [ebp - 0x128], 1
jmp 0xf02a435
dec edi
je 0xf02a42b
inc esi
cmp byte [esi], 0x3d
jne 0xf02a42b
and dword [ebp - 0x124], 0
dec edi
inc esi
test edi, edi
je 0xf02a42b
movsx eax, byte [esi]
push eax
call fcn.0f05ec31
pop ecx
test eax, eax
je 0xf02a388
mov al, byte [esi]
cmp al, 0x30
jl 0xf02a334
cmp al, 0x39
jg 0xf02a334
movsx eax, al
sub eax, 0x30
jmp 0xf02a356
cmp al, 0x41
jl 0xf02a344
cmp al, 0x46
jg 0xf02a344
movsx eax, al
sub eax, 0x37
jmp 0xf02a356
cmp al, 0x61
jl 0xf02a354
cmp al, 0x66
jg 0xf02a354
movsx eax, al
sub eax, 0x57
jmp 0xf02a356
xor eax, eax
mov ecx, dword [ebp - 0x124]
shl ecx, 4
add ecx, eax
movzx eax, cx
dec edi
mov ecx, 0x4000
inc esi
cmp ax, cx
mov dword [ebp - 0x124], eax
jg 0xf02a37c
test edi, edi
jne 0xf02a314
jmp 0xf02a38e
mov dword [ebp - 0x11c], 1
jmp 0xf02a38e
mov eax, dword [ebp - 0x124]
lea ecx, [eax - 0x1000]
mov edx, 0x3000
cmp cx, dx
ja 0xf02a42b
cwde
shl eax, 4
shr eax, 0xe
shl eax, 0xe
shr eax, 4
movzx eax, ax
mov dword [ebp - 0x124], eax
jmp 0xf02a435
dec edi
je 0xf02a42b
inc esi
cmp byte [esi], 0x3d
jne 0xf02a42b
dec edi
je 0xf02a3c7
inc esi
and dword [ebp - 0x120], 0
test edi, edi
je 0xf02a42b
movsx eax, byte [esi]
push eax
call fcn.0f05eb9a
pop ecx
test eax, eax
je 0xf02a416
mov eax, dword [ebp - 0x120]
movsx cx, byte [esi]
imul eax, eax, 0xa
add ax, cx
sub ax, 0x30
movzx eax, ax
dec edi
mov ecx, ebx
inc esi
cmp ax, cx
mov dword [ebp - 0x120], eax
jg 0xf02a40c
test edi, edi
jne 0xf02a3d2
jmp 0xf02a416
mov dword [ebp - 0x11c], 1
cmp word [ebp - 0x120], 0
je 0xf02a42b
mov eax, ebx
cmp word [ebp - 0x120], ax
jle 0xf02a435
mov dword [ebp - 0x11c], 1
test edi, edi
jne 0xf02a244
push dword [ebp - 0x130]
call fcn.0f00996a
xor esi, esi
pop ecx
cmp dword [ebp - 0x11c], esi
je 0xf02a471
push 0xf001d82
push 1
push 0x1a
call fcn.0f02c789
push 8
mov ecx, 0x4000
pop edx
mov dword [ebp - 0x128], esi
jmp 0xf02a47d
mov edx, dword [ebp - 0x120]
mov ecx, dword [ebp - 0x124]
mov eax, dword [ebp - 0x12c]
mov word [eax + 4], dx
movsx edx, cx
mov edi, 0xa000
sub edi, edx
mov word [eax + 0xc], cx
xor ecx, ecx
shl edi, 4
cmp dword [ebp - 0x128], esi
mov dword [eax + 8], edi
sete cl
mov dword [eax + 0x10], ecx
xor eax, eax
inc eax
jmp 0xf02a4c7
push esi
call dword [sym.imp.KERNEL32.dll_CloseHandle]
push ebx
call fcn.0f00996a
pop ecx
jmp 0xf02a4c5
push esi
call dword [sym.imp.KERNEL32.dll_CloseHandle]
xor eax, eax
pop edi
pop esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
pop ebx
call fcn.0f0057d5
leave
ret 4