Function at 0x1800c8f40
Capabilities:
Write file on windows

Disassembly:
mov qword [rsp + 0x20], r9
mov qword [rsp + 0x18], r8
mov qword [rsp + 0x10], rdx
mov qword [rsp + 8], rcx
push rdi
mov eax, 0x4df0
call fcn.1801339d0
sub rsp, rax
mov qword [rsp + 0x4d68], 0xfffffffffffffffe
mov rax, qword [0x180161180]
xor rax, rsp
mov qword [rsp + 0x4de8], rax
mov qword [rsp + 0x43f0], 0
mov dword [rsp + 0x1240], 0
mov dword [rsp + 0x11d0], 0x1f
mov dword [rsp + 0x11b0], 0
mov byte [rsp + 0x11e0], 0
lea rdi, [rsp + 0x11e1]
xor eax, eax
mov ecx, 0xf
rep stosb byte [rdi], al
lea rdi, [rsp + 0x11f0]
xor eax, eax
mov ecx, 0x50
rep stosb byte [rdi], al
mov byte [rsp + 0x33c0], 0
lea rdi, [rsp + 0x33c1]
xor eax, eax
mov ecx, 0x1003
rep stosb byte [rdi], al
mov dword [rsp + 0x43d0], 0
lea rdi, [rsp + 0x43d4]
xor eax, eax
mov ecx, 0x14
rep stosb byte [rdi], al
mov byte [rsp + 0x1050], 0
lea rdi, [rsp + 0x1051]
xor eax, eax
mov ecx, 0x4f
rep stosb byte [rdi], al
mov dword [rsp + 0x1248], 0
lea rdi, [rsp + 0x124c]
xor eax, eax
mov ecx, 0xc
rep stosb byte [rdi], al
mov byte [rsp + 0x10a0], 0
lea rdi, [rsp + 0x10a1]
xor eax, eax
mov ecx, 0x103
rep stosb byte [rdi], al
mov byte [rsp + 0x1280], 0
lea rdi, [rsp + 0x1281]
xor eax, eax
mov ecx, 0x103
rep stosb byte [rdi], al
mov qword [rsp + 0x33b0], 0
mov byte [rsp + 0x11c8], 0
lea rdi, [rsp + 0x11c9]
xor eax, eax
mov ecx, 4
rep stosb byte [rdi], al
mov byte [rsp + 0x1260], 0
lea rdi, [rsp + 0x1261]
xor eax, eax
mov ecx, 9
rep stosb byte [rdi], al
mov byte [rsp + 0x4400], 0
lea rdi, [rsp + 0x4401]
xor eax, eax
mov ecx, 0x7ff
rep stosb byte [rdi], al
mov byte [rsp + 0x1394], 0
mov dword [rsp + 0x43e8], 0x800
mov byte [rsp + 0x50], 0
lea rdi, [rsp + 0x51]
xor eax, eax
mov ecx, 0xfff
rep stosb byte [rdi], al
mov byte [rsp + 0x23b0], 0
lea rdi, [rsp + 0x23b1]
xor eax, eax
mov ecx, 0xfff
rep stosb byte [rdi], al
mov byte [rsp + 0x13b0], 0
lea rdi, [rsp + 0x13b1]
xor eax, eax
mov ecx, 0xfff
rep stosb byte [rdi], al
lea rax, [rsp + 0x50]
mov qword [rsp + 0x11c0], rax
lea rax, [rsp + 0x23b0]
mov qword [rsp + 0x13a0], rax
lea rax, [rsp + 0x13b0]
mov qword [rsp + 0x11b8], rax
mov dword [rsp + 0x1258], 0
mov dword [rsp + 0x1390], 0
mov byte [rsp + 0x139c], 0
mov dword [rsp + 0x1270], 0
mov dword [rsp + 0x1398], 0
lea rdi, [rsp + 0x10a0]
xor eax, eax
mov ecx, 0x104
rep stosb byte [rdi], al
lea r9, [rsp + 0x33b0]
lea r8, [rsp + 0x10a0]
mov edx, 0x104
mov rcx, qword [rsp + 0x4e18]
call qword [sym.imp.KERNEL32.dll_GetFullPathNameA]
test eax, eax
jne 0x1800c9282
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [rsp + 0x11d0], eax
mov edx, dword [rsp + 0x11d0]
lea rcx, [0x180029cb0]
call fcn.1800892c0
mov ecx, 0x1020
call fcn.1800eb9ac
mov qword [rsp + 0x4c08], rax
cmp qword [rsp + 0x4c08], 0
je 0x1800c9232
mov r8d, dword [rsp + 0x11d0]
mov eax, dword [rsp + 0x11d0]
mov dword [rsp + 0x20], eax
lea r9, [0x180029c50]
mov edx, 5
mov rcx, qword [rsp + 0x4c08]
call fcn.18008d120
mov qword [rsp + 0x4d70], rax
jmp 0x1800c923e
mov qword [rsp + 0x4d70], 0
mov rax, qword [rsp + 0x4d70]
mov qword [rsp + 0x4c00], rax
mov rax, qword [rsp + 0x4c00]
mov qword [rsp + 0x43f0], rax
mov rax, qword [rsp + 0x43f0]
mov qword [rsp + 0x4c10], rax
lea rdx, [0x18015a158]
lea rcx, [rsp + 0x4c10]
call fcn.1800ec370
lea rdi, [rsp + 0x50]
xor eax, eax
mov ecx, 0x1000
rep stosb byte [rdi], al
mov byte [rsp + 0x30], 0
mov byte [rsp + 0x28], 0
mov byte [rsp + 0x20], 0
xor r9d, r9d
mov r8d, 0x1000
lea rdx, [rsp + 0x50]
mov rcx, qword [rsp + 0x4e00]
call fcn.1800a60d0
mov rdx, qword [rsp + 0x11c0]
movzx eax, byte [rdx + 6]
shr al, 5
and al, 3
movzx eax, al
add eax, 1
mov dword [rsp + 0x11b0], eax
lea rdi, [rsp + 0x23b0]
xor eax, eax
mov ecx, 0x1000
rep stosb byte [rdi], al
mov byte [rsp + 0x30], 0
mov byte [rsp + 0x28], 1
mov byte [rsp + 0x20], 0
xor r9d, r9d
mov r8d, 0x1000
lea rdx, [rsp + 0x23b0]
mov rcx, qword [rsp + 0x4e00]
call fcn.1800a60d0
mov rax, qword [rsp + 0x13a0]
movzx eax, byte [rax + 4]
cmp eax, 1
jne 0x1800c93b3
mov byte [rsp + 0x139c], 1
lea rdi, [rsp + 0x11c8]
xor eax, eax
mov ecx, 5
rep stosb byte [rdi], al
lea rdi, [rsp + 0x1260]
xor eax, eax
mov ecx, 0xa
rep stosb byte [rdi], al
lea rdi, [rsp + 0x4400]
xor eax, eax
mov ecx, 0x800
rep stosb byte [rdi], al
mov byte [rsp + 0x1394], 0
mov rax, qword [rsp + 0x4e10]
add rax, 4
mov qword [rsp + 0x28], rax
lea rax, [rsp + 0x1394]
mov qword [rsp + 0x20], rax
lea r9, [rsp + 0x4400]
lea r8, [rsp + 0x1260]
lea rdx, [rsp + 0x11c8]
mov rcx, qword [rsp + 0x4e00]
call fcn.1800dbfd0
jmp 0x1800c93be
mov dword [rsp + 0x43e8], 0
lea rdi, [rsp + 0x11e0]
xor eax, eax
mov ecx, 0x60
rep stosb byte [rdi], al
mov r8d, 0x11
lea rdx, [0x1800047e0]
lea rcx, [rsp + 0x11e0]
call fcn.1800eb460
mov byte [rsp + 0x11f0], 1
mov byte [rsp + 0x11f1], 0
mov byte [rsp + 0x11f2], 0x10
mov rax, qword [rsp + 0x4e10]
movzx eax, byte [rax + 9]
mov word [rsp + 0x11f4], ax
mov byte [rsp + 0x11f6], 2
movzx eax, word [rsp + 0x43e8]
mov word [rsp + 0x11f8], ax
xor eax, eax
mov word [rsp + 0x11fa], ax
xor eax, eax
mov word [rsp + 0x11fc], ax
xor eax, eax
mov word [rsp + 0x11fe], ax
cmp dword [rsp + 0x43e8], 0
jbe 0x1800c9462
mov dword [rsp + 0x1200], 0x60
jmp 0x1800c946d
mov dword [rsp + 0x1200], 0
mov dword [rsp + 0x1204], 0
mov dword [rsp + 0x1208], 0
mov dword [rsp + 0x120c], 0
mov byte [rsp + 0x1210], 0
mov r8d, 5
lea rdx, [rsp + 0x11c8]
lea rcx, [rsp + 0x1211]
call fcn.1800eb460
mov r8d, 0xa
lea rdx, [rsp + 0x1260]
lea rcx, [rsp + 0x1216]
call fcn.1800eb460
mov eax, dword [rsp + 0x43e8]
add rax, 0x60
mov dword [rsp + 0x1220], eax
mov ecx, dword [rsp + 0x43e8]
mov eax, dword [rsp + 0x11b0]
imul rax, rax, 0x1004
lea rax, [rcx + rax + 0x60]
mov dword [rsp + 0x1230], eax
mov dword [rsp + 0x1234], 0
mov qword [rsp + 0x20], 0
lea r9, [rsp + 0x1240]
mov r8d, 0x60
lea rdx, [rsp + 0x11e0]
mov rcx, qword [rsp + 0x4e08]
call qword [sym.imp.KERNEL32.dll_WriteFile]
test eax, eax
jne 0x1800c9602
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [rsp + 0x11d0], eax
mov edx, dword [rsp + 0x11d0]
lea rcx, [0x180029be0]
call fcn.1800892c0
mov ecx, 0x1020
call fcn.1800eb9ac
mov qword [rsp + 0x4c20], rax
cmp qword [rsp + 0x4c20], 0
je 0x1800c95b2
mov r8d, dword [rsp + 0x11d0]
mov eax, dword [rsp + 0x11d0]
mov dword [rsp + 0x20], eax
lea r9, [0x180029b70]
mov edx, 5
mov rcx, qword [rsp + 0x4c20]
call fcn.18008d120
mov qword [rsp + 0x4d78], rax
jmp 0x1800c95be
mov qword [rsp + 0x4d78], 0
mov rax, qword [rsp + 0x4d78]
mov qword [rsp + 0x4c18], rax
mov rax, qword [rsp + 0x4c18]
mov qword [rsp + 0x43f0], rax
mov rax, qword [rsp + 0x43f0]
mov qword [rsp + 0x4c28], rax
lea rdx, [0x18015a158]
lea rcx, [rsp + 0x4c28]
call fcn.1800ec370
mov eax, dword [rsp + 0x1240]
cmp rax, 0x60
je 0x1800c96d3
mov r8d, 0x60
mov edx, dword [rsp + 0x1240]
lea rcx, [0x180029af0]
call fcn.1800892c0
mov ecx, 0x1020
call fcn.1800eb9ac
mov qword [rsp + 0x4c38], rax
cmp qword [rsp + 0x4c38], 0
je 0x1800c9683
mov qword [rsp + 0x28], 0x60
mov eax, dword [rsp + 0x1240]
mov dword [rsp + 0x20], eax
lea r9, [0x180029a70]
xor r8d, r8d
mov edx, 0xa
mov rcx, qword [rsp + 0x4c38]
call fcn.18008d120
mov qword [rsp + 0x4d80], rax
jmp 0x1800c968f
mov qword [rsp + 0x4d80], 0
mov rax, qword [rsp + 0x4d80]
mov qword [rsp + 0x4c30], rax
mov rax, qword [rsp + 0x4c30]
mov qword [rsp + 0x43f0], rax
mov rax, qword [rsp + 0x43f0]
mov qword [rsp + 0x4c40], rax
lea rdx, [0x18015a158]
lea rcx, [rsp + 0x4c40]
call fcn.1800ec370
cmp dword [rsp + 0x43e8], 0
jbe 0x1800c98ac
mov qword [rsp + 0x20], 0
lea r9, [rsp + 0x1240]
mov r8d, 0x800
lea rdx, [rsp + 0x4400]
mov rcx, qword [rsp + 0x4e08]
call qword [sym.imp.KERNEL32.dll_WriteFile]
test eax, eax
jne 0x1800c97d9
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [rsp + 0x11d0], eax
mov edx, dword [rsp + 0x11d0]
lea rcx, [0x180029a10]
call fcn.1800892c0
mov ecx, 0x1020
call fcn.1800eb9ac
mov qword [rsp + 0x4c50], rax
cmp qword [rsp + 0x4c50], 0
je 0x1800c9789
mov r8d, dword [rsp + 0x11d0]
mov eax, dword [rsp + 0x11d0]
mov dword [rsp + 0x20], eax
lea r9, [0x1800299b0]
mov edx, 5
mov rcx, qword [rsp + 0x4c50]
call fcn.18008d120
mov qword [rsp + 0x4d88], rax
jmp 0x1800c9795
mov qword [rsp + 0x4d88], 0
mov rax, qword [rsp + 0x4d88]
mov qword [rsp + 0x4c48], rax
mov rax, qword [rsp + 0x4c48]
mov qword [rsp + 0x43f0], rax
mov rax, qword [rsp + 0x43f0]
mov qword [rsp + 0x4c58], rax
lea rdx, [0x18015a158]
lea rcx, [rsp + 0x4c58]
call fcn.1800ec370
mov eax, dword [rsp + 0x1240]
cmp rax, 0x800
je 0x1800c98ac
mov r8d, 0x800
mov edx, dword [rsp + 0x1240]
lea rcx, [0x180029930]
call fcn.1800892c0
mov ecx, 0x1020
call fcn.1800eb9ac
mov qword [rsp + 0x4c68], rax
cmp qword [rsp + 0x4c68], 0
je 0x1800c985c
mov qword [rsp + 0x28], 0x800
mov eax, dword [rsp + 0x1240]
mov dword [rsp + 0x20], eax
lea r9, [0x1800298b0]
xor r8d, r8d
mov edx, 0xa
mov rcx, qword [rsp + 0x4c68]
call fcn.18008d120
mov qword [rsp + 0x4d90], rax
jmp 0x1800c9868
mov qword [rsp + 0x4d90], 0
mov rax, qword [rsp + 0x4d90]
mov qword [rsp + 0x4c60], rax
mov rax, qword [rsp + 0x4c60]
mov qword [rsp + 0x43f0], rax
mov rax, qword [rsp + 0x43f0]
mov qword [rsp + 0x4c70], rax
lea rdx, [0x18015a158]
lea rcx, [rsp + 0x4c70]
call fcn.1800ec370
mov dword [rsp + 0x1258], 0
jmp 0x1800c98ca
mov eax, dword [rsp + 0x1258]
add eax, 1
mov dword [rsp + 0x1258], eax
mov eax, dword [rsp + 0x11b0]
cmp dword [rsp + 0x1258], eax
jge 0x1800c9e0f
lea rdi, [rsp + 0x50]
xor eax, eax
mov ecx, 0x1000
rep stosb byte [rdi], al
mov byte [rsp + 0x30], 0
mov byte [rsp + 0x28], 0
mov byte [rsp + 0x20], 0
xor r9d, r9d
mov r8d, 0x1000
lea rdx, [rsp + 0x50]
mov rcx, qword [rsp + 0x4e00]
call fcn.1800a60d0
mov rcx, qword [rsp + 0x11c0]
add rcx, 4
call fcn.18008a780
lea rdi, [rsp + 0x23b0]
xor eax, eax
mov ecx, 0x1000
rep stosb byte [rdi], al
mov byte [rsp + 0x30], 0
mov byte [rsp + 0x28], 1
mov byte [rsp + 0x20], 0
xor r9d, r9d
mov r8d, 0x1000
lea rdx, [rsp + 0x23b0]
mov rcx, qword [rsp + 0x4e00]
call fcn.1800a60d0
mov rdx, qword [rsp + 0x13a0]
movzx r9d, byte [rdx + 5]
mov rax, qword [rsp + 0x13a0]
movzx r8d, byte [rax + 4]
mov edx, dword [rsp + 0x1258]
lea rcx, [0x180029850]
call fcn.1800892c0
lea rdi, [rsp + 0x13b0]
xor eax, eax
mov ecx, 0x1000
rep stosb byte [rdi], al
mov byte [rsp + 0x30], 0
mov byte [rsp + 0x28], 4
mov byte [rsp + 0x20], 0
xor r9d, r9d
mov r8d, 0x1000
lea rdx, [rsp + 0x13b0]
mov rcx, qword [rsp + 0x4e00]
call fcn.1800a60d0
lea rdi, [rsp + 0x33c0]
xor eax, eax
mov ecx, 0x1004
rep stosb byte [rdi], al
mov rax, qword [rsp + 0x13a0]
movzx eax, byte [rax + 4]
mov byte [rsp + 0x33c0], al
mov rax, qword [rsp + 0x13a0]
movzx eax, byte [rax + 5]
mov byte [rsp + 0x33c1], al
mov rdx, qword [rsp + 0x11b8]
add rdx, 4
mov r8d, 0x800
lea rcx, [rsp + 0x33c4]
call fcn.1800eb460
mov rdx, qword [rsp + 0x11c0]
movzx ecx, byte [rdx + 4]
and cl, 0xf
and cl, 0xf
movzx eax, byte [rsp + 0x3bc4]
and al, 0xf0
or al, cl
mov byte [rsp + 0x3bc4], al
mov rax, qword [rsp + 0x11c0]
movzx ecx, byte [rax + 4]
shr cl, 4
and cl, 0xf
and cl, 0xf
shl cl, 4
movzx eax, byte [rsp + 0x3bc4]
and al, 0xf
or al, cl
mov byte [rsp + 0x3bc4], al
mov rax, qword [rsp + 0x11c0]
movzx ecx, byte [rax + 5]
and cl, 0xf
and cl, 0xf
movzx eax, byte [rsp + 0x3bc5]
and al, 0xf0
or al, cl
mov byte [rsp + 0x3bc5], al
mov rax, qword [rsp + 0x11c0]
movzx ecx, byte [rax + 5]
shr cl, 4
and cl, 0xf
and cl, 0xf
shl cl, 4
movzx eax, byte [rsp + 0x3bc5]
and al, 0xf
or al, cl
mov byte [rsp + 0x3bc5], al
mov rax, qword [rsp + 0x11c0]
movzx ecx, byte [rax + 6]
and cl, 0xf
and cl, 0xf
movzx eax, byte [rsp + 0x3bc6]
and al, 0xf0
or al, cl
mov byte [rsp + 0x3bc6], al
mov rax, qword [rsp + 0x11c0]
movzx ecx, byte [rax + 6]
shr cl, 4
and cl, 1
and cl, 1
shl cl, 4
movzx eax, byte [rsp + 0x3bc6]
and al, 0xef
or al, cl
mov byte [rsp + 0x3bc6], al
mov rax, qword [rsp + 0x11c0]
movzx ecx, byte [rax + 6]
shr cl, 5
and cl, 3
and cl, 3
shl cl, 5
movzx eax, byte [rsp + 0x3bc6]
and al, 0x9f
or al, cl
mov byte [rsp + 0x3bc6], al
mov rax, qword [rsp + 0x11c0]
movzx ecx, byte [rax + 7]
and cl, 0xf
and cl, 0xf
movzx eax, byte [rsp + 0x3bc7]
and al, 0xf0
or al, cl
mov byte [rsp + 0x3bc7], al
mov rax, qword [rsp + 0x11c0]
movzx ecx, byte [rax + 7]
shr cl, 4
and cl, 0xf
and cl, 0xf
shl cl, 4
movzx eax, byte [rsp + 0x3bc7]
and al, 0xf
or al, cl
mov byte [rsp + 0x3bc7], al
mov rdx, qword [rsp + 0x11c0]
add rdx, 9
mov r8d, 3
lea rcx, [rsp + 0x3bc9]
call fcn.1800eb460
mov rdx, qword [rsp + 0x11c0]
add rdx, 0xd
mov r8d, 3
lea rcx, [rsp + 0x3bcd]
call fcn.1800eb460
mov rdx, qword [rsp + 0x11c0]
add rdx, 0x11
mov r8d, 3
lea rcx, [rsp + 0x3bd1]
call fcn.1800eb460
mov rdx, qword [rsp + 0x11c0]
movzx ecx, byte [rdx + 0x14]
shr cl, 7
and cl, 1
and cl, 1
shl cl, 7
movzx eax, byte [rsp + 0x3bd4]
and al, 0x7f
or al, cl
mov byte [rsp + 0x3bd4], al
mov qword [rsp + 0x20], 0
lea r9, [rsp + 0x1240]
mov r8d, 0x1004
lea rdx, [rsp + 0x33c0]
mov rcx, qword [rsp + 0x4e08]
call qword [sym.imp.KERNEL32.dll_WriteFile]
test eax, eax
jne 0x1800c9d24
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [rsp + 0x11d0], eax
mov r8d, dword [rsp + 0x11d0]
mov edx, dword [rsp + 0x1258]
lea rcx, [0x1800297e0]
call fcn.1800892c0
mov ecx, 0x1020
call fcn.1800eb9ac
mov qword [rsp + 0x4c80], rax
cmp qword [rsp + 0x4c80], 0
je 0x1800c9cd4
mov r8d, dword [rsp + 0x11d0]
mov eax, dword [rsp + 0x11d0]
mov dword [rsp + 0x28], eax
mov eax, dword [rsp + 0x1258]
mov dword [rsp + 0x20], eax
lea r9, [0x180029770]
mov edx, 5
mov rcx, qword [rsp + 0x4c80]
call fcn.18008d120
mov qword [rsp + 0x4d98], rax
jmp 0x1800c9ce0
mov qword [rsp + 0x4d98], 0
mov rax, qword [rsp + 0x4d98]
mov qword [rsp + 0x4c78], rax
mov rax, qword [rsp + 0x4c78]
mov qword [rsp + 0x43f0], rax
mov rax, qword [rsp + 0x43f0]
mov qword [rsp + 0x4c88], rax
lea rdx, [0x18015a158]
lea rcx, [rsp + 0x4c88]
call fcn.1800ec370
mov eax, dword [rsp + 0x1240]
cmp rax, 0x1004
je 0x1800c9e0a
mov r9d, 0x1004
mov r8d, dword [rsp + 0x1240]
mov edx, dword [rsp + 0x1258]
lea rcx, [0x1800296e0]
call fcn.1800892c0
mov ecx, 0x1020
call fcn.1800eb9ac
mov qword [rsp + 0x4c98], rax
cmp qword [rsp + 0x4c98], 0
je 0x1800c9dba
mov qword [rsp + 0x30], 0x1004
mov eax, dword [rsp + 0x1240]
mov dword [rsp + 0x28], eax
mov eax, dword [rsp + 0x1258]
mov dword [rsp + 0x20], eax
lea r9, [0x180029660]
xor r8d, r8d
mov edx, 0xa
mov rcx, qword [rsp + 0x4c98]
call fcn.18008d120
mov qword [rsp + 0x4da0], rax
jmp 0x1800c9dc6
mov qword [rsp + 0x4da0], 0
mov rax, qword [rsp + 0x4da0]
mov qword [rsp + 0x4c90], rax
mov rax, qword [rsp + 0x4c90]
mov qword [rsp + 0x43f0], rax
mov rax, qword [rsp + 0x43f0]
mov qword [rsp + 0x4ca0], rax
lea rdx, [0x18015a158]
lea rcx, [rsp + 0x4ca0]
call fcn.1800ec370
jmp 0x1800c98b9
lea rdi, [rsp + 0x43d0]
xor eax, eax
mov ecx, 0x18
rep stosb byte [rdi], al
mov dword [rsp + 0x43d0], 0
mov rax, qword [rsp + 0x4e10]
mov eax, dword [rax + 0x16]
add eax, 1
mov dword [rsp + 0x43d4], eax
mov eax, 1
mov word [rsp + 0x43d8], ax
mov byte [rsp + 0x43da], 1
mov byte [rsp + 0x43db], 3
mov eax, 1
mov word [rsp + 0x43dc], ax
mov eax, 1
mov word [rsp + 0x43de], ax
mov ecx, dword [rsp + 0x43e8]
mov eax, dword [rsp + 0x11b0]
imul rax, rax, 0x1004
lea rax, [rcx + rax + 0x78]
mov dword [rsp + 0x43e4], eax
mov qword [rsp + 0x20], 0
lea r9, [rsp + 0x1240]
mov r8d, 0x18
lea rdx, [rsp + 0x43d0]
mov rcx, qword [rsp + 0x4e08]
call qword [sym.imp.KERNEL32.dll_WriteFile]
test eax, eax
jne 0x1800c9f90
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [rsp + 0x11d0], eax
mov edx, dword [rsp + 0x11d0]
lea rcx, [0x1800295f0]
call fcn.1800892c0
mov ecx, 0x1020
call fcn.1800eb9ac
mov qword [rsp + 0x4cb0], rax
cmp qword [rsp + 0x4cb0], 0
je 0x1800c9f40
mov r8d, dword [rsp + 0x11d0]
mov eax, dword [rsp + 0x11d0]
mov dword [rsp + 0x20], eax
lea r9, [0x180029580]
mov edx, 5
mov rcx, qword [rsp + 0x4cb0]
call fcn.18008d120
mov qword [rsp + 0x4da8], rax
jmp 0x1800c9f4c
mov qword [rsp + 0x4da8], 0
mov rax, qword [rsp + 0x4da8]
mov qword [rsp + 0x4ca8], rax
mov rax, qword [rsp + 0x4ca8]
mov qword [rsp + 0x43f0], rax
mov rax, qword [rsp + 0x43f0]
mov qword [rsp + 0x4cb8], rax
lea rdx, [0x18015a158]
lea rcx, [rsp + 0x4cb8]
call fcn.1800ec370
mov eax, dword [rsp + 0x1240]
cmp rax, 0x18
je 0x1800ca061
mov r8d, 0x18
mov edx, dword [rsp + 0x1240]
lea rcx, [0x180029500]
call fcn.1800892c0
mov ecx, 0x1020
call fcn.1800eb9ac
mov qword [rsp + 0x4cc8], rax
cmp qword [rsp + 0x4cc8], 0
je 0x1800ca011
mov qword [rsp + 0x28], 0x18
mov eax, dword [rsp + 0x1240]
mov dword [rsp + 0x20], eax
lea r9, [0x180029480]
xor r8d, r8d
mov edx, 0xa
mov rcx, qword [rsp + 0x4cc8]
call fcn.18008d120
mov qword [rsp + 0x4db0], rax
jmp 0x1800ca01d
mov qword [rsp + 0x4db0], 0
mov rax, qword [rsp + 0x4db0]
mov qword [rsp + 0x4cc0], rax
mov rax, qword [rsp + 0x4cc0]
mov qword [rsp + 0x43f0], rax
mov rax, qword [rsp + 0x43f0]
mov qword [rsp + 0x4cd0], rax
lea rdx, [0x18015a158]
lea rcx, [rsp + 0x4cd0]
call fcn.1800ec370
lea rdi, [rsp + 0x1050]
xor eax, eax
mov ecx, 0x50
rep stosb byte [rdi], al
movzx eax, byte [rsp + 0x1050]
and al, 0xf8
or al, 2
mov byte [rsp + 0x1050], al
movzx eax, byte [rsp + 0x1050]
and al, 0xf7
mov byte [rsp + 0x1050], al
movzx eax, byte [rsp + 0x1050]
and al, 0xef
mov byte [rsp + 0x1050], al
movzx eax, byte [rsp + 0x1050]
and al, 0xdf
mov byte [rsp + 0x1050], al
movzx eax, byte [rsp + 0x1050]
and al, 0xbf
mov byte [rsp + 0x1050], al
movzx eax, byte [rsp + 0x1050]
and al, 0x7f
mov byte [rsp + 0x1050], al
movzx eax, byte [rsp + 0x1051]
and al, 0xfc
mov byte [rsp + 0x1051], al
movzx eax, byte [rsp + 0x1051]
and al, 0xfb
mov byte [rsp + 0x1051], al
movzx eax, byte [rsp + 0x1051]
and al, 0xc7
mov byte [rsp + 0x1051], al
movzx eax, byte [rsp + 0x1051]
and al, 0xbf
mov byte [rsp + 0x1051], al
movzx eax, byte [rsp + 0x1052]
and al, 0xfe
mov byte [rsp + 0x1052], al
movzx eax, byte [rsp + 0x1052]
and al, 0xfd
mov byte [rsp + 0x1052], al
movzx eax, byte [rsp + 0x1052]
or al, 4
mov byte [rsp + 0x1052], al
movzx eax, byte [rsp + 0x1052]
and al, 0xf7
mov byte [rsp + 0x1052], al
movzx eax, byte [rsp + 0x1052]
and al, 0xf
or al, 0x10
mov byte [rsp + 0x1052], al
mov byte [rsp + 0x1053], 0
mov byte [rsp + 0x1054], 1
mov byte [rsp + 0x1055], 0
mov byte [rsp + 0x1056], 0
mov byte [rsp + 0x1057], 0
mov dword [rsp + 0x1058], 0
mov rax, qword [rsp + 0x4e10]
mov eax, dword [rax + 0x16]
add eax, 1
mov dword [rsp + 0x105c], eax
mov eax, 0x800
mov word [rsp + 0x1060], ax
mov dword [rsp + 0x1074], 0
mov qword [rsp + 0x1078], 0
mov eax, dword [rsp + 0x4e30]
mov dword [rsp + 0x1080], eax
mov ecx, dword [rsp + 0x43e8]
mov eax, dword [rsp + 0x11b0]
imul rax, rax, 0x1004
lea rax, [rcx + rax + 0xc8]
mov dword [rsp + 0x1084], eax
mov dword [rsp + 0x1088], 0
mov qword [rsp + 0x20], 0
lea r9, [rsp + 0x1240]
mov r8d, 0x50
lea rdx, [rsp + 0x1050]
mov rcx, qword [rsp + 0x4e08]
call qword [sym.imp.KERNEL32.dll_WriteFile]
test eax, eax
jne 0x1800ca316
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [rsp + 0x11d0], eax
mov edx, dword [rsp + 0x11d0]
lea rcx, [0x180029410]
call fcn.1800892c0
mov ecx, 0x1020
call fcn.1800eb9ac
mov qword [rsp + 0x4ce0], rax
cmp qword [rsp + 0x4ce0], 0
je 0x1800ca2c6
mov r8d, dword [rsp + 0x11d0]
mov eax, dword [rsp + 0x11d0]
mov dword [rsp + 0x20], eax
lea r9, [0x1800293a0]
mov edx, 5
mov rcx, qword [rsp + 0x4ce0]
call fcn.18008d120
mov qword [rsp + 0x4db8], rax
jmp 0x1800ca2d2
mov qword [rsp + 0x4db8], 0
mov rax, qword [rsp + 0x4db8]
mov qword [rsp + 0x4cd8], rax
mov rax, qword [rsp + 0x4cd8]
mov qword [rsp + 0x43f0], rax
mov rax, qword [rsp + 0x43f0]
mov qword [rsp + 0x4ce8], rax
lea rdx, [0x18015a158]
lea rcx, [rsp + 0x4ce8]
call fcn.1800ec370
mov eax, dword [rsp + 0x1240]
cmp rax, 0x50
je 0x1800ca3e7
mov r8d, 0x50
mov edx, dword [rsp + 0x1240]
lea rcx, [0x180029320]
call fcn.1800892c0
mov ecx, 0x1020
call fcn.1800eb9ac
mov qword [rsp + 0x4cf8], rax
cmp qword [rsp + 0x4cf8], 0
je 0x1800ca397
mov qword [rsp + 0x28], 0x50
mov eax, dword [rsp + 0x1240]
mov dword [rsp + 0x20], eax
lea r9, [0x1800292a0]
xor r8d, r8d
mov edx, 0xa
mov rcx, qword [rsp + 0x4cf8]
call fcn.18008d120
mov qword [rsp + 0x4dc0], rax
jmp 0x1800ca3a3
mov qword [rsp + 0x4dc0], 0
mov rax, qword [rsp + 0x4dc0]
mov qword [rsp + 0x4cf0], rax
mov rax, qword [rsp + 0x4cf0]
mov qword [rsp + 0x43f0], rax
mov rax, qword [rsp + 0x43f0]
mov qword [rsp + 0x4d00], rax
lea rdx, [0x18015a158]
lea rcx, [rsp + 0x4d00]
call fcn.1800ec370
lea rdi, [rsp + 0x1280]
xor eax, eax
mov ecx, 0x104
rep stosb byte [rdi], al
mov r8, qword [rsp + 0x33b0]
lea rdx, [0x180028440]
lea rcx, [rsp + 0x1280]
call fcn.1800eb79c
xor eax, eax
mov rcx, 0xffffffffffffffff
lea rdi, [rsp + 0x1280]
repne scasb al, byte [rdi]
not rcx
sub rcx, 1
mov rax, rcx
add rax, 1
mov dword [rsp + 0x1398], eax
mov ecx, dword [rsp + 0x43e8]
mov eax, dword [rsp + 0x11b0]
imul rax, rax, 0x1004
lea rcx, [rcx + rax + 0x60]
movsxd rax, dword [rsp + 0x4e30]
imul rax, rax, 0x10
lea rdx, [rcx + rax + 0x68]
mov eax, dword [rsp + 0x4e30]
imul eax, dword [rsp + 0x1398]
mov ecx, eax
mov rax, rdx
add rax, rcx
mov dword [rsp + 0x1390], eax
mov dword [rsp + 0x1270], 0
jmp 0x1800ca4a3
mov eax, dword [rsp + 0x1270]
add eax, 1
mov dword [rsp + 0x1270], eax
mov eax, dword [rsp + 0x4e30]
cmp dword [rsp + 0x1270], eax
jge 0x1800ca710
lea rdi, [rsp + 0x1248]
xor eax, eax
mov ecx, 0x10
rep stosb byte [rdi], al
mov edx, dword [rsp + 0x43e8]
mov eax, dword [rsp + 0x11b0]
imul rax, rax, 0x1004
lea rcx, [rdx + rax + 0x60]
movsxd rax, dword [rsp + 0x4e30]
imul rax, rax, 0x10
lea rdx, [rcx + rax + 0x68]
mov eax, dword [rsp + 0x1270]
imul eax, dword [rsp + 0x1398]
mov ecx, eax
mov rax, rdx
add rax, rcx
mov dword [rsp + 0x1248], eax
mov dword [rsp + 0x1250], 0
mov qword [rsp + 0x20], 0
lea r9, [rsp + 0x1240]
mov r8d, 0x10
lea rdx, [rsp + 0x1248]
mov rcx, qword [rsp + 0x4e08]
call qword [sym.imp.KERNEL32.dll_WriteFile]
test eax, eax
jne 0x1800ca627
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [rsp + 0x11d0], eax
mov r8d, dword [rsp + 0x11d0]
mov edx, dword [rsp + 0x1270]
lea rcx, [0x180029230]
call fcn.1800892c0
mov ecx, 0x1020
call fcn.1800eb9ac
mov qword [rsp + 0x4d10], rax
cmp qword [rsp + 0x4d10], 0
je 0x1800ca5d7
mov r8d, dword [rsp + 0x11d0]
mov eax, dword [rsp + 0x11d0]
mov dword [rsp + 0x28], eax
mov eax, dword [rsp + 0x1270]
mov dword [rsp + 0x20], eax
lea r9, [0x1800291c0]
mov edx, 5
mov rcx, qword [rsp + 0x4d10]
call fcn.18008d120
mov qword [rsp + 0x4dc8], rax
jmp 0x1800ca5e3
mov qword [rsp + 0x4dc8], 0
mov rax, qword [rsp + 0x4dc8]
mov qword [rsp + 0x4d08], rax
mov rax, qword [rsp + 0x4d08]
mov qword [rsp + 0x43f0], rax
mov rax, qword [rsp + 0x43f0]
mov qword [rsp + 0x4d18], rax
lea rdx, [0x18015a158]
lea rcx, [rsp + 0x4d18]
call fcn.1800ec370
mov eax, dword [rsp + 0x1240]
cmp rax, 0x10
je 0x1800ca70b
mov r9d, 0x10
mov r8d, dword [rsp + 0x1240]
mov edx, dword [rsp + 0x1270]
lea rcx, [0x180029130]
call fcn.1800892c0
mov ecx, 0x1020
call fcn.1800eb9ac
mov qword [rsp + 0x4d28], rax
cmp qword [rsp + 0x4d28], 0
je 0x1800ca6bb
mov qword [rsp + 0x30], 0x10
mov eax, dword [rsp + 0x1240]
mov dword [rsp + 0x28], eax
mov eax, dword [rsp + 0x1270]
mov dword [rsp + 0x20], eax
lea r9, [0x1800290b0]
xor r8d, r8d
mov edx, 0xa
mov rcx, qword [rsp + 0x4d28]
call fcn.18008d120
mov qword [rsp + 0x4dd0], rax
jmp 0x1800ca6c7
mov qword [rsp + 0x4dd0], 0
mov rax, qword [rsp + 0x4dd0]
mov qword [rsp + 0x4d20], rax
mov rax, qword [rsp + 0x4d20]
mov qword [rsp + 0x43f0], rax
mov rax, qword [rsp + 0x43f0]
mov qword [rsp + 0x4d30], rax
lea rdx, [0x18015a158]
lea rcx, [rsp + 0x4d30]
call fcn.1800ec370
jmp 0x1800ca492
mov dword [rsp + 0x1270], 0
jmp 0x1800ca72e
mov eax, dword [rsp + 0x1270]
add eax, 1
mov dword [rsp + 0x1270], eax
mov eax, dword [rsp + 0x4e30]
cmp dword [rsp + 0x1270], eax
jge 0x1800ca99c
lea rdi, [rsp + 0x1280]
xor eax, eax
mov ecx, 0x104
rep stosb byte [rdi], al
cmp dword [rsp + 0x1270], 0
jne 0x1800ca77b
mov r8, qword [rsp + 0x33b0]
lea rdx, [0x180028440]
lea rcx, [rsp + 0x1280]
call fcn.1800eb79c
jmp 0x1800ca79f
mov r9d, dword [rsp + 0x1270]
mov r8, qword [rsp + 0x33b0]
lea rdx, [0x1800290a8]
lea rcx, [rsp + 0x1280]
call fcn.1800eb79c
mov qword [rsp + 0x20], 0
lea r9, [rsp + 0x1240]
mov r8d, dword [rsp + 0x1398]
lea rdx, [rsp + 0x1280]
mov rcx, qword [rsp + 0x4e08]
call qword [sym.imp.KERNEL32.dll_WriteFile]
test eax, eax
jne 0x1800ca8ac
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [rsp + 0x11d0], eax
mov r8d, dword [rsp + 0x11d0]
mov edx, dword [rsp + 0x1270]
lea rcx, [0x180029040]
call fcn.1800892c0
mov ecx, 0x1020
call fcn.1800eb9ac
mov qword [rsp + 0x4d40], rax
cmp qword [rsp + 0x4d40], 0
je 0x1800ca85c
mov r8d, dword [rsp + 0x11d0]
mov eax, dword [rsp + 0x11d0]
mov dword [rsp + 0x28], eax
mov eax, dword [rsp + 0x1270]
mov dword [rsp + 0x20], eax
lea r9, [0x180028fd0]
mov edx, 5
mov rcx, qword [rsp + 0x4d40]
call fcn.18008d120
mov qword [rsp + 0x4dd8], rax
jmp 0x1800ca868
mov qword [rsp + 0x4dd8], 0
mov rax, qword [rsp + 0x4dd8]
mov qword [rsp + 0x4d38], rax
mov rax, qword [rsp + 0x4d38]
mov qword [rsp + 0x43f0], rax
mov rax, qword [rsp + 0x43f0]
mov qword [rsp + 0x4d48], rax
lea rdx, [0x18015a158]
lea rcx, [rsp + 0x4d48]
call fcn.1800ec370
mov eax, dword [rsp + 0x1398]
cmp dword [rsp + 0x1240], eax
je 0x1800ca997
mov r9d, dword [rsp + 0x1398]
mov r8d, dword [rsp + 0x1240]
mov edx, dword [rsp + 0x1270]
lea rcx, [0x180028f50]
call fcn.1800892c0
mov ecx, 0x1020
call fcn.1800eb9ac
mov qword [rsp + 0x4d58], rax
cmp qword [rsp + 0x4d58], 0
je 0x1800ca947
mov eax, dword [rsp + 0x1398]
mov dword [rsp + 0x30], eax
mov eax, dword [rsp + 0x1240]
mov dword [rsp + 0x28], eax
mov eax, dword [rsp + 0x1270]
mov dword [rsp + 0x20], eax
lea r9, [0x180028ed0]
xor r8d, r8d
mov edx, 0xa
mov rcx, qword [rsp + 0x4d58]
call fcn.18008d120
mov qword [rsp + 0x4de0], rax
jmp 0x1800ca953
mov qword [rsp + 0x4de0], 0
mov rax, qword [rsp + 0x4de0]
mov qword [rsp + 0x4d50], rax
mov rax, qword [rsp + 0x4d50]
mov qword [rsp + 0x43f0], rax
mov rax, qword [rsp + 0x43f0]
mov qword [rsp + 0x4d60], rax
lea rdx, [0x18015a158]
lea rcx, [rsp + 0x4d60]
call fcn.1800ec370
jmp 0x1800ca71d
mov rcx, qword [rsp + 0x4e08]
call qword [sym.imp.KERNEL32.dll_FlushFileBuffers]
mov rdx, qword [rsp + 0x4e20]
mov eax, dword [rsp + 0x1390]
mov dword [rdx], eax
mov rcx, qword [rsp + 0x4e28]
movzx eax, byte [rsp + 0x139c]
mov byte [rcx], al
mov rcx, qword [rsp + 0x4de8]
xor rcx, rsp
call fcn.1800eb430
add rsp, 0x4df0
pop rdi
ret