Function at 0x180069ad0
Capabilities:
Write file on windows

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x18], r8
mov qword [rsp + 0x10], rdx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x60
mov edi, dword [rsp + 0xc0]
mov r14, r9
imul eax, edi, 0xaf
mov ebp, edi
mov dword [rsp + 0x30], edi
mov rsi, r8
mov rbx, rdx
mov r15, rcx
cmp edi, eax
mov dword [rsp + 0x50], eax
mov edi, dword [rsp + 0xc0]
ja 0x180069b73
mov r12, qword [rsp + 0x58]
mov r13d, dword [rsp + 0xc0]
nop dword [rax]
cmp ebp, 0x1248
ja 0x180069e3c
je 0x180069ff0
mov eax, ebp
sub eax, 0xb4
je 0x180069c0d
sub eax, 0x25
je 0x180069c00
cmp eax, 0x1b
jne 0x180069fca
mov esi, 0x20
cmp esi, 0x20
je 0x180069b8d
cmp esi, 0x15a0
jne 0x180069be1
mov eax, edi
mov rbx, qword [rsp + 0xa0]
add rsp, 0x60
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
mov eax, dword [r15]
lea r9, [rsp + 0x30]
mov r8, r14
mov dword [rsp + 0x30], eax
xor edx, edx
mov dword [rsp + 0x20], 0x56
xor ecx, ecx
call fcn.180052560
xor r9d, r9d
lea rcx, [rsp + 0x40]
mov rbx, rax
mov rdx, r14
mov eax, dword [r15]
mov dword [rsp + 0x40], eax
lea r8d, [r9 + 0x61]
call fcn.180066ab0
movsxd rdx, dword [r15]
mov rcx, qword [r14 + 0x650]
mov edi, dword [rcx + rdx*4 + 0xd0]
imul edi, eax
add edi, ebx
add esi, 0x1580
cmp esi, 0x2b00
jbe 0x180069b66
mov rsi, qword [rsp + 0xb0]
jmp 0x180069fca
mov dword [rsp + 0x38], 0
jmp 0x180069fca
lea r9, [rsp + 0x48]
mov rcx, r14
lea r8, [rsp + 0x4c]
lea rdx, str._d__d
call fcn.18006f680
cmp eax, 2
je 0x180069dfe
mov ebp, 0xb5
mov esi, 5
nop dword [rax]
cmp esi, 5
ja case.default.0x180069c5c
lea rdx, [0x180000000]
mov eax, esi
mov ecx, dword [rdx + rax*4 + 0x69ffc]
add rcx, rdx
jmp rcx
mov rcx, r14
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll__strdup]
mov r12, rax
test rax, rax
jne case.default.0x180069c5c
mov edx, 0x4d
nop dword [rax + rax]
mov ecx, edx
sub ecx, 0x4c
je 0x180069b73
cmp ecx, 1
jne 0x180069c92
xor edi, edi
dec edx
cmp edx, 0x4b
ja 0x180069c80
jmp case.default.0x180069c5c
mov edx, PathMakeUniqueName
mov rcx, r12
call sub.VCRUNTIME140.dll_strchr
mov qword [rsp + 0x58], rax
test rax, rax
jne 0x180069cfe
mov ebx, 0x90
nop word [rax + rax]
cmp ebx, 0x90
je 0x180069ce2
cmp ebx, 0x13c
je 0x180069cde
cmp ebx, 0x1e8
je 0x180069b73
jmp 0x180069ceb
xor edi, edi
jmp 0x180069ceb
mov rcx, r12
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
add ebx, 0xac
cmp ebx, 0x294
jb 0x180069cc0
mov rax, qword [rsp + 0x58]
mov byte [rax], 0
jmp case.default.0x180069c5c
mov r8, qword [rsp + 0x58]
xor edx, edx
mov rcx, qword [rsp + 0xb0]
inc r8
mov r9d, 0xf6
mov qword [rsp + 0x20], rbx
call fcn.180057740
test eax, eax
jne case.default.0x180069c5c
mov ebx, 0x8b
mov eax, ebx
sub eax, 0x8b
je 0x180069d49
cmp eax, 1
je 0x180069b73
jmp 0x180069d54
mov rcx, r12
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
xor edi, edi
inc ebx
cmp ebx, 0x8d
jb 0x180069d35
jmp case.default.0x180069c5c
mov rcx, qword [rsp + 0xb0]
mov r9d, 0xf6
mov r8, r12
mov qword [rsp + 0x20], r15
xor edx, edx
call fcn.180057740
test eax, eax
jne 0x180069daa
mov ebx, 0x1a
mov eax, ebx
sub eax, 0x1a
je 0x180069d98
cmp eax, 1
je 0x180069b73
jmp 0x180069da3
mov rcx, r12
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
xor edi, edi
inc ebx
cmp ebx, 0x1c
jb 0x180069d86
mov rax, qword [rsp + 0xb0]
mov r13d, dword [rax]
jmp case.default.0x180069c5c
mov rcx, r12
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
jmp case.default.0x180069c5c
mov rax, qword [rsp + 0xb0]
cmp dword [rax], r13d
je case.default.0x180069c5c
mov dword [rax], 0xffffffff
mov rbx, qword [rsp + 0xa8]
dec ebp
dec esi
cmp ebp, 0xaf
ja 0x180069c40
mov ebp, dword [rsp + 0x30]
mov rsi, qword [rsp + 0xb0]
jmp 0x180069fca
mov ecx, dword [rsp + 0x48]
mov eax, 0xfa
mov edx, dword [rsp + 0x4c]
nop dword [rax + rax]
cmp eax, 0xfa
je 0x180069e28
cmp eax, 0x18e
jne 0x180069e2b
mov dword [rbx], ecx
mov dword [rsi], 0xffffffff
jmp 0x180069e2b
mov dword [r15], edx
add eax, 0x94
cmp eax, 0x222
jb 0x180069e10
jmp 0x180069fca
cmp ebp, 0x160a
je 0x180069e5f
cmp ebp, 0x2b3b
je 0x180069eae
cmp ebp, 0x406c
jne 0x180069fca
xor eax, eax
jmp 0x180069b75
movzx eax, byte [rbx]
mov rdx, rbx
test al, al
je 0x180069fca
movzx r8d, byte [r14]
cmp al, r8b
je 0x180069e94
cmp al, byte [r14 + 0x8c]
je 0x180069e94
cmp al, byte [r14 + 0x98]
je 0x180069e94
cmp al, 0xd
je 0x180069e94
cmp al, 0xa
jne 0x180069f19
mov ecx, 0xc6
nop dword [rax]
mov eax, ecx
sub eax, 0xc6
je 0x180069f06
cmp eax, 0x14
jne 0x180069f0e
cmp dword [rsp + 0x38], 0
mov ebp, 0x2b3b
mov dword [rsp + 0x30], ebp
je 0x180069fb6
mov ebp, 0xed
mov eax, ebp
sub eax, 0xed
je 0x180069eda
sub eax, 1
je 0x180069f2d
cmp eax, 1
jne 0x180069eeb
movsx ecx, byte [r14 + 0x8c]
mov rdx, r15
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fputc]
inc ebp
cmp ebp, 0xf0
jb 0x180069ec7
mov ebp, dword [rsp + 0x30]
mov rsi, qword [rsp + 0xb0]
jmp 0x180069fca
mov dword [rsp + 0x38], 1
add ecx, 0x14
cmp ecx, 0xee
jb 0x180069ea0
movzx eax, byte [rdx + 1]
inc rdx
test al, al
jne 0x180069e71
jmp 0x180069fca
cmp byte [rbx], 0
mov rsi, rbx
je 0x180069eeb
mov ebx, 0x70
nop word [rax + rax]
cmp ebx, 0x70
jne 0x180069f96
movsx eax, byte [rsi]
cmp al, byte [r14]
je 0x180069f64
cmp al, byte [r14 + 0x8c]
je 0x180069f6d
movsx ecx, byte [r14 + 0x98]
cmp al, cl
jne 0x180069f8a
jmp 0x180069f81
cmp al, byte [r14 + 0x8c]
jne 0x180069f79
test byte [r14 + 0x80], 0x10
mov ecx, eax
jne 0x180069f81
movsx ecx, byte [r14 + 0x98]
mov rdx, r15
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fputc]
movsx ecx, byte [rsi]
mov rdx, r15
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fputc]
add ebx, 0x18
cmp ebx, 0x88
jb 0x180069f40
inc rsi
cmp byte [rsi], 0
jne 0x180069f35
mov rbx, qword [rsp + 0xa8]
jmp 0x180069eeb
mov r8, qword [rsi]
mov r9, r15
mov edx, 1
mov rcx, rbx
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fwrite]
imul eax, dword [rsp + 0xc0], 0x19
add ebp, eax
mov dword [rsp + 0x30], ebp
cmp ebp, dword [rsp + 0x50]
ja 0x180069b73
mov rbx, qword [rsp + 0xa8]
jmp 0x180069b30
mov eax, 1
jmp 0x180069b75