Function at 0x1400243a0
Capabilities:
Get common file path

Disassembly:
push rbx
push rbp
push rsi
push rdi
push r14
push r15
sub rsp, 0x248
mov rax, qword [0x1400962f8]
xor rax, rsp
mov qword [rsp + 0x230], rax
xor r15d, r15d
mov r14d, r9d
mov rbp, r8
mov rsi, rdx
mov rdi, rcx
test rdx, rdx
je 0x140024524
mov rbx, 0xffffffffffffffff
inc rbx
cmp word [rdx + rbx*2], r15w
jne 0x1400243e1
inc rbx
lea rcx, [rbx + rbx]
call fcn.14004e0e4
mov qword [rdi + 8], rax
test rax, rax
jne 0x14002440a
mov ebx, 0x1b5a
jmp 0x14002463d
mov r8, rsi
mov rdx, rbx
mov rcx, rax
call fcn.140045c10
test rbp, rbp
je 0x1400245ec
mov rbx, rbp
cmp dword [rbp], r15d
je 0x14002443f
nop word [rax + rax]
mov eax, dword [rbx + 4]
add rbx, 8
add rbx, rax
cmp dword [rbx], r15d
jne 0x140024430
sub rbx, rbp
add rbx, 8
je 0x1400245ec
lfence
mov rcx, rbx
call fcn.14004e0e4
mov qword [rdi + 0x10], rax
test rax, rax
jne 0x14002446a
mov ebx, 0x1b5a
jmp 0x14002463d
lfence
mov r8, rbx
mov rdx, rbp
mov rcx, rax
call fcn.14004d720
mov rdx, qword [rdi + 0x10]
mov rcx, rdx
test rdx, rdx
je 0x1400245ec
mov eax, dword [rdx]
test eax, eax
je 0x1400244af
cmp eax, 2
je 0x1400244a8
mov eax, dword [rcx + 4]
add rcx, 8
add rcx, rax
mov eax, dword [rcx]
test eax, eax
jne 0x140024491
jmp 0x1400244af
mov dword [rdi + 0x28], 1
mov rcx, rdx
mov rax, rdx
mov ecx, dword [rdx]
test ecx, ecx
je 0x1400244e6
nop dword [rax + rax]
mov r8d, dword [rax + 4]
cmp ecx, 8
je 0x1400244d8
add rax, 8
add rax, r8
mov ecx, dword [rax]
test ecx, ecx
jne 0x1400244c0
jmp 0x1400244e6
cmp r8, 8
jne 0x1400244e6
mov rax, qword [rax + 8]
mov qword [rdi + 0x58], rax
mov ecx, dword [rdx]
mov rax, rdx
test ecx, ecx
je 0x1400245ec
mov edx, dword [rax + 4]
cmp ecx, 9
je 0x14002450d
add rax, 8
add rax, rdx
mov ecx, dword [rax]
test ecx, ecx
jne 0x1400244f3
jmp 0x1400245ec
cmp rdx, 8
jne 0x1400245ec
mov rax, qword [rax + 8]
mov qword [rdi + 0x60], rax
jmp 0x1400245ec
mov ecx, 0x244
call fcn.14004e0e4
mov qword [rdi + 8], rax
mov rsi, rax
test rax, rax
je 0x140024638
mov rdx, rax
mov ecx, 0x122
call qword [sym.imp.KERNEL32.dll_GetTempPathW]
dec eax
cmp eax, 0x121
ja 0x14002462b
lea r9, [rsp + 0x20]
xor r8d, r8d
lea rdx, [0x140087e28]
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_GetTempFileNameW]
test eax, eax
je 0x14002462b
lea rax, [rsp + 0x20]
mov rbx, 0xffffffffffffffff
inc rbx
cmp word [rax + rbx*2], r15w
jne 0x140024585
mov edx, 0x122
lea r8, [rsp + 0x20]
mov rcx, rsi
cmp rbx, rdx
jae 0x1400245a8
call fcn.140055a48
jmp 0x1400245bb
mov r9d, 0x121
call fcn.1400580e8
mov word [rsi + 0x242], r15w
test r14b, 2
je 0x1400245ec
mov ecx, 0x10
call fcn.14004e0e4
mov qword [rdi + 0x10], rax
test rax, rax
jne 0x1400245db
mov ebx, 0x1b5a
jmp 0x14002463d
movups xmm0, xmmword [0x140088fb0]
movups xmmword [rax], xmm0
mov dword [rdi + 0x28], 1
bt r14d, 0xa
jae 0x1400245fa
mov dword [rdi + 0x2c], 1
bt r14d, 0xb
jae 0x140024608
mov dword [rdi + 0x40], 1
bt r14d, 0x10
jae 0x140024616
mov dword [rdi + 0x44], 1
mov rax, qword [rdi]
mov edx, r14d
mov rcx, rdi
mov rax, qword [rax + 0x18]
call qword [case.0x140017e6f.8]
jmp 0x140024663
mov rcx, qword [rdi + 8]
call fcn.14004e0d0
mov qword [rdi + 8], r15
mov ebx, 0x1b5e
mov rcx, qword [rdi + 8]
test rcx, rcx
je 0x14002464f
call fcn.14004e0d0
mov qword [rdi + 8], r15
mov rcx, qword [rdi + 0x10]
test rcx, rcx
je 0x140024661
call fcn.14004e0d0
mov qword [rdi + 0x10], r15
mov eax, ebx
mov rcx, qword [rsp + 0x230]
xor rcx, rsp
call fcn.140047b10
add rsp, 0x248
pop r15
pop r14
pop rdi
pop rsi
pop rbp
pop rbx
ret