Function at 0x1400890b0
Capabilities:
Execute command
Log keystrokes via polling

Disassembly:
mov rax, rsp
mov qword [rax + 0x10], rbx
mov qword [rax + 0x18], rsi
push rbp
push rdi
push r12
push r14
push r15
lea rbp, [rax - 0x408]
sub rsp, 0x4e0
movaps xmmword [rax - 0x38], xmm6
mov rax, qword [0x14014ac68]
xor rax, rsp
mov qword [rbp + 0x3c0], rax
mov rdi, rcx
xor r14d, r14d
xor r8d, r8d
lea rdx, [rbp - 0x70]
mov rcx, qword [rcx]
call fcn.14000a6e0
test eax, eax
jle 0x14008947b
lea rbx, [0x140000000]
nop word [rax + rax]
mov rax, qword [rbp - 0x68]
mov qword [rdi + 0x18], rax
mov ecx, dword [rbp - 0x70]
sub ecx, 1
je 0x1400893cc
sub ecx, 1
je 0x14008939c
cmp ecx, 1
je 0x140089143
lea rcx, str._SERVER_:_UNHANDLED_n
call fcn.14006eec0
jmp 0x140089464
mov rdx, qword [rbp - 0x58]
cmp qword [rdx + 0x18], 3
jbe 0x14008935a
mov rax, qword [rdx + 0x10]
movzx r8d, byte [rax]
mov ecx, r8d
sub ecx, 2
je 0x14008930d
sub ecx, 1
je 0x1400892c2
sub ecx, 1
je 0x14008918b
sub ecx, 2
je 0x140089eae
cmp ecx, 2
je 0x140089eae
jmp 0x14008935d
mov rcx, rdx
call fcn.14008b420
mov rsi, rax
mov rcx, qword [rbp - 0x58]
call fcn.14008b470
test rsi, rsi
je case.0x1400891cf.6
test rax, rax
je case.0x1400891cf.6
movzx ecx, byte [rsi]
cmp ecx, 0x1a
ja case.0x1400891cf.6
movzx ecx, byte [rbx + rcx + 0x89efc]
mov edx, dword [rbx + rcx*4 + 0x89ee0]
add rdx, rbx
jmp rdx
mov rdx, rsi
mov rcx, rax
call fcn.14005f980
test al, al
je case.0x1400891cf.6
mov rcx, qword [rbp - 0x58]
call fcn.1400091a0
jmp 0x140089eae
cmp byte [reloc.WS2_32.dll_accept], r14b
je case.0x1400891cf.6
mov ecx, reloc.WS2_32.dll_recv
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
jne 0x1400891e4
jmp case.0x1400891cf.6
mov cl, 1
movsxd rax, dword [rsi + 0x14]
cmp eax, 0x704
je 0x140089234
cmp eax, 0xf2
je 0x140089234
movzx ecx, cl
cmp eax, 0x1c14
cmovne ecx, r14d
cmp byte [0x14014e0a4], r14b
je 0x140089245
test cl, cl
je 0x14008951c
mov rcx, qword [0x14014f410]
add rcx, 0x20
mov edx, eax
call fcn.1400883f0
test eax, eax
je 0x140089eae
mov rcx, rsi
call fcn.14006c3e0
test al, al
jne 0x1400891e4
jmp case.0x1400891cf.6
mov rcx, rsi
call fcn.140058380
test al, al
je case.0x1400891cf.6
mov rcx, qword [rbp - 0x58]
call fcn.1400091a0
call sub.MSVCP140.dll__Query_perf_frequency
mov rbx, rax
call sub.MSVCP140.dll__Query_perf_counter
cmp rbx, 0x989680
jne 0x140089b22
imul rax, rax, 0x64
jmp 0x140089b40
cmp byte [0x14014ecc9], r14b
jne 0x140089eae
jmp case.0x1400891cf.6
mov rcx, rdx
call fcn.14008b4c0
xorps xmm0, xmm0
movups xmmword [rsp + 0x30], xmm0
mov qword [rsp + 0x40], r14
mov qword [rsp + 0x48], r14
mov r8, 0xffffffffffffffff
inc r8
cmp byte [rax + r8], r14b
jne 0x1400892e3
mov rdx, rax
lea rcx, [rsp + 0x30]
call fcn.14000f110
lea rcx, [rsp + 0x30]
call fcn.14002ce90
test al, al
jne 0x1400891e4
jmp case.0x1400891cf.6
mov rcx, rdx
call fcn.14008b4c0
xorps xmm0, xmm0
movups xmmword [rsp + 0x30], xmm0
mov qword [rsp + 0x40], r14
mov qword [rsp + 0x48], r14
mov r8, 0xffffffffffffffff
nop
inc r8
cmp byte [rax + r8], r14b
jne 0x140089330
mov rdx, rax
lea rcx, [rsp + 0x30]
call fcn.14000f110
lea rcx, [rsp + 0x30]
call fcn.14002cfe0
test al, al
jne 0x1400891e4
jmp case.0x1400891cf.6
mov r8d, r14d
mov edx, r8d
lea rcx, str._SERVER_:_Got_unknown_packet_of_type__d._n
call fcn.14006eec0
mov rcx, qword [rdi + 0x10]
test rcx, rcx
je 0x140089eae
cmp qword [rdi + 8], r14
je 0x140089eae
mov r8, qword [rbp - 0x58]
xor edx, edx
call fcn.14000a210
mov rcx, qword [rdi + 8]
call fcn.14000a6b0
jmp 0x140089464
cmp byte [0x14014ecc9], r14b
jne 0x140089eae
cmp byte [0x14014ecc2], r14b
je 0x140089464
xor edx, edx
mov rcx, rdi
call fcn.140087f70
mov byte [0x14014ecc2], r14b
jmp 0x140089eae
lea rcx, str.Color_0A
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll_system]
lea rcx, str._SERVER_:_Connecting_to_server._n
call fcn.14006eec0
lea rbx, [rdi + 0x1f0]
mov rdx, rbx
cmp qword [rbx + 0x18], 0x10
jb 0x1400893f9
mov rdx, qword [rbx]
lea rcx, [rbp - 0x50]
call fcn.14000d1f0
movzx eax, word [rdi + 0x60a8]
mov word [rbp - 0x4c], ax
cmp qword [rbx + 0x18], 0x10
jb 0x140089417
mov rbx, qword [rbx]
mov r8, rbx
mov edx, dword [rdi + 0x60a8]
lea rcx, str._SERVER_:_port_is__d_and_server_is__s_n
call fcn.14006eec0
mov rcx, rdi
call fcn.14008ab90
test al, al
je 0x140089c44
xor r9d, r9d
lea r8d, [r9 + 2]
lea rdx, [rbp - 0x50]
mov rcx, qword [rdi + 8]
call fcn.1400089f0
mov qword [rdi + 0x10], rax
test rax, rax
je 0x140089c33
lea rbx, [0x140000000]
xor r8d, r8d
lea rdx, [rbp - 0x70]
mov rcx, qword [rdi]
call fcn.14000a6e0
test eax, eax
jg 0x140089110
cmp byte [reloc.WS2_32.dll_accept], r14b
je 0x140089eae
call qword [sym.imp.KERNEL32.dll_GetTickCount64]
mov rsi, rax
cmp rax, qword [0x14014e088]
jb 0x140089eae
mov edx, dword [0x14014e090]
test edx, edx
je 0x140089ea0
lea rcx, [rsp + 0x70]
call fcn.140007250
nop
mov r8, rax
lea rdx, str._9Collected__2
lea rcx, [rsp + 0x50]
call fcn.14000e320
mov rdi, rax
mov rcx, qword [rax + 0x10]
mov rdx, qword [rax + 0x18]
mov rax, rdx
sub rax, rcx
cmp rax, 7
jb 0x140089c55
lea rax, [rcx + 7]
mov qword [rdi + 0x10], rax
mov rax, rdi
cmp rdx, 0x10
jb 0x1400894fa
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 0x140089c77
mov rcx, qword [0x14014f410]
mov qword [rbp - 0x50], rcx
imul rdx, rax, 0x218
add rdx, qword [0x14014e098]
lea rcx, [rbp - 0x20]
call fcn.1400185e0
nop
lea r14, [rbp + 0x10]
cmp qword [rbp + 0x28], 0x10
cmovae r14, qword [rbp + 0x10]
mov r15, qword [rbp + 0x20]
cmp r15, 9
jb 0x1400895c8
lea r12, [r14 + r15]
lea r8, [r12 - 8]
sub r8, r14
mov edx, 0x41
mov rcx, r14
call sub.VCRUNTIME140.dll_memchr
mov rbx, rax
test rax, rax
je 0x1400895c8
nop dword [rax + rax]
mov r8d, 9
lea rdx, str.Ancestral
mov rcx, rbx
call sub.VCRUNTIME140.dll_memcmp
test eax, eax
je 0x1400895bb
inc rbx
lea r8, [r12 - 8]
sub r8, rbx
mov edx, 0x41
mov rcx, rbx
call sub.VCRUNTIME140.dll_memchr
mov rbx, rax
test rax, rax
jne 0x140089580
jmp 0x1400895c8
sub rbx, r14
cmp rbx, 0xffffffffffffffff
jne 0x1400896e1
lea r14, [rbp + 0x10]
mov rax, qword [rbp + 0x28]
cmp rax, 0x10
cmovae r14, qword [rbp + 0x10]
cmp r15, 7
jb 0x14008964c
lea r12, [r14 + r15]
lea r8, [r12 - 6]
sub r8, r14
mov edx, 0x53
mov rcx, r14
call sub.VCRUNTIME140.dll_memchr
mov rbx, rax
test rax, rax
je 0x140089648
mov r8d, 7
lea rdx, str.Samille
mov rcx, rbx
call sub.VCRUNTIME140.dll_memcmp
test eax, eax
je 0x14008963b
inc rbx
lea r8, [r12 - 6]
sub r8, rbx
mov edx, 0x53
mov rcx, rbx
call sub.VCRUNTIME140.dll_memchr
mov rbx, rax
test rax, rax
jne 0x140089600
jmp 0x140089648
sub rbx, r14
cmp rbx, 0xffffffffffffffff
jne 0x1400896e1
mov rax, qword [rbp + 0x28]
lea r14, [rbp + 0x10]
cmp rax, 0x10
cmovae r14, qword [rbp + 0x10]
cmp r15, 7
jb 0x1400896bb
lea r8, [r15 - 6]
add r8, r14
sub r8, r14
mov edx, 0x43
mov rcx, r14
call sub.VCRUNTIME140.dll_memchr
mov rbx, rax
test rax, rax
je 0x1400896bb
nop
mov r8d, 7
lea rdx, str.Chakram
mov rcx, rbx
call sub.VCRUNTIME140.dll_memcmp
test eax, eax
je 0x1400896d8
inc rbx
lea r8, [r15 - 6]
add r8, r14
sub r8, rbx
mov edx, 0x43
mov rcx, rbx
call sub.VCRUNTIME140.dll_memchr
mov rbx, rax
test rax, rax
jne 0x140089680
movsx rax, byte [rbp + 0x68]
cmp eax, 8
ja case.0x1400896d6.0
lea rdx, [0x140000000]
mov ecx, dword [rdx + rax*4 + 0x89f18]
add rcx, rdx
jmp rcx
sub rbx, r14
cmp rbx, 0xffffffffffffffff
je 0x1400896bb
mov eax, dword [rbp + 8]
movd xmm0, eax
cvtdq2ps xmm0, xmm0
ucomiss xmm0, dword [0x14014e0fc]
jp 0x14008970a
jne 0x14008970a
xorps xmm0, xmm0
cvtpd2ps xmm0, xmm0
movss dword [0x14014e0fc], xmm0
jmp 0x14008991e
movd xmm0, eax
cvtdq2pd xmm0, xmm0
cvtpd2ps xmm0, xmm0
movss dword [0x14014e0fc], xmm0
jmp 0x14008991e
mov eax, dword [rbp + 8]
movd xmm0, eax
cvtdq2ps xmm0, xmm0
ucomiss xmm0, dword [0x14014e0d8]
jp 0x14008990a
jne 0x14008990a
xorps xmm0, xmm0
jmp 0x140089912
mov eax, dword [rbp + 8]
movd xmm0, eax
cvtdq2ps xmm0, xmm0
ucomiss xmm0, dword [0x14014e0dc]
jp 0x140089771
jne 0x140089771
xorps xmm0, xmm0
cvtpd2ps xmm0, xmm0
movss dword [0x14014e0dc], xmm0
jmp 0x14008991e
movd xmm0, eax
cvtdq2pd xmm0, xmm0
cvtpd2ps xmm0, xmm0
movss dword [0x14014e0dc], xmm0
jmp 0x14008991e
mov eax, dword [rbp + 8]
movd xmm0, eax
cvtdq2ps xmm0, xmm0
ucomiss xmm0, dword [0x14014e0e0]
jp 0x1400897b3
jne 0x1400897b3
xorps xmm0, xmm0
cvtpd2ps xmm0, xmm0
movss dword [0x14014e0e0], xmm0
jmp 0x14008991e
movd xmm0, eax
cvtdq2pd xmm0, xmm0
cvtpd2ps xmm0, xmm0
movss dword [0x14014e0e0], xmm0
jmp 0x14008991e
mov eax, dword [rbp + 8]
movd xmm0, eax
cvtdq2ps xmm0, xmm0
ucomiss xmm0, dword [0x14014e0e4]
jp 0x1400897f5
jne 0x1400897f5
xorps xmm0, xmm0
cvtpd2ps xmm0, xmm0
movss dword [0x14014e0e4], xmm0
jmp 0x14008991e
movd xmm0, eax
cvtdq2pd xmm0, xmm0
cvtpd2ps xmm0, xmm0
movss dword [0x14014e0e4], xmm0
jmp 0x14008991e
mov eax, dword [rbp + 8]
movd xmm0, eax
cvtdq2ps xmm0, xmm0
ucomiss xmm0, dword [0x14014e0e8]
jp 0x140089837
jne 0x140089837
xorps xmm0, xmm0
cvtpd2ps xmm0, xmm0
movss dword [0x14014e0e8], xmm0
jmp 0x14008991e
movd xmm0, eax
cvtdq2pd xmm0, xmm0
cvtpd2ps xmm0, xmm0
movss dword [0x14014e0e8], xmm0
jmp 0x14008991e
mov eax, dword [rbp + 8]
movd xmm0, eax
cvtdq2ps xmm0, xmm0
ucomiss xmm0, dword [0x14014e0ec]
jp 0x140089879
jne 0x140089879
xorps xmm0, xmm0
cvtpd2ps xmm0, xmm0
movss dword [0x14014e0ec], xmm0
jmp 0x14008991e
movd xmm0, eax
cvtdq2pd xmm0, xmm0
cvtpd2ps xmm0, xmm0
movss dword [0x14014e0ec], xmm0
jmp 0x14008991e
mov eax, dword [rbp + 8]
movd xmm0, eax
cvtdq2ps xmm0, xmm0
ucomiss xmm0, dword [0x14014e0f0]
jp 0x1400898b8
jne 0x1400898b8
xorps xmm0, xmm0
cvtpd2ps xmm0, xmm0
movss dword [0x14014e0f0], xmm0
jmp 0x14008991e
movd xmm0, eax
cvtdq2pd xmm0, xmm0
cvtpd2ps xmm0, xmm0
movss dword [0x14014e0f0], xmm0
jmp 0x14008991e
mov eax, dword [rbp + 8]
movd xmm0, eax
cvtdq2ps xmm0, xmm0
ucomiss xmm0, dword [0x14014e0f8]
jp 0x1400898f4
jne 0x1400898f4
xorps xmm0, xmm0
cvtpd2ps xmm0, xmm0
movss dword [0x14014e0f8], xmm0
jmp 0x14008991e
movd xmm0, eax
cvtdq2pd xmm0, xmm0
cvtpd2ps xmm0, xmm0
movss dword [0x14014e0f8], xmm0
jmp 0x14008991e
movd xmm0, eax
cvtdq2pd xmm0, xmm0
cvtpd2ps xmm0, xmm0
movss dword [0x14014e0d8], xmm0
mov ecx, dword [rsi + 0x14]
call fcn.140050af0
test eax, eax
je 0x140089938
mov ecx, dword [rsi + 0x14]
call fcn.140050af0
mov dword [0x1401480c8], eax
xorps xmm6, xmm6
movss xmm0, dword [0x14014e0b0]
ucomiss xmm0, xmm6
jp 0x14008994a
je 0x140089951
mov byte [0x14014e10d], 1
xor r8d, r8d
mov rbx, qword [rbp - 0x50]
mov edx, dword [rbx + 0xf8]
mov rcx, rdi
call fcn.14008a850
xorps xmm0, xmm0
movups xmmword [rbp - 0x48], xmm0
mov qword [rbp - 0x38], reloc.WS2_32.dll_listen
mov qword [rbp - 0x30], reloc.WS2_32.dll_ntohs
movsd xmm0, qword [str.OnSetClothing]
movsd qword [rbp - 0x48], xmm0
mov eax, dword [0x14010a7b0]
mov dword [rbp - 0x40], eax
movzx eax, byte [0x14010a7b4]
mov byte [rbp - 0x3c], al
mov byte [rbp - 0x3b], 0
lea rdx, [rbp - 0x48]
lea rcx, [rbp + 0x200]
call fcn.140018d80
nop
mov rdx, qword [rbp - 0x30]
cmp rdx, 0x10
jb 0x1400899f0
inc rdx
mov rcx, qword [rbp - 0x48]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400899eb
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x1400899eb
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.1400f232c
movss xmm1, dword [0x14014e0dc]
movss xmm2, dword [0x14014e0e0]
mov dword [rbp + 0x240], 4
movss xmm0, dword [0x14014e0d8]
unpcklps xmm0, xmm1
movsd qword [rbp + 0x250], xmm0
movss dword [rbp + 0x258], xmm2
movss xmm1, dword [0x14014e0e8]
movss xmm2, dword [0x14014e0ec]
mov dword [rbp + 0x280], 4
movss xmm0, dword [0x14014e0e4]
unpcklps xmm0, xmm1
movsd qword [rbp + 0x290], xmm0
movss dword [rbp + 0x298], xmm2
movss xmm1, dword [0x14014e0f4]
movss xmm2, dword [0x14014e0f8]
mov dword [rbp + 0x2c0], 4
movss xmm0, dword [0x14014e0f0]
unpcklps xmm0, xmm1
movsd qword [rbp + 0x2d0], xmm0
movss dword [rbp + 0x2d8], xmm2
mov dword [rbp + 0x300], 9
mov eax, dword [0x14014808c]
mov dword [rbp + 0x310], eax
movss xmm1, dword [0x14011772c]
mov dword [rbp + 0x340], 4
movss xmm0, dword [0x14014e0fc]
unpcklps xmm0, xmm1
movsd qword [rbp + 0x350], xmm0
movss dword [rbp + 0x358], xmm6
mov dword [rsp + 0x20], 0xffffffff
mov r9d, dword [rbx + 0xf8]
lea r8, [rbp + 0x200]
mov dl, 1
mov rcx, qword [0x14014f410]
call fcn.14008a540
nop
lea r9, [fcn.14001b0f0]
mov edx, 0x40
lea r8d, [rdx - 0x39]
lea rcx, [rbp + 0x200]
call fcn.1400f24fc
nop
lea rcx, [rbp - 0x20]
call fcn.14001aa30
jmp 0x140089eae
cqo
idiv rbx
mov rcx, rax
imul rax, rdx, 0x3b9aca00
cqo
idiv rbx
imul rcx, rcx, 0x3b9aca00
add rax, rcx
movabs rcx, 0x7ffffffffa0a1eff
cmp rax, rcx
lea rdi, [rax + 0x5f5e100]
jl 0x140089b60
movabs rdi, 0x7fffffffffffffff
movabs rsi, 0x311cdad160000
movabs r14, 0x112e0be826d694b3
movsd xmm6, qword [0x140117748]
nop dword [rax]
call sub.MSVCP140.dll__Query_perf_frequency
mov rbx, rax
call sub.MSVCP140.dll__Query_perf_counter
cmp rbx, 0x989680
jne 0x140089b9c
imul rbx, rax, 0x64
jmp 0x140089bbd
cqo
idiv rbx
mov rcx, rax
imul rax, rdx, 0x3b9aca00
cqo
idiv rbx
mov rbx, rax
imul rax, rcx, 0x3b9aca00
add rbx, rax
cmp rbx, rdi
jge 0x140089eae
call sub.MSVCP140.dll__Xtime_get_ticks
imul rcx, rax, 0x64
mov rax, rdi
sub rax, rbx
xorps xmm0, xmm0
cvtsi2sd xmm0, rax
comisd xmm0, xmm6
seta r9b
test r9b, r9b
lea r8, [rcx + rsi]
jne 0x140089bf2
lea r8, [rax + rcx]
add rax, rcx
lea rdx, [rcx + rsi]
test r9b, r9b
cmove rdx, rax
mov rax, r14
imul rdx
sar rdx, 0x1a
mov rax, rdx
shr rax, 0x3f
add rdx, rax
mov qword [rbp - 0x48], rdx
imul eax, edx, 0x3b9aca00
sub r8d, eax
mov dword [rbp - 0x40], r8d
lea rcx, [rbp - 0x48]
call sub.MSVCP140.dll__Thrd_sleep
jmp 0x140089b80
lea rcx, str._SERVER_:_Failed_to_connect_to_real_server._n
call fcn.14006eec0
jmp 0x140089eae
lea rcx, str._SERVER_:_Failed_to_setup_client_when_trying_to_connect_to_server__n
call fcn.14006eec0
jmp 0x140089eae
mov qword [rsp + 0x20], 7
lea r9, str.___Gems
xor r8d, r8d
lea edx, [r8 + 7]
mov rcx, rdi
call fcn.1400047f0
mov rdi, rax
xorps xmm0, xmm0
movups xmmword [rsp + 0x30], xmm0
mov qword [rsp + 0x40], r14
mov qword [rsp + 0x48], r14
movups xmm0, xmmword [rdi]
movups xmmword [rsp + 0x30], xmm0
movups xmm1, xmmword [rdi + 0x10]
movups xmmword [rsp + 0x40], xmm1
mov qword [rdi + 0x10], r14
mov qword [rdi + 0x18], reloc.WS2_32.dll_ntohs
mov byte [rdi], 0
lea rcx, [rsp + 0x30]
call fcn.140071170
nop
mov rdx, qword [rsp + 0x68]
cmp rdx, 0x10
jb 0x140089cf4
inc rdx
mov rcx, qword [rsp + 0x50]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140089cef
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x140089cef
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.1400f232c
movdqa xmm0, xmmword [0x140109b20]
movdqu xmmword [rsp + 0x60], xmm0
mov byte [rsp + 0x50], 0
mov rdx, qword [rbp - 0x78]
cmp rdx, 0x10
jb 0x140089d46
inc rdx
mov rcx, qword [rsp + 0x70]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140089d41
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x140089d41
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.1400f232c
mov edx, dword [0x14014e090]
lea rcx, [rsp + 0x70]
call fcn.140007250
nop
mov r8, rax
lea rdx, str._9Collected__2
lea rcx, [rsp + 0x50]
call fcn.14000e320
mov rcx, rax
mov rdx, qword [rax + 0x10]
mov r8, qword [rax + 0x18]
mov rax, r8
sub rax, rdx
cmp rax, 8
jb 0x140089dab
lea rax, [rdx + 8]
mov qword [rcx + 0x10], rax
mov rax, rcx
cmp r8, 0x10
jb 0x140089d96
mov rax, qword [rcx]
movabs r8, 0x2e736d6547206060
mov qword [rax + rdx], r8
mov byte [rax + rdx + 8], 0
jmp 0x140089dca
mov qword [rsp + 0x20], 8
lea r9, str.___Gems.
xor r8d, r8d
lea edx, [r8 + 8]
call fcn.1400047f0
mov rcx, rax
xorps xmm0, xmm0
movups xmmword [rsp + 0x30], xmm0
mov qword [rsp + 0x40], r14
mov qword [rsp + 0x48], r14
movups xmm0, xmmword [rcx]
movups xmmword [rsp + 0x30], xmm0
movups xmm1, xmmword [rcx + 0x10]
movups xmmword [rsp + 0x40], xmm1
mov qword [rcx + 0x10], r14
mov qword [rcx + 0x18], reloc.WS2_32.dll_ntohs
mov byte [rcx], 0
lea rcx, [rsp + 0x30]
call fcn.140071270
nop
mov rdx, qword [rsp + 0x68]
cmp rdx, 0x10
jb 0x140089e47
inc rdx
mov rcx, qword [rsp + 0x50]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140089e42
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x140089e42
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.1400f232c
movdqa xmm0, xmmword [0x140109b20]
movdqu xmmword [rsp + 0x60], xmm0
mov byte [rsp + 0x50], 0
mov rdx, qword [rbp - 0x78]
cmp rdx, 0x10
jb 0x140089e99
inc rdx
mov rcx, qword [rsp + 0x70]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140089e94
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x140089e94
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.1400f232c
mov dword [0x14014e090], r14d
lea rax, [rsi + 0x3e8]
mov qword [0x14014e088], rax
mov rcx, qword [rbp + 0x3c0]
xor rcx, rsp
call fcn.1400f2440
lea r11, [rsp + 0x4e0]
mov rbx, qword [r11 + 0x38]
mov rsi, qword [r11 + 0x40]
movaps xmm6, xmmword [r11 - 0x10]
mov rsp, r11
pop r15
pop r14
pop r12
pop rdi
pop rbp
ret