Function at 0x18000dbd0
Capabilities:
Set console window title

Disassembly:
mov qword [rsp + 0x20], rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x1f]
sub rsp, 0xe0
mov rax, qword [0x1800737f8]
xor rax, rsp
mov qword [rbp + 0x17], rax
mov r10d, r9d
mov dword [rsp + 0x40], r9d
mov r9, qword [rbp + 0x7f]
xor ebx, ebx
mov eax, r10d
mov qword [rbp - 0x51], r8
mov r13, rdx
mov qword [rbp - 0x41], rcx
lea edi, [r10 + 0xe]
mov qword [rsp + 0x38], r9
mov dword [rbp - 0x59], eax
mov rsi, rcx
mov dword [rbp - 0x71], edi
cmp r10d, edi
jae 0x18000e150
mov r12, qword [rbp - 0x61]
lea rdx, [0x180000000]
mov r15, qword [rbp - 0x61]
lea r14d, [rbx + 0x6f]
lea r10d, [rbx + 0x2f]
lea r11d, [rbx + 0x75]
nop dword [rax]
add eax, 0xffffffc2
cmp eax, 0x3d
ja case.0x18000dc6e.76
movzx eax, byte [rdx + rax + 0xe550]
mov ecx, dword [rdx + rax*4 + 0xe514]
add rcx, rdx
jmp rcx
mov rax, qword [0x180073a58]
mov ecx, dword [r8]
mov dword [rax + 0x14], ecx
jmp case.0x18000dc6e.76
mov eax, dword [r9]
lea r8, [rbp - 0x79]
mov dword [rsp + 0x30], eax
lea rdx, [rsp + 0x30]
mov eax, dword [r13]
mov ecx, 0x3a
mov dword [rbp - 0x79], eax
call fcn.1800593b0
cmp eax, 0xffffffff
je 0x18000e277
mov r8, qword [rbp - 0x51]
mov r10d, reloc.SHELL32.dll_PathMakeUniqueName
lea r11d, [r10 + 0x46]
jmp 0x18000e12f
mov eax, 0x6d
mov word [rbp - 0x26], r14w
mov word [rbp - 0x25], ax
jmp case.0x18000dc6e.76
mov rdx, qword [r13 + 0x18]
mov rsi, qword [r13]
mov qword [rsp + 0x30], rdx
test rdx, rdx
je 0x18000e12b
nop dword [rax + rax]
lea rax, [rdx + rdx*4]
lea r14, [rsi + rax*8]
mov rax, qword [rsi + rax*8 + 8]
cmp qword [r9], rax
ja 0x18000e106
mov eax, 0x11b
mov dword [rbp - 0x79], eax
nop
sub eax, 0x11b
je 0x18000ddd9
sub eax, 0x11
je 0x18000dd35
cmp eax, 0x11
jne 0x18000e0f0
dec qword [r13 + 0x20]
mov rax, rdx
jmp 0x18000e4eb
mov rcx, qword [r13 + 0x30]
mov rax, qword [r13 + 0x28]
mov qword [rax + rcx*8], rdx
inc qword [r13 + 0x30]
mov rax, qword [r13 + 0x30]
cmp rax, qword [r13 + 0x38]
jb 0x18000e0f0
mov edi, 0x89
cmp edi, 0x89
je 0x18000ddb6
cmp edi, 0x58d6
je 0x18000dd8b
cmp edi, 0xb123
jne 0x18000ddc1
mov rcx, qword [rbp - 0x61]
test rcx, rcx
je case.0x18000dc6e.73
mov rax, qword [rbp - 0x49]
mov qword [r13 + 0x38], rax
mov qword [r13 + 0x28], rcx
jmp 0x18000ddc1
mov rax, qword [rbp - 0x49]
lea r9, [rbp - 0x61]
mov rcx, qword [r13 + 0x28]
xor edx, edx
mov r8d, 0x12a
lea rax, [rax*8]
mov qword [rbp - 0x61], rax
call fcn.1800101a0
mov qword [rbp - 0x61], rax
jmp 0x18000ddc1
mov rax, qword [r13 + 0x38]
add rax, rax
mov qword [rbp - 0x49], rax
add edi, 0x584d
cmp edi, 0x108e7
jbe 0x18000dd58
mov rdx, qword [rsp + 0x30]
jmp 0x18000e0eb
mov rcx, qword [r14 + 0x18]
mov rdx, qword [r9]
lea rax, [rcx + rcx*4]
cmp qword [rsi + rax*8 + 8], rdx
jne 0x18000de0b
nop dword [rax + rax]
lea rax, [rcx + rcx*4]
mov qword [rsp + 0x30], rcx
mov rcx, qword [rsi + rax*8 + 0x18]
lea rax, [rcx + rcx*4]
cmp qword [rsi + rax*8 + 8], rdx
je 0x18000ddf0
xor ebx, ebx
mov rdx, qword [rsp + 0x30]
lea rax, [rdx + rdx*4]
mov r9, qword [rsi + rax*8 + 0x20]
lea r14, [rsi + rax*8]
test r9, r9
je 0x18000e021
lea r10, [r9 + r9*4]
cmp qword [rsi + r10*8 + 0x10], rdx
jne 0x18000df0a
cmp qword [r14 + 0x18], 0
je 0x18000deef
cmp qword [r14 + 0x10], 0
je 0x18000ded4
mov edx, 0xe9
cmp edx, 0xe9
je 0x18000de94
cmp edx, 0x2e6b
jne 0x18000dec1
test r12, r12
je 0x18000de81
mov rax, qword [r14 + 0x10]
lea rcx, [r12 + r12*4]
mov qword [rsi + rcx*8 + 0x10], rax
mov rax, qword [r14 + 0x10]
lea rcx, [rax + rax*4]
mov qword [rsi + rcx*8 + 0x20], r12
jmp 0x18000dec1
mov rax, qword [r14 + 0x18]
lea rcx, [rax + rax*4]
mov rax, qword [r14 + 0x10]
mov qword [rsi + rcx*8 + 0x10], rax
jmp 0x18000dec1
mov rax, qword [r14 + 0x18]
lea rcx, [rax + rax*4]
mov r12, qword [rsi + rcx*8 + 0x10]
lea rax, [r12 + r12*4]
mov rcx, qword [rsi + rax*8 + 0x10]
test rcx, rcx
je 0x18000dec1
nop
lea rax, [rcx + rcx*4]
mov r12, rcx
mov rcx, qword [rsi + rax*8 + 0x10]
test rcx, rcx
jne 0x18000deb0
add edx, 0x2d82
cmp edx, 0x5b04
jbe 0x18000de50
mov rdx, qword [rsp + 0x30]
mov rax, qword [r14 + 0x18]
mov qword [rsi + r10*8 + 0x10], rax
mov rax, qword [r14 + 0x18]
lea rcx, [rax + rax*4]
mov qword [rsi + rcx*8 + 0x20], r9
jmp 0x18000e0eb
mov rax, qword [r14 + 0x10]
mov qword [rsi + r10*8 + 0x10], rax
mov rax, qword [r14 + 0x10]
lea rcx, [rax + rax*4]
mov qword [rsi + rcx*8 + 0x20], r9
jmp 0x18000e0eb
cmp qword [r14 + 0x10], 0
je 0x18000e006
mov r8d, 0x10b
nop dword [rax + rax]
mov eax, r8d
sub eax, 0x10b
je 0x18000df45
cmp eax, 1
jne 0x18000dfec
mov rax, qword [r14 + 0x10]
lea rcx, [rax + rax*4]
mov qword [rsi + rcx*8 + 0x20], r9
jmp 0x18000dfec
cmp qword [r14 + 0x18], 0
je 0x18000dfe3
mov edx, 0xc7
cmp edx, 0xc7
je 0x18000df99
cmp edx, 0x70b7
jne 0x18000dfd1
test r15, r15
je 0x18000df86
mov rax, qword [r14 + 0x18]
lea rcx, [r15 + r15*4]
mov qword [rsi + rcx*8 + 0x18], rax
mov rax, qword [r14 + 0x18]
lea rcx, [rax + rax*4]
mov qword [rsi + rcx*8 + 0x20], r15
jmp 0x18000dfd1
mov rax, qword [r14 + 0x10]
lea rcx, [rax + rax*4]
mov rax, qword [r14 + 0x18]
mov qword [rsi + rcx*8 + 0x18], rax
jmp 0x18000dfd1
mov rax, qword [r14 + 0x10]
lea rcx, [rax + rax*4]
mov r15, qword [rsi + rcx*8 + 0x18]
lea rax, [r15 + r15*4]
mov rcx, qword [rsi + rax*8 + 0x18]
test rcx, rcx
je 0x18000dfd1
nop dword [rax]
nop dword [rax + rax]
lea rax, [rcx + rcx*4]
mov r15, rcx
mov rcx, qword [rsi + rax*8 + 0x18]
test rcx, rcx
jne 0x18000dfc0
add edx, 0x6ff0
cmp edx, 0xdfe0
jbe 0x18000df55
mov rax, qword [r14 + 0x10]
mov qword [rsi + r10*8 + 0x18], rax
inc r8d
cmp r8d, 0x10d
jb 0x18000df20
mov rdx, qword [rsp + 0x30]
jmp 0x18000e0eb
mov rax, qword [r14 + 0x18]
mov qword [rsi + r10*8 + 0x18], rax
mov rax, qword [r14 + 0x18]
lea rcx, [rax + rax*4]
mov qword [rsi + rcx*8 + 0x20], r9
jmp 0x18000e0eb
cmp qword [r14 + 0x10], 0
je 0x18000e0d6
mov r9d, 0xfa
mov eax, r9d
sub eax, 0xfa
je 0x18000e050
cmp eax, 1
jne 0x18000e0bf
mov rax, qword [r14 + 0x10]
lea rcx, [rax + rax*4]
mov qword [rsi + rcx*8 + 0x20], rbx
jmp 0x18000e0bf
cmp qword [r14 + 0x18], 0
je 0x18000e0b7
mov rax, qword [r14 + 0x10]
lea r8, [rax + rax*4]
mov rdx, qword [rsi + r8*8 + 0x18]
lea rax, [rdx + rdx*4]
mov rcx, qword [rsi + rax*8 + 0x18]
test rcx, rcx
je 0x18000e091
nop dword [rax]
nop word [rax + rax]
lea rax, [rcx + rcx*4]
mov rdx, rcx
mov rcx, qword [rsi + rax*8 + 0x18]
test rcx, rcx
jne 0x18000e080
mov rcx, qword [r14 + 0x18]
test rdx, rdx
je 0x18000e0b2
lea rax, [rdx + rdx*4]
mov qword [rsi + rax*8 + 0x18], rcx
mov rax, qword [r14 + 0x18]
lea rcx, [rax + rax*4]
mov qword [rsi + rcx*8 + 0x20], rdx
jmp 0x18000e0b7
mov qword [rsi + r8*8 + 0x18], rcx
mov rax, qword [r14 + 0x10]
mov qword [r13 + 0x18], rax
inc r9d
cmp r9d, 0xfc
jb 0x18000e032
mov rdx, qword [rsp + 0x30]
jmp 0x18000e0eb
mov rax, qword [r14 + 0x18]
mov qword [r13 + 0x18], rax
mov rax, qword [r14 + 0x18]
lea rcx, [rax + rax*4]
mov qword [rsi + rcx*8 + 0x20], rbx
mov r9, qword [rsp + 0x38]
mov eax, dword [rbp - 0x79]
add eax, 0x11
mov dword [rbp - 0x79], eax
cmp eax, 0x14e
jb 0x18000dd10
jmp 0x18000e10f
mov rdx, qword [r14 + 0x18]
mov qword [rsp + 0x30], rdx
test rdx, rdx
jne 0x18000dcf0
mov edi, dword [rbp - 0x71]
lea r10d, [rdx + 0x2f]
mov r8, qword [rbp - 0x51]
lea r11d, [rdx + 0x75]
lea r14d, [rdx + 0x6f]
mov rsi, qword [rbp - 0x41]
lea rdx, [0x180000000]
mov eax, dword [rbp - 0x59]
mov r9, qword [rsp + 0x38]
inc eax
mov dword [rbp - 0x59], eax
cmp eax, edi
jb 0x18000dc50
mov r10d, dword [rsp + 0x40]
imul r12d, r10d, 0x654
mov edi, r10d
cmp r10d, r12d
ja 0x18000e4e6
mov r15, qword [rbp - 0x61]
mov eax, 0x61
mov rsi, qword [rbp - 0x61]
movzx r14d, byte [rbp - 0x69]
mov r11d, 0x6e
lea edx, [r11 - 0x4e]
lea ecx, [rdx + 0xa]
lea r8d, [r11 + 4]
cmp edi, 0x1100c
ja 0x18000e3a1
je 0x18000e375
cmp edi, 0x74cc
ja 0x18000e2ef
je 0x18000e2e6
cmp edi, 0x5c
je 0x18000e2da
cmp edi, 0x272c
je 0x18000e2c4
cmp edi, 0x4dfc
jne 0x18000e4c8
mov word [rbp - 0x12], ax
mov dword [rbp - 0x11], 0x2f736c
jmp 0x18000e4c8
mov rcx, r13
call qword [sym.imp.KERNEL32.dll_SetConsoleTitleA]
jmp 0x18000dcac
mov dword [rbp - 0x24], 0x2f3a65
jmp case.0x18000dc6e.76
mov ecx, dword [rsi]
cmp ecx, dword [0x180073ef0]
jge 0x18000e277
mov eax, dword [r8]
cmp eax, dword [0x180073ef4]
jge 0x18000e277
test ecx, ecx
js 0x18000e277
test eax, eax
js 0x18000e277
mov dword [rbp - 0x79], ecx
lea r9, [rsp + 0x30]
xor ecx, ecx
mov dword [rsp + 0x30], eax
mov r8d, 0xb5
lea rdx, [rbp - 0x79]
call fcn.18004aa10
mov rax, qword [0x180073a58]
mov ecx, dword [rsi]
mov dword [rax + 0x10], ecx
jmp 0x18000dcac
mov dword [rbp - 0x20], 0x6f636361
jmp case.0x18000dc6e.76
mov word [rbp - 0x21], r10w
jmp case.0x18000dc6e.76
mov eax, 0x63
mov word [rbp - 0x29], ax
mov eax, 0x7268
mov word [rbp - 0x28], ax
jmp case.0x18000dc6e.76
mov word [rbp - 0x1c], r11w
jmp case.0x18000dc6e.76
mov dword [rsp + 0x30], 0xffffffff
jmp 0x18000e4e6
mov rdx, qword [0x180073ee8]
mov r9d, 0x29
mov qword [rsp + 0x20], rdx
xor r8d, r8d
mov rcx, rsi
mov eax, dword [rdx + 0xc]
lea rdx, [rbp - 0x71]
mov dword [rbp - 0x71], eax
call fcn.18003c740
cmp eax, 0xffffffff
setne bl
dec ebx
mov dword [rsp + 0x30], ebx
jmp 0x18000e4e6
mov rax, rbx
jmp 0x18000e4eb
mov dword [rbp - 0x17], 0x65746e
mov word [rbp - 0x14], r8w
mov word [rbp - 0x13], r11w
jmp 0x18000e4c8
mov dword [rbp - 0x1b], 0x692d746e
jmp 0x18000e4c8
mov word [rbp - 0xe], cx
jmp 0x18000e4c8
cmp edi, 0x9b9c
je 0x18000e342
cmp edi, 0xc26c
je 0x18000e318
cmp edi, 0xe93c
jne 0x18000e4c8
mov byte [rbp + 5], 0x43
mov word [rbp + 6], dx
jmp 0x18000e4c8
mov dword [rbp - 2], 0x6c4620
lea rdx, [0x1800691e4]
mov r8d, 1
mov dword [rbp + 1], 0x467865
lea rcx, [rbp - 9]
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_strncat]
jmp 0x18000e4b9
mov r8d, 6
lea rdx, str.Inval
lea rcx, [rbp - 9]
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_strncpy]
mov r8d, 3
lea rdx, [0x1800691dc]
lea rcx, [rbp - 4]
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_strncpy]
jmp 0x18000e4b9
mov eax, dword [str.SSRC]
mov dword [rbp + 7], eax
mov eax, 0x3f
mov word [rbp + 0xb], ax
movzx eax, word [0x1800691f0]
mov word [rbp + 0xc], ax
movzx eax, byte [0x1800691f2]
mov byte [rbp + 0xe], al
jmp 0x18000e4c3
cmp edi, 0x1ab4c
ja 0x18000e435
je 0x18000e429
cmp edi, 0x136dc
je 0x18000e412
cmp edi, 0x15dac
je 0x18000e3fc
cmp edi, 0x1847c
jne 0x18000e4c8
mov eax, dword [r9]
lea rcx, [rbp - 0x71]
lea r9, [r13 + 0x48]
mov dword [rbp - 0x71], eax
xor edx, edx
mov r8d, 0xa4
call fcn.18005f060
mov r15, rax
mov dword [rbp - 0x35], 0x14
mov dword [rbp - 0x31], 0x64
jmp 0x18000e4b9
xorps xmm0, xmm0
mov r14b, 1
movups xmmword [rbp - 0x39], xmm0
mov dword [rbp - 0x39], 0xa
jmp 0x18000e4c8
movzx eax, word [0x1800691e0]
mov word [rbp + 0xe], ax
mov dword [rbp + 0x10], 0x202e6e
jmp 0x18000e4c3
mov dword [rbp - 0x2d], 0x78
jmp 0x18000e4c8
cmp edi, 0x1d21c
je 0x18000e488
cmp edi, 0x1f8ec
je 0x18000e453
cmp edi, 0x21fbc
je 0x18000e4e6
jmp 0x18000e4c8
test rsi, rsi
movzx eax, r14b
mov ecx, ebx
cmovne ecx, eax
movzx r14d, cl
test cl, cl
je 0x18000e47a
mov rcx, rsi
call qword [sym.imp.GDI32.dll_DeleteObject]
mov r9, qword [rsp + 0x38]
mov r10d, dword [rsp + 0x40]
movsd xmm0, qword [r9 + 8]
movsd qword [rsp + 0x30], xmm0
jmp 0x18000e4c3
test r15, r15
je 0x18000e4a2
xor r8d, r8d
mov edx, 0xf4
mov rcx, r15
call fcn.18000e590
cmp eax, 1
je 0x18000e4d8
lea r9, [rbp - 0x29]
xor ecx, ecx
lea r8, [rbp - 0x39]
lea rdx, [rbp - 9]
call qword [sym.imp.GDI32.dll_CreateEnhMetaFileA]
mov rsi, rax
mov r10d, dword [rsp + 0x40]
mov r9, qword [rsp + 0x38]
mov eax, 0x61
imul ecx, r10d, 0x6c
add edi, ecx
cmp edi, r12d
ja 0x18000e4e6
jmp 0x18000e175
movsd xmm0, qword [0x18006c678]
movsd qword [rsp + 0x30], xmm0
mov rax, qword [rsp + 0x30]
mov rcx, qword [rbp + 0x17]
xor rcx, rsp
call fcn.1800604b0
mov rbx, qword [rsp + 0x138]
add rsp, 0xe0
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret