Function at 0x18004ffd0
Capabilities:
Get common file path

Disassembly:
mov rax, rsp
mov qword [rax + 0x20], rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rax - 0x2d8]
sub rsp, 0x3a0
movaps xmmword [rax - 0x48], xmm6
movaps xmmword [rax - 0x58], xmm7
movaps xmmword [rax - 0x68], xmm8
movaps xmmword [rax - 0x78], xmm9
movaps xmmword [rax - 0x88], xmm10
movaps xmmword [rax - 0x98], xmm11
mov rax, qword [0x18007cf38]
xor rax, rsp
mov qword [rbp + 0x230], rax
mov qword [rbp - 0x50], r9
mov r11, r8
mov qword [rbp - 0x58], r8
mov r8, rdx
mov qword [rsp + 0x60], rdx
mov r10, rcx
mov qword [rsp + 0x48], rcx
mov r12, qword [rbp + 0x308]
mov qword [rsp + 0x58], r12
mov r9, qword [rbp + 0x318]
mov qword [rsp + 0x78], r9
mov qword [rbp + 0x10], 0
mov qword [rbp + 0x18], 0xf
mov byte [rbp], 0
mov ecx, dword [rbp + 0x310]
mov eax, ecx
mov dword [rbp - 0x80], ecx
lea edx, [rcx - 0xe]
mov dword [rsp + 0x34], edx
mov ebx, dword [rsp + 0x40]
movsd xmm10, qword [rbp - 0x10]
movups xmm11, xmmword [rbp - 0x20]
cmp ecx, edx
mov rcx, qword [rsp + 0x58]
jbe 0x180050c09
movsd xmm6, qword [0x18006db48]
movsd xmm7, qword [0x18006db58]
movsd xmm8, qword [0x18006db90]
movsd xmm9, qword [0x18006db88]
mov r8, qword [rsp + 0x58]
mov qword [rsp + 0x50], r8
mov r11, qword [rsp + 0x58]
mov qword [rsp + 0x38], r11
mov r13d, dword [rsp + 0x40]
mov r15d, dword [rsp + 0x40]
mov qword [rbp - 0x78], rcx
movzx esi, byte [rsp + 0x30]
mov byte [rsp + 0x30], sil
mov rsi, qword [rsp + 0x58]
mov qword [rbp - 0x60], rsi
mov r14, qword [rbp - 0x50]
lea rdi, [0x180000000]
add eax, 0xffffff2c
cmp eax, 0x40
ja case.0x18005011a.226
movzx eax, byte [rdi + rax + 0x510fc]
mov ecx, dword [rdi + rax*4 + 0x510c0]
add rcx, rdi
jmp rcx
mov rdi, qword [r10]
add rdi, r9
mov qword [rbp - 0x70], rdi
mov r14, r9
xor eax, eax
mov dword [rbp - 0x68], eax
mov dword [rsp + 0x40], eax
mov dword [rsp + 0x70], 1
mov qword [rsp + 0x28], r12
lea rax, [0x18006c408]
mov qword [rsp + 0x20], rax
lea r9, [rbp - 0x68]
mov r8d, 0x122
lea rdx, [rsp + 0x70]
lea rcx, [rsp + 0x40]
call fcn.180054660
test eax, eax
je 0x180050199
mov rax, qword [rsp + 0x78]
mov qword [rbp - 0x20], rax
mov qword [rbp - 0x18], rdi
mov qword [rbp - 0x10], rax
mov qword [rsp + 0x20], r12
lea r9, [rbp - 0x20]
xor edx, edx
xor ecx, ecx
mov r8d, 0x83
call fcn.18001c7f0
test eax, eax
jne 0x180050bc8
xor ebx, ebx
jmp 0x180050eec
test r9, r9
je 0x18005028d
mov edi, 0x2b
nop
mov eax, edi
sub eax, 0x2b
je 0x180050233
sub eax, 1
je 0x180050219
cmp eax, 1
jne 0x180050274
test r8, r8
jne 0x180050274
mov esi, dword [rsp + 0x40]
mov r15, qword [rsp + 0x58]
mov r14d, dword [rsp + 0x40]
mov edi, 0x2df1e
mov r13, qword [rbp - 0x78]
mov r8, qword [rsp + 0x60]
mov r10, qword [rsp + 0x48]
imul eax, dword [rbp + 0x310], 0xbf
add edi, eax
mov r9, qword [rsp + 0x78]
mov r11, qword [rbp - 0x58]
mov rcx, qword [rsp + 0x50]
mov rdx, qword [rsp + 0x38]
mov eax, dword [rbp + 0x310]
jmp 0x180050c49
xor edx, edx
mov r8d, 0x125
mov rcx, r9
call fcn.18003cd00
mov r8, rax
mov qword [rsp + 0x50], rax
jmp 0x18005026f
mov rax, 0xffffffffffffffff
nop word [rax + rax]
inc rax
cmp byte [r9 + rax], 0
jne 0x180050240
mov qword [rsp + 0x40], rax
mov r8d, 0x5d
mov rdx, r9
lea rcx, [rsp + 0x40]
call fcn.18004a400
test eax, eax
je 0x1800501ce
mov r8, qword [rsp + 0x50]
mov r9, qword [rsp + 0x78]
inc edi
cmp edi, 0x2e
jb 0x1800501b0
mov r10, qword [rsp + 0x48]
mov edx, dword [rsp + 0x34]
mov r11, qword [rsp + 0x38]
test r10, r10
je case.0x18005011a.226
mov edi, 0x77
nop dword [rax + rax]
mov eax, edi
sub eax, 0x77
je 0x1800502d6
sub eax, 0x71
je 0x1800502bc
cmp eax, 0x71
jne 0x180050314
test r11, r11
je 0x1800501ce
jmp 0x180050314
xor edx, edx
mov r8d, 0x125
mov rcx, r10
call fcn.18003cd00
mov r11, rax
mov qword [rsp + 0x38], rax
jmp 0x18005030f
mov rax, 0xffffffffffffffff
nop dword [rax]
inc rax
cmp byte [r10 + rax], 0
jne 0x1800502e0
mov qword [rsp + 0x40], rax
mov r8d, 0x5d
mov rdx, r10
lea rcx, [rsp + 0x40]
call fcn.18004a400
test eax, eax
je 0x1800501ce
mov r11, qword [rsp + 0x38]
mov r10, qword [rsp + 0x48]
add edi, 0x71
cmp edi, 0x1ca
jb 0x1800502a0
jmp 0x180050bcd
mov ebx, 1
jmp case.0x18005011a.226
mov rax, qword [r12 + 0x48]
add rax, 5
cmp rax, qword [r12 + 0x40]
jb 0x180050361
mov r8, r12
xor edx, edx
lea ecx, [rdx + 0x3e]
call fcn.180022b30
test eax, eax
je 0x180050199
mov edx, dword [rsp + 0x34]
mov r8, qword [rsp + 0x50]
mov r11, qword [rsp + 0x38]
mov eax, dword [r12 + 0x8c]
cmp eax, 1
jne 0x180050378
mov rax, qword [r12 + 0x48]
mov byte [rax], 0xd
jmp 0x180050397
cmp eax, 2
je 0x18005038f
cmp eax, 3
jne 0x18005039c
mov rax, qword [r12 + 0x48]
mov byte [rax], 0xd
inc qword [r12 + 0x48]
mov rax, qword [r12 + 0x48]
mov byte [rax], 0xa
inc qword [r12 + 0x48]
mov dword [r12 + 0x11c], 0
inc dword [r12 + reloc.SHLWAPI.dll_SHRegGetIntW]
mov dword [r12 + 0x124], 1
mov dword [r12 + 0x120], 1
jmp case.0x18005011a.226
mov dword [rsp + 0x70], 0
mov dword [rsp + 0x40], 1
mov qword [rsp + 0x20], r12
lea r9, [rsp + 0x40]
xor r8d, r8d
lea edx, [r8 + 0x10]
lea rcx, [rsp + 0x70]
call fcn.180051140
test eax, eax
je 0x180050199
jmp 0x180050bc8
mov qword [rbp - 0x48], 0
mov qword [rbp - 0x40], 0
mov qword [rbp - 0x38], 0
movups xmm11, xmmword [rbp - 0x48]
movsd xmm10, qword [rbp - 0x38]
xor r8d, r8d
mov qword [rsp + 0x50], r8
xor r11d, r11d
mov qword [rsp + 0x38], r11
jmp case.0x18005011a.226
mov dword [rsp + 0x68], 1
mov r13d, 1
jmp case.0x18005011a.226
cmp r14, qword [rbp - 0x70]
je case.0x18005011a.226
nop word [rax + rax]
movzx eax, byte [r14]
cmp al, 0xd
je 0x1800506c2
cmp al, 0xa
je 0x1800506c2
cmp al, 0xc2
jne 0x180050483
cmp byte [r14 + 1], 0x85
je 0x1800506c2
cmp al, 0xe2
jne 0x1800504aa
movzx eax, byte [r14 + 1]
cmp al, 0x80
jne 0x1800504aa
cmp byte [r14 + 2], 0xa8
je 0x1800506c2
cmp al, al
jne 0x1800504aa
cmp byte [r14 + 2], 0xa9
je 0x1800506c2
mov edi, 0x11d
xor esi, esi
mov eax, edi
sub eax, 0x11d
je 0x1800504de
sub eax, 0x72
je 0x1800504d1
cmp eax, 0x72
jne 0x1800506ae
mov dword [rsp + 0x68], esi
jmp 0x1800506ae
mov dword [r12 + 0x124], esi
jmp 0x1800506ae
cmp dword [rsp + 0x68], esi
je 0x18005055a
mov r9d, 0x33
mov r8, r12
xor edx, edx
xor ecx, ecx
call fcn.180053eb0
test eax, eax
je 0x180050199
movzx eax, byte [r14]
cmp al, 0x20
je 0x180050552
cmp al, 9
je 0x180050552
mov r13d, esi
mov rax, qword [r12 + 0x48]
add rax, 5
cmp rax, qword [r12 + 0x40]
jb 0x180050532
mov r8, r12
xor edx, edx
lea ecx, [rdx + 0x3e]
call fcn.180022b30
test eax, eax
je 0x180050199
movzx ecx, byte [r14]
test cl, cl
js 0x1800505ee
mov rax, qword [r12 + 0x48]
mov byte [rax], cl
inc qword [r12 + 0x48]
inc r14
jmp 0x1800506a6
mov r13d, 1
jmp 0x18005050d
cmp byte [r14], 0x20
jne 0x18005050d
cmp byte [r14 + 1], 0x20
je 0x18005050d
mov eax, dword [r12 + 0x84]
cmp dword [r12 + 0x11c], eax
jle 0x18005050d
mov r9d, 0x33
mov r8, r12
xor edx, edx
xor ecx, ecx
call fcn.180053eb0
test eax, eax
je 0x180050199
movzx ecx, byte [r14]
test cl, cl
js 0x1800505a8
mov eax, 1
add r14, rax
jmp 0x1800506ae
movzx eax, cl
and al, 0xe0
cmp al, 0xc0
jne 0x1800505be
mov eax, 2
add r14, rax
jmp 0x1800506ae
movzx eax, cl
and al, 0xf0
cmp al, 0xe0
jne 0x1800505d4
mov eax, 3
add r14, rax
jmp 0x1800506ae
and cl, 0xf8
mov rax, rsi
cmp cl, 0xf0
mov ecx, 4
cmove rax, rcx
add r14, rax
jmp 0x1800506ae
movzx eax, cl
and al, 0xe0
cmp al, 0xc0
jne 0x18005061d
mov rax, qword [r12 + 0x48]
mov byte [rax], cl
inc qword [r12 + 0x48]
mov rcx, qword [r12 + 0x48]
movzx eax, byte [r14 + 1]
mov byte [rcx], al
inc qword [r12 + 0x48]
add r14, 2
jmp 0x1800506a6
movzx eax, cl
and al, 0xf0
cmp al, 0xe0
jne 0x18005065a
mov rax, qword [r12 + 0x48]
mov byte [rax], cl
inc qword [r12 + 0x48]
mov rcx, qword [r12 + 0x48]
movzx eax, byte [r14 + 1]
mov byte [rcx], al
inc qword [r12 + 0x48]
mov rcx, qword [r12 + 0x48]
movzx eax, byte [r14 + 2]
mov byte [rcx], al
inc qword [r12 + 0x48]
add r14, 3
jmp 0x1800506a6
movzx eax, cl
and al, 0xf8
cmp al, 0xf0
jne 0x1800506a6
mov rax, qword [r12 + 0x48]
mov byte [rax], cl
inc qword [r12 + 0x48]
mov rcx, qword [r12 + 0x48]
movzx eax, byte [r14 + 1]
mov byte [rcx], al
inc qword [r12 + 0x48]
mov rcx, qword [r12 + 0x48]
movzx eax, byte [r14 + 2]
mov byte [rcx], al
inc qword [r12 + 0x48]
mov rcx, qword [r12 + 0x48]
movzx eax, byte [r14 + 3]
mov byte [rcx], al
inc qword [r12 + 0x48]
add r14, 4
inc dword [r12 + 0x11c]
add edi, 0x72
cmp edi, 0x273
jb 0x1800504b1
jmp 0x180050a63
mov esi, 0xeb
cmp esi, 0xeb
je 0x1800506f4
cmp esi, 0x2cfb
jne 0x180050a51
mov dword [r12 + 0x124], 1
mov dword [rsp + 0x68], 1
jmp 0x180050a51
cmp dword [rsp + 0x68], 0
jne 0x1800508c7
test r13d, r13d
jne 0x1800508c7
cmp byte [r14], 0xa
jne 0x1800508c7
mov edi, 0xcf
nop word [rax + rax]
mov eax, edi
sub eax, 0xcf
je 0x18005081b
cmp eax, 0x57
jne 0x1800508b8
movsxd rcx, r15d
movzx edx, byte [r14 + rcx]
cmp dl, 0x20
ja 0x180050757
movabs r8, 0x100002600
bt r8, rdx
jb 0x1800508b8
cmp dl, 0xc2
jne 0x180050768
cmp byte [r14 + rcx + 1], 0x85
je 0x1800508b8
cmp dl, 0xe2
jne 0x18005079a
cmp byte [r14 + rcx + 1], 0x80
jne 0x180050781
cmp byte [r14 + rcx + 2], 0xa8
je 0x1800508b8
cmp dl, 0xe2
jne 0x18005079a
cmp byte [r14 + rcx + 1], 0x80
jne 0x18005079a
cmp byte [r14 + rcx + 2], 0xa9
je 0x1800508b8
test dl, dl
je 0x1800508b8
mov rax, qword [r12 + 0x48]
add rax, 5
cmp rax, qword [r12 + 0x40]
jb 0x1800507c7
mov r8, r12
xor edx, edx
lea ecx, [rdx + 0x3e]
call fcn.180022b30
test eax, eax
je 0x180050199
mov eax, dword [r12 + 0x8c]
cmp eax, 1
jne 0x1800507de
mov rax, qword [r12 + 0x48]
mov byte [rax], 0xd
jmp 0x1800507fd
cmp eax, 2
je 0x1800507f5
cmp eax, 3
jne 0x180050802
mov rax, qword [r12 + 0x48]
mov byte [rax], 0xd
inc qword [r12 + 0x48]
mov rax, qword [r12 + 0x48]
mov byte [rax], 0xa
inc qword [r12 + 0x48]
mov dword [r12 + 0x11c], 0
inc dword [r12 + reloc.SHLWAPI.dll_SHRegGetIntW]
jmp 0x1800508b8
xor r15d, r15d
lea r12d, [r15 + 4]
movsxd rax, r15d
movzx ecx, byte [r14 + rax]
cmp cl, 0xd
je 0x18005086b
cmp cl, 0xa
je 0x18005086b
cmp cl, 0xc2
jne 0x180050841
cmp byte [r14 + rax + 1], 0x85
je 0x18005086b
cmp cl, 0xe2
jne 0x1800508b3
cmp byte [r14 + rax + 1], 0x80
jne 0x180050856
cmp byte [r14 + rax + 2], 0xa8
je 0x18005086b
cmp cl, 0xe2
jne 0x1800508b3
cmp byte [r14 + rax + 1], 0x80
jne 0x1800508b3
cmp byte [r14 + rax + 2], 0xa9
jne 0x1800508b3
test cl, cl
js 0x180050879
mov eax, 1
add r15d, eax
jmp 0x180050822
movzx eax, cl
and al, 0xe0
cmp al, 0xc0
jne 0x18005088c
mov eax, 2
add r15d, eax
jmp 0x180050822
movzx eax, cl
and al, 0xf0
cmp al, 0xe0
jne 0x18005089f
mov eax, 3
add r15d, eax
jmp 0x180050822
and cl, 0xf8
xor eax, eax
cmp cl, 0xf0
cmove eax, r12d
add r15d, eax
jmp 0x180050822
mov r12, qword [rsp + 0x58]
add edi, 0x57
cmp edi, 0x17d
jb 0x180050720
mov rax, qword [r12 + 0x48]
add rax, 5
cmp rax, qword [r12 + 0x40]
jb 0x1800508ec
mov r8, r12
xor edx, edx
lea ecx, [rdx + 0x3e]
call fcn.180022b30
test eax, eax
je 0x180050199
movzx ecx, byte [r14]
cmp cl, 0xa
jne 0x18005096d
mov rax, qword [r12 + 0x48]
add rax, 5
cmp rax, qword [r12 + 0x40]
jb 0x180050916
mov r8, r12
xor edx, edx
lea ecx, [rdx + 0x3e]
call fcn.180022b30
test eax, eax
je 0x180050965
mov eax, dword [r12 + 0x8c]
cmp eax, 1
jne 0x18005092d
mov rax, qword [r12 + 0x48]
mov byte [rax], 0xd
jmp 0x18005094c
cmp eax, 2
je 0x180050944
cmp eax, 3
jne 0x180050951
mov rax, qword [r12 + 0x48]
mov byte [rax], 0xd
inc qword [r12 + 0x48]
mov rax, qword [r12 + 0x48]
mov byte [rax], 0xa
inc qword [r12 + 0x48]
mov dword [r12 + 0x11c], 0
inc dword [r12 + reloc.SHLWAPI.dll_SHRegGetIntW]
inc r14
jmp 0x180050a51
test cl, cl
js 0x180050985
mov rax, qword [r12 + 0x48]
mov byte [rax], cl
inc qword [r12 + 0x48]
inc r14
jmp 0x180050a3d
movzx eax, cl
and al, 0xe0
cmp al, 0xc0
jne 0x1800509b4
mov rax, qword [r12 + 0x48]
mov byte [rax], cl
inc qword [r12 + 0x48]
mov rcx, qword [r12 + 0x48]
movzx eax, byte [r14 + 1]
mov byte [rcx], al
inc qword [r12 + 0x48]
add r14, 2
jmp 0x180050a3d
movzx eax, cl
and al, 0xf0
cmp al, 0xe0
jne 0x1800509f1
mov rax, qword [r12 + 0x48]
mov byte [rax], cl
inc qword [r12 + 0x48]
mov rcx, qword [r12 + 0x48]
movzx eax, byte [r14 + 1]
mov byte [rcx], al
inc qword [r12 + 0x48]
mov rcx, qword [r12 + 0x48]
movzx eax, byte [r14 + 2]
mov byte [rcx], al
inc qword [r12 + 0x48]
add r14, 3
jmp 0x180050a3d
movzx eax, cl
and al, 0xf8
cmp al, 0xf0
jne 0x180050a3d
mov rax, qword [r12 + 0x48]
mov byte [rax], cl
inc qword [r12 + 0x48]
mov rcx, qword [r12 + 0x48]
movzx eax, byte [r14 + 1]
mov byte [rcx], al
inc qword [r12 + 0x48]
mov rcx, qword [r12 + 0x48]
movzx eax, byte [r14 + 2]
mov byte [rcx], al
inc qword [r12 + 0x48]
mov rcx, qword [r12 + 0x48]
movzx eax, byte [r14 + 3]
mov byte [rcx], al
inc qword [r12 + 0x48]
add r14, 4
mov dword [r12 + 0x11c], 0
inc dword [r12 + reloc.SHLWAPI.dll_SHRegGetIntW]
add esi, 0x2c10
cmp esi, 0x5820
jbe 0x1800506c7
cmp r14, qword [rbp - 0x70]
jne 0x180050460
jmp 0x180050bc8
xor r8d, r8d
mov edx, 0x100
mov rcx, r12
call fcn.180052350
test eax, eax
je 0x180050199
mov r8, r12
xor edx, edx
mov ecx, 0x81
call fcn.18000b180
test eax, eax
je 0x180050199
jmp 0x180050bc8
xor ecx, ecx
mov qword [rbp - 0x78], rcx
jmp case.0x18005011a.226
mov dword [0x18007fe94], 1
jmp case.0x18005011a.226
mov r9, r12
xor edx, edx
xor ecx, ecx
lea r8d, [rdx + 0x78]
call fcn.180063280
test eax, eax
je 0x180050199
jmp 0x180050bc8
xor edi, edi
lea rsi, [0x18007fea0]
nop word [rax + rax]
movd xmm0, edi
cvtdq2pd xmm0, xmm0
addsd xmm0, xmm6
mulsd xmm0, xmm7
divsd xmm0, xmm8
cvtpd2ps xmm0, xmm0
call sub.api_ms_win_crt_math_l1_1_0.dll_sinf
movss dword [rsi], xmm0
inc edi
add rsi, 4
cmp edi, 0x280
jl 0x180050af0
xor edi, edi
lea rsi, [0x1800808a0]
nop dword [rax]
movd xmm0, edi
cvtdq2pd xmm0, xmm0
addsd xmm0, xmm6
mulsd xmm0, xmm7
divsd xmm0, xmm9
cvtpd2ps xmm0, xmm0
call sub.api_ms_win_crt_math_l1_1_0.dll_sinf
movss dword [rsi], xmm0
inc edi
add rsi, 4
cmp edi, 0x140
jl 0x180050b30
jmp 0x180050bc8
mov byte [rsp + 0x30], 1
mov qword [rbp - 0x60], 0
mov ecx, 0x20
call fcn.180065064
mov rdi, rax
mov qword [rbp - 0x30], rax
test rax, rax
je 0x180050bb7
mov qword [rax + 0x10], 0
mov qword [rax + 0x18], 0xf
mov byte [rax], 0
mov r8, 0xffffffffffffffff
nop
inc r8
cmp byte [r12 + r8], 0
jne 0x180050ba0
mov rdx, r12
mov rcx, rax
call fcn.18002c7b0
jmp 0x180050bb9
xor edi, edi
movups xmm0, xmmword [rdi]
movups xmmword [rbp], xmm0
movups xmm1, xmmword [rdi + 0x10]
movups xmmword [rbp + 0x10], xmm1
mov r11, qword [rsp + 0x38]
mov r8, qword [rsp + 0x50]
mov edx, dword [rsp + 0x34]
mov eax, dword [rbp - 0x80]
dec eax
mov dword [rbp - 0x80], eax
mov r10, qword [rsp + 0x48]
mov r9, qword [rsp + 0x78]
cmp eax, edx
ja 0x1800500f3
mov r13, qword [rbp - 0x78]
mov r11, qword [rbp - 0x58]
mov r8, qword [rsp + 0x60]
mov rcx, qword [rsp + 0x50]
mov rdx, qword [rsp + 0x38]
jmp 0x180050c33
mov qword [rsp + 0x50], rcx
mov rdx, qword [rsp + 0x58]
mov qword [rsp + 0x38], rdx
mov r13, qword [rsp + 0x58]
mov qword [rbp - 0x78], r13
movzx eax, byte [rsp + 0x30]
mov byte [rsp + 0x30], al
mov rax, qword [rsp + 0x58]
mov qword [rbp - 0x60], rax
mov eax, dword [rbp + 0x310]
mov edi, eax
mov esi, dword [rsp + 0x40]
mov r15, qword [rsp + 0x58]
mov r14d, dword [rsp + 0x40]
imul eax, eax, 0xb31
cmp edi, eax
ja 0x180050eec
cmp edi, 0x1700a
ja 0x180050eb9
je 0x180050e44
cmp edi, 0x114
ja 0x180050d6c
je 0x180050d19
mov eax, edi
sub eax, 0xd8
je 0x180050eec
sub eax, 0x1e
je 0x180050c9f
cmp eax, 0xf
jne 0x1800501ef
lea r14d, [rax + 0x27]
jmp 0x1800501ef
mov eax, dword [r8]
test eax, eax
jns 0x180050cbd
mov rax, 0xffffffffffffffff
nop dword [rax]
inc rax
cmp byte [r11 + rax], 0
jne 0x180050cb0
mov dword [r8], eax
cdqe
mov qword [rsp + 0x58], rax
mov r8d, 0x5d
mov rdx, r11
lea rcx, [rsp + 0x58]
call fcn.18004a400
test eax, eax
je 0x1800501dc
mov rax, qword [rsp + 0x60]
mov eax, dword [rax]
inc eax
cdqe
mov qword [rbp - 0x70], rax
xor eax, eax
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], rax
xor r9d, r9d
lea r8, [rbp - 0x70]
xor edx, edx
mov ecx, reloc.SHELL32.dll_SHTestTokenMembership
call fcn.180029060
mov r13, rax
mov qword [rbp - 0x78], rax
jmp 0x1800501e5
mov r8d, 0x4f
mov rdx, r12
xor ecx, ecx
call fcn.18004a400
test eax, eax
je 0x180050199
add qword [r12 + 0xe0], 0xfffffffffffffffc
mov rax, qword [r12 + 0xe0]
mov ecx, dword [rax]
mov dword [r12 + 0x100], ecx
add qword [r12 + 0xa0], 0xfffffffffffffffc
mov rax, qword [r12 + 0xa0]
mov ecx, dword [rax]
mov dword [r12 + 0xa8], ecx
jmp 0x1800501e5
cmp edi, 0xb880
je 0x180050e1b
cmp edi, 0xc3c0
je 0x180050d96
cmp edi, 0xcf00
jne 0x1800501ef
mov ebx, 1
jmp 0x1800501ef
xor r15d, r15d
mov qword [rbp - 0x10], r15
mov qword [rbp - 8], 0xf
mov byte [rbp - 0x20], r15b
mov r8, 0xffffffffffffffff
inc r8
cmp byte [r9 + r8], r15b
jne 0x180050db0
mov rdx, r9
lea rcx, [rbp - 0x20]
call fcn.18002c7b0
nop
lea r8, [rbp - 0x20]
mov edx, 0x100
lea rcx, [rbp]
call fcn.180025ee0
nop
mov rdx, qword [rbp - 8]
cmp rdx, 0x10
jb 0x180050e14
inc rdx
mov rcx, qword [rbp - 0x20]
mov rax, rcx
cmp rdx, 0x1000
jb 0x180050e0f
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x180051047
call fcn.1800650a0
xor esi, esi
jmp 0x1800501e5
test r13, r13
je 0x1800501dc
movsxd r8, dword [r8]
mov rdx, r11
mov rcx, r13
call sub.VCRUNTIME140.dll_memcpy
mov r8, qword [rsp + 0x60]
movsxd rax, dword [r8]
mov byte [rax + r13], 0
jmp 0x1800501ea
mov qword [r12], 6
xorps xmm0, xmm0
xor eax, eax
movups xmmword [r12 + 0x20], xmm0
mov qword [r12 + 0x30], rax
movups xmmword [r12 + 0x38], xmm11
movsd qword [r12 + 0x48], xmm10
movups xmmword [r12 + 0x50], xmm11
movsd qword [r12 + 0x60], xmm10
mov qword [r12 + 8], rcx
mov qword [r12 + 0x10], rdx
mov qword [r12 + 0x18], r13
movsxd rax, dword [r8]
mov qword [r12 + 0x20], rax
mov rax, qword [rbp - 0x50]
mov eax, dword [rax]
mov dword [r12 + 0x28], eax
mov rax, qword [rbp + 0x300]
mov eax, dword [rax]
mov dword [r12 + 0x2c], eax
mov rax, qword [rbp + 0x320]
mov eax, dword [rax]
mov dword [r12 + 0x30], eax
jmp 0x1800501ef
cmp edi, 0x24936
ja 0x180050fe9
je 0x180050f82
cmp edi, 0x1867b
je 0x180050f31
cmp edi, 0x19cec
je 0x180050eec
cmp edi, 0x22794
jne 0x1800501ef
mov ebx, 1
mov rdx, qword [rbp + 0x18]
cmp rdx, 0x10
jb 0x180051074
inc rdx
mov rcx, qword [rbp]
mov rax, rcx
cmp rdx, 0x1000
jb 0x18005106f
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x18005106f
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
nop
mov dword [rsp + 0x20], 0x51
xor r9d, r9d
mov r8, r10
xor edx, edx
lea rcx, [rbp]
call fcn.18002d8c0
lea rax, [rbp + 0x20]
mov qword [rsp + 0x20], rax
mov r9d, esi
mov r8, r15
mov edx, r14d
mov rcx, qword [rbp - 0x60]
call qword [sym.imp.SHELL32.dll_SHGetFolderPathW]
mov r10, qword [rsp + 0x48]
mov r8, qword [rsp + 0x60]
test eax, eax
je 0x1800501ef
mov byte [rsp + 0x30], 0
jmp 0x1800501ef
cmp byte [rsp + 0x30], 0
je 0x180050fa1
lea r9, [rbp + 0x20]
mov r8d, esi
mov rdx, r15
mov ecx, r14d
call qword [sym.imp.SHELL32.dll_SHSetFolderPathW]
mov r10, qword [rsp + 0x48]
mov rcx, qword [r10 + 0x10]
mov rdx, qword [r10 + 0x18]
cmp rcx, rdx
jae 0x180050fd2
lea rax, [rcx + 1]
mov qword [r10 + 0x10], rax
mov rax, r10
cmp rdx, 0x10
jb 0x180050fc2
mov rax, qword [r10]
mov word [rcx + rax], 0xa
mov r8, qword [rsp + 0x60]
jmp 0x1800501ef
mov r9b, 0xa
xor r8d, r8d
lea edx, [r8 + 1]
mov rcx, r10
call fcn.180009180
jmp 0x1800501e5
cmp edi, 0x2df1e
je 0x1800501dc
cmp edi, 0x396a8
je 0x180051026
cmp edi, 0x44e32
jne 0x1800501ef
mov ebx, 0xc3
nop
cmp ebx, 0xc3
je 0x18005104e
cmp ebx, 0x49e3
je 0x180050199
jmp 0x18005105b
mov rdx, rcx
mov ecx, 0x89
call fcn.18003c520
mov rdx, qword [rsp + 0x38]
mov ecx, 0x89
call fcn.18003c520
jmp 0x1800501e5
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
mov rdx, r13
mov ecx, 0x89
call fcn.18003c520
add ebx, 0x4920
cmp ebx, 0x9240
ja 0x180050ee7
jmp 0x180051010
call fcn.1800650a0
mov eax, ebx
mov rcx, qword [rbp + 0x230]
xor rcx, rsp
call fcn.180065820
lea r11, [rsp + 0x3a0]
mov rbx, qword [r11 + 0x58]
movaps xmm6, xmmword [r11 - 0x10]
movaps xmm7, xmmword [r11 - 0x20]
movaps xmm8, xmmword [r11 - 0x30]
movaps xmm9, xmmword [r11 - 0x40]
movaps xmm10, xmmword [r11 - 0x50]
movaps xmm11, xmmword [r11 - 0x60]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret