Function at 0x1800cd0d0
Capabilities:
Write file on windows

Disassembly:
mov dword [rsp + 0x20], r9d
mov qword [rsp + 0x18], r8
mov byte [rsp + 0x10], dl
mov qword [rsp + 8], rcx
push rdi
mov eax, 0x24b0
call fcn.1801339d0
sub rsp, rax
mov qword [rsp + 0x2458], 0xfffffffffffffffe
mov rax, qword [0x180161180]
xor rax, rsp
mov qword [rsp + 0x24a8], rax
mov qword [rsp + 0x23c8], 0
mov byte [rsp + 0xb0], 0
lea rdi, [rsp + 0xb1]
xor eax, eax
mov ecx, 0x22da
rep stosb byte [rdi], al
mov dword [rsp + 0x9c], 0x1f
mov dword [rsp + 0x98], 0
mov dword [rsp + 0xa0], 0
mov qword [rsp + 0x2390], 0xffffffffffffffff
mov dword [rsp + 0x2398], 0
lea rdi, [rsp + 0x239c]
xor eax, eax
mov ecx, 0x28
rep stosb byte [rdi], al
movzx edx, byte [rsp + 0x24c8]
mov r8, qword [rsp + 0x24d0]
lea rcx, [0x18002ba80]
call fcn.1800892c0
mov rdx, qword [rsp + 0x24c0]
add rdx, 0x12188
lea rcx, [rsp + 0x80]
call fcn.18008d200
nop
mov rcx, qword [rsp + 0x24c0]
call fcn.1800a4bf0
mov rdx, qword [rsp + 0x24c0]
mov byte [rdx + 0x11cbe], 0
mov rcx, qword [rsp + 0x24c0]
add rcx, 0x18
lea rdx, [0x180003608]
call fcn.1800eae7c
test rax, rax
je 0x1800cd238
mov rcx, qword [rsp + 0x24c0]
add rcx, 0x1018
lea rdx, [0x18002ba7c]
call fcn.1800eae7c
test rax, rax
je 0x1800cd238
mov r8, qword [rsp + 0x24c0]
add r8, 0x1018
mov rdx, qword [rsp + 0x24c0]
add rdx, 0x18
lea rcx, [0x18002ba10]
call fcn.1800892c0
jmp 0x1800cd245
mov rcx, qword [rsp + 0x24c0]
call fcn.1800b3840
lea rdx, [rsp + 0xb0]
mov rcx, qword [rsp + 0x24c0]
call fcn.1800dbee0
movzx ecx, byte [rsp + 0xba]
movzx eax, byte [rsp + 0x24c8]
cmp eax, ecx
jle 0x1800cd33a
movzx r8d, byte [rsp + 0xba]
movzx edx, byte [rsp + 0x24c8]
lea rcx, [0x18002b9b0]
call fcn.1800892c0
mov ecx, 0x1020
call fcn.1800eb9ac
mov qword [rsp + 0x23e0], rax
cmp qword [rsp + 0x23e0], 0
je 0x1800cd2ea
movzx ecx, byte [rsp + 0xba]
movzx eax, byte [rsp + 0x24c8]
mov dword [rsp + 0x28], ecx
mov dword [rsp + 0x20], eax
lea r9, [0x18002b950]
xor r8d, r8d
mov edx, 2
mov rcx, qword [rsp + 0x23e0]
call fcn.18008d120
mov qword [rsp + 0x2460], rax
jmp 0x1800cd2f6
mov qword [rsp + 0x2460], 0
mov rax, qword [rsp + 0x2460]
mov qword [rsp + 0x23d8], rax
mov rax, qword [rsp + 0x23d8]
mov qword [rsp + 0x23c8], rax
mov rax, qword [rsp + 0x23c8]
mov qword [rsp + 0x23e8], rax
lea rdx, [0x18015a158]
lea rcx, [rsp + 0x23e8]
call fcn.1800ec370
movzx eax, byte [rsp + 0x24c8]
sub eax, 1
cdqe
imul rax, rax, 0x22
cmp dword [rsp + rax + 0xd6], 0
jne 0x1800cd42f
movzx eax, byte [rsp + 0x24c8]
sub eax, 1
cdqe
imul rax, rax, 0x22
mov edx, dword [rsp + rax + 0xd6]
lea rcx, [0x18002b900]
call fcn.1800892c0
mov ecx, 0x1020
call fcn.1800eb9ac
mov qword [rsp + 0x23f8], rax
cmp qword [rsp + 0x23f8], 0
je 0x1800cd3dc
movzx eax, byte [rsp + 0x24c8]
sub eax, 1
cdqe
imul rax, rax, 0x22
mov eax, dword [rsp + rax + 0xd6]
mov dword [rsp + 0x20], eax
lea r9, [0x18002b8b0]
xor r8d, r8d
mov edx, 0xa
mov rcx, qword [rsp + 0x23f8]
call fcn.18008d120
mov qword [rsp + 0x2468], rax
jmp 0x1800cd3e8
mov qword [rsp + 0x2468], 0
mov rax, qword [rsp + 0x2468]
mov qword [rsp + 0x23f0], rax
mov rax, qword [rsp + 0x23f0]
mov qword [rsp + 0x23c8], rax
mov rax, qword [rsp + 0x23c8]
mov qword [rsp + 0x2400], rax
lea rdx, [0x18015a158]
lea rcx, [rsp + 0x2400]
call fcn.1800ec370
nop
jmp 0x1800cd45c
movzx r8d, byte [rsp + 0x24c8]
movzx eax, byte [rsp + 0x24c8]
sub eax, 1
cdqe
imul rax, rax, 0x22
mov edx, dword [rsp + rax + 0xd6]
lea rcx, [0x18002b860]
call fcn.1800892c0
mov qword [rsp + 0x30], 0
mov dword [rsp + 0x28], 0
mov dword [rsp + 0x20], 2
xor r9d, r9d
mov r8d, 1
mov edx, 0x40000000
mov rcx, qword [rsp + 0x24d0]
call qword [sym.imp.KERNEL32.dll_CreateFileA]
mov qword [rsp + 0x2390], rax
cmp qword [rsp + 0x2390], 0xffffffffffffffff
jne 0x1800cd582
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [rsp + 0x9c], eax
mov r8d, dword [rsp + 0x9c]
mov rdx, qword [rsp + 0x24d0]
lea rcx, [0x18002b800]
call fcn.1800892c0
mov ecx, 0x1020
call fcn.1800eb9ac
mov qword [rsp + 0x2410], rax
cmp qword [rsp + 0x2410], 0
je 0x1800cd531
mov r8d, dword [rsp + 0x9c]
mov eax, dword [rsp + 0x9c]
mov dword [rsp + 0x28], eax
mov rax, qword [rsp + 0x24d0]
mov qword [rsp + 0x20], rax
lea r9, [0x18002b7b0]
mov edx, 5
mov rcx, qword [rsp + 0x2410]
call fcn.18008d120
mov qword [rsp + 0x2470], rax
jmp 0x1800cd53d
mov qword [rsp + 0x2470], 0
mov rax, qword [rsp + 0x2470]
mov qword [rsp + 0x2408], rax
mov rax, qword [rsp + 0x2408]
mov qword [rsp + 0x23c8], rax
mov rax, qword [rsp + 0x23c8]
mov qword [rsp + 0x2418], rax
lea rdx, [0x18015a158]
lea rcx, [rsp + 0x2418]
call fcn.1800ec370
nop
movzx eax, byte [rsp + 0x24c8]
sub eax, 1
cdqe
imul rax, rax, 0x22
movzx eax, byte [rsp + rax + 0xd2]
cmp eax, 1
jne 0x1800cd840
movzx eax, byte [rsp + 0x24c8]
sub eax, 1
movsxd rcx, eax
imul rcx, rcx, 0x22
movzx eax, byte [rsp + 0x24c8]
sub eax, 1
cdqe
imul rax, rax, 0x22
mov ecx, dword [rsp + rcx + 0xbf]
mov eax, dword [rsp + rax + 0xc6]
sub eax, ecx
add eax, 1
mov dword [rsp + 0x98], eax
movzx eax, byte [rsp + 0x24c8]
sub eax, 1
movsxd rcx, eax
imul rcx, rcx, 0x22
mov eax, dword [rsp + 0x98]
imul eax, dword [rsp + rcx + 0xd6]
mov dword [rsp + 0x98], eax
lea rdi, [rsp + 0x2398]
xor eax, eax
mov ecx, 0x2c
rep stosb byte [rdi], al
mov r8d, dword [rsp + 0x98]
lea rdx, [rsp + 0x2398]
mov rcx, qword [rsp + 0x24c0]
call fcn.1800c7540
mov qword [rsp + 0x20], 0
lea r9, [rsp + 0xa0]
mov r8d, 0x2c
lea rdx, [rsp + 0x2398]
mov rcx, qword [rsp + 0x2390]
call qword [sym.imp.KERNEL32.dll_WriteFile]
test eax, eax
jne 0x1800cd74f
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [rsp + 0x9c], eax
mov edx, dword [rsp + 0x9c]
lea rcx, [0x18002b750]
call fcn.1800892c0
mov ecx, 0x1020
call fcn.1800eb9ac
mov qword [rsp + 0x2478], rax
mov rax, qword [rsp + 0x2478]
mov qword [rsp + 0x2428], rax
cmp qword [rsp + 0x2428], 0
je 0x1800cd6ff
mov r8d, dword [rsp + 0x9c]
mov eax, dword [rsp + 0x9c]
mov dword [rsp + 0x20], eax
lea r9, [0x18002b6f0]
mov edx, 5
mov rcx, qword [rsp + 0x2428]
call fcn.18008d120
mov qword [rsp + 0x2480], rax
mov rax, qword [rsp + 0x2480]
mov qword [rsp + 0x2488], rax
jmp 0x1800cd70b
mov qword [rsp + 0x2488], 0
mov rax, qword [rsp + 0x2488]
mov qword [rsp + 0x2420], rax
mov rax, qword [rsp + 0x2420]
mov qword [rsp + 0x23c8], rax
mov rax, qword [rsp + 0x23c8]
mov qword [rsp + 0x2430], rax
lea rdx, [0x18015a158]
lea rcx, [rsp + 0x2430]
call fcn.1800ec370
mov eax, dword [rsp + 0xa0]
cmp rax, 0x2c
je 0x1800cd840
mov r8d, 0x2c
mov edx, dword [rsp + 0xa0]
lea rcx, [0x18002b670]
call fcn.1800892c0
mov ecx, 0x1020
call fcn.1800eb9ac
mov qword [rsp + 0x2490], rax
mov rax, qword [rsp + 0x2490]
mov qword [rsp + 0x2440], rax
cmp qword [rsp + 0x2440], 0
je 0x1800cd7f0
mov qword [rsp + 0x28], 0x2c
mov eax, dword [rsp + 0xa0]
mov dword [rsp + 0x20], eax
lea r9, [0x18002b600]
xor r8d, r8d
mov edx, 0xa
mov rcx, qword [rsp + 0x2440]
call fcn.18008d120
mov qword [rsp + 0x2498], rax
mov rax, qword [rsp + 0x2498]
mov qword [rsp + 0x24a0], rax
jmp 0x1800cd7fc
mov qword [rsp + 0x24a0], 0
mov rax, qword [rsp + 0x24a0]
mov qword [rsp + 0x2438], rax
mov rax, qword [rsp + 0x2438]
mov qword [rsp + 0x23c8], rax
mov rax, qword [rsp + 0x23c8]
mov qword [rsp + 0x2448], rax
lea rdx, [0x18015a158]
lea rcx, [rsp + 0x2448]
call fcn.1800ec370
mov qword [rsp + 0x70], 0
mov qword [rsp + 0x68], 0
mov byte [rsp + 0x60], 0
mov qword [rsp + 0x58], 0xffffffffffffffff
movzx eax, byte [rsp + 0x24e8]
mov byte [rsp + 0x50], al
movzx eax, byte [rsp + 0x24e0]
mov byte [rsp + 0x48], al
mov dword [rsp + 0x40], 0
mov dword [rsp + 0x38], 0
mov eax, dword [rsp + 0x24d8]
mov dword [rsp + 0x30], eax
mov dword [rsp + 0x28], 0
mov eax, dword [rsp + 0x24f0]
mov dword [rsp + 0x20], eax
mov r9, qword [rsp + 0x2390]
lea r8, [rsp + 0xb0]
movzx edx, byte [rsp + 0x24c8]
mov rcx, qword [rsp + 0x24c0]
call fcn.1800c1f60
nop
mov rcx, qword [rsp + 0x2390]
call qword [sym.imp.KERNEL32.dll_FlushFileBuffers]
mov rcx, qword [rsp + 0x2390]
call qword [sym.imp.KERNEL32.dll_CloseHandle]
lea rcx, [0x18002b5b0]
call fcn.1800892c0
nop
lea rcx, [rsp + 0x80]
call fcn.18008d2a0
mov rcx, qword [rsp + 0x24a8]
xor rcx, rsp
call fcn.1800eb430
add rsp, 0x24b0
pop rdi
ret