Function at 0x1800015a0
Capabilities:
Access peb ldr_data
Encode data using xor
Hash data using fnv
Resolve function by parsing pe exports

Disassembly:
mov rax, rsp
mov qword [rax + 0x18], rbx
mov qword [rax + 0x20], rsi
push rbp
push rdi
push r14
lea rbp, [rax - 0x48]
sub rsp, 0x130
movzx ecx, word [0x180005428]
movsd xmm0, qword [str.BKH_b]
movsd qword [rsp + 0x40], xmm0
xor byte [rsp + 0x41], 0x38
xor byte [rsp + 0x42], 0x39
xor byte [rsp + 0x43], 0x3a
xor byte [rsp + 0x44], 0x3b
xor byte [rsp + 0x45], 0x3c
xor byte [rsp + 0x46], 0x3d
xor byte [rsp + 0x47], 0x3e
mov word [rsp + 0x48], cx
xor cl, 0x3f
xor byte [rsp + 0x49], 0x40
movaps xmmword [rax - 0x28], xmm6
movzx eax, byte [0x18000542a]
mov byte [rsp + 0x48], cl
xor al, 0x41
lea rcx, [rsp + 0x40]
mov byte [rsp + 0x40], 0x75
mov byte [rsp + 0x4a], al
call qword [sym.imp.KERNEL32.dll_LoadLibraryA]
mov r14d, dword [0x180007008]
xor ebx, ebx
test rax, rax
jne 0x180001808
movzx eax, word [0x180005370]
mov r8d, ebx
mov word [rbp - 0x78], ax
movzx eax, byte [0x180005372]
mov byte [rbp - 0x76], al
movups xmm0, xmmword [0x180005358]
movups xmmword [rsp + 0x70], xmm0
movsd xmm0, qword [0x180005368]
movsd qword [rbp - 0x80], xmm0
cmp r14d, 2
jl 0x1800017a7
movdqa xmm0, xmmword [0x180005520]
lea rcx, [rsp + 0x74]
movdqa xmm5, xmmword [0x1800054d0]
movdqa xmm4, xmmword [0x180005510]
movdqa xmm6, xmmword [0x1800054f0]
movdqa xmmword [rsp + 0x60], xmm0
mov edx, dword [rsp + 0x60]
movd xmm2, r8d
lea eax, [r8 + 4]
pshufd xmm2, xmm2, 0
lea rcx, [rcx + 8]
paddd xmm2, xmm5
movd xmm3, eax
movdqa xmm1, xmm2
pshufd xmm3, xmm3, 0
punpckldq xmm1, xmm2
movdqa xmm0, xmm2
punpckhdq xmm0, xmm2
paddd xmm3, xmm5
pmuldq xmm0, xmm4
add r8d, 8
pmuldq xmm1, xmm4
shufps xmm1, xmm0, 0xdd
psrad xmm1, 1
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm6
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm1, xmm0, 0xd8
pshufd xmm2, xmm1, 0xd8
movdqa xmm1, xmm3
andps xmm2, xmmword [0x180005500]
packuswb xmm2, xmm2
punpckldq xmm1, xmm3
pmuldq xmm1, xmm4
movd xmm0, edx
paddb xmm2, xmm0
movd xmm0, dword [rcx - 0xc]
xorps xmm2, xmm0
movdqa xmm0, xmm3
punpckhdq xmm0, xmm3
pmuldq xmm0, xmm4
movd dword [rcx - 0xc], xmm2
shufps xmm1, xmm0, 0xdd
psrad xmm1, 1
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm6
psubd xmm3, xmm0
pshuflw xmm0, xmm3, 0xd8
pshufhw xmm1, xmm0, 0xd8
movd xmm0, edx
pshufd xmm2, xmm1, 0xd8
andps xmm2, xmmword [0x180005500]
packuswb xmm2, xmm2
paddb xmm2, xmm0
movd xmm0, dword [rcx - 8]
xorps xmm2, xmm0
movd dword [rcx - 8], xmm2
cmp r8d, 0x18
jl 0x1800016a0
cmp r8d, 0x1b
jge 0x1800017f2
movsxd rax, r8d
lea r9, [rsp + 0x70]
add r9, rax
nop dword [rax]
nop word [rax + rax]
mov eax, 0x94f2095
lea r9, [r9 + 1]
imul r8d
sar edx, 1
mov eax, edx
shr eax, 0x1f
add edx, eax
mov eax, 1
sub al, dl
movsx eax, al
imul ecx, eax, 0x37
add cl, r8b
inc r8d
xor byte [r9 - 1], cl
cmp r8d, 0x1b
jl 0x1800017c0
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
lea rdx, [rsp + 0x70]
call fcn.180003140
call fcn.180001290
mov eax, dword [0x180005418]
mov r8d, ebx
movsd xmm0, qword [str._KTP]
mov dword [rsp + 0x48], eax
movzx eax, byte [0x18000541c]
mov byte [rsp + 0x4c], al
movsd qword [rsp + 0x40], xmm0
cmp r14d, 2
jl 0x18000193a
movdqa xmm2, xmmword [0x1800054d0]
mov r8d, 8
movdqa xmm4, xmmword [0x180005510]
movdqa xmm1, xmm2
movdqa xmm3, xmmword [0x1800054e0]
movdqa xmm0, xmm2
mov eax, dword [0x180005520]
punpckhdq xmm0, xmm2
punpckldq xmm1, xmm2
pmuldq xmm0, xmm4
pmuldq xmm1, xmm4
shufps xmm1, xmm0, 0xdd
psrad xmm1, 1
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmmword [0x1800054f0]
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm1, xmm0, 0xd8
pshufd xmm2, xmm1, 0xd8
movdqa xmm1, xmm3
andps xmm2, xmmword [0x180005500]
packuswb xmm2, xmm2
punpckldq xmm1, xmm3
pmuldq xmm1, xmm4
movd xmm0, eax
paddb xmm2, xmm0
movd xmm0, dword [str._KTP]
xorps xmm2, xmm0
movdqa xmm0, xmm3
punpckhdq xmm0, xmm3
pmuldq xmm0, xmm4
movd dword [rsp + 0x40], xmm2
shufps xmm1, xmm0, 0xdd
psrad xmm1, 1
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmmword [0x1800054f0]
psubd xmm3, xmm0
pshuflw xmm0, xmm3, 0xd8
pshufhw xmm1, xmm0, 0xd8
pshufd xmm2, xmm1, 0xd8
andps xmm2, xmmword [0x180005500]
movd xmm1, dword [rsp + 0x44]
packuswb xmm2, xmm2
movd xmm0, eax
paddb xmm2, xmm0
xorps xmm2, xmm1
movd dword [rsp + 0x44], xmm2
movsxd rax, r8d
lea r9, [rsp + 0x40]
add r9, rax
nop word [rax + rax]
mov eax, 0x94f2095
lea r9, [r9 + 1]
imul r8d
sar edx, 1
mov eax, edx
shr eax, 0x1f
add edx, eax
mov eax, 1
sub al, dl
movsx eax, al
imul ecx, eax, 0x37
add cl, r8b
inc r8d
xor byte [r9 - 1], cl
cmp r8d, 0xd
jl 0x180001950
lea rcx, [rsp + 0x40]
call qword [sym.imp.KERNEL32.dll_LoadLibraryA]
test rax, rax
jne 0x180001b68
mov eax, dword [0x1800053f0]
mov r8d, ebx
mov dword [rbp - 0x78], eax
movzx eax, byte [0x1800053f4]
mov byte [rbp - 0x74], al
movups xmm0, xmmword [str.QYPVX]
movups xmmword [rsp + 0x70], xmm0
movsd xmm0, qword [0x1800053e8]
movsd qword [rbp - 0x80], xmm0
cmp r14d, 2
jl 0x180001b07
movdqa xmm0, xmmword [0x180005520]
lea rcx, [rsp + 0x74]
movdqa xmm5, xmmword [0x1800054d0]
movdqa xmm4, xmmword [0x180005510]
movdqa xmm6, xmmword [0x1800054f0]
movdqa xmmword [rsp + 0x60], xmm0
mov edx, dword [rsp + 0x60]
nop
movd xmm2, r8d
lea eax, [r8 + 4]
pshufd xmm2, xmm2, 0
lea rcx, [rcx + 8]
paddd xmm2, xmm5
movd xmm3, eax
movdqa xmm1, xmm2
pshufd xmm3, xmm3, 0
punpckldq xmm1, xmm2
movdqa xmm0, xmm2
punpckhdq xmm0, xmm2
paddd xmm3, xmm5
pmuldq xmm0, xmm4
add r8d, 8
pmuldq xmm1, xmm4
shufps xmm1, xmm0, 0xdd
psrad xmm1, 1
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm6
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm1, xmm0, 0xd8
pshufd xmm2, xmm1, 0xd8
movdqa xmm1, xmm3
andps xmm2, xmmword [0x180005500]
packuswb xmm2, xmm2
punpckldq xmm1, xmm3
pmuldq xmm1, xmm4
movd xmm0, edx
paddb xmm2, xmm0
movd xmm0, dword [rcx - 0xc]
xorps xmm2, xmm0
movdqa xmm0, xmm3
punpckhdq xmm0, xmm3
pmuldq xmm0, xmm4
movd dword [rcx - 0xc], xmm2
shufps xmm1, xmm0, 0xdd
psrad xmm1, 1
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm6
psubd xmm3, xmm0
pshuflw xmm0, xmm3, 0xd8
pshufhw xmm1, xmm0, 0xd8
movd xmm0, edx
pshufd xmm2, xmm1, 0xd8
andps xmm2, xmmword [0x180005500]
packuswb xmm2, xmm2
paddb xmm2, xmm0
movd xmm0, dword [rcx - 8]
xorps xmm2, xmm0
movd dword [rcx - 8], xmm2
cmp r8d, 0x18
jl 0x180001a00
cmp r8d, 0x1d
jge 0x180001b52
movsxd rax, r8d
lea r9, [rsp + 0x70]
add r9, rax
nop dword [rax]
nop word [rax + rax]
mov eax, 0x94f2095
lea r9, [r9 + 1]
imul r8d
sar edx, 1
mov eax, edx
shr eax, 0x1f
add edx, eax
mov eax, 1
sub al, dl
movsx eax, al
imul ecx, eax, 0x37
add cl, r8b
inc r8d
xor byte [r9 - 1], cl
cmp r8d, 0x1d
jl 0x180001b20
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
lea rdx, [rsp + 0x70]
call fcn.180003140
call fcn.180001290
mov eax, dword [0x1800053d0]
mov r8d, ebx
movups xmm0, xmmword [str.DMI_I]
movups xmm1, xmmword [0x1800053a0]
mov dword [rbp - 0x50], eax
movzx eax, word [0x1800053d4]
mov word [rbp - 0x4c], ax
movzx eax, byte [0x1800053d6]
mov byte [rbp - 0x4a], al
movups xmmword [rsp + 0x70], xmm0
movups xmm0, xmmword [0x1800053b0]
movups xmmword [rbp - 0x80], xmm1
movups xmm1, xmmword [0x1800053c0]
movups xmmword [rbp - 0x70], xmm0
movups xmmword [rbp - 0x60], xmm1
cmp r14d, 2
jl 0x180001cf7
movdqa xmm0, xmmword [0x180005520]
lea rcx, [rsp + 0x74]
movdqa xmm5, xmmword [0x1800054d0]
movdqa xmm4, xmmword [0x180005510]
movdqa xmm6, xmmword [0x1800054f0]
movdqa xmmword [rsp + 0x60], xmm0
mov edx, dword [rsp + 0x60]
nop
movd xmm2, r8d
lea eax, [r8 + 4]
pshufd xmm2, xmm2, 0
lea rcx, [rcx + 8]
paddd xmm2, xmm5
movd xmm3, eax
movdqa xmm1, xmm2
pshufd xmm3, xmm3, 0
punpckldq xmm1, xmm2
movdqa xmm0, xmm2
punpckhdq xmm0, xmm2
paddd xmm3, xmm5
pmuldq xmm0, xmm4
add r8d, 8
pmuldq xmm1, xmm4
shufps xmm1, xmm0, 0xdd
psrad xmm1, 1
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm6
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm1, xmm0, 0xd8
pshufd xmm2, xmm1, 0xd8
movdqa xmm1, xmm3
andps xmm2, xmmword [0x180005500]
packuswb xmm2, xmm2
punpckldq xmm1, xmm3
pmuldq xmm1, xmm4
movd xmm0, edx
paddb xmm2, xmm0
movd xmm0, dword [rcx - 0xc]
xorps xmm2, xmm0
movdqa xmm0, xmm3
punpckhdq xmm0, xmm3
pmuldq xmm0, xmm4
movd dword [rcx - 0xc], xmm2
shufps xmm1, xmm0, 0xdd
psrad xmm1, 1
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm6
psubd xmm3, xmm0
pshuflw xmm0, xmm3, 0xd8
pshufhw xmm1, xmm0, 0xd8
movd xmm0, edx
pshufd xmm2, xmm1, 0xd8
andps xmm2, xmmword [0x180005500]
packuswb xmm2, xmm2
paddb xmm2, xmm0
movd xmm0, dword [rcx - 8]
xorps xmm2, xmm0
movd dword [rcx - 8], xmm2
cmp r8d, 0x40
jl 0x180001bf0
cmp r8d, 0x47
jge 0x180001d42
movsxd rax, r8d
lea r9, [rsp + 0x70]
add r9, rax
nop dword [rax]
nop word [rax + rax]
mov eax, 0x94f2095
lea r9, [r9 + 1]
imul r8d
sar edx, 1
mov eax, edx
shr eax, 0x1f
add edx, eax
mov eax, 1
sub al, dl
movsx eax, al
imul ecx, eax, 0x37
add cl, r8b
inc r8d
xor byte [r9 - 1], cl
cmp r8d, 0x47
jl 0x180001d10
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
lea rdx, [rsp + 0x70]
call fcn.180003140
cmp byte [0x180005489], bl
movups xmm0, xmmword [str.VIOO]
movzx eax, word [0x180005488]
mov word [rsp + 0x50], ax
movups xmmword [rsp + 0x40], xmm0
je 0x180001f12
mov r8d, ebx
cmp r14d, 2
jl 0x180001ec7
movdqa xmm0, xmmword [0x180005520]
lea rcx, [rsp + 0x44]
movdqa xmm5, xmmword [0x1800054d0]
movdqa xmm4, xmmword [0x180005510]
movdqa xmm6, xmmword [0x1800054f0]
movdqa xmmword [rsp + 0x60], xmm0
mov edx, dword [rsp + 0x60]
nop dword [rax]
nop word [rax + rax]
movd xmm2, r8d
lea eax, [r8 + 4]
pshufd xmm2, xmm2, 0
lea rcx, [rcx + 8]
paddd xmm2, xmm5
movd xmm3, eax
movdqa xmm1, xmm2
pshufd xmm3, xmm3, 0
punpckldq xmm1, xmm2
movdqa xmm0, xmm2
punpckhdq xmm0, xmm2
paddd xmm3, xmm5
pmuldq xmm0, xmm4
add r8d, 8
pmuldq xmm1, xmm4
shufps xmm1, xmm0, 0xdd
psrad xmm1, 1
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm6
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm1, xmm0, 0xd8
pshufd xmm2, xmm1, 0xd8
movdqa xmm1, xmm3
andps xmm2, xmmword [0x180005500]
packuswb xmm2, xmm2
punpckldq xmm1, xmm3
pmuldq xmm1, xmm4
movd xmm0, edx
paddb xmm2, xmm0
movd xmm0, dword [rcx - 0xc]
xorps xmm2, xmm0
movdqa xmm0, xmm3
punpckhdq xmm0, xmm3
pmuldq xmm0, xmm4
movd dword [rcx - 0xc], xmm2
shufps xmm1, xmm0, 0xdd
psrad xmm1, 1
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm6
psubd xmm3, xmm0
pshuflw xmm0, xmm3, 0xd8
pshufhw xmm1, xmm0, 0xd8
movd xmm0, edx
pshufd xmm2, xmm1, 0xd8
andps xmm2, xmmword [0x180005500]
packuswb xmm2, xmm2
paddb xmm2, xmm0
movd xmm0, dword [rcx - 8]
xorps xmm2, xmm0
movd dword [rcx - 8], xmm2
cmp r8d, 0x10
jl 0x180001dc0
cmp r8d, 0x12
jge 0x180001f12
movsxd rax, r8d
lea r9, [rsp + 0x40]
add r9, rax
nop dword [rax]
nop word [rax + rax]
mov eax, 0x94f2095
lea r9, [r9 + 1]
imul r8d
sar edx, 1
mov eax, edx
shr eax, 0x1f
add edx, eax
mov eax, 1
sub al, dl
movsx eax, al
imul ecx, eax, 0x37
add cl, r8b
inc r8d
xor byte [r9 - 1], cl
cmp r8d, 0x12
jl 0x180001ee0
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
lea rdx, [rsp + 0x40]
call fcn.180003140
mov eax, dword [0x180005470]
xorps xmm0, xmm0
mov dword [rbp - 0x78], eax
mov r8d, ebx
movzx eax, word [0x180005474]
mov word [rbp - 0x74], ax
movzx eax, byte [0x180005476]
mov qword [rbp - 0x38], rbx
mov qword [rbp - 0x30], 0xf
mov byte [rbp - 0x72], al
movups xmmword [rbp - 0x48], xmm0
mov byte [rbp - 0x48], bl
movups xmm0, xmmword [0x180005458]
movups xmmword [rsp + 0x70], xmm0
movsd xmm0, qword [0x180005468]
movsd qword [rbp - 0x80], xmm0
cmp r14d, 2
jl 0x1800020b7
movdqa xmm0, xmmword [0x180005520]
lea rcx, [rsp + 0x74]
movdqa xmm5, xmmword [0x1800054d0]
movdqa xmm4, xmmword [0x180005510]
movdqa xmm6, xmmword [0x1800054f0]
movdqa xmmword [rsp + 0x60], xmm0
mov edx, dword [rsp + 0x60]
nop dword [rax]
movd xmm2, r8d
lea eax, [r8 + 4]
pshufd xmm2, xmm2, 0
lea rcx, [rcx + 8]
paddd xmm2, xmm5
movd xmm3, eax
movdqa xmm1, xmm2
pshufd xmm3, xmm3, 0
punpckldq xmm1, xmm2
movdqa xmm0, xmm2
punpckhdq xmm0, xmm2
paddd xmm3, xmm5
pmuldq xmm0, xmm4
add r8d, 8
pmuldq xmm1, xmm4
shufps xmm1, xmm0, 0xdd
psrad xmm1, 1
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm6
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm1, xmm0, 0xd8
pshufd xmm2, xmm1, 0xd8
movdqa xmm1, xmm3
andps xmm2, xmmword [0x180005500]
packuswb xmm2, xmm2
punpckldq xmm1, xmm3
pmuldq xmm1, xmm4
movd xmm0, edx
paddb xmm2, xmm0
movd xmm0, dword [rcx - 0xc]
xorps xmm2, xmm0
movdqa xmm0, xmm3
punpckhdq xmm0, xmm3
pmuldq xmm0, xmm4
movd dword [rcx - 0xc], xmm2
shufps xmm1, xmm0, 0xdd
psrad xmm1, 1
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm6
psubd xmm3, xmm0
pshuflw xmm0, xmm3, 0xd8
pshufhw xmm1, xmm0, 0xd8
movd xmm0, edx
pshufd xmm2, xmm1, 0xd8
andps xmm2, xmmword [0x180005500]
packuswb xmm2, xmm2
paddb xmm2, xmm0
movd xmm0, dword [rcx - 8]
xorps xmm2, xmm0
movd dword [rcx - 8], xmm2
cmp r8d, 0x18
jl 0x180001fb0
cmp r8d, 0x1f
jge 0x180002102
movsxd rax, r8d
lea r9, [rsp + 0x70]
add r9, rax
nop dword [rax]
nop word [rax + rax]
mov eax, 0x94f2095
lea r9, [r9 + 1]
imul r8d
sar edx, 1
mov eax, edx
shr eax, 0x1f
add edx, eax
mov eax, 1
sub al, dl
movsx eax, al
imul ecx, eax, 0x37
add cl, r8b
inc r8d
xor byte [r9 - 1], cl
cmp r8d, 0x1f
jl 0x1800020d0
lea rdx, [rsp + 0x70]
lea rcx, [rbp - 8]
call fcn.180002d90
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_istream_char__struct_std::char_traits_char___std::cin]
lea rdx, [rbp - 0x48]
call fcn.180003310
mov dword [rbp + 0x50], ebx
mov rax, qword gs:[0x60]
mov rax, qword [rax + 0x18]
mov rax, qword [rax + 0x10]
nop dword [rax]
nop dword [rax + rax]
mov r10, qword [rax + 0x30]
movsxd rcx, dword [r10 + 0x3c]
mov esi, dword [rcx + r10 + 0x88]
add rsi, r10
cmp rsi, r10
je 0x1800021b7
mov r9d, dword [rsi + 0x18]
test r9d, r9d
je 0x1800021b7
mov edi, dword [rsi + 0x20]
nop dword [rax]
nop dword [rax + rax]
dec r9d
mov r8d, 0x4f422cdc
lea rcx, [rdi + r9*4]
mov edx, dword [rcx + r10]
add rdx, r10
movzx ecx, byte [rdx]
inc rdx
test cl, cl
je 0x1800021b2
nop
movsx ecx, cl
lea rdx, [rdx + 1]
xor ecx, r8d
imul r8d, ecx, 0x1000193
movzx ecx, byte [rdx - 1]
test cl, cl
jne 0x180002190
cmp r8d, 0x381dd367
je 0x1800021bc
test r9d, r9d
jne 0x180002170
mov rax, qword [rax]
jmp 0x180002140
mov ecx, dword [rsi + 0x24]
xor r8d, r8d
add rcx, r10
mov dword [rsp + 0x38], ebx
mov qword [rsp + 0x30], rbx
mov qword [rsp + 0x28], rbx
mov qword [rsp + 0x20], rbx
movzx edx, word [rcx + r9*2]
lea r9, [rbp + 0x50]
mov ecx, dword [rsi + 0x1c]
add rcx, r10
mov eax, dword [rcx + rdx*4]
xor edx, edx
add rax, r10
xor ecx, ecx
call rax
mov edx, dword [rbp + 0x50]
lea rcx, [rsp + 0x70]
call fcn.180002fc0
cmp qword [rbp - 0x78], 0xf
lea rdx, [rsp + 0x70]
lea rcx, [rbp - 0x28]
cmova rdx, qword [rsp + 0x70]
call fcn.180002d90
mov rdx, qword [rbp - 0x78]
cmp rdx, 0xf
jbe 0x180002255
mov rcx, qword [rsp + 0x70]
inc rdx
mov rax, rcx
cmp rdx, 0x1000
jb 0x180002250
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x180002d67
call fcn.1800037a0
mov rsi, qword [rbp - 0x10]
lea rdx, [rbp - 0x28]
mov rdi, qword [rbp - 0x28]
lea rcx, [rbp - 0x48]
mov r8, qword [rbp - 0x38]
cmp rsi, 0xf
cmova rdx, rdi
cmp qword [rbp - 0x30], 0xf
cmova rcx, qword [rbp - 0x48]
cmp r8, qword [rbp - 0x18]
jne 0x1800027ae
call sub.VCRUNTIME140.dll_memcmp
test eax, eax
jne 0x1800027ae
movups xmm1, xmmword [0x180005448]
movzx eax, word [0x180005380]
movsd xmm0, qword [str.nxrst]
movups xmmword [rbp - 0x80], xmm1
mov word [rsp + 0x48], ax
psrldq xmm1, 0xf
movd eax, xmm1
movsd qword [rsp + 0x40], xmm0
movups xmm0, xmmword [0x180005438]
movups xmmword [rsp + 0x70], xmm0
test al, al
je 0x180002452
cmp r14d, 2
jl 0x180002411
movdqa xmm0, xmmword [0x180005520]
lea rcx, [rsp + 0x74]
movdqa xmm5, xmmword [0x1800054d0]
mov edx, ebx
movdqa xmm4, xmmword [0x180005510]
movdqa xmm6, xmmword [0x1800054f0]
movdqa xmmword [rsp + 0x60], xmm0
mov r8d, dword [rsp + 0x60]
movd xmm2, edx
lea eax, [rdx + 4]
pshufd xmm2, xmm2, 0
lea rcx, [rcx + 8]
paddd xmm2, xmm5
movd xmm3, eax
movdqa xmm1, xmm2
pshufd xmm3, xmm3, 0
punpckldq xmm1, xmm2
movdqa xmm0, xmm2
punpckhdq xmm0, xmm2
paddd xmm3, xmm5
pmuldq xmm0, xmm4
add edx, 8
pmuldq xmm1, xmm4
shufps xmm1, xmm0, 0xdd
psrad xmm1, 1
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm6
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm1, xmm0, 0xd8
pshufd xmm2, xmm1, 0xd8
movdqa xmm1, xmm3
andps xmm2, xmmword [0x180005500]
packuswb xmm2, xmm2
punpckldq xmm1, xmm3
pmuldq xmm1, xmm4
movd xmm0, r8d
paddb xmm2, xmm0
movd xmm0, dword [rcx - 0xc]
xorps xmm2, xmm0
movdqa xmm0, xmm3
punpckhdq xmm0, xmm3
pmuldq xmm0, xmm4
movd dword [rcx - 0xc], xmm2
shufps xmm1, xmm0, 0xdd
psrad xmm1, 1
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm6
psubd xmm3, xmm0
pshuflw xmm0, xmm3, 0xd8
pshufhw xmm1, xmm0, 0xd8
movd xmm0, r8d
pshufd xmm2, xmm1, 0xd8
andps xmm2, xmmword [0x180005500]
packuswb xmm2, xmm2
paddb xmm2, xmm0
movd xmm0, dword [rcx - 8]
xorps xmm2, xmm0
movd dword [rcx - 8], xmm2
cmp edx, 0x20
jl 0x180002310
jmp 0x180002452
lea r9, [rsp + 0x70]
mov r8d, ebx
nop dword [rax]
mov eax, 0x94f2095
lea r9, [r9 + 1]
imul r8d
sar edx, 1
mov eax, edx
shr eax, 0x1f
add edx, eax
mov eax, 1
sub al, dl
movsx eax, al
imul ecx, eax, 0x37
add cl, r8b
inc r8d
xor byte [r9 - 1], cl
cmp r8d, 0x20
jl 0x180002420
mov r8, qword [0x1800071f0]
test r8, r8
jne 0x1800024bf
mov rax, qword gs:[0x60]
mov rax, qword [rax + 0x18]
mov rax, qword [rax + 0x10]
nop
mov rdx, qword [rax + 0x60]
mov r8d, 0x2971dbf5
movzx ecx, word [rax + 0x58]
shr rcx, 1
lea r9, [rdx + rcx*2]
cmp rdx, r9
je 0x1800024af
nop word [rax + rax]
movsx ecx, byte [rdx]
add rdx, 2
xor ecx, r8d
imul r8d, ecx, 0x1000193
cmp rdx, r9
jne 0x180002490
cmp r8d, 0x342edc29
je 0x1800024b4
mov rax, qword [rax]
jmp 0x180002470
mov r8, qword [rax + 0x30]
mov qword [0x1800071f0], r8
movsxd rax, dword [r8 + 0x3c]
mov r10d, dword [rax + r8 + 0x88]
mov r11d, dword [r10 + r8 + 0x20]
mov r9d, ebx
mov edx, 0x2871da62
lea rax, [r11 + r9*4]
mov ecx, dword [rax + r8]
add rcx, r8
movzx eax, byte [rcx]
inc rcx
test al, al
je 0x18000250f
nop dword [rax]
movsx eax, al
lea rcx, [rcx + 1]
xor eax, edx
imul edx, eax, 0x1000193
movzx eax, byte [rcx - 1]
test al, al
jne 0x1800024f0
cmp edx, 0x1357fea5
je 0x180002513
inc ebx
jmp 0x1800024d0
mov ecx, dword [r10 + r8 + 0x24]
add rcx, r8
movzx edx, word [rcx + r9*2]
mov r9d, 0x40
mov ecx, dword [r10 + r8 + 0x1c]
add rcx, r8
mov eax, dword [rcx + rdx*4]
lea rdx, [rsp + 0x70]
xor byte [rsp + 0x41], 0x38
add rax, r8
xor byte [rsp + 0x42], 0x39
lea r8, [rsp + 0x40]
xor byte [rsp + 0x43], 0x3a
xor ecx, ecx
xor byte [rsp + 0x44], 0x3b
xor byte [rsp + 0x45], 0x3c
xor byte [rsp + 0x46], 0x3d
xor byte [rsp + 0x47], 0x3e
xor byte [rsp + 0x48], 0x3f
xor byte [rsp + 0x49], 0x40
mov byte [rsp + 0x40], 0x59
call rax
mov rax, qword gs:[0x60]
mov rax, qword [rax + 0x18]
mov rax, qword [rax + 0x10]
nop word [rax + rax]
mov r10, qword [rax + 0x30]
movsxd rcx, dword [r10 + 0x3c]
mov edi, dword [rcx + r10 + 0x88]
add rdi, r10
cmp rdi, r10
je 0x180002607
mov r9d, dword [rdi + 0x18]
test r9d, r9d
je 0x180002607
mov ebx, dword [rdi + 0x20]
nop dword [rax]
nop dword [rax + rax]
dec r9d
mov r8d, 0x9ddad91
lea rcx, [rbx + r9*4]
mov edx, dword [rcx + r10]
add rdx, r10
movzx ecx, byte [rdx]
inc rdx
test cl, cl
je 0x180002602
nop
movsx ecx, cl
lea rdx, [rdx + 1]
xor ecx, r8d
imul r8d, ecx, 0x1000193
movzx ecx, byte [rdx - 1]
test cl, cl
jne 0x1800025e0
cmp r8d, 0xe35de2e1
je 0x18000260c
test r9d, r9d
jne 0x1800025c0
mov rax, qword [rax]
jmp 0x180002590
mov ecx, dword [rdi + 0x24]
add rcx, r10
movzx edx, word [rcx + r9*2]
mov ecx, dword [rdi + 0x1c]
add rcx, r10
mov eax, dword [rcx + rdx*4]
add rax, r10
call rax
mov rcx, qword gs:[0x60]
mov r14, rax
mov rcx, qword [rcx + 0x18]
mov rcx, qword [rcx + 0x10]
nop dword [rax]
mov r10, qword [rcx + 0x30]
movsxd rdx, dword [r10 + 0x3c]
mov edi, dword [rdx + r10 + 0x88]
add rdi, r10
cmp rdi, r10
je 0x1800026b7
mov r9d, dword [rdi + 0x18]
test r9d, r9d
je 0x1800026b7
mov ebx, dword [rdi + 0x20]
nop dword [rax]
nop dword [rax + rax]
dec r9d
mov r8d, 0x8ddabfe
lea rax, [rbx + r9*4]
mov edx, dword [rax + r10]
add rdx, r10
movzx eax, byte [rdx]
inc rdx
test al, al
je 0x1800026b2
nop
movsx eax, al
lea rdx, [rdx + 1]
xor eax, r8d
imul r8d, eax, 0x1000193
movzx eax, byte [rdx - 1]
test al, al
jne 0x180002690
cmp r8d, 0xc83dde56
je 0x1800026bc
test r9d, r9d
jne 0x180002670
mov rcx, qword [rcx]
jmp 0x180002640
mov rax, qword gs:[0x60]
mov ecx, dword [rdi + 0x24]
add rcx, r10
mov rax, qword [rax + 0x18]
movzx edx, word [rcx + r9*2]
mov ecx, dword [rdi + 0x1c]
mov rax, qword [rax + 0x10]
add rcx, r10
mov esi, dword [rcx + rdx*4]
add rsi, r10
nop dword [rax]
nop dword [rax + rax]
mov r10, qword [rax + 0x30]
movsxd rcx, dword [r10 + 0x3c]
mov edi, dword [rcx + r10 + 0x88]
add rdi, r10
cmp rdi, r10
je 0x180002767
mov r9d, dword [rdi + 0x18]
test r9d, r9d
je 0x180002767
mov ebx, dword [rdi + 0x20]
nop dword [rax]
nop dword [rax + rax]
dec r9d
mov r8d, 0xaddaf24
lea rcx, [r10 + r9*4]
mov edx, dword [rcx + rbx]
add rdx, r10
movzx ecx, byte [rdx]
inc rdx
test cl, cl
je 0x180002762
nop dword [rax]
movsx ecx, cl
lea rdx, [rdx + 1]
xor ecx, r8d
imul r8d, ecx, 0x1000193
movzx ecx, byte [rdx - 1]
test cl, cl
jne 0x180002740
cmp r8d, 0x25400c3
je 0x18000276c
test r9d, r9d
jne 0x180002720
mov rax, qword [rax]
jmp 0x1800026f0
mov ecx, dword [rdi + 0x24]
add rcx, r10
movzx edx, word [rcx + r9*2]
mov ecx, dword [rdi + 0x1c]
add rcx, r10
mov eax, dword [rcx + rdx*4]
add rax, r10
call rax
mov ecx, eax
mov eax, 0x80010003
imul ecx
add edx, ecx
sar edx, 0xe
mov eax, edx
shr eax, 0x1f
add edx, eax
imul eax, edx, 0x7fff
sub ecx, eax
mov edx, ecx
mov rcx, r14
call rsi
jmp 0x180002cc7
movups xmm0, xmmword [str.CPXNeKM]
cmp rsi, 0xf
lea rax, [rbp - 0x28]
movups xmm1, xmmword [0x1800054a0]
cmova rax, rdi
mov r8d, ebx
movups xmmword [rsp + 0x70], xmm0
movups xmm0, xmmword [0x1800054b0]
mov byte [rax], bl
mov eax, dword [str._WVUW_]
mov dword [rbp + 0x58], eax
movzx eax, word [0x180005430]
xor byte [rbp + 0x59], 0x38
xor byte [rbp + 0x5a], 0x39
xor byte [rbp + 0x5b], 0x3a
mov word [rbp + 0x5c], ax
xor al, 0x3b
xor byte [rbp + 0x5d], 0x3c
mov byte [rbp + 0x5c], al
mov eax, dword [0x1800054c0]
mov dword [rbp - 0x60], eax
mov byte [rbp + 0x58], 0x6c
movups xmmword [rbp - 0x80], xmm1
movups xmmword [rbp - 0x70], xmm0
cmp r14d, 2
jl 0x180002957
movdqa xmm0, xmmword [0x180005520]
lea rcx, [rsp + 0x74]
movdqa xmm5, xmmword [0x1800054d0]
movdqa xmm4, xmmword [0x180005510]
movdqa xmm6, xmmword [0x1800054f0]
movdqa xmmword [rsp + 0x60], xmm0
mov edx, dword [rsp + 0x60]
movd xmm2, r8d
lea eax, [r8 + 4]
pshufd xmm2, xmm2, 0
lea rcx, [rcx + 8]
paddd xmm2, xmm5
movd xmm3, eax
movdqa xmm1, xmm2
pshufd xmm3, xmm3, 0
punpckldq xmm1, xmm2
movdqa xmm0, xmm2
punpckhdq xmm0, xmm2
paddd xmm3, xmm5
pmuldq xmm0, xmm4
add r8d, 8
pmuldq xmm1, xmm4
shufps xmm1, xmm0, 0xdd
psrad xmm1, 1
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm6
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm1, xmm0, 0xd8
pshufd xmm2, xmm1, 0xd8
movdqa xmm1, xmm3
andps xmm2, xmmword [0x180005500]
packuswb xmm2, xmm2
punpckldq xmm1, xmm3
pmuldq xmm1, xmm4
movd xmm0, edx
paddb xmm2, xmm0
movd xmm0, dword [rcx - 0xc]
xorps xmm2, xmm0
movdqa xmm0, xmm3
punpckhdq xmm0, xmm3
pmuldq xmm0, xmm4
movd dword [rcx - 0xc], xmm2
shufps xmm1, xmm0, 0xdd
psrad xmm1, 1
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm6
psubd xmm3, xmm0
pshuflw xmm0, xmm3, 0xd8
pshufhw xmm1, xmm0, 0xd8
movd xmm0, edx
pshufd xmm2, xmm1, 0xd8
andps xmm2, xmmword [0x180005500]
packuswb xmm2, xmm2
paddb xmm2, xmm0
movd xmm0, dword [rcx - 8]
xorps xmm2, xmm0
movd dword [rcx - 8], xmm2
cmp r8d, 0x30
jl 0x180002850
cmp r8d, 0x34
jge 0x1800029a2
movsxd rax, r8d
lea r9, [rsp + 0x70]
add r9, rax
nop dword [rax]
nop word [rax + rax]
mov eax, 0x94f2095
lea r9, [r9 + 1]
imul r8d
sar edx, 1
mov eax, edx
shr eax, 0x1f
add edx, eax
mov eax, 1
sub al, dl
movsx eax, al
imul ecx, eax, 0x37
add cl, r8b
inc r8d
xor byte [r9 - 1], cl
cmp r8d, 0x34
jl 0x180002970
mov r8, qword [0x1800071e8]
test r8, r8
jne 0x180002a0f
mov rax, qword gs:[0x60]
mov rax, qword [rax + 0x18]
mov rax, qword [rax + 0x10]
nop
mov rdx, qword [rax + 0x60]
mov r8d, 0x2e1cf465
movzx ecx, word [rax + 0x58]
shr rcx, 1
lea r9, [rdx + rcx*2]
cmp rdx, r9
je 0x1800029ff
nop word [rax + rax]
movsx ecx, byte [rdx]
add rdx, 2
xor ecx, r8d
imul r8d, ecx, 0x1000193
cmp rdx, r9
jne 0x1800029e0
cmp r8d, 0xb683caf9
je 0x180002a04
mov rax, qword [rax]
jmp 0x1800029c0
mov r8, qword [rax + 0x30]
mov qword [0x1800071e8], r8
movsxd rax, dword [r8 + 0x3c]
mov r10d, dword [rax + r8 + 0x88]
mov r11d, dword [r10 + r8 + 0x20]
mov r9d, ebx
mov edx, 0x2b1cefac
lea rax, [r11 + r9*4]
mov ecx, dword [rax + r8]
add rcx, r8
movzx eax, byte [rcx]
inc rcx
test al, al
je 0x180002a5f
nop dword [rax]
movsx eax, al
lea rcx, [rcx + 1]
xor eax, edx
imul edx, eax, 0x1000193
movzx eax, byte [rcx - 1]
test al, al
jne 0x180002a40
cmp edx, 0x9362a8a7
je 0x180002a63
inc ebx
jmp 0x180002a20
mov ecx, dword [r10 + r8 + 0x24]
add rcx, r8
movzx edx, word [rcx + r9*2]
mov r9d, 0x10
mov ecx, dword [r10 + r8 + 0x1c]
add rcx, r8
mov eax, dword [rcx + rdx*4]
lea rdx, [rsp + 0x70]
add rax, r8
xor ecx, ecx
lea r8, [rbp + 0x58]
call rax
mov rax, qword gs:[0x60]
mov rax, qword [rax + 0x18]
mov rax, qword [rax + 0x10]
nop dword [rax]
nop word [rax + rax]
mov r10, qword [rax + 0x30]
movsxd rcx, dword [r10 + 0x3c]
mov edi, dword [rcx + r10 + 0x88]
add rdi, r10
cmp rdi, r10
je 0x180002b27
mov r9d, dword [rdi + 0x18]
test r9d, r9d
je 0x180002b27
mov ebx, dword [rdi + 0x20]
nop dword [rax]
nop dword [rax + rax]
dec r9d
mov r8d, 0xb317b596
lea rcx, [r10 + r9*4]
mov ecx, dword [rcx + rbx]
add rcx, r10
movzx edx, byte [rcx]
inc rcx
test dl, dl
je 0x180002b22
nop dword [rax]
movsx edx, dl
lea rcx, [rcx + 1]
xor edx, r8d
imul r8d, edx, 0x1000193
movzx edx, byte [rcx - 1]
test dl, dl
jne 0x180002b00
cmp r8d, 0xd50088ad
je 0x180002b2c
test r9d, r9d
jne 0x180002ae0
mov rax, qword [rax]
jmp 0x180002ab0
mov ecx, dword [rdi + 0x24]
add rcx, r10
movzx edx, word [rcx + r9*2]
mov ecx, dword [rdi + 0x1c]
add rcx, r10
mov eax, dword [rcx + rdx*4]
add rax, r10
call rax
mov rcx, qword gs:[0x60]
mov esi, eax
mov rcx, qword [rcx + 0x18]
mov rcx, qword [rcx + 0x10]
nop dword [rax + rax]
mov r10, qword [rcx + 0x30]
movsxd rdx, dword [r10 + 0x3c]
mov edi, dword [rdx + r10 + 0x88]
add rdi, r10
cmp rdi, r10
je 0x180002bd7
mov r9d, dword [rdi + 0x18]
test r9d, r9d
je 0x180002bd7
mov ebx, dword [rdi + 0x20]
nop dword [rax]
nop dword [rax + rax]
dec r9d
mov r8d, 0xb417b729
lea rax, [r10 + r9*4]
mov edx, dword [rax + rbx]
add rdx, r10
movzx eax, byte [rdx]
inc rdx
test al, al
je 0x180002bd2
nop dword [rax]
movsx eax, al
lea rdx, [rdx + 1]
xor eax, r8d
imul r8d, eax, 0x1000193
movzx eax, byte [rdx - 1]
test al, al
jne 0x180002bb0
cmp r8d, 0x17ad9f29
je 0x180002bdc
test r9d, r9d
jne 0x180002b90
mov rcx, qword [rcx]
jmp 0x180002b60
mov ecx, dword [rdi + 0x24]
add rcx, r10
movzx edx, word [rcx + r9*2]
mov ecx, dword [rdi + 0x1c]
add rcx, r10
mov eax, dword [rcx + rdx*4]
add rax, r10
call rax
mov rcx, qword gs:[0x60]
mov r14, rax
mov rcx, qword [rcx + 0x18]
mov rcx, qword [rcx + 0x10]
nop dword [rax]
mov r10, qword [rcx + 0x30]
movsxd rdx, dword [r10 + 0x3c]
mov edi, dword [rdx + r10 + 0x88]
add rdi, r10
cmp rdi, r10
je 0x180002c87
mov r9d, dword [rdi + 0x18]
test r9d, r9d
je 0x180002c87
mov ebx, dword [rdi + 0x20]
nop dword [rax]
nop dword [rax + rax]
dec r9d
mov r8d, 0xbd17c554
lea rax, [r10 + r9*4]
mov edx, dword [rax + rbx]
add rdx, r10
movzx eax, byte [rdx]
inc rdx
test al, al
je 0x180002c82
nop dword [rax]
movsx eax, al
lea rdx, [rdx + 1]
xor eax, r8d
imul r8d, eax, 0x1000193
movzx eax, byte [rdx - 1]
test al, al
jne 0x180002c60
cmp r8d, 0xcf638d20
je 0x180002c8c
test r9d, r9d
jne 0x180002c40
mov rcx, qword [rcx]
jmp 0x180002c10
mov ecx, dword [rdi + 0x24]
mov eax, 0x80010003
add rcx, r10
movzx edx, word [rcx + r9*2]
mov ecx, dword [rdi + 0x1c]
add rcx, r10
mov r8d, dword [rcx + rdx*4]
mov rcx, r14
imul esi
add r8, r10
add edx, esi
sar edx, 0xe
mov eax, edx
shr eax, 0x1f
add edx, eax
imul eax, edx, 0x7fff
sub esi, eax
mov edx, esi
call r8
mov rdx, qword [rbp - 0x10]
cmp rdx, 0xf
jbe 0x180002cfe
mov rcx, qword [rbp - 0x28]
inc rdx
mov rax, rcx
cmp rdx, 0x1000
jb 0x180002cf9
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x180002d67
call fcn.1800037a0
mov rdx, qword [rbp + 0x10]
cmp rdx, 0xf
jbe 0x180002d35
mov rcx, qword [rbp - 8]
inc rdx
mov rax, rcx
cmp rdx, 0x1000
jb 0x180002d30
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x180002d67
call fcn.1800037a0
mov rdx, qword [rbp - 0x30]
cmp rdx, 0xf
jbe 0x180002d73
mov rcx, qword [rbp - 0x48]
inc rdx
mov rax, rcx
cmp rdx, 0x1000
jb 0x180002d6e
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x180002d6e
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.1800037a0
lea r11, [rsp + 0x130]
mov rbx, qword [r11 + 0x30]
mov rsi, qword [r11 + 0x38]
movaps xmm6, xmmword [r11 - 0x10]
mov rsp, r11
pop r14
pop rdi
pop rbp
ret