Function at 0x100171f0
Capabilities:
Read file on windows

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x10
push ebx
push esi
mov esi, ecx
mov ecx, 0x1006ba42
push edi
mov edi, edx
call fcn.10038b15
xor eax, eax
xor ecx, ecx
mov dword [ebp - 8], eax
mov dword [ebp - 4], ecx
test esi, esi
je 0x100173e3
mov esi, dword [esi + 0x7c]
test esi, esi
je 0x100173e3
cmp dword [esi], eax
jne 0x10017232
lea eax, [ecx - 0x64]
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 8]
test eax, eax
je 0x100173da
mov edx, dword [esi + 0x5c]
mov dword [esi + 0x10], edi
mov dword [esi + 0x14], eax
cmp eax, edx
jbe 0x1001724f
mov dword [esi + 0x14], edx
mov eax, edx
test eax, eax
je 0x100173c7
nop word [eax + eax]
mov ebx, dword [esi + 8]
test ebx, ebx
jne 0x10017323
mov eax, dword [esi + 0x58]
test eax, eax
je 0x10017323
mov ecx, dword [esi + 0x60]
mov ebx, 0x4000
mov edx, dword [esi + 0x68]
cmp eax, ebx
cmovb ebx, eax
add edx, dword [esi + 0x3c]
cmp byte [ecx], 0
je 0x100172ad
cmp byte [ecx + 1], 0
je 0x100173d0
mov eax, dword [ecx + 0xc]
push 0
push 0
add eax, edx
push eax
push dword [ecx + 4]
call dword [sym.imp.KERNEL32.dll_SetFilePointer]
jmp 0x100172b0
mov dword [ecx + 0x18], edx
mov edi, dword [esi + 0x60]
mov dword [ebp - 0xc], edi
cmp byte [edi], 0
je 0x100172da
push 0
lea eax, [ebp - 0x10]
push eax
push ebx
push dword [esi]
push dword [edi + 4]
call dword [sym.imp.KERNEL32.dll_ReadFile]
test eax, eax
jne 0x100172d5
mov byte [edi + 8], 1
mov eax, dword [ebp - 0x10]
jmp 0x10017308
mov edx, dword [edi + 0x18]
mov ecx, dword [edi + 0x14]
mov edi, ecx
sub edi, edx
lea eax, [edx + ebx]
cmp eax, ecx
mov eax, dword [ebp - 0xc]
cmovbe edi, ebx
push edi
mov eax, dword [eax + 0x10]
add eax, edx
push eax
push dword [esi]
call sub.VCRUNTIME140.dll_memcpy
mov eax, dword [ebp - 0xc]
add esp, 0xc
add dword [eax + 0x18], edi
mov eax, edi
xor edx, edx
div ebx
cmp eax, 1
jne 0x100173d0
add dword [esi + 0x3c], ebx
mov eax, dword [esi]
sub dword [esi + 0x58], ebx
mov dword [esi + 4], eax
mov dword [esi + 8], ebx
cmp dword [esi + 0x64], 0
jne 0x10017379
mov edi, dword [esi + 0x14]
cmp edi, ebx
cmovae edi, ebx
xor edx, edx
test edi, edi
je 0x10017348
mov eax, dword [esi + 4]
mov ecx, dword [esi + 0x10]
mov al, byte [edx + eax]
mov byte [edx + ecx], al
inc edx
cmp edx, edi
jb 0x10017337
mov edx, dword [esi + 0x10]
mov ecx, dword [esi + 0x50]
push edi
call fcn.10015030
mov ecx, dword [ebp - 4]
add esp, 4
sub dword [esi + 0x5c], edi
sub dword [esi + 8], edi
sub dword [esi + 0x14], edi
add dword [esi + 0x10], edi
add dword [esi + 4], edi
add dword [esi + 0x18], edi
add ecx, edi
mov edi, dword [ebp - 8]
mov dword [esi + 0x50], eax
mov dword [ebp - 4], ecx
jmp 0x100173bd
mov edi, dword [esi + 0x18]
lea ecx, [esi + 4]
mov ebx, dword [esi + 0x10]
call fcn.10015670
mov ecx, dword [esi + 0x50]
mov edx, ebx
mov dword [ebp - 8], eax
mov eax, dword [esi + 0x18]
sub eax, edi
push eax
mov dword [ebp - 0xc], eax
call fcn.10015030
mov ecx, dword [ebp - 4]
add esp, 4
mov edi, dword [ebp - 8]
mov dword [esi + 0x50], eax
mov eax, dword [ebp - 0xc]
add ecx, eax
sub dword [esi + 0x5c], eax
mov dword [ebp - 4], ecx
cmp edi, 1
je 0x100173c7
test edi, edi
jne 0x100173c7
cmp dword [esi + 0x14], 0
ja 0x10017260
mov eax, ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
or eax, 0xffffffff
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
xor eax, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
pop edi
pop esi
mov eax, 0xffffff9a
pop ebx
mov esp, ebp
pop ebp
ret