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

Disassembly:
sub esp, 0x44c
mov eax, dword [0x1008e168]
xor eax, esp
mov dword [esp + 0x448], eax
mov eax, dword [esp + 0x450]
push ebx
push ebp
mov ebp, dword [esp + 0x45c]
xor ebx, ebx
push esi
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0x464]
push edi
push 0x10001bfc
mov dword [esp + 0x20], eax
mov dword [eax], ebx
lea eax, [esp + 0x44]
push 0x10001c04
push eax
mov dword [esp + 0x20], 0
mov dword [esp + 0x24], 0
call fcn.1000dc80
mov esi, eax
test esi, esi
js 0x10019906
push 0x10001bfc
push 0x10001c04
lea eax, [esp + 0x254]
push eax
call fcn.1000dc80
mov esi, eax
test esi, esi
js 0x10019906
lea eax, [esp + 0x24c]
push 0x5c
push eax
call fcn.1007d947
mov ebx, eax
add esp, 8
test ebx, ebx
je 0x10019725
add ebx, 2
jmp 0x1001972c
lea ebx, [esp + 0x24c]
lea eax, [esp + 0x20]
push eax
call fcn.10076870
mov esi, eax
test esi, esi
js 0x10019906
push 0
push 0x10000080
push 2
push 0
push 0
push 0xc0000000
lea eax, [esp + 0x58]
push eax
call fcn.1000e440
mov edi, eax
cmp edi, 0xffffffff
jne 0x10019773
call fcn.10056990
mov ebp, dword [esp + 0x10]
mov esi, eax
jmp 0x100198f5
push 0
lea eax, [esp + 0x18]
push eax
push 0x10
lea eax, [esp + 0x2c]
push eax
push edi
call dword [sym.imp.KERNEL32.dll_WriteFile]
test eax, eax
jne 0x1001979c
call fcn.10056990
mov ebp, dword [esp + 0x10]
mov esi, eax
jmp 0x100198f5
push edi
call dword [sym.imp.KERNEL32.dll_CloseHandle]
xor edi, edi
test eax, eax
jne 0x100197b9
call fcn.10056990
mov ebp, dword [esp + 0x10]
mov esi, eax
jmp 0x100198f5
cmp word [ebp], di
je 0x100197d6
push ebp
mov ebp, dword [esp + 0x14]
push ebp
call fcn.10017e50
mov esi, eax
test esi, esi
js 0x1001990a
jmp 0x100197da
mov ebp, dword [esp + 0x10]
lea eax, [esp + 0x24c]
push eax
call fcn.1000e530
test eax, eax
jne 0x100197f7
call fcn.10056990
mov esi, eax
jmp 0x100198f5
push 2
push ebx
lea eax, [esp + 0x48]
push eax
push ebp
call fcn.100185f0
mov esi, eax
test esi, esi
js 0x1001990a
lea eax, [esp + 0x40]
mov dword [esp + 0x18], 1
push eax
call fcn.1000e530
test eax, eax
jne 0x10019831
call fcn.10056990
mov esi, eax
jmp 0x100198f5
push 2
lea eax, [esp + 0x44]
push eax
push ebx
push ebp
call fcn.10018120
mov esi, eax
test esi, esi
js 0x1001990a
push 0
push 0x10000080
push 3
push 0
push 0
push 0xc0000000
lea eax, [esp + 0x58]
push eax
call fcn.1000e440
mov edi, eax
cmp edi, 0xffffffff
jne 0x10019878
call fcn.10056990
mov esi, eax
jmp 0x100198f5
push 0
lea eax, [esp + 0x18]
push eax
push 0x10
lea eax, [esp + 0x3c]
push eax
push edi
call dword [sym.imp.KERNEL32.dll_ReadFile]
test eax, eax
jne 0x1001989a
call fcn.10056990
mov esi, eax
jmp 0x100198f5
push edi
call dword [sym.imp.KERNEL32.dll_CloseHandle]
xor edi, edi
test eax, eax
jne 0x100198b0
call fcn.10056990
mov esi, eax
jmp 0x100198f5
lea ecx, [esp + 0x20]
mov ebp, 0xc
lea edx, [esp + 0x30]
lea ecx, [ecx]
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x100198d8
add ecx, 4
add edx, 4
sub ebp, 4
jae 0x100198c0
mov eax, 1
jmp 0x100198da
xor eax, eax
mov ecx, dword [esp + 0x1c]
mov dword [ecx], eax
lea eax, [esp + 0x40]
push eax
call fcn.1000e530
mov ebp, dword [esp + 0x10]
push ebx
push ebp
call fcn.10017fc0
test esi, esi
jns 0x10019922
test edi, edi
je 0x1001990a
push edi
call dword [sym.imp.KERNEL32.dll_CloseHandle]
jmp 0x1001990a
mov ebp, dword [esp + 0x10]
lea eax, [esp + 0x40]
push eax
call fcn.1000e530
cmp dword [esp + 0x18], 0
je 0x10019922
push ebx
push ebp
call fcn.10017fc0
mov ecx, dword [esp + 0x458]
mov eax, esi
pop edi
pop esi
pop ebp
pop ebx
xor ecx, esp
call fcn.1007d8c1
add esp, 0x44c
ret 0xc