Function at 0x1400c9790
Capabilities:
Log keystrokes via polling

Disassembly:
mov rax, rsp
mov qword [rax + 0x10], rbx
mov qword [rax + 0x18], rsi
mov qword [rax + 0x20], rdi
push rbp
push r14
push r15
lea rbp, [rax - 0x468]
sub rsp, 0x550
movaps xmmword [rax - 0x28], xmm6
mov rax, qword [0x140129bc8]
xor rax, rsp
mov qword [rbp + 0x430], rax
mov rbx, rcx
xor r14d, r14d
mov esi, r14d
mov dword [rsp + 0x30], r14d
xor r8d, r8d
lea rdx, [rbp + 0x30]
mov rcx, qword [rcx]
call fcn.140012440
test eax, eax
jle 0x1400c9d66
lea r15, [0x140000000]
nop dword [rax]
nop word [rax + rax]
mov rax, qword [rbp + 0x38]
mov qword [rbx + 0x18], rax
mov ecx, dword [rbp + 0x30]
sub ecx, 1
je 0x1400c9d3f
sub ecx, 1
je 0x1400c9d13
cmp ecx, 1
je 0x1400c9833
lea rcx, str._SERVER_:_UNHANDLED_n
call fcn.140014f50
jmp 0x1400c9d4f
mov rdx, qword [rbp + 0x48]
cmp qword [rdx + 0x18], 3
jbe 0x1400c9a51
mov rax, qword [rdx + 0x10]
movzx edi, byte [rax]
mov ecx, edi
sub ecx, 2
je 0x1400c9a02
sub ecx, 1
je 0x1400c99b3
sub ecx, 1
je 0x1400c9879
sub ecx, 2
je 0x1400ca7a1
cmp ecx, 2
je 0x1400ca7a1
jmp 0x1400c9a54
mov rcx, rdx
call fcn.1400ccdc0
mov rdi, rax
mov rcx, qword [rbp + 0x48]
call fcn.1400cce10
test rdi, rdi
je case.0x1400c98bf.6
test rax, rax
je case.0x1400c98bf.6
movzx ecx, byte [rdi]
cmp ecx, 0x1a
ja case.0x1400c98bf.6
movzx ecx, byte [r15 + rcx + 0xca7f0]
mov edx, dword [r15 + rcx*4 + 0xca7d4]
add rdx, r15
jmp rdx
mov rdx, rdi
mov rcx, rax
call fcn.1400afd50
test al, al
je case.0x1400c98bf.6
mov rcx, qword [rbp + 0x48]
call fcn.140010ee0
jmp 0x1400ca7a1
cmp byte [0x14012d1da], 0
jne 0x1400c98d4
cmp byte [0x14012d23f], 0
je case.0x1400c98bf.6
mov ecx, reloc.WS2_32.dll_recv
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
jne 0x1400c98d4
jmp case.0x1400c98bf.6
mov cl, 1
movsxd rax, dword [rdi + 0x14]
cmp eax, 0x704
je 0x1400c992d
cmp eax, 0xf2
je 0x1400c992d
movzx ecx, cl
cmp eax, 0x1c14
cmovne ecx, r14d
cmp byte [0x14012d1cf], 0
je 0x1400c993e
test cl, cl
je 0x1400c9e07
mov rcx, qword [0x14012d9e0]
add rcx, 0x5de8
mov edx, eax
call fcn.140081460
test eax, eax
je 0x1400ca7a1
mov rcx, rdi
call fcn.1400bc440
test al, al
jne 0x1400c98d4
jmp case.0x1400c98bf.6
mov rcx, rdi
call fcn.140093360
test al, al
je case.0x1400c98bf.6
mov rcx, qword [rbp + 0x48]
call fcn.140010ee0
mov qword [rsp + 0x38], 0x64
lea rcx, [rsp + 0x38]
call fcn.140025030
jmp 0x1400ca7a1
cmp byte [0x14012e2e7], 0
jne 0x1400ca7a1
jmp case.0x1400c98bf.6
mov rcx, rdx
call fcn.1400cce60
xorps xmm0, xmm0
movups xmmword [rsp + 0x40], xmm0
mov qword [rsp + 0x50], r14
mov qword [rsp + 0x58], r14
mov r8, 0xffffffffffffffff
inc r8
cmp byte [rax + r8], 0
jne 0x1400c99d4
mov rdx, rax
lea rcx, [rsp + 0x40]
call fcn.1400174b0
lea rcx, [rsp + 0x40]
call fcn.14004a8f0
test al, al
jne 0x1400c98d4
jmp case.0x1400c98bf.6
mov rcx, rdx
call fcn.1400cce60
xorps xmm0, xmm0
movups xmmword [rsp + 0x40], xmm0
mov qword [rsp + 0x50], r14
mov qword [rsp + 0x58], r14
mov r8, 0xffffffffffffffff
inc r8
cmp byte [rax + r8], 0
jne 0x1400c9a23
mov rdx, rax
lea rcx, [rsp + 0x40]
call fcn.1400174b0
lea rcx, [rsp + 0x40]
call fcn.14004ae40
test al, al
jne 0x1400c98d4
jmp case.0x1400c98bf.6
mov edi, r14d
lea rax, [rsp + 0x40]
mov qword [rsp + 0x38], rax
xorps xmm0, xmm0
movups xmmword [rsp + 0x40], xmm0
mov qword [rsp + 0x50], r14
mov qword [rsp + 0x58], r14
mov r8d, 1
lea rdx, [0x1400f8dc8]
lea rcx, [rsp + 0x40]
call fcn.1400174b0
nop
xorps xmm0, xmm0
movups xmmword [rsp + 0x60], xmm0
mov qword [rsp + 0x70], r14
mov qword [rsp + 0x78], r14
mov r8d, 4
lea rdx, [0x1400f9854]
lea rcx, [rsp + 0x60]
call fcn.1400174b0
nop
lea r8, [rsp + 0x40]
lea rdx, [rsp + 0x60]
lea rcx, [rbp - 0x50]
call fcn.140027b50
nop
lea rax, [rbp - 0x50]
mov qword [rbp - 0x20], rax
lea rax, [rbp - 0x28]
mov qword [rbp - 0x18], rax
lea rdx, [rbp - 0x20]
lea rcx, [rbp - 0x10]
call fcn.140027930
or esi, 2
mov dword [rsp + 0x30], esi
lea r9, [fcn.14000b8a0]
mov edx, 0x28
lea r8d, [rdx - 0x27]
lea rcx, [rbp - 0x50]
call fcn.1400d2e5c
lea rdx, [rbp - 0x10]
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
call fcn.140016120
and esi, 0xfffffffd
mov dword [rsp + 0x30], esi
lea rcx, [rbp - 0x10]
call fcn.14002c700
nop
lea rax, [rsp + 0x60]
mov qword [rsp + 0x38], rax
xorps xmm0, xmm0
movups xmmword [rsp + 0x60], xmm0
mov qword [rsp + 0x70], r14
mov qword [rsp + 0x78], r14
mov r8d, 1
lea rdx, [0x1400f8dd4]
lea rcx, [rsp + 0x60]
call fcn.1400174b0
nop
xorps xmm0, xmm0
movups xmmword [rsp + 0x40], xmm0
mov qword [rsp + 0x50], r14
mov qword [rsp + 0x58], r14
mov r8d, 6
lea rdx, str.SERVER
lea rcx, [rsp + 0x40]
call fcn.1400174b0
nop
lea r8, [rsp + 0x60]
lea rdx, [rsp + 0x40]
lea rcx, [rbp - 0x50]
call fcn.140027b50
nop
lea rax, [rbp - 0x50]
mov qword [rbp], rax
lea rax, [rbp - 0x28]
mov qword [rbp + 8], rax
lea rdx, [rbp]
lea rcx, [rbp + 0x10]
call fcn.140027930
or esi, 1
mov dword [rsp + 0x30], esi
lea r9, [fcn.14000b8a0]
mov edx, 0x28
lea r8d, [rdx - 0x27]
lea rcx, [rbp - 0x50]
call fcn.1400d2e5c
lea rdx, [rbp + 0x10]
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
call fcn.140016120
and esi, 0xfffffffe
mov dword [rsp + 0x30], esi
lea rcx, [rbp + 0x10]
call fcn.14002c700
nop
lea rax, [rsp + 0x60]
mov qword [rsp + 0x38], rax
xorps xmm0, xmm0
movups xmmword [rsp + 0x60], xmm0
mov qword [rsp + 0x70], r14
mov qword [rsp + 0x78], r14
mov r8d, 1
lea rdx, [0x1400f8dc8]
lea rcx, [rsp + 0x60]
call fcn.1400174b0
nop
xorps xmm0, xmm0
movups xmmword [rsp + 0x40], xmm0
mov qword [rsp + 0x50], r14
mov qword [rsp + 0x58], r14
mov r8d, 2
lea rdx, [0x1400f9160]
lea rcx, [rsp + 0x40]
call fcn.1400174b0
nop
lea r8, [rsp + 0x60]
lea rdx, [rsp + 0x40]
lea rcx, [rbp - 0x50]
call fcn.140027b50
nop
lea rax, [rbp - 0x50]
mov qword [rbp + 0x20], rax
lea rax, [rbp - 0x28]
mov qword [rbp + 0x28], rax
lea rdx, [rbp + 0x20]
lea rcx, [rbp - 0x80]
call fcn.140027930
or esi, 4
mov dword [rsp + 0x30], esi
lea r9, [fcn.14000b8a0]
mov edx, 0x28
lea r8d, [rdx - 0x27]
lea rcx, [rbp - 0x50]
call fcn.1400d2e5c
lea rdx, [rbp - 0x80]
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
call fcn.140016120
and esi, 0xfffffffb
mov dword [rsp + 0x30], esi
lea rcx, [rbp - 0x80]
call fcn.14002c700
lea rdx, str.Got_unknown_packet_of_type
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
call fcn.140015ec0
mov edx, edi
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___int____ptr64]
mov rcx, qword [rbx + 0x10]
test rcx, rcx
je 0x1400ca7a1
cmp qword [rbx + 8], 0
je 0x1400ca7a1
mov r8, qword [rbp + 0x48]
xor edx, edx
call fcn.140011f60
mov rcx, qword [rbx + 8]
call fcn.140012410
jmp 0x1400c9d4f
cmp byte [0x14012e2e7], 0
jne 0x1400ca7a1
cmp byte [0x14012e2e4], 0
je 0x1400c9d4f
xor edx, edx
mov rcx, rbx
call fcn.1400c7ab0
mov byte [0x14012e2e4], 0
jmp 0x1400ca7a1
mov rcx, rbx
call fcn.1400c70b0
test al, al
je 0x1400ca7a1
xor r8d, r8d
lea rdx, [rbp + 0x30]
mov rcx, qword [rbx]
call fcn.140012440
test eax, eax
jg 0x1400c9800
cmp byte [0x14012d369], 0
je 0x1400ca7a1
call qword [sym.imp.KERNEL32.dll_GetTickCount64]
mov rsi, rax
cmp rax, qword [0x14012d370]
jb 0x1400ca7a1
mov edx, dword [0x14012d378]
test edx, edx
je 0x1400ca793
lea rcx, [rsp + 0x40]
call fcn.14000ef90
nop
mov r8, rax
lea rdx, str._9Collected__2
lea rcx, [rsp + 0x60]
call fcn.140016870
mov rdi, rax
mov rcx, qword [rax + 0x10]
mov rdx, qword [rax + 0x18]
mov rax, rdx
sub rax, rcx
cmp rax, 7
jb 0x1400ca545
lea rax, [rcx + 7]
mov qword [rdi + 0x10], rax
mov rax, rdi
cmp rdx, 0x10
jb 0x1400c9de5
mov rax, qword [rdi]
lea rbx, [rax + rcx]
mov r8d, 7
lea rdx, str.___Gems
mov rcx, rbx
call sub.VCRUNTIME140.dll_memmove
mov byte [rbx + 7], 0
jmp 0x1400ca567
mov rcx, qword [0x14012d9e0]
mov qword [rsp + 0x38], rcx
imul rdx, rax, 0x220
add rdx, qword [0x14012d2a0]
lea rcx, [rbp + 0x50]
call fcn.14002a720
nop
lea rsi, [rbp + 0x88]
cmp qword [rbp + 0xa0], 0x10
cmovae rsi, qword [rbp + 0x88]
mov r14, qword [rbp + 0x98]
cmp r14, 9
jb 0x1400c9eb7
lea r15, [rsi + r14]
lea r8, [r15 - 8]
sub r8, rsi
mov edx, 0x41
mov rcx, rsi
call sub.VCRUNTIME140.dll_memchr
mov rbx, rax
test rax, rax
je 0x1400c9eb7
nop
mov r8d, 9
lea rdx, str.Ancestral
mov rcx, rbx
call sub.VCRUNTIME140.dll_memcmp
test eax, eax
je 0x1400c9eaa
inc rbx
lea r8, [r15 - 8]
sub r8, rbx
mov edx, 0x41
mov rcx, rbx
call sub.VCRUNTIME140.dll_memchr
mov rbx, rax
test rax, rax
jne 0x1400c9e70
jmp 0x1400c9eb7
sub rbx, rsi
cmp rbx, 0xffffffffffffffff
jne 0x1400c9ff4
lea rsi, [rbp + 0x88]
cmp qword [rbp + 0xa0], 0x10
cmovae rsi, qword [rbp + 0x88]
cmp r14, 7
jb 0x1400c9f47
lea r15, [rsi + r14]
lea r8, [r15 - 6]
sub r8, rsi
mov edx, 0x53
mov rcx, rsi
call sub.VCRUNTIME140.dll_memchr
mov rbx, rax
test rax, rax
je 0x1400c9f47
nop dword [rax]
nop dword [rax + rax]
mov r8d, 7
lea rdx, str.Samille
mov rcx, rbx
call sub.VCRUNTIME140.dll_memcmp
test eax, eax
je 0x1400c9f3a
inc rbx
lea r8, [r15 - 6]
sub r8, rbx
mov edx, 0x53
mov rcx, rbx
call sub.VCRUNTIME140.dll_memchr
mov rbx, rax
test rax, rax
jne 0x1400c9f00
jmp 0x1400c9f47
sub rbx, rsi
cmp rbx, 0xffffffffffffffff
jne 0x1400c9ff4
lea rsi, [rbp + 0x88]
cmp qword [rbp + 0xa0], 0x10
cmovae rsi, qword [rbp + 0x88]
cmp r14, 7
jb 0x1400c9fcb
lea r8, [r14 - 6]
add r8, rsi
sub r8, rsi
mov edx, 0x43
mov rcx, rsi
call sub.VCRUNTIME140.dll_memchr
mov rbx, rax
test rax, rax
je 0x1400c9fcb
nop dword [rax]
nop word [rax + rax]
mov r8d, 7
lea rdx, str.Chakram
mov rcx, rbx
call sub.VCRUNTIME140.dll_memcmp
test eax, eax
je 0x1400c9feb
inc rbx
lea r8, [r14 - 6]
add r8, rsi
sub r8, rbx
mov edx, 0x43
mov rcx, rbx
call sub.VCRUNTIME140.dll_memchr
mov rbx, rax
test rax, rax
jne 0x1400c9f90
movsx rax, byte [rbp + 0xe0]
cmp eax, 8
ja case.0x1400c9fe9.0
lea rdx, [0x140000000]
mov ecx, dword [rdx + rax*4 + 0xca80c]
add rcx, rdx
jmp rcx
sub rbx, rsi
cmp rbx, 0xffffffffffffffff
je 0x1400c9fcb
mov eax, dword [rbp + 0x7c]
movd xmm0, eax
cvtdq2ps xmm0, xmm0
ucomiss xmm0, dword [0x14012d200]
jp 0x1400ca01d
jne 0x1400ca01d
xorps xmm0, xmm0
cvtpd2ps xmm0, xmm0
movss dword [0x14012d200], xmm0
jmp 0x1400ca231
movd xmm0, eax
cvtdq2pd xmm0, xmm0
cvtpd2ps xmm0, xmm0
movss dword [0x14012d200], xmm0
jmp 0x1400ca231
mov eax, dword [rbp + 0x7c]
movd xmm0, eax
cvtdq2ps xmm0, xmm0
ucomiss xmm0, dword [0x14012d1dc]
jp 0x1400ca21d
jne 0x1400ca21d
xorps xmm0, xmm0
jmp 0x1400ca225
mov eax, dword [rbp + 0x7c]
movd xmm0, eax
cvtdq2ps xmm0, xmm0
ucomiss xmm0, dword [0x14012d1e0]
jp 0x1400ca084
jne 0x1400ca084
xorps xmm0, xmm0
cvtpd2ps xmm0, xmm0
movss dword [0x14012d1e0], xmm0
jmp 0x1400ca231
movd xmm0, eax
cvtdq2pd xmm0, xmm0
cvtpd2ps xmm0, xmm0
movss dword [0x14012d1e0], xmm0
jmp 0x1400ca231
mov eax, dword [rbp + 0x7c]
movd xmm0, eax
cvtdq2ps xmm0, xmm0
ucomiss xmm0, dword [0x14012d1e4]
jp 0x1400ca0c6
jne 0x1400ca0c6
xorps xmm0, xmm0
cvtpd2ps xmm0, xmm0
movss dword [0x14012d1e4], xmm0
jmp 0x1400ca231
movd xmm0, eax
cvtdq2pd xmm0, xmm0
cvtpd2ps xmm0, xmm0
movss dword [0x14012d1e4], xmm0
jmp 0x1400ca231
mov eax, dword [rbp + 0x7c]
movd xmm0, eax
cvtdq2ps xmm0, xmm0
ucomiss xmm0, dword [0x14012d1e8]
jp 0x1400ca108
jne 0x1400ca108
xorps xmm0, xmm0
cvtpd2ps xmm0, xmm0
movss dword [0x14012d1e8], xmm0
jmp 0x1400ca231
movd xmm0, eax
cvtdq2pd xmm0, xmm0
cvtpd2ps xmm0, xmm0
movss dword [0x14012d1e8], xmm0
jmp 0x1400ca231
mov eax, dword [rbp + 0x7c]
movd xmm0, eax
cvtdq2ps xmm0, xmm0
ucomiss xmm0, dword [0x14012d1ec]
jp 0x1400ca14a
jne 0x1400ca14a
xorps xmm0, xmm0
cvtpd2ps xmm0, xmm0
movss dword [0x14012d1ec], xmm0
jmp 0x1400ca231
movd xmm0, eax
cvtdq2pd xmm0, xmm0
cvtpd2ps xmm0, xmm0
movss dword [0x14012d1ec], xmm0
jmp 0x1400ca231
mov eax, dword [rbp + 0x7c]
movd xmm0, eax
cvtdq2ps xmm0, xmm0
ucomiss xmm0, dword [0x14012d1f0]
jp 0x1400ca18c
jne 0x1400ca18c
xorps xmm0, xmm0
cvtpd2ps xmm0, xmm0
movss dword [0x14012d1f0], xmm0
jmp 0x1400ca231
movd xmm0, eax
cvtdq2pd xmm0, xmm0
cvtpd2ps xmm0, xmm0
movss dword [0x14012d1f0], xmm0
jmp 0x1400ca231
mov eax, dword [rbp + 0x7c]
movd xmm0, eax
cvtdq2ps xmm0, xmm0
ucomiss xmm0, dword [0x14012d1f4]
jp 0x1400ca1cb
jne 0x1400ca1cb
xorps xmm0, xmm0
cvtpd2ps xmm0, xmm0
movss dword [0x14012d1f4], xmm0
jmp 0x1400ca231
movd xmm0, eax
cvtdq2pd xmm0, xmm0
cvtpd2ps xmm0, xmm0
movss dword [0x14012d1f4], xmm0
jmp 0x1400ca231
mov eax, dword [rbp + 0x7c]
movd xmm0, eax
cvtdq2ps xmm0, xmm0
ucomiss xmm0, dword [0x14012d1fc]
jp 0x1400ca207
jne 0x1400ca207
xorps xmm0, xmm0
cvtpd2ps xmm0, xmm0
movss dword [0x14012d1fc], xmm0
jmp 0x1400ca231
movd xmm0, eax
cvtdq2pd xmm0, xmm0
cvtpd2ps xmm0, xmm0
movss dword [0x14012d1fc], xmm0
jmp 0x1400ca231
movd xmm0, eax
cvtdq2pd xmm0, xmm0
cvtpd2ps xmm0, xmm0
movss dword [0x14012d1dc], xmm0
mov ecx, dword [rdi + 0x14]
call fcn.140081730
test eax, eax
je 0x1400ca24b
mov ecx, dword [rdi + 0x14]
call fcn.140081730
mov dword [0x1401270e0], eax
xorps xmm6, xmm6
movss xmm0, dword [0x14012d1f4]
ucomiss xmm0, xmm6
jp 0x1400ca266
jne 0x1400ca266
movzx eax, byte [0x14012d211]
jmp 0x1400ca26e
mov al, 1
mov byte [0x14012d211], al
mov r14, qword [rsp + 0x38]
mov edi, dword [r14 + 0x5f70]
movzx ecx, al
add ecx, ecx
movzx eax, byte [0x14012e2ec]
or ecx, eax
movzx ebx, byte [0x14012d212]
shl ebx, 0x18
or ebx, ecx
mov dword [rsp + 0x30], 0x447a0000
mov dword [rbp - 0x58], 0x43c80000
movss xmm0, dword [0x14012709c]
movss dword [rbp - 0x60], xmm0
movss xmm1, dword [0x1401270b4]
movss dword [rsp + 0x38], xmm1
mov ecx, 0x38
call fcn.1400d2f2c
mov rsi, rax
xor ecx, ecx
mov qword [rax + 8], rcx
mov dword [rax + 0x10], ecx
mov dword [rax + 0x28], ecx
mov dword [rax + 0x34], ecx
mov dword [rax], setsockopt
mov dword [rax + 4], edi
mov dword [rax + 0x14], ebx
mov eax, dword [rsp + 0x30]
mov dword [rsi + 0x18], eax
mov eax, dword [rbp - 0x58]
mov dword [rsi + 0x1c], eax
mov eax, dword [rbp - 0x60]
mov dword [rsi + 0x20], eax
mov eax, dword [rsp + 0x38]
mov dword [rsi + 0x24], eax
mov qword [rsi + 0x2c], rcx
movzx eax, word [0x1401270e0]
mov word [rsi + 1], ax
mov word [rsi + 2], 0x8080
mov dword [rsp + 0x38], 0x43480000
mov eax, dword [rsp + 0x38]
mov dword [rsi + 0x10], eax
mov rax, qword [0x14012d9e0]
mov rbx, qword [rax + 0x18]
test rbx, rbx
je 0x1400ca37c
lea edx, [rcx + 0x3d]
lea r8d, [rcx + 1]
call fcn.140010e30
mov rcx, qword [rax + 0x10]
mov dword [rcx], 4
mov rcx, qword [rax + 0x10]
movups xmm0, xmmword [rsi]
movups xmmword [rcx + 4], xmm0
movups xmm1, xmmword [rsi + 0x10]
movups xmmword [rcx + 0x14], xmm1
movups xmm0, xmmword [rsi + 0x20]
movups xmmword [rcx + 0x24], xmm0
movsd xmm1, qword [rsi + 0x30]
movsd qword [rcx + 0x34], xmm1
mov r8, rax
xor edx, edx
mov rcx, rbx
call fcn.140011f60
mov edx, 1
mov rcx, rsi
call fcn.1400d2c80
xorps xmm0, xmm0
movups xmmword [rbp - 0x80], xmm0
mov qword [rbp - 0x70], reloc.WS2_32.dll_listen
mov qword [rbp - 0x68], reloc.WS2_32.dll_ntohs
movsd xmm0, qword [str.OnSetClothing]
movsd qword [rbp - 0x80], xmm0
mov eax, dword [0x1400fc6f8]
mov dword [rbp - 0x78], eax
movzx eax, byte [0x1400fc6fc]
mov byte [rbp - 0x74], al
mov byte [rbp - 0x73], 0
lea rdx, [rbp - 0x80]
lea rcx, [rbp + 0x270]
call fcn.14002b460
nop
mov rdx, qword [rbp - 0x68]
cmp rdx, 0x10
jb 0x1400ca413
inc rdx
mov rcx, qword [rbp - 0x80]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400ca40e
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x1400ca40e
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.1400d2c80
movss xmm1, dword [0x14012d1e0]
movss xmm2, dword [0x14012d1e4]
mov dword [rbp + 0x2b0], 4
movss xmm0, dword [0x14012d1dc]
unpcklps xmm0, xmm1
movsd qword [rbp + 0x2c0], xmm0
movss dword [rbp + 0x2c8], xmm2
movss xmm1, dword [0x14012d1ec]
movss xmm2, dword [0x14012d1f0]
mov dword [rbp + 0x2f0], 4
movss xmm0, dword [0x14012d1e8]
unpcklps xmm0, xmm1
movsd qword [rbp + 0x300], xmm0
movss dword [rbp + 0x308], xmm2
movss xmm1, dword [0x14012d1f8]
movss xmm2, dword [0x14012d1fc]
mov dword [rbp + 0x330], 4
movss xmm0, dword [0x14012d1f4]
unpcklps xmm0, xmm1
movsd qword [rbp + 0x340], xmm0
movss dword [rbp + 0x348], xmm2
mov dword [rbp + 0x370], 9
mov eax, dword [0x140127088]
mov dword [rbp + 0x380], eax
movss xmm1, dword [0x140107d58]
mov dword [rbp + 0x3b0], 4
movss xmm0, dword [0x14012d200]
unpcklps xmm0, xmm1
movsd qword [rbp + 0x3c0], xmm0
movss dword [rbp + 0x3c8], xmm6
mov dword [rsp + 0x20], 0xffffffff
mov r9d, dword [r14 + 0x5f70]
lea r8, [rbp + 0x270]
mov dl, 1
mov rcx, qword [0x14012d9e0]
call fcn.1400cb080
nop
lea r9, [fcn.14002ed00]
mov edx, 0x40
lea r8d, [rdx - 0x39]
lea rcx, [rbp + 0x270]
call fcn.1400d2e5c
nop
lea rcx, [rbp + 0x50]
call fcn.14002e640
jmp 0x1400ca7a1
mov qword [rsp + 0x20], 7
lea r9, str.___Gems
xor r8d, r8d
lea edx, [r8 + 7]
mov rcx, rdi
call fcn.14000b360
mov rdi, rax
xorps xmm0, xmm0
movups xmmword [rbp - 0x80], xmm0
mov qword [rbp - 0x70], r14
mov qword [rbp - 0x68], r14
movups xmm0, xmmword [rdi]
movups xmmword [rbp - 0x80], xmm0
movups xmm1, xmmword [rdi + 0x10]
movups xmmword [rbp - 0x70], xmm1
mov qword [rdi + 0x10], r14
mov qword [rdi + 0x18], reloc.WS2_32.dll_ntohs
mov byte [rdi], 0
lea rcx, [rbp - 0x80]
call fcn.1400c61f0
nop
mov rdx, qword [rsp + 0x78]
cmp rdx, 0x10
jb 0x1400ca5de
inc rdx
mov rcx, qword [rsp + 0x60]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400ca5d9
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x1400ca5d9
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.1400d2c80
movdqa xmm0, xmmword [0x1400f8d00]
movdqu xmmword [rsp + 0x70], xmm0
mov byte [rsp + 0x60], 0
mov rdx, qword [rsp + 0x58]
cmp rdx, 0x10
jb 0x1400ca631
inc rdx
mov rcx, qword [rsp + 0x40]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400ca62c
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x1400ca62c
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.1400d2c80
mov edx, dword [0x14012d378]
lea rcx, [rsp + 0x40]
call fcn.14000ef90
nop
mov r8, rax
lea rdx, str._9Collected__2
lea rcx, [rsp + 0x60]
call fcn.140016870
mov rdi, rax
mov rcx, qword [rax + 0x10]
mov rdx, qword [rax + 0x18]
mov rax, rdx
sub rax, rcx
cmp rax, 7
jb 0x1400ca6a0
lea rax, [rcx + 7]
mov qword [rdi + 0x10], rax
mov rax, rdi
cmp rdx, 0x10
jb 0x1400ca681
mov rax, qword [rdi]
lea rbx, [rcx + rax]
mov r8d, 7
lea rdx, str.___Gems
mov rcx, rbx
call sub.VCRUNTIME140.dll_memmove
mov byte [rbx + 7], 0
jmp 0x1400ca6c2
mov qword [rsp + 0x20], 7
lea r9, str.___Gems
xor r8d, r8d
lea edx, [r8 + 7]
mov rcx, rdi
call fcn.14000b360
mov rdi, rax
xorps xmm0, xmm0
movups xmmword [rbp - 0x80], xmm0
mov qword [rbp - 0x70], r14
mov qword [rbp - 0x68], r14
movups xmm0, xmmword [rdi]
movups xmmword [rbp - 0x80], xmm0
movups xmm1, xmmword [rdi + 0x10]
movups xmmword [rbp - 0x70], xmm1
mov qword [rdi + 0x10], r14
mov qword [rdi + 0x18], reloc.WS2_32.dll_ntohs
mov byte [rdi], 0
lea rcx, [rbp - 0x80]
call fcn.1400c6410
nop
mov rdx, qword [rsp + 0x78]
cmp rdx, 0x10
jb 0x1400ca739
inc rdx
mov rcx, qword [rsp + 0x60]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400ca734
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x1400ca734
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.1400d2c80
movdqa xmm0, xmmword [0x1400f8d00]
movdqu xmmword [rsp + 0x70], xmm0
mov byte [rsp + 0x60], 0
mov rdx, qword [rsp + 0x58]
cmp rdx, 0x10
jb 0x1400ca78c
inc rdx
mov rcx, qword [rsp + 0x40]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400ca787
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x1400ca787
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.1400d2c80
mov dword [0x14012d378], r14d
lea rax, [rsi + 0x5dc]
mov qword [0x14012d370], rax
mov rcx, qword [rbp + 0x430]
xor rcx, rsp
call fcn.1400d2da0
lea r11, [rsp + 0x550]
mov rbx, qword [r11 + 0x28]
mov rsi, qword [r11 + 0x30]
mov rdi, qword [r11 + 0x38]
movaps xmm6, xmmword [r11 - 0x10]
mov rsp, r11
pop r15
pop r14
pop rbp
ret