Function at 0x10019990
Capabilities:
Write file on windows

Disassembly:
sub esp, 0x20
push esi
mov esi, dword [esp + 0x30]
push edi
mov eax, dword [esi + 0x92c]
test eax, eax
mov eax, dword [esi + 0xa8]
je 0x10019ab3
cmp eax, 0xffffffff
push esi
jne 0x10019a43
mov edi, dword [esp + 0x34]
push 0
push 0x18
push edi
push 0
call fcn.10020210
add esp, 0x14
test eax, eax
je 0x100199e3
mov eax, dword [esi + 0xa0]
pop edi
neg eax
sbb eax, eax
pop esi
and al, 0xf6
add eax, 0x13
add esp, 0x20
ret
mov eax, dword [esp + 0x2c]
push 0
mov dword [esp + 0xc], 0x8074b50
mov ecx, dword [eax + 0xc]
mov edx, dword [eax + 0x10]
mov dword [esp + 0x10], ecx
mov ecx, dword [eax + 0x14]
mov dword [esp + 0x14], edx
mov edx, dword [eax + 0x18]
mov eax, dword [eax + 0x1c]
mov dword [esp + 0x18], ecx
lea ecx, [esp + 0x38]
mov dword [esp + 0x1c], edx
mov dword [esp + 0x20], eax
mov eax, dword [edi]
push ecx
lea edx, [esp + 0x10]
push 0x18
push edx
push eax
call dword [sym.imp.KERNEL32.dll_WriteFile]
test eax, eax
je 0x10019a38
cmp dword [esp + 0x34], 0x18
je 0x10019ba9
mov eax, 0xa
pop edi
pop esi
add esp, 0x20
ret
call fcn.10020aa0
add esp, 4
test edx, edx
jg 0x10019a6a
jl 0x10019a56
cmp eax, 0x18
jae 0x10019a6a
mov ecx, dword [esp + 0x30]
push esi
push ecx
push 0
call fcn.10020bc0
add esp, 0xc
test eax, eax
jne 0x10019a3d
mov eax, dword [esp + 0x2c]
push 0
mov dword [esp + 0xc], 0x8074b50
mov edx, dword [eax + 0xc]
mov ecx, dword [eax + 0x10]
mov dword [esp + 0x10], edx
mov edx, dword [eax + 0x14]
mov dword [esp + 0x14], ecx
mov ecx, dword [eax + 0x18]
mov dword [esp + 0x18], edx
mov edx, dword [eax + 0x1c]
lea eax, [esp + 0x38]
mov dword [esp + 0x1c], ecx
mov dword [esp + 0x20], edx
mov edx, dword [esi + 0xa8]
push eax
lea ecx, [esp + 0x10]
push 0x18
push ecx
push edx
jmp 0x10019a23
cmp eax, 0xffffffff
push esi
jne 0x10019b2f
mov edi, dword [esp + 0x34]
push 0
push 0x10
push edi
push 0
call fcn.10020210
add esp, 0x14
test eax, eax
je 0x10019ae5
mov eax, dword [esi + 0xa0]
pop edi
neg eax
sbb eax, eax
pop esi
and al, 0xf6
add eax, 0x13
add esp, 0x20
ret
mov eax, dword [esp + 0x2c]
push 0
mov dword [esp + 0xc], 0x8074b50
mov ecx, dword [eax + 0xc]
mov edx, dword [eax + 0x10]
mov eax, dword [eax + 0x18]
mov dword [esp + 0x10], ecx
lea ecx, [esp + 0x38]
mov dword [esp + 0x14], edx
mov dword [esp + 0x18], eax
mov eax, dword [edi]
push ecx
lea edx, [esp + 0x10]
push 0x10
push edx
push eax
call dword [sym.imp.KERNEL32.dll_WriteFile]
test eax, eax
je 0x10019a38
cmp dword [esp + 0x34], 0x10
jmp 0x10019a32
call fcn.10020aa0
add esp, 4
test edx, edx
jg 0x10019b5a
jl 0x10019b42
cmp eax, 0x10
jae 0x10019b5a
mov ecx, dword [esp + 0x30]
push esi
push ecx
push 0
call fcn.10020bc0
add esp, 0xc
test eax, eax
jne 0x10019a3d
mov eax, dword [esp + 0x2c]
push 0
mov dword [esp + 0xc], 0x8074b50
mov edx, dword [eax + 0xc]
mov ecx, dword [eax + 0x10]
mov dword [esp + 0x10], edx
mov edx, dword [eax + 0x18]
lea eax, [esp + 0x38]
mov dword [esp + 0x14], ecx
mov dword [esp + 0x18], edx
mov edx, dword [esi + 0xa8]
push eax
lea ecx, [esp + 0x10]
push 0x10
push ecx
push edx
call dword [sym.imp.KERNEL32.dll_WriteFile]
test eax, eax
je 0x10019a38
cmp dword [esp + 0x34], 0x10
jne 0x10019a38
pop edi
xor eax, eax
pop esi
add esp, 0x20
ret