Function at 0x1010eae3
Capabilities:
Read file on windows
Write file on windows

Disassembly:
push 0x94
mov eax, 0x10175d99
call fcn.10004365
mov eax, dword [ebp + 8]
and dword [ebp - 0x20], 0
push eax
mov dword [ebp - 0x30], eax
call fcn.100fd4c8
mov edi, dword [ebp + 0x18]
mov esi, eax
mov ebx, dword [ebp + 0x1c]
mov ecx, edi
and ecx, ebx
mov dword [ebp - 0x38], edi
mov dword [ebp - 0x34], ebx
cmp ecx, 0xffffffff
jne 0x1010eb29
mov edi, esi
mov ebx, edx
sub edi, dword [ebp + 0x10]
mov dword [ebp - 0x38], edi
sbb ebx, dword [ebp + 0x14]
mov dword [ebp - 0x34], ebx
mov ecx, edi
mov eax, ebx
add ecx, dword [ebp + 0x10]
adc eax, dword [ebp + 0x14]
cmp eax, edx
jb 0x1010eb4c
ja 0x1010eb3d
cmp ecx, esi
jbe 0x1010eb4c
push 0x80070057
push 0x2e6e7432
call fcn.1010988b
mov eax, edi
or eax, ebx
je 0x1010efbb
cmp dword [ebp + 0xc], 1
jne 0x1010eb74
test ebx, ebx
jne 0x1010efc3
cmp edi, 0xffffffff
ja 0x1010efc3
mov esi, edi
mov dword [ebp - 0x28], edi
jmp 0x1010ebb5
test ebx, ebx
jne 0x1010ebad
cmp edi, 0xc0000
ja 0x1010ebad
test ebx, ebx
jne 0x1010eba6
cmp edi, 0x30000
ja 0x1010eba6
test ebx, ebx
jne 0x1010eb9f
cmp edi, 0x6000
ja 0x1010eb9f
mov esi, 0x180
jmp 0x1010ebb2
mov esi, 0xc00
jmp 0x1010ebb2
mov esi, 0x6000
jmp 0x1010ebb2
mov esi, 0x30000
mov dword [ebp - 0x28], esi
and dword [ebp - 0x14], 0
lea ecx, [ebp - 0x14]
push 0
push esi
push 0x11
mov dword [ebp - 0x58], esi
call fcn.10106b9d
mov eax, dword [ebp + 0xc]
and dword [ebp - 4], 0
sub eax, 0
je 0x1010efac
sub eax, 1
je 0x1010ecf3
sub eax, 1
je 0x1010ec04
sub eax, 1
je 0x1010ed23
push 0x80070057
push 0x2e6e7433
call fcn.1010988b
jmp 0x1010ed23
push dword [ebp - 0x14]
lea eax, [ebp - 0x60]
push eax
call fcn.100f629a
mov cl, byte [ebp + 0x28]
mov eax, dword [ebp - 0x5c]
mov byte [eax], cl
lea ecx, [ebp - 0x60]
call fcn.1010e563
push dword [ebp - 0x14]
lea eax, [ebp - 0x68]
push eax
call fcn.100f629a
mov cl, byte [ebp + 0x2c]
mov eax, dword [ebp - 0x64]
mov byte [eax + 1], cl
lea ecx, [ebp - 0x68]
call fcn.1010e563
push dword [ebp - 0x14]
lea eax, [ebp - 0x70]
push eax
call fcn.100f629a
mov cl, byte [ebp + 0x30]
mov eax, dword [ebp - 0x6c]
mov dword [ebp - 0x20], 0x38
mov byte [eax + 2], cl
lea ecx, [ebp - 0x70]
call fcn.1010e563
push 3
pop eax
mov dword [ebp - 0x40], eax
cmp esi, eax
jbe 0x1010ece1
mov ebx, dword [ebp - 0x28]
mov edi, eax
push dword [ebp - 0x14]
lea eax, [ebp - 0x80]
push eax
call fcn.100f629a
push dword [ebp - 0x14]
lea eax, [ebp - 0x78]
mov byte [ebp - 4], 2
push eax
call fcn.100f629a
or dword [ebp - 0x20], 0xc0
lea eax, [ebp - 0x2c]
mov esi, dword [ebp - 0x7c]
and dword [ebp - 0x2c], 0
push eax
lea eax, [ebp - 0x54]
mov dword [ebp - 0x54], edi
push eax
lea eax, [ebp - 0x58]
push eax
call fcn.100eaafb
mov eax, dword [ebp - 0x74]
push edi
push esi
push dword [ebp - 0x2c]
add eax, edi
push eax
call fcn.100ec33d
add esp, 0x10
lea ecx, [ebp - 0x78]
call fcn.1010e563
lea ecx, [ebp - 0x80]
mov byte [ebp - 4], 0
call fcn.1010e563
add edi, edi
cmp ebx, edi
ja 0x1010ec70
mov edi, dword [ebp - 0x38]
mov ebx, dword [ebp - 0x34]
mov byte [ebp + 0x30], 0
mov al, byte [ebp + 0x30]
mov byte [ebp + 0x2c], al
mov al, byte [ebp + 0x2c]
mov byte [ebp + 0x28], al
jmp 0x1010ed23
push dword [ebp - 0x14]
lea eax, [ebp - 0x48]
push eax
call fcn.100f629a
movzx eax, byte [ebp + 0x28]
push esi
push eax
push dword [ebp - 0x44]
mov dword [ebp - 0x20], 4
call sub.VCRUNTIME140.dll_memset
add esp, 0xc
lea ecx, [ebp - 0x48]
call fcn.1010e563
mov byte [ebp + 0x28], 0
xor esi, esi
mov dword [ebp - 0x3c], esi
cmp byte [ebp + 0x20], 0
mov byte [ebp - 4], 3
je 0x1010ed43
push esi
push dword [ebp - 0x28]
lea ecx, [ebp - 0x3c]
push 0x11
call fcn.10106b9d
mov esi, dword [ebp - 0x3c]
push 0
push dword [ebp + 0x14]
push dword [ebp + 0x10]
push dword [ebp - 0x30]
call fcn.1010673a
mov dword [ebp - 0x50], edi
mov dword [ebp - 0x4c], ebx
test ebx, ebx
jb 0x1010ed7e
mov eax, dword [ebp - 0x28]
ja 0x1010ed66
cmp edi, eax
jbe 0x1010ed6b
mov dword [ebp - 0x2c], eax
jmp 0x1010ed81
test ebx, ebx
ja 0x1010efc3
jb 0x1010ed7e
cmp edi, 0xffffffff
ja 0x1010efc3
mov dword [ebp - 0x2c], edi
cmp dword [ebp + 0xc], 3
jne 0x1010ed92
push 0
lea eax, [ebp - 0x14]
push eax
call fcn.100fbfcd
cmp byte [ebp + 0x20], 0
xorps xmm0, xmm0
movlpd qword [ebp - 0x48], xmm0
je 0x1010edb3
push 1
push 0
push 0
push dword [ebp - 0x30]
call fcn.1010673a
mov dword [ebp - 0x38], edx
jmp 0x1010edbc
mov eax, dword [ebp - 0x44]
mov dword [ebp - 0x38], eax
mov eax, dword [ebp - 0x48]
push dword [ebp - 0x14]
mov dword [ebp - 0x40], eax
lea eax, [ebp - 0x88]
push eax
call fcn.100f629a
or dword [ebp - 0x20], 0x101
lea eax, [ebp - 0x18]
push 0
push eax
push dword [ebp - 0x2c]
push dword [ebp - 0x84]
push dword [ebp - 0x30]
call dword [sym.imp.KERNEL32.dll_WriteFile]
test eax, eax
je 0x1010edfd
mov eax, dword [ebp - 0x2c]
mov byte [ebp - 0x21], 0
cmp eax, dword [ebp - 0x18]
je 0x1010ee01
mov byte [ebp - 0x21], 1
and dword [ebp - 0x20], 0xfffffffe
lea ecx, [ebp - 0x88]
call fcn.1010e563
cmp byte [ebp - 0x21], 0
je 0x1010ee35
call dword [sym.imp.KERNEL32.dll_GetLastError]
movzx ecx, ax
or ecx, 0x80070000
test eax, eax
cmovle ecx, eax
push ecx
push 0x2e6e7434
call fcn.1010988b
cmp byte [ebp + 0x20], 0
je 0x1010ef30
push 0
push dword [ebp - 0x38]
push dword [ebp - 0x40]
push dword [ebp - 0x30]
call fcn.1010673a
push esi
lea eax, [ebp - 0x90]
push eax
call fcn.100f629a
mov ebx, dword [ebp - 0x2c]
lea eax, [ebp - 0x1c]
or dword [ebp - 0x20], 0x202
push 0
push eax
push ebx
push dword [ebp - 0x8c]
push dword [ebp - 0x30]
call dword [sym.imp.KERNEL32.dll_ReadFile]
test eax, eax
je 0x1010ee89
cmp ebx, dword [ebp - 0x1c]
jne 0x1010ee89
xor bl, bl
jmp 0x1010ee8b
mov bl, 1
and dword [ebp - 0x20], 0xfffffffd
lea ecx, [ebp - 0x90]
call fcn.1010e563
test bl, bl
je 0x1010eebd
call dword [sym.imp.KERNEL32.dll_GetLastError]
movzx ecx, ax
or ecx, 0x80070000
test eax, eax
cmovle ecx, eax
push ecx
push 0x2e6e7435
call fcn.1010988b
push esi
lea eax, [ebp - 0xa0]
push eax
call fcn.100f629a
push dword [ebp - 0x14]
lea eax, [ebp - 0x98]
mov byte [ebp - 4], 4
push eax
call fcn.100f629a
push dword [ebp - 0x2c]
or dword [ebp - 0x20], 0xc00
push dword [ebp - 0x9c]
push dword [ebp - 0x94]
call sub.VCRUNTIME140.dll_memcmp
add esp, 0xc
lea ecx, [ebp - 0x98]
test eax, eax
sete bl
call fcn.1010e563
lea ecx, [ebp - 0xa0]
mov byte [ebp - 4], 3
call fcn.1010e563
test bl, bl
jne 0x1010ef2d
push 0x80004005
push 0x2e6e7436
call fcn.1010988b
mov ebx, dword [ebp - 0x34]
push dword [ebp - 0x28]
push ebx
push edi
call fcn.100f2cd1
test al, al
jne 0x1010ef58
push dword [ebp - 0x28]
lea eax, [ebp - 0x50]
push eax
call fcn.100f2d1a
mov ebx, dword [ebp - 0x4c]
mov edi, dword [ebp - 0x50]
mov dword [ebp - 0x34], ebx
jmp 0x1010ed59
cmp byte [ebp + 0x20], 0
je 0x1010ef66
lea ecx, [ebp - 0x3c]
call fcn.101066e0
lea ecx, [ebp - 0x14]
call fcn.101066e0
cmp byte [ebp + 0x24], 0
je 0x1010efa0
push dword [ebp - 0x30]
call dword [sym.imp.KERNEL32.dll_FlushFileBuffers]
test eax, eax
jne 0x1010efa0
call dword [sym.imp.KERNEL32.dll_GetLastError]
movzx ecx, ax
or ecx, 0x80070000
test eax, eax
cmovle ecx, eax
push ecx
push 0x2e6e7437
call fcn.1010988b
lea ecx, [ebp - 0x3c]
mov byte [ebp - 4], 5
call fcn.1010558c
lea ecx, [ebp - 0x14]
mov dword [ebp - 4], 6
call fcn.1010558c
call fcn.100045f2
ret 0x2c
call fcn.1001288b
int3