Function at 0x14008a340
Capabilities:
Encode data using xor
Hash data using fnv

Disassembly:
mov rax, rsp
mov qword [rax + 8], rbx
mov qword [rax + 0x10], rsi
mov qword [rax + 0x18], rdi
mov qword [rax + 0x20], r12
push r13
push r14
push r15
sub rsp, 0x570
movaps xmmword [rax - 0x28], xmm6
mov rax, qword [0x140160880]
xor rax, rsp
mov qword [rsp + 0x550], rax
xor r14d, r14d
mov r12d, r14d
mov dword [rsp + 0x50], r14d
mov r15d, 4
movabs rdi, 0x7fffffffffffffff
movabs rbx, 0x7ffffffb57e837ff
movabs rsi, 0x4a817c800
mov r13d, 0xff
nop dword [rax + rax]
cmp byte [0x1401ab1df], 0
je 0x14008ba5b
movups xmm0, xmmword [str.PMNKO_a]
movups xmmword [rsp + 0x90], xmm0
movups xmm1, xmmword [0x140146728]
movups xmmword [rsp + 0xa0], xmm1
movups xmm0, xmmword [0x140146738]
movups xmmword [rsp + 0xb0], xmm0
mov eax, dword [0x140146748]
mov dword [rsp + 0xc0], eax
movzx eax, word [0x14014674c]
mov word [rsp + 0xc4], ax
movzx eax, byte [0x14014674e]
mov byte [rsp + 0xc6], al
mov r8d, r14d
cmp dword [reloc.WS2_32.dll_accept], 2
jl 0x14008a565
movdqa xmm5, xmmword [0x140149500]
movdqa xmm4, xmmword [0x140149820]
movdqa xmm6, xmmword [0x140149590]
movdqa xmm0, xmmword [str.8888888888888888]
movdqa xmmword [rsp + 0x60], xmm0
lea rcx, [rsp + 0x94]
mov edx, dword [rsp + 0x60]
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, 4
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm6
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm1, xmm0, 0xd8
pshufd xmm2, xmm1, 0xd8
andps xmm2, xmmword [0x140149690]
packuswb xmm2, xmm2
movd xmm0, edx
paddb xmm2, xmm0
movd xmm0, dword [rcx - 4]
xorps xmm2, xmm0
movd dword [rcx - 4], xmm2
lea eax, [r8 + 4]
movd xmm3, eax
pshufd xmm3, xmm3, 0
paddd xmm3, xmm5
movdqa xmm1, xmm3
punpckldq xmm1, xmm3
pmuldq xmm1, xmm4
movdqa xmm0, xmm3
punpckhdq xmm0, xmm3
pmuldq xmm0, xmm4
shufps xmm1, xmm0, 0xdd
psrad xmm1, 4
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm6
psubd xmm3, xmm0
pshuflw xmm0, xmm3, 0xd8
pshufhw xmm1, xmm0, 0xd8
pshufd xmm2, xmm1, 0xd8
andps xmm2, xmmword [0x140149690]
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 0x14008a460
cmp r8d, 0x37
jge 0x14008a5b0
movsxd rax, r8d
lea r9, [rsp + 0x90]
add r9, rax
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, 0x38
xor byte [r9], al
inc r8d
lea r9, [r9 + 1]
cmp r8d, 0x37
jl 0x14008a580
lea rax, [rsp + 0x90]
mov rcx, 0xffffffffffffffff
nop
inc rcx
cmp byte [rax + rcx], 0
jne 0x14008a5c0
mov rdx, qword [0x1401a77a8]
mov rax, rdi
sub rax, rdx
cmp rax, rcx
jb 0x14008ba92
lea rax, [0x1401a7798]
cmp qword [reloc.WS2_32.dll_ntohs], 0xf
cmova rax, qword [0x1401a7798]
mov qword [rsp + 0x30], rdx
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], rcx
lea r9, [rsp + 0x90]
lea r8, [0x1401a7798]
movzx edx, byte [rsp + 0x40]
lea rcx, [rsp + 0x520]
call fcn.1400b4ac0
or r12d, 1
mov dword [rsp + 0x50], r12d
lea rdx, [rsp + 0x520]
lea rcx, [rsp + 0x500]
call fcn.140089c80
nop
cmp qword [rsp + 0x510], 0
jne 0x14008a6b2
lea rcx, [rsp + 0x100]
call fcn.14007d6e0
mov rax, qword [rsp + 0x100]
cmp rax, rbx
je 0x14008a682
mov ecx, 1
cmovl ecx, r13d
test cl, cl
jns 0x14008a682
lea rcx, [rax + rsi]
mov qword [rsp + 0x48], rcx
jmp 0x14008a687
mov qword [rsp + 0x48], rdi
lea rcx, [rsp + 0x48]
call fcn.1400b8170
nop
lea rcx, [rsp + 0x500]
call fcn.140046ba0
nop
lea rcx, [rsp + 0x520]
call fcn.140046ba0
jmp 0x14008a3b0
mov byte [rsp + 0x3c8], 0
xor edx, edx
lea rcx, [rsp + 0x3d0]
call fcn.1400af4f0
nop
mov qword [rsp + 0xc8], r14
lea r8, [rsp + 0x90]
lea rdx, [rsp + 0x500]
lea rcx, [rsp + 0x108]
call fcn.1400b1160
movzx edx, byte [rsp + 0x3c8]
movzx edi, byte [rax]
mov byte [rsp + 0x40], dil
mov byte [rsp + 0x3c8], dil
mov byte [rax], dl
lea rcx, [rax + 8]
mov rax, qword [rsp + 0x3d0]
mov r13, qword [rcx]
mov qword [rsp + 0x3d0], r13
mov qword [rcx], rax
call fcn.1400afac0
nop
cmp dil, 1
jne 0x14008a7f2
mov rsi, qword [r13]
mov rbx, qword [rsi + 8]
cmp byte [rbx + 0x19], 0
jne 0x14008a79d
lea rcx, [rbx + 0x20]
mov rdi, qword [rcx + 0x10]
cmp qword [rcx + 0x18], 0xf
jbe 0x14008a753
mov rcx, qword [rcx]
mov r8, rdi
cmp rdi, 4
cmova r8, r15
lea rdx, str.Data
call sub.VCRUNTIME140.dll_memcmp
test eax, eax
je 0x14008a774
jns 0x14008a780
mov al, 0xff
jmp 0x14008a782
cmp rdi, 4
jae 0x14008a77e
mov al, 0xff
jmp 0x14008a782
jbe 0x14008a78c
mov al, 1
test al, al
jns 0x14008a78c
mov rbx, qword [rbx + 0x10]
jmp 0x14008a792
mov rsi, rbx
mov rbx, qword [rbx]
cmp byte [rbx + 0x19], 0
je 0x14008a741
movzx edi, byte [rsp + 0x40]
cmp byte [rsi + 0x19], 0
jne 0x14008a7f2
lea rcx, [rsi + 0x20]
mov rbx, qword [rcx + 0x10]
cmp qword [rcx + 0x18], 0xf
jbe 0x14008a7b5
mov rcx, qword [rcx]
mov r8, rbx
cmp rbx, 4
cmova r8, r15
lea rdx, str.Data
call sub.VCRUNTIME140.dll_memcmp
test eax, eax
je 0x14008a7d6
jns 0x14008a7e2
mov al, 0xff
jmp 0x14008a7e4
cmp rbx, 4
jae 0x14008a7e0
mov al, 0xff
jmp 0x14008a7e4
jbe 0x14008a7e8
mov al, 1
test al, al
jg 0x14008a7f2
cmp rsi, qword [r13]
je 0x14008a7f2
mov al, 1
jmp 0x14008a7f4
xor al, al
test al, al
je 0x14008b9f2
xorps xmm0, xmm0
movups xmmword [rsp + 0x400], xmm0
mov qword [rsp + 0x410], r14
mov qword [rsp + 0x418], r14
mov r8, r15
lea rdx, str.Data
lea rcx, [rsp + 0x400]
call fcn.140049ac0
lea rax, [rsp + 0x400]
mov qword [rsp + 0x48], rax
test dil, dil
jne 0x14008a85f
mov al, 1
mov byte [rsp + 0x40], al
mov byte [rsp + 0x3c8], al
call fcn.1400b3420
mov r13, rax
mov qword [rsp + 0x3d0], rax
jmp 0x14008a869
cmp dil, 1
jne 0x14008bd1d
lea r8, [rsp + 0x400]
lea rdx, [rsp + 0x118]
mov rcx, r13
call fcn.1400bdfa0
mov rbx, qword [rsp + 0x118]
lea rcx, [rsp + 0x400]
call fcn.140046ba0
cmp byte [rbx + 0x40], 1
jne 0x14008b9f2
mov rax, qword [rbx + 0x48]
mov r15, qword [rax]
mov rbx, qword [r15 + 8]
mov rsi, r15
cmp byte [rbx + 0x19], 0
jne 0x14008a91c
nop dword [rax]
nop dword [rax + rax]
lea rcx, [rbx + 0x20]
mov rdi, qword [rcx + 0x10]
cmp qword [rcx + 0x18], 0xf
jbe 0x14008a8d2
mov rcx, qword [rcx]
mov r8, rdi
cmp rdi, 7
mov eax, 7
cmova r8, rax
lea rdx, str.players
call sub.VCRUNTIME140.dll_memcmp
test eax, eax
je 0x14008a8f8
jns 0x14008a904
mov al, 0xff
jmp 0x14008a906
cmp rdi, 7
jae 0x14008a902
mov al, 0xff
jmp 0x14008a906
jbe 0x14008a910
mov al, 1
test al, al
jns 0x14008a910
mov rbx, qword [rbx + 0x10]
jmp 0x14008a916
mov rsi, rbx
mov rbx, qword [rbx]
cmp byte [rbx + 0x19], 0
je 0x14008a8c0
cmp byte [rsi + 0x19], 0
jne 0x14008b9ec
lea rcx, [rsi + 0x20]
mov rbx, qword [rcx + 0x10]
cmp qword [rcx + 0x18], 0xf
jbe 0x14008a938
mov rcx, qword [rcx]
mov r8, rbx
cmp rbx, 7
mov eax, 7
cmova r8, rax
lea rdx, str.players
call sub.VCRUNTIME140.dll_memcmp
test eax, eax
je 0x14008a95e
jns 0x14008a96a
mov al, 0xff
jmp 0x14008a96c
cmp rbx, 7
jae 0x14008a968
mov al, 0xff
jmp 0x14008a96c
jbe 0x14008a974
mov al, 1
test al, al
jg 0x14008b9ec
cmp rsi, r15
je 0x14008b9ec
xorps xmm0, xmm0
movups xmmword [rsp + 0x420], xmm0
movups xmmword [rsp + 0x430], xmm0
movups xmmword [rsp + 0x440], xmm0
movups xmmword [rsp + 0x450], xmm0
mov dword [rsp + 0x420], 0
mov qword [rsp + 0x428], r14
mov qword [rsp + 0x430], r14
mov ecx, 0x80
call fcn.140126ae4
mov qword [rax], rax
mov qword [rax + 8], rax
mov qword [rsp + 0x428], rax
mov qword [rsp + 0x438], r14
xorps xmm0, xmm0
movdqu xmmword [rsp + 0x440], xmm0
mov esi, 7
mov qword [rsp + 0x450], rsi
mov qword [rsp + 0x458], 8
mov dword [rsp + 0x420], 0x3f800000
mov r8, rax
lea edx, [rsi + 9]
lea rcx, [rsp + 0x438]
call fcn.140046cf0
nop
xorps xmm0, xmm0
movups xmmword [rsp + 0x3d8], xmm0
mov qword [rsp + 0x3e8], r14
mov qword [rsp + 0x3f0], r14
mov r15d, 4
mov r8d, r15d
lea rdx, str.Data
lea rcx, [rsp + 0x3d8]
call fcn.140049ac0
lea rax, [rsp + 0x3d8]
mov qword [rsp + 0x48], rax
lea r8, [rsp + 0x3d8]
lea rdx, [rsp + 0x128]
mov rcx, r13
call fcn.1400bdfa0
mov rbx, qword [rsp + 0x128]
lea rcx, [rsp + 0x3d8]
call fcn.140046ba0
xorps xmm0, xmm0
movups xmmword [rsp + 0x60], xmm0
mov qword [rsp + 0x70], r14
mov qword [rsp + 0x78], r14
mov r8d, esi
lea rdx, str.players
lea rcx, [rsp + 0x60]
call fcn.140049ac0
lea rax, [rsp + 0x60]
mov qword [rsp + 0x48], rax
cmp byte [rbx + 0x40], 0
jne 0x14008aad5
mov byte [rbx + 0x40], 1
call fcn.1400b3420
mov qword [rbx + 0x48], rax
cmp byte [rbx + 0x40], 1
jne 0x14008bcd2
lea r8, [rsp + 0x60]
lea rdx, [rsp + 0x138]
mov rcx, qword [rbx + 0x48]
call fcn.1400bdfa0
mov r13, qword [rsp + 0x138]
add r13, 0x40
lea rcx, [rsp + 0x60]
call fcn.140046ba0
mov qword [rsp + 0x460], r13
xorps xmm0, xmm0
movdqu xmmword [rsp + 0x468], xmm0
xorps xmm1, xmm1
movdqu xmmword [rsp + 0x470], xmm1
movabs rsi, 0x8000000000000000
mov rax, rsi
mov qword [rsp + 0x478], rax
movzx r8d, byte [r13]
cmp r8d, 9
ja case.default.0x14008ab5f
movsxd rcx, r8d
lea rdi, [0x140000000]
mov edx, dword [rdi + rcx*4 + 0x8bd6c]
add rdx, rdi
jmp rdx
lea rdi, [0x140000000]
cmp r8d, 9
ja case.0x14008ab79.3
mov edx, dword [rdi + r8*4 + 0x8bd94]
add rdx, rdi
jmp rdx
mov rcx, qword [r13 + 8]
mov rdx, qword [rcx]
mov rcx, qword [rdx]
mov qword [rsp + 0x468], rcx
jmp 0x14008abb2
mov rcx, qword [r13 + 8]
mov rdx, qword [rcx]
mov qword [rsp + 0x470], rdx
jmp 0x14008abb2
mov eax, 1
jmp 0x14008abaa
mov rax, r14
mov qword [rsp + 0x478], rax
mov r9, r13
mov qword [rsp + 0x400], r13
movdqu xmmword [rsp + 0x408], xmm0
movdqu xmmword [rsp + 0x410], xmm1
mov rbx, rsi
mov qword [rsp + 0x418], rbx
movzx r8d, byte [r13]
cmp r8d, 9
ja case.0x14008abf2.0
movsxd rcx, r8d
mov edx, dword [rdi + rcx*4 + 0x8bdbc]
add rdx, rdi
jmp rdx
mov qword [rsp + 0x418], rbx
cmp r8d, 9
ja case.0x14008ac0d.0
mov edx, dword [rdi + r8*4 + 0x8bde4]
add rdx, rdi
jmp rdx
mov rcx, qword [r13 + 8]
mov rdx, qword [rcx]
mov qword [rsp + 0x408], rdx
jmp 0x14008ac40
mov rcx, qword [r13 + 8]
mov rdx, qword [rcx + 8]
mov qword [rsp + 0x410], rdx
jmp 0x14008ac40
mov ebx, 1
mov qword [rsp + 0x418], rbx
nop
cmp r13, r9
jne 0x14008ba98
movzx r8d, byte [r13]
cmp r8d, 9
ja case.0x14008ac61.0
movsxd rcx, r8d
mov edx, dword [rdi + rcx*4 + 0x8be0c]
add rdx, rdi
jmp rdx
mov rcx, qword [rsp + 0x408]
cmp qword [rsp + 0x468], rcx
jmp 0x14008ac8a
mov rcx, qword [rsp + 0x410]
cmp qword [rsp + 0x470], rcx
jmp 0x14008ac8a
cmp rax, rbx
setne cl
test cl, cl
je 0x14008b858
cmp r8d, 9
ja case.0x14008aca6.3
mov edx, dword [rdi + r8*4 + 0x8be34]
add rdx, rdi
jmp rdx
mov r13, qword [rsp + 0x468]
add r13, 0x40
jmp 0x14008acc9
mov r13, qword [rsp + 0x470]
jmp 0x14008acc9
test rax, rax
jne 0x14008bc8e
cmp byte [r13], 1
jne 0x14008b7fc
mov rax, qword [r13 + 8]
mov r15, qword [rax]
mov rdi, qword [r15 + 8]
cmp byte [rdi + 0x19], 0
jne 0x14008ad4c
nop word [rax + rax]
lea rcx, [rdi + 0x20]
mov rsi, qword [rcx + 0x10]
cmp qword [rcx + 0x18], 0xf
jbe 0x14008ad02
mov rcx, qword [rcx]
mov r8, rsi
cmp rsi, 2
mov eax, 2
cmova r8, rax
lea rdx, [0x140147f60]
call sub.VCRUNTIME140.dll_memcmp
test eax, eax
je 0x14008ad28
jns 0x14008ad34
mov al, 0xff
jmp 0x14008ad36
cmp rsi, 2
jae 0x14008ad32
mov al, 0xff
jmp 0x14008ad36
jbe 0x14008ad40
mov al, 1
test al, al
jns 0x14008ad40
mov rdi, qword [rdi + 0x10]
jmp 0x14008ad46
mov r15, rdi
mov rdi, qword [rdi]
cmp byte [rdi + 0x19], 0
je 0x14008acf0
cmp byte [r15 + 0x19], 0
jne 0x14008b7f6
lea rcx, [r15 + 0x20]
mov rdi, qword [rcx + 0x10]
cmp qword [rcx + 0x18], 0xf
jbe 0x14008ad69
mov rcx, qword [rcx]
mov r8, rdi
cmp rdi, 2
mov eax, 2
cmova r8, rax
lea rdx, [0x140147f60]
call sub.VCRUNTIME140.dll_memcmp
test eax, eax
je 0x14008ad8f
jns 0x14008ad9b
mov al, 0xff
jmp 0x14008ad9d
cmp rdi, 2
jae 0x14008ad99
mov al, 0xff
jmp 0x14008ad9d
jbe 0x14008ada5
mov al, 1
test al, al
jg 0x14008b7f6
mov rax, qword [r13 + 8]
cmp r15, qword [rax]
je 0x14008b7f6
mov r15, qword [rax]
mov rdi, qword [r15 + 8]
cmp byte [rdi + 0x19], 0
jne 0x14008ae1c
nop
lea rcx, [rdi + 0x20]
mov rsi, qword [rcx + 0x10]
cmp qword [rcx + 0x18], 0xf
jbe 0x14008add2
mov rcx, qword [rcx]
mov r8, rsi
cmp rsi, 4
mov eax, 4
cmova r8, rax
lea rdx, [0x140147f64]
call sub.VCRUNTIME140.dll_memcmp
test eax, eax
je 0x14008adf8
jns 0x14008ae04
mov al, 0xff
jmp 0x14008ae06
cmp rsi, 4
jae 0x14008ae02
mov al, 0xff
jmp 0x14008ae06
jbe 0x14008ae10
mov al, 1
test al, al
jns 0x14008ae10
mov rdi, qword [rdi + 0x10]
jmp 0x14008ae16
mov r15, rdi
mov rdi, qword [rdi]
cmp byte [rdi + 0x19], 0
je 0x14008adc0
cmp byte [r15 + 0x19], 0
jne 0x14008b7f6
lea rcx, [r15 + 0x20]
mov rdi, qword [rcx + 0x10]
cmp qword [rcx + 0x18], 0xf
jbe 0x14008ae39
mov rcx, qword [rcx]
mov r8, rdi
cmp rdi, 4
mov esi, 4
cmova r8, rsi
lea rdx, [0x140147f64]
call sub.VCRUNTIME140.dll_memcmp
test eax, eax
je 0x14008ae5f
jns 0x14008ae6a
mov al, 0xff
jmp 0x14008ae6c
cmp rdi, rsi
jae 0x14008ae68
mov al, 0xff
jmp 0x14008ae6c
jbe 0x14008ae74
mov al, 1
test al, al
jg 0x14008b7f1
mov rax, qword [r13 + 8]
cmp r15, qword [rax]
je 0x14008b7f1
mov r15, qword [rax]
mov rdi, qword [r15 + 8]
cmp byte [rdi + 0x19], 0
jne 0x14008aef1
nop
lea rcx, [rdi + 0x20]
mov rsi, qword [rcx + 0x10]
cmp qword [rcx + 0x18], 0xf
jbe 0x14008aea2
mov rcx, qword [rcx]
mov r8, rsi
cmp rsi, 4
mov eax, 4
cmova r8, rax
lea rdx, str.ping
call sub.VCRUNTIME140.dll_memcmp
test eax, eax
je 0x14008aec8
jns 0x14008aed4
mov al, 0xff
jmp 0x14008aed6
cmp rsi, 4
jae 0x14008aed2
mov al, 0xff
jmp 0x14008aed6
jbe 0x14008aee0
mov al, 1
test al, al
jns 0x14008aee0
mov rdi, qword [rdi + 0x10]
jmp 0x14008aee6
mov r15, rdi
mov rdi, qword [rdi]
cmp byte [rdi + 0x19], 0
je 0x14008ae90
mov esi, 4
cmp byte [r15 + 0x19], 0
jne 0x14008b7f6
lea rcx, [r15 + 0x20]
mov rdi, qword [rcx + 0x10]
cmp qword [rcx + 0x18], 0xf
jbe 0x14008af0e
mov rcx, qword [rcx]
mov r8, rdi
cmp rdi, 4
cmova r8, rsi
lea rdx, str.ping
call sub.VCRUNTIME140.dll_memcmp
test eax, eax
je 0x14008af2f
jns 0x14008af3b
mov al, 0xff
jmp 0x14008af3d
cmp rdi, 4
jae 0x14008af39
mov al, 0xff
jmp 0x14008af3d
jbe 0x14008af45
mov al, 1
test al, al
jg 0x14008b7f6
mov rax, qword [r13 + 8]
cmp r15, qword [rax]
je 0x14008b7f6
mov r15, qword [rax]
mov rdi, qword [r15 + 8]
cmp byte [rdi + 0x19], 0
jne 0x14008afbc
nop
lea rcx, [rdi + 0x20]
mov rsi, qword [rcx + 0x10]
cmp qword [rcx + 0x18], 0xf
jbe 0x14008af72
mov rcx, qword [rcx]
mov r8, rsi
cmp rsi, 0xb
mov eax, listen
cmova r8, rax
lea rdx, str.identifiers
call sub.VCRUNTIME140.dll_memcmp
test eax, eax
je 0x14008af98
jns 0x14008afa4
mov al, 0xff
jmp 0x14008afa6
cmp rsi, 0xb
jae 0x14008afa2
mov al, 0xff
jmp 0x14008afa6
jbe 0x14008afb0
mov al, 1
test al, al
jns 0x14008afb0
mov rdi, qword [rdi + 0x10]
jmp 0x14008afb6
mov r15, rdi
mov rdi, qword [rdi]
cmp byte [rdi + 0x19], 0
je 0x14008af60
cmp byte [r15 + 0x19], 0
jne 0x14008b7f6
lea rcx, [r15 + 0x20]
mov rdi, qword [rcx + 0x10]
cmp qword [rcx + 0x18], 0xf
jbe 0x14008afd9
mov rcx, qword [rcx]
mov r8, rdi
cmp rdi, 0xb
mov eax, listen
cmova r8, rax
lea rdx, str.identifiers
call sub.VCRUNTIME140.dll_memcmp
test eax, eax
je 0x14008afff
jns 0x14008b00b
mov al, 0xff
jmp 0x14008b00d
cmp rdi, 0xb
jae 0x14008b009
mov al, 0xff
jmp 0x14008b00d
jbe 0x14008b015
mov al, 1
test al, al
jg 0x14008b7f6
mov rax, qword [r13 + 8]
cmp r15, qword [rax]
je 0x14008b7f6
mov rsi, rax
mov qword [rsp + 0x48], rax
mov r15, qword [rax]
mov rdi, qword [r15 + 8]
cmp byte [rdi + 0x19], 0
jne 0x14008b0a1
nop word [rax + rax]
lea rcx, [rdi + 0x20]
mov rsi, qword [rcx + 0x10]
cmp qword [rcx + 0x18], 0xf
jbe 0x14008b052
mov rcx, qword [rcx]
mov r8, rsi
cmp rsi, 2
mov eax, 2
cmova r8, rax
lea rdx, [0x140147f60]
call sub.VCRUNTIME140.dll_memcmp
test eax, eax
je 0x14008b078
jns 0x14008b084
mov al, 0xff
jmp 0x14008b086
cmp rsi, 2
jae 0x14008b082
mov al, 0xff
jmp 0x14008b086
jbe 0x14008b090
mov al, 1
test al, al
jns 0x14008b090
mov rdi, qword [rdi + 0x10]
jmp 0x14008b096
mov r15, rdi
mov rdi, qword [rdi]
cmp byte [rdi + 0x19], 0
je 0x14008b040
mov rsi, qword [rsp + 0x48]
cmp byte [r15 + 0x19], 0
jne 0x14008b0f2
lea rcx, [r15 + 0x20]
mov rdi, qword [rcx + 0x10]
cmp qword [rcx + 0x18], 0xf
jbe 0x14008b0ba
mov rcx, qword [rcx]
mov r8, rdi
cmp rdi, 2
mov eax, 2
cmova r8, rax
lea rdx, [0x140147f60]
call sub.VCRUNTIME140.dll_memcmp
test eax, eax
je 0x14008b0e0
jns 0x14008b0ec
mov al, 0xff
jmp 0x14008b0ee
cmp rdi, 2
jae 0x14008b0ea
mov al, 0xff
jmp 0x14008b0ee
jbe 0x14008b0f5
mov al, 1
test al, al
jle 0x14008b0f5
mov r15, qword [rsi]
mov rax, qword [r13 + 8]
cmp r15, qword [rax]
je 0x14008bb20
lea rcx, [r15 + 0x40]
call fcn.1400b1910
mov dword [rsp + 0x3f8], eax
lea rdx, [0x140147f64]
mov rcx, r13
call fcn.1400b1a20
lea rdx, [rsp + 0x4c0]
mov rcx, rax
call fcn.1400b1280
or r12d, 0x40
mov dword [rsp + 0x50], r12d
lea rdx, str.ping
mov rcx, r13
call fcn.1400b1a20
mov rcx, rax
call fcn.1400b1910
mov dword [rsp + 0x54], eax
mov rcx, r13
call fcn.1400b1760
cmp byte [rax], 2
je 0x14008b182
lea rcx, [rsp + 0x4c0]
call fcn.140046ba0
nop
lea rdi, [0x140000000]
mov r15d, 4
jmp 0x14008b82e
lea rdx, [0x14013d0ff]
lea rcx, [rsp + 0x3d8]
call fcn.140046b60
nop
mov rcx, r13
call fcn.1400b1760
mov r11, rax
lea rcx, [rsp + 0x4e0]
call fcn.14008bee0
lea rdx, [rsp + 0x4e0]
mov rcx, rax
call fcn.1400adf20
lea rcx, [rsp + 0x4a0]
call fcn.14008bee0
lea rdx, [rsp + 0x4a0]
mov rcx, r11
call fcn.1400ade90
mov rdi, qword [rsp + 0x4f8]
mov qword [rsp + 0x48], rdi
mov r9, qword [rsp + 0x4f0]
mov rsi, qword [rsp + 0x4e8]
mov r8, qword [rsp + 0x4e0]
lea r10, [0x140000000]
mov qword [rsp + 0x80], r9
cmp r8, qword [rsp + 0x4a0]
jne 0x14008bb6b
movzx edx, byte [r8]
cmp edx, 9
ja case.0x14008b235.0
movsxd rax, edx
mov ecx, dword [r10 + rax*4 + 0x8be5c]
add rcx, r10
jmp rcx
cmp rsi, qword [rsp + 0x4a8]
jmp 0x14008b253
cmp r9, qword [rsp + 0x4b0]
jmp 0x14008b253
cmp rdi, qword [rsp + 0x4b8]
setne al
test al, al
je 0x14008b447
cmp edx, 9
ja case.0x14008b26e.3
mov ecx, dword [r10 + rdx*4 + 0x8be84]
add rcx, r10
jmp rcx
lea rdx, [rsi + 0x40]
jmp 0x14008b287
mov rdx, r9
jmp 0x14008b287
test rdi, rdi
jne 0x14008bc4a
mov rdx, r8
xorps xmm0, xmm0
movups xmmword [rsp + 0x480], xmm0
mov r15, r14
mov qword [rsp + 0x490], r14
mov r13d, reloc.WS2_32.dll_ntohs
mov qword [rsp + 0x498], r13
mov byte [rsp + 0x480], 0
or r12d, 0x10
mov dword [rsp + 0x50], r12d
cmp byte [rdx], 3
jne 0x14008bbf3
mov rdx, qword [rdx + 8]
lea rax, [rsp + 0x480]
cmp rax, rdx
je 0x14008b300
mov r8, qword [rdx + 0x10]
cmp qword [rdx + 0x18], r13
jbe 0x14008b2e3
mov rdx, qword [rdx]
lea rcx, [rsp + 0x480]
call fcn.1400af9b0
mov r13, qword [rsp + 0x498]
mov r15, qword [rsp + 0x490]
and r12d, 0xffffffef
or r12d, 8
mov dword [rsp + 0x50], r12d
lea r14, [rsp + 0x480]
cmp r13, 0xf
cmova r14, qword [rsp + 0x480]
cmp r15, 8
jb 0x14008b593
mov rdi, r14
nop
cmp byte [rdi], 0x64
jne 0x14008b581
mov r8d, 8
lea rdx, str.discord:
mov rcx, rdi
call sub.VCRUNTIME140.dll_memcmp
test eax, eax
jne 0x14008b581
cmp rdi, r14
jne 0x14008b58e
xorps xmm0, xmm0
movups xmmword [rsp + 0x60], xmm0
xor r14d, r14d
mov qword [rsp + 0x70], r14
mov qword [rsp + 0x78], r14
cmp r15, 8
jb 0x14008bc44
lea rax, [r15 - 8]
mov r8, 0xffffffffffffffff
cmp rax, r8
cmovb r8, rax
lea rdx, [rsp + 0x480]
cmp r13, 0xf
cmova rdx, qword [rsp + 0x480]
add rdx, 8
lea rcx, [rsp + 0x60]
call fcn.140049ac0
or r12d, 0x20
mov dword [rsp + 0x50], r12d
mov rdx, qword [rsp + 0x3f0]
cmp rdx, 0xf
jbe 0x14008b402
inc rdx
mov rcx, qword [rsp + 0x3d8]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14008b3fd
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x14008b3fd
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.1401266ac
movups xmm0, xmmword [rsp + 0x60]
movups xmmword [rsp + 0x3d8], xmm0
movups xmm1, xmmword [rsp + 0x70]
movups xmmword [rsp + 0x3e8], xmm1
mov qword [rsp + 0x70], r14
mov qword [rsp + 0x78], reloc.WS2_32.dll_ntohs
mov byte [rsp + 0x60], r14b
lea rcx, [rsp + 0x60]
call fcn.140046ba0
nop
lea rcx, [rsp + 0x480]
call fcn.140046ba0
lea rdx, [rsp + 0x3d8]
mov r15, qword [rsp + 0x3d8]
mov r13, qword [rsp + 0x3f0]
cmp r13, 0xf
cmova rdx, r15
movabs r9, 0xcbf29ce484222325
mov rcx, r14
mov rdi, qword [rsp + 0x3e8]
test rdi, rdi
je 0x14008b4a3
movabs r8, 0x100000001b3
nop dword [rax + rax]
movzx eax, byte [rcx + rdx]
xor r9, rax
imul r9, r8
inc rcx
cmp rcx, rdi
jb 0x14008b490
lea r8, [rsp + 0x3d8]
lea rdx, [rsp + 0x158]
call fcn.1400b8bb0
mov rcx, qword [rax + 8]
mov rsi, qword [0x1401abbc8]
test rcx, rcx
cmovne rsi, rcx
cmp rsi, qword [0x1401abbc8]
je 0x14008b65b
lea rdx, [rsp + 0x4c0]
lea rcx, [rsp + 0x90]
call fcn.1400aee70
nop
lea rdx, [rsp + 0x3d8]
lea rcx, [rsp + 0xb0]
call fcn.1400aee70
nop
lea rdx, [rsi + 0x30]
lea rcx, [rsp + 0xd0]
call fcn.1400aee70
mov eax, dword [rsp + 0x54]
mov dword [rsp + 0xf0], eax
lea r8, [rsp + 0x3f8]
lea rdx, [rsp + 0x168]
lea rcx, [rsp + 0x420]
call fcn.1400b2da0
mov rdi, qword [rax]
lea rdx, [rsp + 0x90]
lea rcx, [rdi + 0x18]
call fcn.1400aeca0
lea rcx, [rdi + 0x38]
lea rdx, [rsp + 0xb0]
call fcn.1400aeca0
lea rcx, [rdi + 0x58]
lea rdx, [rsp + 0xd0]
call fcn.1400aeca0
mov eax, dword [rsp + 0xf0]
mov dword [rdi + 0x78], eax
jmp 0x14008b7ab
cmp rdi, r14
je 0x14008b58e
dec rdi
jmp 0x14008b330
mov rdi, qword [rsp + 0x48]
lea rcx, [rsp + 0x480]
call fcn.140046ba0
mov r8, qword [rsp + 0x4e0]
movzx eax, byte [r8]
lea r10, [0x140000000]
cmp eax, 9
ja case.0x14008b5c7.0
mov ecx, dword [r10 + rax*4 + 0x8beac]
add rcx, r10
jmp rcx
mov rax, rsi
mov rsi, qword [rsi + 0x10]
cmp byte [rsi + 0x19], 0
je 0x14008b603
mov rsi, qword [rax + 8]
cmp byte [rsi + 0x19], 0
jne 0x14008b61f
cmp rax, qword [rsi + 0x10]
jne 0x14008b61f
mov rax, rsi
mov rsi, qword [rsi + 8]
cmp byte [rsi + 0x19], 0
je 0x14008b5e0
xor r14d, r14d
mov r9, qword [rsp + 0x80]
jmp 0x14008b210
mov rcx, qword [rsi]
cmp byte [rcx + 0x19], 0
jne 0x14008b61f
nop dword [rax]
mov rsi, rcx
mov rax, qword [rcx]
mov rcx, rax
cmp byte [rax + 0x19], 0
je 0x14008b610
xor r14d, r14d
mov r9, qword [rsp + 0x80]
jmp 0x14008b210
mov r9, qword [rsp + 0x80]
add r9, 0x10
xor r14d, r14d
jmp 0x14008b208
inc rdi
mov qword [rsp + 0x48], rdi
xor r14d, r14d
mov r9, qword [rsp + 0x80]
jmp 0x14008b210
lea rdx, [rsp + 0x3d8]
cmp r13, 0xf
cmova rdx, r15
movabs r9, 0xcbf29ce484222325
mov rcx, r14
test rdi, rdi
je 0x14008b69d
nop dword [rax]
movzx eax, byte [rdx + rcx]
xor r9, rax
movabs rax, 0x100000001b3
imul r9, rax
inc rcx
cmp rcx, rdi
jb 0x14008b680
lea r8, [rsp + 0x3d8]
lea rdx, [rsp + 0x178]
call fcn.1400b8ad0
mov rcx, qword [rax + 8]
test rcx, rcx
je 0x14008b6c4
cmp rcx, qword [0x1401abc58]
jne 0x14008b702
lea r9, [rsp + 0x3d8]
lea rcx, [rsp + 0x148]
call fcn.1400b1b30
mov rdi, rax
lea rdx, [rsp + 0x3d8]
call fcn.1400adcf0
mov rdx, rdi
mov rcx, rax
call fcn.14008bf20
nop
lea rcx, [rsp + 0x148]
call fcn.1400843f0
lea rdx, [rsp + 0x4c0]
lea rcx, [rsp + 0x90]
call fcn.1400aee70
nop
lea rdx, [rsp + 0x3d8]
lea rcx, [rsp + 0xb0]
call fcn.1400aee70
nop
lea rdx, [rsp + 0x3d8]
lea rcx, [rsp + 0xd0]
call fcn.1400aee70
mov eax, dword [rsp + 0x54]
mov dword [rsp + 0xf0], eax
lea r8, [rsp + 0x3f8]
lea rdx, [rsp + 0x188]
lea rcx, [rsp + 0x420]
call fcn.1400b2da0
mov rdi, qword [rax]
lea rdx, [rsp + 0x90]
lea rcx, [rdi + 0x18]
call fcn.1400aeca0
lea rcx, [rdi + 0x38]
lea rdx, [rsp + 0xb0]
call fcn.1400aeca0
lea rcx, [rdi + 0x58]
lea rdx, [rsp + 0xd0]
call fcn.1400aeca0
mov eax, dword [rsp + 0xf0]
mov dword [rdi + 0x78], eax
lea rcx, [rsp + 0xd0]
call fcn.140046ba0
lea rcx, [rsp + 0xb0]
call fcn.140046ba0
lea rcx, [rsp + 0x90]
call fcn.140046ba0
nop
lea rcx, [rsp + 0x3d8]
call fcn.140046ba0
nop
lea rcx, [rsp + 0x4c0]
call fcn.140046ba0
nop
jmp 0x14008b821
mov r15, rsi
jmp 0x14008b7fc
mov r15d, 4
lea rdi, [0x140000000]
jmp 0x14008b82e
lea rdi, [0x140000000]
mov r15d, 4
lea rcx, [rsp + 0x460]
call fcn.1400addd0
mov rax, qword [rsp + 0x478]
mov r13, qword [rsp + 0x460]
mov r9, qword [rsp + 0x400]
jmp 0x14008ac40
cmp qword [rsp + 0x430], 0
je 0x14008b952
lea rcx, [0x1401abae0]
call fcn.1400b0390
mov eax, dword [rsp + 0x420]
mov dword [0x1401abae0], eax
mov rcx, qword [0x1401abae8]
mov rax, qword [rsp + 0x428]
mov qword [0x1401abae8], rax
mov qword [rsp + 0x428], rcx
mov rcx, qword [0x1401abaf0]
mov rax, qword [rsp + 0x430]
mov qword [0x1401abaf0], rax
mov qword [rsp + 0x430], rcx
mov rcx, qword [0x1401abaf8]
mov rax, qword [rsp + 0x438]
mov qword [0x1401abaf8], rax
mov qword [rsp + 0x438], rcx
mov rcx, qword [0x1401abb00]
mov rax, qword [rsp + 0x440]
mov qword [0x1401abb00], rax
mov qword [rsp + 0x440], rcx
mov rcx, qword [0x1401abb08]
mov rax, qword [rsp + 0x448]
mov qword [0x1401abb08], rax
mov qword [rsp + 0x448], rcx
mov rcx, qword [0x1401abb10]
mov rax, qword [rsp + 0x450]
mov qword [0x1401abb10], rax
mov qword [rsp + 0x450], rcx
mov rcx, qword [0x1401abb18]
mov rax, qword [rsp + 0x458]
mov qword [0x1401abb18], rax
mov qword [rsp + 0x458], rcx
lea rcx, [rsp + 0x58]
call fcn.14007d6e0
mov rax, qword [rsp + 0x58]
movabs rbx, 0x7ffffffb57e837ff
mov r13d, 0xff
cmp rax, rbx
je 0x14008b9a2
mov ecx, 1
cmovl ecx, r13d
test cl, cl
jns 0x14008b9a2
movabs rsi, 0x4a817c800
lea rcx, [rax + rsi]
mov qword [rsp + 0x48], rcx
movabs rdi, 0x7fffffffffffffff
jmp 0x14008b9bb
movabs rdi, 0x7fffffffffffffff
mov qword [rsp + 0x48], rdi
movabs rsi, 0x4a817c800
lea rcx, [rsp + 0x48]
call fcn.1400b8170
nop
lea rcx, [rsp + 0x420]
call fcn.14007e900
nop
movzx edx, byte [rsp + 0x40]
lea rcx, [rsp + 0x3d0]
call fcn.1400afac0
nop
jmp 0x14008a692
mov r15d, 4
movzx edx, byte [rsp + 0x40]
lea rcx, [rsp + 0x3d0]
call fcn.1400afac0
nop
lea rcx, [rsp + 0x500]
call fcn.140046ba0
nop
lea rcx, [rsp + 0x520]
call fcn.140046ba0
jmp 0x14008a387
mov rcx, qword [rsp + 0x550]
xor rcx, rsp
call fcn.1401263f0
lea r11, [rsp + 0x570]
mov rbx, qword [r11 + 0x20]
mov rsi, qword [r11 + 0x28]
mov rdi, qword [r11 + 0x30]
mov r12, qword [r11 + 0x38]
movaps xmm6, xmmword [r11 - 0x10]
mov rsp, r11
pop r15
pop r14
pop r13
ret
call fcn.140036790
nop
lea rdx, str.cannot_compare_iterators_of_different_containers
lea rcx, [rsp + 0x4c0]
call fcn.140046b60
nop
lea r8, [rsp + 0x4c0]
mov edx, 0xd4
lea rcx, [rsp + 0x198]
call fcn.1400b22b0
lea rdx, [0x14015bbc8]
lea rcx, [rsp + 0x198]
call sub.VCRUNTIME140.dll__CxxThrowException
nop
lea rdx, str.cannot_get_value
lea rcx, [rsp + 0x4c0]
call fcn.140046b60
nop
lea r8, [rsp + 0x4c0]
mov edx, Ordinal_217
lea rcx, [rsp + 0x1d0]
call fcn.1400b22b0
lea rdx, [0x14015bbc8]
lea rcx, [rsp + 0x1d0]
call sub.VCRUNTIME140.dll__CxxThrowException
nop
lea rdx, [0x140147f60]
lea rcx, [rsp + 0x4a0]
call fcn.140046b60
nop
mov r8, rax
lea rcx, [rsp + 0x4e0]
call fcn.1400b82c0
nop
mov r8, rax
lea rcx, [rsp + 0x208]
call fcn.1400b8370
lea rdx, [0x14015bb48]
lea rcx, [rsp + 0x208]
call sub.VCRUNTIME140.dll__CxxThrowException
nop
lea rdx, str.cannot_compare_iterators_of_different_containers
lea rcx, [rsp + 0x4a0]
call fcn.140046b60
nop
lea r8, [rsp + 0x4a0]
mov edx, 0xd4
lea rcx, [rsp + 0x240]
call fcn.1400b22b0
lea rdx, [0x14015bbc8]
lea rcx, [rsp + 0x240]
call sub.VCRUNTIME140.dll__CxxThrowException
nop
lea rdx, str.cannot_get_value
lea rcx, [rsp + 0x4a0]
call fcn.140046b60
nop
lea r8, [rsp + 0x4a0]
mov edx, Ordinal_217
lea rcx, [rsp + 0x278]
call fcn.1400b22b0
lea rdx, [0x14015bbc8]
lea rcx, [rsp + 0x278]
call sub.VCRUNTIME140.dll__CxxThrowException
nop
mov rcx, rdx
call fcn.1400aff30
mov qword [rsp + 0x48], rax
lea r8, [rsp + 0x48]
lea rdx, str.type_must_be_string__but_is
lea rcx, [rsp + 0x90]
call fcn.1400b80a0
nop
mov r8, rax
mov edx, 0x12e
lea rcx, [rsp + 0x2b0]
call fcn.1400b3610
lea rdx, [0x14015bba8]
lea rcx, [rsp + 0x2b0]
call sub.VCRUNTIME140.dll__CxxThrowException
nop
call fcn.1400b06b0
nop
lea rdx, str.cannot_get_value
lea rcx, [rsp + 0x4a0]
call fcn.140046b60
nop
lea r8, [rsp + 0x4a0]
mov edx, Ordinal_217
lea rcx, [rsp + 0x2e8]
call fcn.1400b22b0
lea rdx, [0x14015bbc8]
lea rcx, [rsp + 0x2e8]
call sub.VCRUNTIME140.dll__CxxThrowException
nop
lea rdx, str.cannot_get_value
lea rcx, [rsp + 0x4c0]
call fcn.140046b60
nop
lea r8, [rsp + 0x4c0]
mov edx, Ordinal_217
lea rcx, [rsp + 0x320]
call fcn.1400b22b0
lea rdx, [0x14015bbc8]
lea rcx, [rsp + 0x320]
call sub.VCRUNTIME140.dll__CxxThrowException
nop
lea rcx, [rbx + 0x40]
call fcn.1400aff30
mov qword [rsp + 0x58], rax
lea r8, [rsp + 0x58]
lea rcx, [rsp + 0x90]
call fcn.1400bba20
nop
mov r8, rax
mov edx, 0x131
lea rcx, [rsp + 0x358]
call fcn.1400b3610
lea rdx, [0x14015bba8]
lea rcx, [rsp + 0x358]
call sub.VCRUNTIME140.dll__CxxThrowException
nop
lea rcx, [rsp + 0x3c8]
call fcn.1400aff30
mov qword [rsp + 0x58], rax
lea r8, [rsp + 0x58]
lea rcx, [rsp + 0x90]
call fcn.1400bba20
nop
mov r8, rax
mov edx, 0x131
lea rcx, [rsp + 0x390]
call fcn.1400b3610
lea rdx, [0x14015bba8]
lea rcx, [rsp + 0x390]
call sub.VCRUNTIME140.dll__CxxThrowException
int3