Function at 0x1001f840
Capabilities:
Read file on windows

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x58c
mov eax, dword [0x1004fa70]
xor eax, ebp
mov dword [ebp - 4], eax
mov dword [ebp - 0x58c], ecx
call dword [sym.imp.kcrypto.dll__C2DE0D8D_1FBC_4639_81FB_82C366CD052C_0]
mov dword [ebp - 0xec], eax
cmp dword [ebp - 0xec], 0
je 0x1001f879
mov eax, dword [ebp - 0xec]
jmp 0x1001fc3f
push 0
mov eax, dword [ebp + 8]
push eax
mov ecx, dword [ebp - 0x58c]
call fcn.1001f7a0
mov dword [ebp - 0xdc], eax
cmp dword [ebp - 0xdc], 0
je 0x1001f8a4
mov eax, dword [ebp - 0xdc]
jmp 0x1001fc3f
mov ecx, dword [ebp - 0x58c]
call fcn.10020330
mov dword [ebp - 0xe8], eax
cmp dword [ebp - 0xe8], 0
je 0x1001f8e6
push 0
push 0
mov ecx, dword [ebp - 0xe8]
sub ecx, 0xd0
push ecx
mov edx, dword [ebp - 0x58c]
mov eax, dword [edx]
push eax
call dword [sym.imp.KERNEL32.dll_SetFilePointer]
mov dword [ebp - 0xdc], eax
jmp 0x1001f904
push 2
push 0
push 0xffffff30
mov ecx, dword [ebp - 0x58c]
mov edx, dword [ecx]
push edx
call dword [sym.imp.KERNEL32.dll_SetFilePointer]
mov dword [ebp - 0xdc], eax
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0xec], eax
cmp dword [ebp - 0xdc], 0xffffffff
jne 0x1001f938
cmp dword [ebp - 0xec], 0
je 0x1001f938
mov ecx, dword [ebp - 0x58c]
call fcn.1001f810
mov eax, dword [ebp - 0xec]
jmp 0x1001fc3f
mov dword [ebp - 0xd8], 0
push 0xcc
push 0
lea eax, [ebp - 0xd4]
push eax
call fcn.1002aa10
add esp, 0xc
push 0
lea ecx, [ebp - 0xe4]
push ecx
push 0xd0
lea edx, [ebp - 0xd8]
push edx
mov eax, dword [ebp - 0x58c]
mov ecx, dword [eax]
push ecx
call dword [sym.imp.KERNEL32.dll_ReadFile]
test eax, eax
jne 0x1001f996
mov ecx, dword [ebp - 0x58c]
call fcn.1001f810
call dword [sym.imp.KERNEL32.dll_GetLastError]
jmp 0x1001fc3f
mov byte [ebp - 0x4f8], 0
push 0x1ff
push 0
lea edx, [ebp - 0x4f7]
push edx
call fcn.1002aa10
add esp, 0xc
mov dword [ebp - 0xe4], 0x30
lea eax, [ebp - 0x4f8]
push eax
mov ecx, dword [ebp - 0xe4]
push ecx
lea edx, [ebp - 0xd8]
push edx
push 0
push 0
call dword [sym.imp.kcrypto.dll__B2B9E168_6959_4830_B6C0_87A1AF2977E3_20]
mov dword [ebp - 0xec], eax
cmp dword [ebp - 0xec], 0
je 0x1001fa01
mov ecx, dword [ebp - 0x58c]
call fcn.1001f810
mov eax, dword [ebp - 0xec]
jmp 0x1001fc3f
push 0x20
lea eax, [ebp - 0xa8]
push eax
lea ecx, [ebp - 0x4f8]
push ecx
call fcn.1002d091
add esp, 0xc
test eax, eax
je 0x1001fa30
mov ecx, dword [ebp - 0x58c]
call fcn.1001f810
or eax, 0xffffffff
jmp 0x1001fc3f
mov edx, dword [ebp - 0xcc]
mov dword [ebp - 0xe4], edx
mov eax, dword [ebp - 0xe4]
push eax
call fcn.1002b1c7
add esp, 4
mov dword [ebp - 0xe0], eax
mov ecx, dword [ebp - 0xe4]
push ecx
push 0
mov edx, dword [ebp - 0xe0]
push edx
call fcn.1002aa10
add esp, 0xc
push 0
push 0
push 0
mov eax, dword [ebp - 0x58c]
mov ecx, dword [eax]
push ecx
call dword [sym.imp.KERNEL32.dll_SetFilePointer]
push 0
lea edx, [ebp - 0xe4]
push edx
mov eax, dword [ebp - 0xe4]
push eax
mov ecx, dword [ebp - 0xe0]
push ecx
mov edx, dword [ebp - 0x58c]
mov eax, dword [edx]
push eax
call dword [sym.imp.KERNEL32.dll_ReadFile]
test eax, eax
jne 0x1001facd
mov ecx, dword [ebp - 0xe0]
push ecx
call fcn.1002b28a
add esp, 4
mov ecx, dword [ebp - 0x58c]
call fcn.1001f810
call dword [sym.imp.KERNEL32.dll_GetLastError]
jmp 0x1001fc3f
mov edx, dword [ebp - 0xcc]
push edx
mov eax, dword [ebp - 0xe0]
push eax
mov ecx, dword [ebp - 0x58c]
call fcn.100204a0
lea ecx, [ebp - 0x4f8]
push ecx
mov edx, dword [ebp - 0xe4]
push edx
mov eax, dword [ebp - 0xe0]
push eax
push 0
push 0
call dword [sym.imp.kcrypto.dll__B2B9E168_6959_4830_B6C0_87A1AF2977E3_20]
mov dword [ebp - 0xec], eax
mov ecx, dword [ebp - 0xe4]
push ecx
push 0
mov edx, dword [ebp - 0xe0]
push edx
call fcn.1002aa10
add esp, 0xc
mov eax, dword [ebp - 0xe0]
push eax
call fcn.1002b28a
add esp, 4
cmp dword [ebp - 0xec], 0
je 0x1001fb51
mov ecx, dword [ebp - 0x58c]
call fcn.1001f810
mov eax, dword [ebp - 0xec]
jmp 0x1001fc3f
push 0x20
lea ecx, [ebp - 0xc8]
push ecx
lea edx, [ebp - 0x4f8]
push edx
call fcn.1002d091
add esp, 0xc
test eax, eax
je 0x1001fb80
mov ecx, dword [ebp - 0x58c]
call fcn.1001f810
or eax, 0xffffffff
jmp 0x1001fc3f
mov dword [ebp - 0x2f8], 0
push 0x200
push 0
lea eax, [ebp - 0x2f4]
push eax
call fcn.1002aa10
add esp, 0xc
lea ecx, [ebp - 0x2f8]
push ecx
mov ecx, dword [ebp - 0x58c]
call fcn.1001fc50
push 0x80
lea edx, [ebp - 0x88]
push edx
lea eax, [ebp - 0xa8]
push eax
lea ecx, [ebp - 0x2f8]
push ecx
call dword [sym.imp.kcrypto.dll__AE2BDDF1_6BCA_4D1C_894D_A9F5C6D6B0DC_16]
mov dword [ebp - 0xec], eax
cmp dword [ebp - 0xec], 0
je 0x1001fbf4
mov ecx, dword [ebp - 0x58c]
call fcn.1001f810
mov eax, dword [ebp - 0xec]
jmp 0x1001fc3f
push 0x200
push 0
lea edx, [ebp - 0x4f8]
push edx
call fcn.1002aa10
add esp, 0xc
push 0xd0
push 0
lea eax, [ebp - 0xd8]
push eax
call fcn.1002aa10
add esp, 0xc
push 0x204
lea ecx, [ebp - 0x2f8]
push ecx
call dword [sym.imp.kcrypto.dll__E4BF99FA_A36C_4520_B00A_6D70CD092206_8]
mov ecx, dword [ebp - 0x58c]
call fcn.1001f810
xor eax, eax
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.1002ae45
mov esp, ebp
pop ebp
ret 4