Function at 0x10019940
Capabilities:
Write file on windows

Disassembly:
sub esp, 0x654
mov eax, dword [0x1008e168]
xor eax, esp
mov dword [esp + 0x650], eax
mov eax, dword [esp + 0x660]
push ebx
mov ebx, dword [esp + 0x65c]
push ebp
push esi
push edi
push 0x10001bfc
mov dword [esp + 0x20], eax
mov dword [eax], 0
lea eax, [esp + 0x24c]
push 0x10001c04
push eax
mov dword [esp + 0x1c], ebx
mov dword [esp + 0x20], 0
mov dword [esp + 0x24], 0
call fcn.1000dc80
mov esi, eax
test esi, esi
js 0x10019c0c
push 0x10001bfc
push 0x10001c04
lea eax, [esp + 0x45c]
push eax
call fcn.1000dc80
mov esi, eax
test esi, esi
js 0x10019c0c
lea eax, [esp + 0x248]
push 0x5c
push eax
call fcn.1007d947
lea eax, [esp + 0x45c]
push 0x5c
push eax
call fcn.1007d947
mov edi, eax
add esp, 0x10
test edi, edi
je 0x100199f2
add edi, 2
jmp 0x100199f9
lea edi, [esp + 0x454]
lea eax, [esp + 0x20]
push eax
call fcn.10076870
mov esi, eax
test esi, esi
js 0x10019c0c
push 0
push 0x10000080
push 2
push 0
push 0
push 0xc0000000
lea eax, [esp + 0x260]
push eax
call fcn.1000e440
mov ebp, eax
cmp ebp, 0xffffffff
jne 0x10019a3f
call fcn.10056990
mov esi, eax
jmp 0x10019bfd
push 0
lea eax, [esp + 0x1c]
push eax
push 0x10
lea eax, [esp + 0x2c]
push eax
push ebp
call dword [sym.imp.KERNEL32.dll_WriteFile]
test eax, eax
jne 0x10019a64
call fcn.10056990
mov esi, eax
jmp 0x10019bfd
push ebp
call dword [sym.imp.KERNEL32.dll_CloseHandle]
test eax, eax
jne 0x10019a7b
call fcn.10056990
mov esi, eax
jmp 0x10019bfd
lea eax, [esp + 0x454]
push eax
call fcn.1000e530
test eax, eax
jne 0x10019a98
call fcn.10056990
mov esi, eax
jmp 0x10019bfd
mov esi, dword [esp + 0x66c]
lea ecx, [esp + 0x40]
mov eax, ecx
mov edx, 0x104
sub esi, eax
lea esp, [esp]
lea eax, [edx + 0x7ffffefa]
test eax, eax
je 0x10019ace
movzx eax, word [esi + ecx]
test ax, ax
je 0x10019ace
mov word [ecx], ax
add ecx, 2
dec edx
jne 0x10019ab0
jmp 0x10019ad2
test edx, edx
jne 0x10019ad5
sub ecx, 2
xor eax, eax
push 0x10001c0c
mov word [ecx], ax
lea eax, [esp + 0x44]
push 0x104
push eax
call fcn.10013a00
push edi
push 0x104
lea eax, [esp + 0x48]
push eax
call fcn.10013a00
lea eax, [esp + 0x248]
push eax
lea eax, [esp + 0x44]
push eax
push ebx
call fcn.100190f0
mov esi, eax
test esi, esi
js 0x10019c01
lea eax, [esp + 0x248]
push eax
call fcn.1000e530
test eax, eax
jne 0x10019b38
call fcn.10056990
mov esi, eax
jmp 0x10019bfd
lea eax, [esp + 0x14]
push eax
lea eax, [esp + 0x44]
push eax
push 0x10001bec
push ebx
call fcn.10018e90
mov ebx, dword [esp + 0x14]
mov esi, eax
test esi, esi
js 0x10019bee
push 0
push 0
push 0
push 0
push ebx
call dword [0x1008f4e0]
test eax, eax
jne 0x10019b75
mov esi, 0xfffff8ed
jmp 0x10019bee
lea eax, [esp + 0x18]
push eax
push 0x10
lea eax, [esp + 0x38]
push eax
push ebx
call dword [0x1008f4d0]
test eax, eax
jne 0x10019bac
call fcn.10018840
mov esi, eax
mov eax, 0xffffb135
cmp esi, 0xffffb13f
cmove esi, eax
test esi, esi
jns 0x10019bae
mov esi, 0xfffff8ed
jmp 0x10019bee
xor esi, esi
lea ecx, [esp + 0x20]
mov edi, 0xc
lea edx, [esp + 0x30]
jmp 0x10019bc0
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x10019bd8
add ecx, 4
add edx, 4
sub edi, 4
jae 0x10019bc0
mov eax, 1
jmp 0x10019bda
xor eax, eax
mov ecx, dword [esp + 0x1c]
mov dword [ecx], eax
lea eax, [esp + 0x40]
push eax
push dword [esp + 0x14]
call fcn.10018ab0
test ebx, ebx
je 0x10019bf9
push ebx
call dword [0x1008f4d8]
mov ebx, dword [esp + 0x10]
test esi, esi
jns 0x10019c24
test ebp, ebp
je 0x10019c0c
push ebp
call dword [sym.imp.KERNEL32.dll_CloseHandle]
lea eax, [esp + 0x248]
push eax
call fcn.1000e530
lea eax, [esp + 0x40]
push eax
push ebx
call fcn.10018ab0
mov ecx, dword [esp + 0x660]
mov eax, esi
pop edi
pop esi
pop ebp
pop ebx
xor ecx, esp
call fcn.1007d8c1
add esp, 0x654
ret 0xc