Function at 0x140037220
Capabilities:
Contain obfuscated stackstrings
Get common file path

Disassembly:
push rbp
push rbx
push rsi
push rdi
push r12
push r14
push r15
lea rbp, [rsp - 0x5e0]
sub rsp, 0x6e0
mov qword [rsp + 0x30], 0xfffffffffffffffe
mov rax, qword [0x1402c5168]
xor rax, rsp
mov qword [rbp + 0x5d0], rax
mov rdi, r8
mov rbx, rdx
mov r14, rcx
mov qword [rsp + 0x40], rcx
lea r15, [rcx + 0x88]
xor r12d, r12d
mov qword [r15 + 0x10], r12
mov qword [r15 + 0x18], 7
mov word [r15], r12w
mov byte [rcx + 0xa8], 1
mov qword [rcx], r12
mov qword [rcx + 8], r12
mov qword [rcx + 0x10], r12
mov qword [rcx + 0x18], r12
mov dword [rcx + 0x20], r12d
add rcx, 0x24
xor edx, edx
lea r8d, [r12 + 0x60]
call fcn.14018d8d0
mov rdx, rbx
lea rcx, [rsp + 0x50]
call fcn.140006870
nop
lea rsi, [r12 - 1]
cmp qword [rsp + 0x60], r12
jne 0x1400373fd
mov qword [rsp + 0x70], r12
lea rax, [0x1402c9fb8]
mov qword [rsp + 0x70], rax
mov rcx, qword [0x1402c9fb8]
test rcx, rcx
je 0x1400372e8
call qword [sym.imp.KERNEL32.dll_EnterCriticalSection]
nop
mov r8, qword [0x1402c5cc8]
test r8, r8
je 0x140037310
lea rdx, [0x1402c5cb8]
cmp qword [0x1402c5cd0], 8
cmovae rdx, qword [0x1402c5cb8]
jmp 0x1400373cf
xor edx, edx
mov r8d, 0x20c
lea rcx, [rbp - 0x60]
call fcn.14018d8d0
lea rdx, [rbp - 0x60]
mov ecx, 0x105
call qword [sym.imp.KERNEL32.dll_GetTempPathW]
dec eax
cmp eax, 0x103
ja 0x1400373da
mov word [rbp + 0x1aa], r12w
xor edx, edx
mov r8d, 0x412
lea rcx, [rbp + 0x1b0]
call fcn.14018d8d0
mov r8d, 0x208
lea rdx, [rbp + 0x1b0]
lea rcx, [rbp - 0x60]
call qword [sym.imp.KERNEL32.dll_GetLongPathNameW]
lea ecx, [rax - 1]
cmp ecx, 0x207
ja 0x1400373b4
mov eax, eax
add rax, rax
cmp rax, 0x412
jae 0x1400375f9
mov word [rbp + rax + 0x1b0], r12w
lea rax, [rbp + 0x1b0]
mov r8, rsi
nop
inc r8
cmp word [rax + r8*2], 0
jne 0x1400373a0
lea rdx, [rbp + 0x1b0]
jmp 0x1400373cf
lea rax, [rbp - 0x60]
mov r8, rsi
nop dword [rax + rax]
inc r8
cmp word [rax + r8*2], 0
jne 0x1400373c0
lea rdx, [rbp - 0x60]
lea rcx, [rsp + 0x50]
call fcn.140006b90
nop
mov rcx, qword [0x1402c9fb8]
test rcx, rcx
je 0x1400373ec
call qword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
mov qword [rsp + 0x70], r12
cmp qword [rsp + 0x60], 0
je 0x140037574
cmp qword [rdi + 0x10], 0
je 0x140037574
mov r8, rdi
lea rdx, [rsp + 0x50]
lea rcx, [rsp + 0x78]
call fcn.1400b41c0
mov rbx, rax
lea rax, [rsp + 0x50]
cmp rax, rbx
je 0x140037452
lea rcx, [rsp + 0x50]
call fcn.140006ac0
movups xmm0, xmmword [rbx]
movups xmmword [rsp + 0x50], xmm0
movups xmm1, xmmword [rbx + 0x10]
movups xmmword [rsp + 0x60], xmm1
mov qword [rbx + 0x10], r12
mov qword [rbx + 0x18], 7
mov word [rbx], r12w
mov rdx, qword [rbp - 0x70]
cmp rdx, 8
jb 0x140037493
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x78]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14003748e
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400375ff
call fcn.140186ea4
movdqa xmm0, xmmword [0x14024e620]
movdqu xmmword [rbp - 0x78], xmm0
mov word [rsp + 0x78], r12w
mov dword [rsp + 0x78], 0x43002e
mov dword [rsp + 0x7c], 0x650068
mov dword [rbp - 0x80], 0x6b0063
mov dword [rbp - 0x7c], 0x740053
mov dword [rbp - 0x78], 0x740061
mov dword [rbp - 0x74], 0x64002e
mov dword [rbp - 0x70], 0x740061
mov dword [rbp - 0x6c], 0x61
lea rax, [rsp + 0x78]
inc rsi
cmp word [rax + rsi*2], 0
jne 0x1400374e5
mov rcx, qword [rsp + 0x60]
mov rdx, qword [rsp + 0x68]
mov rax, rdx
sub rax, rcx
cmp rsi, rax
ja 0x140037535
lea rdi, [rcx + rsi]
mov qword [rsp + 0x60], rdi
lea rbx, [rsp + 0x50]
cmp rdx, 8
cmovae rbx, qword [rsp + 0x50]
lea r8, [rsi + rsi]
lea rcx, [rbx + rcx*2]
lea rdx, [rsp + 0x78]
call fcn.14018d190
mov word [rbx + rdi*2], r12w
jmp 0x14003754c
mov qword [rsp + 0x20], rsi
lea r9, [rsp + 0x78]
mov rdx, rsi
lea rcx, [rsp + 0x50]
call fcn.1400074b0
lea rax, [rsp + 0x50]
cmp r15, rax
je 0x140037574
lea rdx, [rsp + 0x50]
cmp qword [rsp + 0x68], 8
cmovae rdx, qword [rsp + 0x50]
mov r8, qword [rsp + 0x60]
mov rcx, r15
call fcn.140006b90
mov rcx, r14
call fcn.1400377f0
nop
mov rdx, qword [rsp + 0x68]
cmp rdx, 8
jb 0x1400375bb
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x50]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400375b6
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400375f3
call fcn.140186ea4
mov qword [rsp + 0x60], r12
mov qword [rsp + 0x68], 7
mov word [rsp + 0x50], r12w
mov rax, r14
mov rcx, qword [rbp + 0x5d0]
xor rcx, rsp
call fcn.140187450
add rsp, 0x6e0
pop r15
pop r14
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret
call fcn.140199c8c
nop
call fcn.14018758c
nop
call fcn.140199c8c
int3