Function at 0x1004de33
Capabilities:
Read file on windows

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x10089fbc
mov eax, dword fs:[0]
push eax
push ecx
mov eax, 0x2948
call fcn.10062090
mov eax, dword [0x1009a008]
xor eax, ebp
mov dword [ebp - 0x14], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x10], esp
mov eax, dword [ebp + 8]
xor ebx, ebx
cmp byte [ebp + 0x10], bl
push ebx
push ebx
push 3
pop edi
push edi
push ebx
mov dword [ebp - 0x292c], eax
push 1
mov dword [ebp - 0x2928], ecx
mov ecx, dword [ebp + 0xc]
setne al
mov esi, 0x80000000
push esi
inc al
push ecx
mov dword [ebp - 0x2938], ecx
mov byte [ebp - 0x291e], al
mov byte [ebp - 0x291d], bl
mov dword [ebp - 0x293c], ebx
mov dword [ebp - 0x2930], ebx
mov dword [ebp - 0x2924], ebx
call dword [sym.imp.KERNEL32.dll_CreateFileA]
mov dword [ebp - 0x291c], eax
cmp eax, 0xffffffff
jne 0x1004df2c
call dword [sym.imp.KERNEL32.dll_GetLastError]
push 0x1010
mov edi, eax
call fcn.10062b5c
pop ecx
mov dword [ebp - 0x2928], eax
mov dword [ebp - 4], ebx
cmp eax, ebx
je 0x1004df0f
push edi
push edi
push ebx
push ebx
push 3
push ebx
push 1
push esi
push dword [ebp - 0x2938]
push 0x10006e98
push edi
push 5
push eax
call fcn.10037a50
add esp, 0x34
jmp 0x1004df11
xor eax, eax
or dword [ebp - 4], 0xffffffff
mov dword [ebp - 0x2940], eax
push 0x1008bdb8
lea eax, [ebp - 0x2940]
push eax
call fcn.1006330f
push ebx
push ebx
mov esi, 0x8000
push esi
push eax
call dword [sym.imp.KERNEL32.dll_SetFilePointer]
cmp eax, 0xffffffff
jne 0x1004dfa5
call dword [sym.imp.KERNEL32.dll_GetLastError]
push 0x1010
mov edi, eax
call fcn.10062b5c
pop ecx
mov dword [ebp - 0x2928], eax
mov dword [ebp - 4], 1
cmp eax, ebx
je 0x1004df82
push edi
push edi
push ebx
push ebx
push esi
push dword [ebp - 0x291c]
push 0x10006e28
push edi
push 5
push eax
call fcn.10037a50
add esp, 0x28
mov ebx, eax
push dword [ebp - 0x291c]
or dword [ebp - 4], 0xffffffff
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov dword [ebp - 0x294c], ebx
push 0x1008bdb8
lea eax, [ebp - 0x294c]
jmp 0x1004df26
mov esi, 0x2800
push esi
lea eax, [ebp - 0x2918]
push ebx
push eax
call fcn.100620c0
add esp, 0xc
push ebx
lea eax, [ebp - 0x2924]
push eax
push esi
lea eax, [ebp - 0x2918]
push eax
push dword [ebp - 0x291c]
call dword [sym.imp.KERNEL32.dll_ReadFile]
test eax, eax
jne 0x1004e050
call dword [sym.imp.KERNEL32.dll_GetLastError]
push 0x1010
mov edi, eax
call fcn.10062b5c
pop ecx
mov dword [ebp - 0x2928], eax
mov dword [ebp - 4], 2
cmp eax, ebx
je 0x1004e02a
push edi
push edi
push ebx
lea ecx, [ebp - 0x2924]
push ecx
push esi
lea ecx, [ebp - 0x2918]
push ecx
push dword [ebp - 0x291c]
push 0x10006db8
push edi
push 5
push eax
call fcn.10037a50
add esp, 0x2c
mov ebx, eax
push dword [ebp - 0x291c]
or dword [ebp - 4], 0xffffffff
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov dword [ebp - 0x2954], ebx
push 0x1008bdb8
lea eax, [ebp - 0x2954]
jmp 0x1004df26
cmp dword [ebp - 0x2924], esi
je 0x1004e0d2
push 0x1010
call fcn.10062b5c
pop ecx
mov dword [ebp - 0x292c], eax
mov dword [ebp - 4], edi
cmp eax, ebx
je 0x1004e0ac
mov eax, 0x3e4
push eax
push eax
push esi
push dword [ebp - 0x2924]
lea ecx, [ebp - 0x2924]
push ebx
push ecx
push esi
lea ecx, [ebp - 0x2918]
push ecx
push dword [ebp - 0x291c]
push 0x10006d30
push eax
push 5
push dword [ebp - 0x292c]
call fcn.10037a50
add esp, 0x34
mov ebx, eax
push dword [ebp - 0x291c]
or dword [ebp - 4], 0xffffffff
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov dword [ebp - 0x2950], ebx
push 0x1008bdb8
lea eax, [ebp - 0x2950]
jmp 0x1004df26
push 5
pop edi
lea eax, [ebp - 0x2916]
mov dword [ebp - 0x2934], edi
mov dl, 0x30
lea esi, [eax - 2]
mov cl, byte [esi]
cmp cl, byte [ebp - 0x291e]
jne 0x1004e118
cmp byte [eax - 1], 0x43
jne 0x1004e118
cmp byte [eax], 0x44
jne 0x1004e118
cmp byte [eax + 1], dl
jne 0x1004e118
cmp byte [eax + 2], dl
jne 0x1004e118
cmp byte [eax + 3], 0x31
jne 0x1004e118
mov byte [ebp - 0x291d], 1
mov dword [ebp - 0x293c], esi
cmp cl, bl
jne 0x1004e13d
cmp byte [eax - 1], 0x43
jne 0x1004e13d
cmp byte [eax], 0x44
jne 0x1004e13d
cmp byte [eax + 1], dl
jne 0x1004e13d
cmp byte [eax + 2], dl
jne 0x1004e13d
cmp byte [eax + 3], 0x31
jne 0x1004e13d
mov dword [ebp - 0x2930], esi
add eax, 0x800
dec dword [ebp - 0x2934]
jne 0x1004e0e3
cmp byte [ebp - 0x291d], bl
jne 0x1004e1a7
push 0x1010
call fcn.10062b5c
pop ecx
mov dword [ebp - 0x2928], eax
mov dword [ebp - 4], 4
cmp eax, ebx
je 0x1004e181
push 0x10006cd8
push ebx
push 2
push eax
call fcn.10037a50
add esp, 0x10
mov ebx, eax
push dword [ebp - 0x291c]
or dword [ebp - 4], 0xffffffff
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov dword [ebp - 0x2948], ebx
push 0x1008bdb8
lea eax, [ebp - 0x2948]
jmp 0x1004df26
push dword [ebp - 0x2938]
lea eax, [ebp - 0x118]
push 0x10006cc0
push eax
call fcn.10062ada
add esp, 0xc
cmp dword [ebp - 0x2930], ebx
je 0x1004e1da
push dword [ebp - 0x2930]
mov ecx, dword [ebp - 0x292c]
call fcn.1003a892
push dword [ebp - 0x291c]
mov eax, dword [ebp - 0x293c]
mov ecx, dword [ebp - 0x2928]
push ebx
push dword [eax + 0xa6]
mov dword [ebp - 4], edi
push dword [eax + 0x9e]
lea eax, [ebp - 0x118]
push eax
push dword [ebp + 0x10]
push dword [ebp - 0x292c]
call fcn.1004d980
push dword [ebp - 0x291c]
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x14]
xor ecx, ebp
call fcn.10062074
leave
ret 0xc