Function at 0x5a11c3
Capabilities:
Read file on windows

Disassembly:
push ebp
sub esp, 0x40
mov eax, 0x6e36ee
call fcn.006899cc
sub esp, 0x130
xor eax, eax
mov dword [ebp + 0x18], 0xf
push ebx
push esi
mov dword [ebp + 4], eax
mov ebx, ecx
push edi
mov dword [ebp + 0x40], eax
mov dword [ebp + 0x3c], eax
mov dword [ebp + 0x14], eax
mov byte [ebp + 4], al
mov esi, dword [ebp + 0x4c]
lea ecx, [ebp + 4]
push esi
mov dword [ebp - 4], eax
call fcn.004134e0
mov edx, dword [ebp + 0x50]
lea eax, [esi + edx]
mov dword [ebp], eax
mov ecx, dword [ebp + 0x14]
cmp eax, ecx
jbe 0x5a1588
mov edi, esi
sub edi, ecx
add edi, edx
cmp edi, dword [ebx + 0x24]
jb 0x5a1225
mov edi, dword [ebx + 0x24]
push 1
lea ecx, [ebp - 0x13c]
call fcn.0045c4aa
push 0x73e4e0
push edi
push 0x73e4fc
lea eax, [ebp - 0x13c]
mov byte [ebp - 4], 1
push eax
call fcn.004634b5
mov ecx, eax
call fcn.004636ae
push eax
call fcn.004634b5
lea eax, [ebx + 0x58]
push eax
lea eax, [ebp + 0x3c]
push eax
push edi
push dword [ebp + 0x54]
push dword [ebx + 0x8c]
call dword [sym.imp.KERNEL32.DLL_ReadFile]
mov esi, eax
call dword [sym.imp.KERNEL32.DLL_GetLastError]
mov dword [ebx + 0x9c], eax
test esi, esi
jne 0x5a1457
cmp eax, 0x3e5
je 0x5a130a
xor eax, eax
mov dword [ebp + 0x38], 0xf
push 0xc
mov dword [ebp + 0x24], eax
lea ecx, [ebp + 0x24]
push 0x73e508
mov dword [ebp + 0x34], eax
mov byte [ebp + 0x24], al
call fcn.00414b60
lea eax, [ebx + 0x9c]
mov byte [ebp - 4], 2
push eax
lea eax, [ebp + 0x40]
mov ecx, ebx
push eax
lea eax, [ebp + 0x24]
push eax
push 9
call fcn.0059fa69
mov eax, dword [ebp + 0x38]
cmp eax, 0x10
jb 0x5a14f8
mov ecx, dword [ebp + 0x24]
inc eax
mov dword [ebp + 0x20], eax
mov dword [ebp + 0x1c], ecx
cmp eax, 0x1000
jb 0x5a12fc
lea eax, [ebp + 0x20]
push eax
lea eax, [ebp + 0x1c]
push eax
call fcn.0044810a
mov eax, dword [ebp + 0x20]
mov ecx, dword [ebp + 0x1c]
push eax
push ecx
call fcn.0068976d
pop ecx
pop ecx
jmp 0x5a14f8
xor esi, esi
lea eax, [ebx + 0x58]
cmp dword [eax], 0x103
jne 0x5a132f
push 0x64
call dword [sym.imp.KERNEL32.DLL_Sleep]
add esi, 0x64
cmp esi, 0x2710
jb 0x5a130c
jmp 0x5a13fb
push 1
lea ecx, [ebp + 0x3c]
push ecx
push eax
push dword [ebx + 0x8c]
call dword [sym.imp.KERNEL32.DLL_GetOverlappedResult]
lea ecx, [ebp - 0xa4]
push 1
test eax, eax
je 0x5a1397
call fcn.0045c4aa
push dword [ebp + 0x14]
lea eax, [ebp - 0xa4]
mov byte [ebp - 4], 3
push 0x73e248
push dword [ebp + 0x3c]
push 0x73e518
push eax
call fcn.004634b5
mov ecx, eax
call fcn.004636ae
push eax
call fcn.004634b5
mov ecx, eax
call fcn.0041baa0
push dword [ebp + 0x3c]
lea ecx, [ebp + 4]
push dword [ebp + 0x54]
call fcn.00414c90
jmp 0x5a13ec
call fcn.0045c4aa
push edi
push 0x73e52c
lea eax, [ebp - 0xa4]
mov byte [ebp - 4], 4
push eax
call fcn.004634b5
mov ecx, eax
call fcn.004636ae
lea eax, [ebp + 0x24]
push eax
lea ecx, [ebp - 0xa0]
call fcn.004145c0
lea eax, [ebx + 0x9c]
mov byte [ebp - 4], 5
push eax
lea eax, [ebp + 0x40]
mov ecx, ebx
push eax
lea eax, [ebp + 0x24]
push eax
push 0xb
call fcn.0059fa69
lea ecx, [ebp + 0x24]
call fcn.0040fad0
lea ecx, [ebp - 0xa4]
mov byte [ebp - 4], 1
call fcn.0045c68b
cmp esi, 0x2710
jb 0x5a14f8
push 1
lea ecx, [ebp - 0xa4]
call fcn.0045c4aa
push edi
push 0x73e54c
lea eax, [ebp - 0xa4]
mov byte [ebp - 4], 6
push eax
call fcn.004634b5
mov ecx, eax
call fcn.004636ae
lea eax, [ebp + 0x24]
push eax
lea ecx, [ebp - 0xa0]
call fcn.004145c0
lea eax, [ebx + 0x9c]
mov byte [ebp - 4], 7
push eax
lea eax, [ebp + 0x40]
push eax
lea eax, [ebp + 0x24]
push eax
push 0xa
jmp 0x5a14ce
cmp dword [ebp + 0x3c], edi
jae 0x5a14ea
push 1
lea ecx, [ebp - 0xa4]
call fcn.0045c4aa
push 0x73e564
push edi
push 0x73e574
push dword [ebp + 0x3c]
lea eax, [ebp - 0xa4]
mov byte [ebp - 4], 8
push 0x73e580
push eax
call fcn.004634b5
mov ecx, eax
call fcn.004636ae
push eax
call fcn.004634b5
mov ecx, eax
call fcn.004636ae
push eax
call fcn.004634b5
lea eax, [ebp + 0x24]
push eax
lea ecx, [ebp - 0xa0]
call fcn.004145c0
lea eax, [ebx + 0x9c]
mov byte [ebp - 4], 9
push eax
lea eax, [ebp + 0x40]
push eax
lea eax, [ebp + 0x24]
push eax
push 0xc
mov ecx, ebx
call fcn.0059fa69
lea ecx, [ebp + 0x24]
call fcn.0040fad0
lea ecx, [ebp - 0xa4]
call fcn.0045c68b
jmp 0x5a14f8
push dword [ebp + 0x3c]
lea ecx, [ebp + 4]
push dword [ebp + 0x54]
call fcn.00414c90
lea ecx, [ebp - 0x13c]
mov byte [ebp - 4], 0
call fcn.0045c68b
cmp dword [ebp + 0x40], 0
mov esi, dword [ebp + 0x4c]
mov edx, dword [ebp + 0x50]
lea eax, [esi + edx]
je 0x5a120c
mov ecx, dword [ebp + 0x14]
mov eax, dword [ebp]
cmp eax, ecx
jbe 0x5a1588
push 1
lea ecx, [ebp - 0x13c]
call fcn.0045c4aa
push 0x73e564
push dword [ebp + 0x14]
lea eax, [ebp - 0x13c]
mov byte [ebp - 4], 0xa
push 0x73e588
push esi
push 0x73e594
push eax
call fcn.004634b5
mov ecx, eax
call fcn.004636ae
push eax
call fcn.004634b5
mov ecx, eax
call fcn.0041baa0
push eax
call fcn.004634b5
cmp dword [ebp + 0x40], 0
jne 0x5a157b
mov dword [ebp + 0x40], 3
lea ecx, [ebp - 0x13c]
call fcn.0045c68b
jmp 0x5a15e7
and dword [ebp + 0x24], 0
lea eax, [ebp + 4]
and dword [ebp + 0x34], 0
lea ecx, [ebp + 0x24]
push 0xffffffffffffffff
push edx
push eax
mov dword [ebp + 0x38], 0xf
call fcn.00457907
mov ecx, dword [ebp + 0x58]
lea eax, [ebp + 0x24]
push eax
call fcn.00415dd0
mov eax, dword [ebp + 0x38]
cmp eax, 0x10
jb 0x5a15e7
mov ecx, dword [ebp + 0x24]
inc eax
mov dword [ebp + 0x54], eax
mov dword [ebp + 0x4c], ecx
cmp eax, 0x1000
jb 0x5a15de
lea eax, [ebp + 0x54]
push eax
lea eax, [ebp + 0x4c]
push eax
call fcn.0044810a
mov eax, dword [ebp + 0x54]
mov ecx, dword [ebp + 0x4c]
push eax
push ecx
call fcn.0068976d
pop ecx
pop ecx
mov eax, dword [ebp + 0x18]
pop edi
pop esi
pop ebx
cmp eax, 0x10
jb 0x5a161f
mov ecx, dword [ebp + 4]
inc eax
mov dword [ebp + 0x54], eax
mov dword [ebp + 0x4c], ecx
cmp eax, 0x1000
jb 0x5a1616
lea eax, [ebp + 0x54]
push eax
lea eax, [ebp + 0x4c]
push eax
call fcn.0044810a
mov eax, dword [ebp + 0x54]
mov ecx, dword [ebp + 0x4c]
push eax
push ecx
call fcn.0068976d
pop ecx
pop ecx
mov eax, dword [ebp + 0x40]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
add ebp, 0x44
leave
ret 0x10