Function at 0x48de74
Capabilities:
Read file on windows

Disassembly:
push 0x120
mov eax, 0x49d8e3
call fcn.00427425
mov ebx, 0x4f3e94
push ebx
push 0x44c
call fcn.0048f4a8
push ebx
call fcn.0048dac3
mov eax, dword [0x4f3c58]
shr eax, 0x11
and al, 1
je 0x48e0da
xor ebx, ebx
mov dword [ebp - 0x18], 7
xor eax, eax
mov dword [ebp - 0x1c], ebx
mov word [ebp - 0x2c], ax
mov dword [ebp - 4], ebx
lea edx, [ebp - 0x2c]
cmp dword [0x4f3b7c], 8
mov ecx, 0x4f3b68
cmovae ecx, dword [0x4f3b68]
call fcn.0040a99d
push 0x2e
push 1
lea ecx, [ebp - 0x2c]
call fcn.0040b1dc
mov esi, str.xstg
push esi
call fcn.0040281d
pop ecx
push eax
push esi
lea ecx, [ebp - 0x2c]
call fcn.00402274
mov edx, dword [0x4f3c84]
lea ecx, [ebp - 0x2c]
ror edx, 5
call fcn.004968f0
test al, al
je 0x48e0c9
cmp dword [ebp - 0x18], 8
lea eax, [ebp - 0x2c]
push 0x4b529c
cmovae eax, dword [ebp - 0x2c]
push eax
call fcn.0044ce16
mov edi, eax
mov dword [ebp - 0x128], edi
pop ecx
pop ecx
test edi, edi
je 0x48e0c9
mov ecx, edi
call fcn.0040c83a
push eax
mov dword [ebp - 0x124], eax
call fcn.00426b37
mov esi, eax
mov dword [ebp - 0x12c], esi
pop ecx
test esi, esi
je 0x48e0c2
push edi
push 1
push dword [ebp - 0x124]
push esi
call fcn.0044d388
add esp, 0x10
test eax, eax
je 0x48e0bb
lea ecx, [ebp - 0xe4]
call fcn.00407f76
mov dword [ebp - 0xa8], 0xf
mov dword [ebp - 0xac], ebx
mov byte [ebp - 0xbc], bl
mov dword [ebp - 0x90], 0xf
mov dword [ebp - 0x94], ebx
mov byte [ebp - 0xa4], bl
mov dword [ebp - 0x78], 0xf
mov dword [ebp - 0x7c], ebx
mov byte [ebp - 0x8c], bl
mov dword [ebp - 0x60], 0xf
mov dword [ebp - 0x64], ebx
mov byte [ebp - 0x74], bl
mov dword [ebp - 0x30], 0xf
mov dword [ebp - 0x34], ebx
mov byte [ebp - 0x44], bl
push dword [ebp - 0x124]
lea ecx, [ebp - 0x44]
mov byte [ebp - 4], 3
push esi
call fcn.004071cb
lea eax, [ebp - 0x44]
push eax
lea ecx, [ebp - 0xe4]
call fcn.004966b0
test al, al
je 0x48e07f
cmp dword [0x4f3ea8], 0x10
mov ecx, 0x4f3e94
mov eax, ecx
mov dword [0x4f3ea4], ebx
cmovae eax, dword [0x4f3e94]
mov byte [eax], bl
lea eax, [ebp - 0xa4]
cmp dword [ebp - 0x90], 0x10
push dword [ebp - 0x94]
cmovae eax, dword [ebp - 0xa4]
push eax
call fcn.004071cb
push 0x4f3e94
call fcn.0048dac3
cmp dword [0x4f3ef0], 0x10
mov ecx, 0x4f3edc
mov eax, ecx
mov dword [0x4f3eec], ebx
cmovae eax, dword [0x4f3edc]
mov byte [eax], bl
lea eax, [ebp - 0x8c]
cmp dword [ebp - 0x78], 0x10
push dword [ebp - 0x7c]
cmovae eax, dword [ebp - 0x8c]
push eax
call fcn.004071cb
cmp dword [ebp - 0x30], 0x10
lea eax, [ebp - 0x44]
push ebx
cmovae eax, dword [ebp - 0x44]
lea ecx, [ebp - 0x44]
mov dword [ebp - 0x34], ebx
push 1
mov byte [eax], bl
call fcn.00405dd7
lea ecx, [ebp - 0xe4]
call fcn.00407fa5
jmp 0x48e0bb
push esi
call fcn.00426b32
pop ecx
push edi
call fcn.0044c6d6
pop ecx
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x2c]
push ebx
push 1
call fcn.00401636
jmp 0x48e0dc
xor ebx, ebx
mov esi, 0x4f3eac
push esi
push 0x438
call fcn.0048f4a8
cmp dword [0x4f3ebc], 2
jbe 0x48e0fb
push esi
call fcn.00412e4b
mov ecx, dword [0x4f3e88]
mov eax, dword [ecx]
call dword [eax]
mov dword [ebp - 0x48], 0xf
mov dword [ebp - 0x4c], ebx
mov byte [ebp - 0x5c], bl
lea eax, [ebp - 0x5c]
mov dword [ebp - 4], 5
push eax
push 0x40b
call fcn.0048f524
test al, al
je 0x48e163
lea eax, [ebp - 0x5c]
push eax
lea ecx, [ebp - 0x11c]
call fcn.0040dd76
mov byte [ebp - 4], 6
mov ecx, dword [0x4f3ef4]
test ecx, ecx
je 0x48e154
lea eax, [ebp - 0x11c]
push eax
call fcn.004964f0
lea ecx, [ebp - 0x11c]
mov byte [ebp - 4], 5
call fcn.0040dde0
call fcn.0048ef8e
cmp dword [0x4f3d88], 0
mov al, bl
jne 0x48e17c
cmp dword [0x4f3d8c], 0
je 0x48e17e
mov al, 1
cmp word [0x4f3f68], 0
jg 0x48e191
cmp dword [0x4f3f20], 0
je 0x48e193
mov al, 1
test al, al
je 0x48e19c
call fcn.0048e645
push esi
call fcn.0048ed5f
mov ecx, dword [0x4f3e88]
mov eax, dword [ecx]
call dword [eax]
call fcn.0048e2bf
push ebx
push 1
lea ecx, [ebp - 0x5c]
call fcn.00405dd7
call fcn.00427372
ret