Function at 0x1800d3b70
Capabilities:
Encode data using xor
Log keystrokes via polling

Disassembly:
push rbp
push r14
lea rbp, [rsp - 0x4f]
sub rsp, 0xa8
cmp qword [0x18023d4d0], 0
mov r14, rcx
je 0x1800d4d9d
cmp byte [0x18023bf64], 0
mov qword [rsp + 0xd8], rdi
je 0x1800d3bce
mov byte [0x18023c13d], 1
mov byte [0x18023c16c], 1
mov byte [0x18023c011], 1
mov byte [0x18023c118], 1
mov byte [0x18023c0c6], 1
mov byte [0x1802404f0], 0
jmp 0x1800d3c01
cmp byte [0x1802404f0], 0
jne 0x1800d3c01
mov byte [0x18023c13d], 0
mov byte [0x18023c16c], 0
mov byte [0x18023c011], 0
mov byte [0x18023c118], 0
mov byte [0x18023c0c6], 0
mov byte [0x1802404f0], 1
xor edi, edi
mov qword [rsp + 0xc8], rbx
cmp byte [0x18023bf6a], dil
movaps xmmword [rsp + 0x90], xmm6
jne 0x1800d3eb7
cmp byte [0x18023bf5d], dil
je 0x1800d3c36
cmp byte [0x18023bf5e], dil
jne 0x1800d3eb7
lea rcx, [0x18023d940]
call fcn.1800c9f40
test al, al
je 0x1800d411d
movups xmm0, xmmword [0x1801b8840]
movups xmmword [rbp - 0x19], xmm0
psrldq xmm0, 0xf
movd eax, xmm0
test al, al
je 0x1800d3dd0
cmp dword [reloc.WS2_32.dll_accept], 2
jl 0x1800d3d93
movdqa xmm0, xmmword [0x1801bad00]
lea rcx, [rbp - 0x15]
movdqa xmm4, xmmword [0x1801bab60]
mov edx, edi
movdqa xmm3, xmmword [0x1801bac50]
movdqa xmm5, xmmword [0x1801bab80]
movdqa xmm6, xmmword [0x1801babe0]
movdqa xmmword [rbp - 9], xmm0
mov r8d, dword [rbp - 9]
nop word [rax + rax]
movd xmm2, edx
lea eax, [rdx + 4]
pshufd xmm2, xmm2, 0
lea rcx, [rcx + 8]
paddd xmm2, xmm4
add edx, 8
movdqa xmm1, xmm2
movdqa xmm0, xmm2
punpckhdq xmm0, xmm2
punpckldq xmm1, xmm2
pmuldq xmm0, xmm3
pmuldq xmm1, xmm3
shufps xmm1, xmm0, 0xdd
psrad xmm1, 1
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm5
psubd xmm2, xmm0
movd xmm0, r8d
andps xmm2, xmm6
packuswb xmm2, xmm2
packuswb xmm2, xmm2
paddb xmm2, xmm0
movd xmm0, dword [rcx - 0xc]
xorps xmm2, xmm0
movd dword [rcx - 0xc], xmm2
movd xmm2, eax
pshufd xmm2, xmm2, 0
paddd xmm2, xmm4
movdqa xmm1, xmm2
movdqa xmm0, xmm2
punpckhdq xmm0, xmm2
punpckldq xmm1, xmm2
pmuldq xmm0, xmm3
pmuldq xmm1, xmm3
shufps xmm1, xmm0, 0xdd
psrad xmm1, 1
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm5
psubd xmm2, xmm0
movd xmm0, r8d
andps xmm2, xmm6
packuswb xmm2, xmm2
packuswb xmm2, xmm2
paddb xmm2, xmm0
movd xmm0, dword [rcx - 8]
xorps xmm2, xmm0
movd dword [rcx - 8], xmm2
cmp edx, 0x10
jl 0x1800d3cb0
jmp 0x1800d3dd0
lea r9, [rbp - 0x19]
mov r8d, edi
nop word [rax + rax]
mov eax, 0x94f2095
lea r9, [r9 + 1]
imul r8d
sar edx, 1
mov eax, edx
shr eax, 0x1f
add edx, eax
movsx eax, dl
imul ecx, eax, 0x37
movzx eax, r8b
inc r8d
sub al, cl
add al, 0x32
xor byte [r9 - 1], al
cmp r8d, 0x10
jl 0x1800d3da0
xorps xmm0, xmm0
lea rax, [rbp - 0x19]
xorps xmm1, xmm1
mov r8, 0xffffffffffffffff
movups xmmword [rbp - 9], xmm0
movdqu xmmword [rbp + 7], xmm1
nop word [rax + rax]
inc r8
cmp byte [rax + r8], dil
jne 0x1800d3df0
lea rdx, [rbp - 0x19]
lea rcx, [rbp - 9]
call fcn.180001340
lea rdx, [rbp - 9]
lea rcx, [0x18023d940]
call fcn.18006f180
mov rdx, qword [rbp + 0xf]
mov rbx, rax
cmp rdx, 0xf
jbe 0x1800d3e54
mov rcx, qword [rbp - 9]
inc rdx
mov rax, rcx
cmp rdx, 0x1000
jb 0x1800d3e4f
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1800d40bb
call fcn.18019d210
test rbx, rbx
je 0x1800d411d
mov rax, qword [rbx + 0x48]
test rax, rax
je 0x1800d411d
mov byte [rax + 0xc0], 1
mov rax, qword [0x18023ffa8]
mov byte [rax], 0x88
mov rax, qword [0x18023ffa8]
mov byte [rax + 1], 0x83
mov rax, qword [0x18023ffa8]
mov byte [rax + 2], 0xc0
mov rax, qword [0x18023ffa8]
mov byte [rax + 3], dil
mov rax, qword [0x18023ffa8]
mov byte [rax + 4], dil
mov rax, qword [0x18023ffa8]
mov byte [rax + 5], dil
jmp 0x1800d411d
movups xmm0, xmmword [str.qcXTORJjCU_iLZ_AqcXTORJjCU_iLZ_AG_QG]
movups xmmword [rbp - 0x19], xmm0
psrldq xmm0, 0xf
movd eax, xmm0
test al, al
je 0x1800d4040
cmp dword [reloc.WS2_32.dll_accept], 2
jl 0x1800d4003
movdqa xmm0, xmmword [0x1801bad00]
lea rcx, [rbp - 0x15]
movdqa xmm4, xmmword [0x1801bab60]
mov edx, edi
movdqa xmm3, xmmword [0x1801bac50]
movdqa xmm5, xmmword [0x1801bab80]
movdqa xmm6, xmmword [0x1801babe0]
movdqa xmmword [rbp - 9], xmm0
mov r8d, dword [rbp - 9]
nop word [rax + rax]
movd xmm2, edx
lea eax, [rdx + 4]
pshufd xmm2, xmm2, 0
lea rcx, [rcx + 8]
paddd xmm2, xmm4
add edx, 8
movdqa xmm1, xmm2
movdqa xmm0, xmm2
punpckhdq xmm0, xmm2
punpckldq xmm1, xmm2
pmuldq xmm0, xmm3
pmuldq xmm1, xmm3
shufps xmm1, xmm0, 0xdd
psrad xmm1, 1
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm5
psubd xmm2, xmm0
movd xmm0, r8d
andps xmm2, xmm6
packuswb xmm2, xmm2
packuswb xmm2, xmm2
paddb xmm2, xmm0
movd xmm0, dword [rcx - 0xc]
xorps xmm2, xmm0
movd dword [rcx - 0xc], xmm2
movd xmm2, eax
pshufd xmm2, xmm2, 0
paddd xmm2, xmm4
movdqa xmm1, xmm2
movdqa xmm0, xmm2
punpckhdq xmm0, xmm2
punpckldq xmm1, xmm2
pmuldq xmm0, xmm3
pmuldq xmm1, xmm3
shufps xmm1, xmm0, 0xdd
psrad xmm1, 1
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm5
psubd xmm2, xmm0
movd xmm0, r8d
andps xmm2, xmm6
packuswb xmm2, xmm2
packuswb xmm2, xmm2
paddb xmm2, xmm0
movd xmm0, dword [rcx - 8]
xorps xmm2, xmm0
movd dword [rcx - 8], xmm2
cmp edx, 0x10
jl 0x1800d3f20
jmp 0x1800d4040
lea r9, [rbp - 0x19]
mov r8d, edi
nop word [rax + rax]
mov eax, 0x94f2095
lea r9, [r9 + 1]
imul r8d
sar edx, 1
mov eax, edx
shr eax, 0x1f
add edx, eax
movsx eax, dl
imul ecx, eax, 0x37
movzx eax, r8b
inc r8d
sub al, cl
add al, 0x32
xor byte [r9 - 1], al
cmp r8d, 0x10
jl 0x1800d4010
xorps xmm0, xmm0
lea rax, [rbp - 0x19]
xorps xmm1, xmm1
mov r8, 0xffffffffffffffff
movups xmmword [rbp - 9], xmm0
movdqu xmmword [rbp + 7], xmm1
nop word [rax + rax]
inc r8
cmp byte [rax + r8], dil
jne 0x1800d4060
lea rdx, [rbp - 0x19]
lea rcx, [rbp - 9]
call fcn.180001340
lea rdx, [rbp - 9]
lea rcx, [0x18023d940]
call fcn.18006f180
mov rdx, qword [rbp + 0xf]
mov rbx, rax
cmp rdx, 0xf
jbe 0x1800d40c7
mov rcx, qword [rbp - 9]
inc rdx
mov rax, rcx
cmp rdx, 0x1000
jb 0x1800d40c2
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x1800d40c2
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.18019d210
test rbx, rbx
je 0x1800d411d
mov rax, qword [0x18023ffa8]
mov byte [rax], 0x90
mov rax, qword [0x18023ffa8]
mov byte [rax + 1], 0x90
mov rax, qword [0x18023ffa8]
mov byte [rax + 2], 0x90
mov rax, qword [0x18023ffa8]
mov byte [rax + 3], 0x90
mov rax, qword [0x18023ffa8]
mov byte [rax + 4], 0x90
mov rax, qword [0x18023ffa8]
mov byte [rax + 5], 0x90
mov rax, qword [rbx + 0x48]
test rax, rax
je 0x1800d411d
mov byte [rax + 0xc0], dil
cmp byte [0x18023bf86], dil
mov qword [rsp + 0xd0], rsi
movaps xmmword [rsp + 0x70], xmm10
je 0x1800d4145
mov rax, qword [0x18023d4d0]
mov dword [rax + 0x280], 0x43480000
mov ecx, dword [0x18023c26c]
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test al, 1
je 0x1800d416f
cmp byte [0x18023bf6e], dil
je 0x1800d416f
mov rax, qword [0x18023d4d0]
mov dword [rax + 0x280], 0x43480000
cmp byte [0x18023bf87], dil
je 0x1800d419a
mov rax, qword [0x18023d4d0]
movss xmm0, dword [0x18023bf88]
comiss xmm0, dword [rax + 0x280]
jb 0x1800d419a
mov dword [rax + 0x280], 0x43480000
cmp byte [0x18023bfa6], dil
je 0x1800d41c6
mov rax, qword [0x18023d4d0]
mov rcx, qword [0x180240000]
movss xmm0, dword [0x18023bfa8]
comiss xmm0, dword [rcx + rax]
jb 0x1800d41c6
mov dword [rcx + rax], 0x43480000
cmp byte [0x18023bf6c], dil
je 0x1800d41ef
mov rcx, qword [0x18023d4d0]
mov rdx, qword [0x180240070]
mov eax, dword [rdx + rcx + 8]
test al, 2
jne 0x1800d41ef
or eax, 2
cdqe
mov qword [rdx + rcx + 8], rax
cmp byte [0x18023bf69], dil
je 0x1800d420f
mov rax, qword [0x18023d4d0]
mov byte [rax + 0x189], 1
mov byte [0x1802404f1], 1
jmp 0x1800d4226
cmp byte [0x1802404f1], dil
je 0x1800d4226
mov rax, qword [0x18023d4d0]
mov byte [rax + 0x189], dil
cmp byte [0x18023bf6f], dil
je 0x1800d426c
mov rcx, qword [0x18023d4d0]
mov rax, qword [0x18023ffd0]
mov rdx, qword [rax + rcx]
test rdx, rdx
je 0x1800d42a9
mov rax, qword [0x180240078]
mov dword [rax + rdx], 0x461c3c00
mov rax, qword [0x180240078]
mov dword [rax + rdx - 4], 0x461c3c00
mov byte [0x1802404f2], 1
jmp 0x1800d42a9
cmp byte [0x1802404f2], dil
je 0x1800d42a9
mov rcx, qword [0x18023d4d0]
mov rax, qword [0x18023ffd0]
mov rdx, qword [rax + rcx]
test rdx, rdx
je 0x1800d42a9
mov rax, qword [0x180240078]
mov dword [rax + rdx], 0x3f800000
mov rax, qword [0x180240078]
mov dword [rax + rdx - 4], 0x3f800000
mov ecx, dword [0x180240960]
xorps xmm10, xmm10
mov rax, qword gs:[0x58]
mov edx, 4
mov rax, qword [rax + rcx*8]
mov eax, dword [rdx + rax]
cmp dword [0x180240504], eax
jg 0x1800d4da8
cmp byte [0x18023bf80], dil
je 0x1800d4379
mov ecx, dword [reloc.WS2_32.dll_getsockname]
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
jns 0x1800d4379
cmp byte [0x1802404f3], dil
jne 0x1800d43cc
mov r8, qword [0x18023d4d0]
lea rdx, [rbp - 0x19]
mov r9d, 1
lea rcx, [0x18023d940]
call fcn.1800a9820
mov rax, qword [0x18023d4d0]
movss xmm1, dword [rbp - 0x11]
movsd xmm3, qword [rax + 0x90]
mov ecx, dword [rax + 0x98]
movaps xmm0, xmm3
movsd qword [rbp - 9], xmm3
movss xmm2, dword [rbp - 5]
unpcklps xmm0, xmm2
movsd qword [0x18023bf74], xmm0
movss dword [0x1802404f8], xmm3
movss dword [0x1802404fc], xmm2
movss dword [0x18023bf7c], xmm1
mov dword [0x180240500], ecx
mov byte [0x1802404f3], 1
jmp 0x1800d43cc
cmp byte [0x1802404f3], dil
je 0x1800d43cc
mov rcx, qword [0x18023d4d0]
test rcx, rcx
je 0x1800d43c5
cmp qword [rcx + 0xd0], rdi
je 0x1800d43c5
movss xmm3, dword [0x180240500]
movss xmm2, dword [0x1802404fc]
movss xmm1, dword [0x1802404f8]
mov dword [rsp + 0x30], edi
mov dword [rsp + 0x28], edi
mov dword [rsp + 0x20], 1
call qword [0x1802400e0]
mov byte [0x1802404f3], dil
cmp byte [0x18023bf73], dil
je 0x1800d43f6
mov ecx, dword [reloc.WS2_32.dll_getpeername]
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
je 0x1800d43f6
mov rax, qword [0x18023d4d0]
or dword [rax + 0x2c], 0x40000
jmp 0x1800d4404
mov rax, qword [0x18023d4d0]
and dword [rax + 0x2c], 0xfffbffff
cmp byte [0x18023bf71], dil
mov rdx, qword [0x180240070]
je 0x1800d4438
mov r8, qword [0x18023d4d0]
movsxd rax, dword [rdx + r8]
test al, 4
jne 0x1800d4438
mov ecx, eax
not ecx
and ecx, 4
xor rcx, rax
mov qword [rdx + r8], rcx
mov rdx, qword [0x180240070]
cmp byte [0x18023bf70], dil
je 0x1800d446b
mov r9, qword [0x18023d4d0]
movsxd r8, dword [rdx + r9 + 0x18]
test r8d, r8d
js 0x1800d4483
mov eax, r8d
not eax
movsxd rcx, eax
and rcx, 0xffffffff80000000
xor rcx, r8
mov qword [rdx + r9 + 0x18], rcx
jmp 0x1800d4483
mov rcx, qword [0x18023d4d0]
mov eax, dword [rdx + rcx + 0x18]
test eax, eax
jns 0x1800d4483
btr eax, 0x1f
mov qword [rdx + rcx + 0x18], rax
cmp byte [0x18023bf86], dil
je 0x1800d449d
mov rax, qword [0x18023d4d0]
mov dword [rax + 0x280], 0x43480000
cmp byte [0x18023bf85], dil
je 0x1800d455d
mov ecx, dword [reloc.WS2_32.dll_getsockname]
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
je 0x1800d455d
mov edx, dword [0x180240508]
mov rcx, qword [0x18023d4d0]
inc edx
mov rax, qword [0x180240088]
mov dword [0x180240508], edx
cmp byte [rax + rcx], dil
je 0x1800d4540
cmp byte [0x18024050c], dil
jne 0x1800d44f3
mov byte [0x18024050c], 1
jmp 0x1800d4550
cmp edx, 0x32
jl 0x1800d455d
cmp byte [0x18024050d], dil
jne 0x1800d455d
mov rsi, qword [0x18023d4d0]
mov dword [rsp + 0x30], edi
mov rcx, rsi
mov dword [rsp + 0x28], edi
mov dword [rsp + 0x20], edi
movsd xmm0, qword [rsi + 0x90]
movss xmm3, dword [rsi + 0x98]
movaps xmm2, xmm0
shufps xmm2, xmm2, 0x55
movaps xmm1, xmm0
call qword [0x1802400e0]
mov byte [0x18024050d], 1
jmp 0x1800d455d
cmp byte [0x18024050c], dil
je 0x1800d455d
mov byte [0x18024050c], dil
mov byte [0x18024050d], dil
mov dword [0x180240508], edi
cmp byte [0x18023bf6b], dil
je 0x1800d45c7
mov r8, qword [0x18023d4d0]
test r8, r8
je 0x1800d45c7
mov rax, qword [0x180240098]
mov edx, edi
and dword [r8 + rax], 0xffffff0f
mov rax, qword [0x180240098]
or dword [r8 + rax], 0x10
mov rax, qword [0x180240098]
mov ecx, dword [r8 + rax]
mov eax, 0x800
shl ecx, 0x18
and ecx, 0xf0000000
cmp ecx, 0x30000000
mov ecx, 0xf7ff
cmovg dx, ax
movzx eax, word [r8 + 0x1a]
and ax, cx
or dx, ax
mov word [r8 + 0x1a], dx
cmp byte [0x18023bf72], dil
je 0x1800d45f5
mov rcx, qword [0x18023d4d0]
mov rax, qword [0x18023ffd0]
mov rdx, qword [rax + rcx]
test rdx, rdx
je 0x1800d45f5
mov rax, qword [0x180240018]
mov dword [rax + rdx], 0x2000
cmp byte [0x18023bf6d], dil
je 0x1800d4623
mov rcx, qword [0x18023d4d0]
mov rax, qword [0x18023ffd0]
mov rdx, qword [rax + rcx]
test rdx, rdx
je 0x1800d4623
mov rax, qword [0x18023ffe8]
mov dword [rax + rdx], 0x42c80000
cmp byte [0x18023bf84], dil
je 0x1800d464d
mov rcx, qword [0x18023d4d0]
mov rax, qword [0x1802400b0]
mov rdx, qword [rax + rcx]
test rdx, rdx
je 0x1800d464d
mov rax, qword [0x1802400a8]
mov dword [rax + rdx], edi
cmp byte [0x18023c16e], dil
mov rax, qword [0x18023d4e0]
je 0x1800d4678
test rax, rax
je 0x1800d468b
mov rax, qword [rax + 0x10]
movss xmm0, dword [0x18023c170]
movss dword [rax + 0x88], xmm0
jmp 0x1800d468b
test rax, rax
je 0x1800d468b
mov rax, qword [rax + 0x10]
mov dword [rax + 0x88], 0x3f800000
mov r8, qword [0x18023ffd8]
mov rax, qword [0x18023d4d0]
mov rdx, qword [r8 + rax]
test rdx, rdx
je 0x1800d47e2
cmp byte [0x18023bfac], dil
je 0x1800d47e2
mov rdx, qword [rdx + 0x20]
test rdx, rdx
je 0x1800d47e2
movzx ecx, byte [0x18023bfb1]
test cl, cl
je 0x1800d46e6
mov rax, qword [r8 + rax - 8]
and cl, 1
add cl, cl
mov byte [rax + 0x78], cl
movzx ecx, byte [0x18023bfb1]
mov r8, qword [0x18023ffd8]
cmp byte [0x18023bfb2], dil
je 0x1800d4703
test cl, cl
jne 0x1800d4703
mov rax, qword [0x18023d4d0]
mov rcx, qword [r8 + rax - 8]
mov byte [rcx + 0x78], 3
cmp byte [0x18023bfad], dil
je 0x1800d4723
mov dword [rdx + 0x20], 5
mov dword [rdx + 0x24], 1
mov byte [0x18024050e], 1
jmp 0x1800d4730
cmp byte [0x18024050e], dil
je 0x1800d4730
mov qword [rdx + 0x20], rdi
cmp byte [0x18023bfae], dil
je 0x1800d4743
mov rax, qword [0x180240020]
mov dword [rax + rdx], edi
cmp byte [0x18023bfc8], dil
je 0x1800d4763
movd xmm0, dword [reloc.WS2_32.dll_accept]
mov rax, qword [0x180240048]
cvtdq2ps xmm0, xmm0
movss dword [rax + rdx], xmm0
cmp byte [0x18023bfaf], dil
je 0x1800d4776
mov rax, qword [0x180240028]
mov dword [rax + rdx], edi
cmp byte [0x18023bfb3], dil
je 0x1800d478d
movzx eax, word [reloc.WLDAP32.dll_Ordinal_50]
mov word [rdx + 0x120], ax
cmp byte [0x18023bfb8], dil
je 0x1800d47c5
mov rcx, qword [0x18023d4d0]
mov rax, qword [0x18023ffd0]
mov r8, qword [rax + rcx]
test r8, r8
je 0x1800d47c5
movd xmm0, dword [reloc.WS2_32.dll_accept]
mov rax, qword [0x180240040]
cvtdq2ps xmm0, xmm0
movss dword [r8 + rax], xmm0
cmp byte [0x18023bfc0], dil
je 0x1800d47e2
mov rax, qword [0x180240030]
movss xmm0, dword [0x18023bfc4]
movss dword [rax + rdx], xmm0
mov rsi, qword [0x18023d4d0]
test rsi, rsi
je 0x1800d4d77
mov rax, qword [0x18023ffe0]
mov rsi, qword [rax + rsi]
test rsi, rsi
je 0x1800d4ab4
movzx eax, byte [0x18023bfd1]
mov byte [rsi + 0x189], al
cmp byte [0x18023bfd3], dil
jne 0x1800d482b
cmp byte [0x18023bfd4], dil
je 0x1800d496a
jmp 0x1800d4838
cmp byte [0x18023bfd4], dil
je 0x1800d4914
movss xmm0, dword [r14]
addss xmm0, dword [0x1801af164]
movaps xmmword [rsp + 0x80], xmm9
movss dword [r14], xmm0
call sub.api_ms_win_crt_math_l1_1_0.dll_sinf
mulss xmm0, dword [0x1801baaec]
addss xmm0, dword [0x1801baaf0]
cvttss2si eax, xmm0
movd xmm9, eax
cvtdq2ps xmm9, xmm9
movss dword [0x18023bfd8], xmm9
movss xmm0, dword [r14]
addss xmm0, dword [0x1801a17c4]
call sub.api_ms_win_crt_math_l1_1_0.dll_sinf
mulss xmm0, dword [0x1801baaec]
addss xmm0, dword [0x1801baaf0]
cvttss2si eax, xmm0
movd xmm6, eax
cvtdq2ps xmm6, xmm6
movss dword [0x18023bfdc], xmm6
movss xmm0, dword [r14]
addss xmm0, dword [0x1801a17cc]
call sub.api_ms_win_crt_math_l1_1_0.dll_sinf
mulss xmm0, dword [0x1801baaec]
lea rcx, [0x18023d940]
mov rdx, rsi
cvttss2si r9d, xmm6
addss xmm0, dword [0x1801baaf0]
cvttss2si r8d, xmm9
cvttss2si eax, xmm0
movd xmm0, eax
cvtdq2ps xmm0, xmm0
cvttss2si eax, xmm0
movss dword [0x18023bfe0], xmm0
mov dword [rsp + 0x20], eax
call fcn.180078290
movaps xmm9, xmmword [rsp + 0x80]
jmp 0x1800d496a
movss xmm2, dword [0x1801a1890]
mov rdx, rsi
movss xmm0, dword [0x18023bfe0]
movss xmm1, dword [0x18023bfd8]
mulss xmm0, xmm2
mulss xmm1, xmm2
cvttss2si eax, xmm0
movss xmm0, dword [0x18023bfdc]
movzx ecx, al
mulss xmm0, xmm2
mov dword [rsp + 0x20], ecx
lea rcx, [0x18023d940]
cvttss2si eax, xmm0
movzx r9d, al
cvttss2si eax, xmm1
movzx r8d, al
call fcn.180078290
cmp byte [0x18023bfd5], dil
je 0x1800d4999
mov eax, dword [0x180240510]
inc eax
mov dword [0x180240510], eax
cmp eax, 0x12c
jl 0x1800d4999
mov rax, qword [0x180240080]
mov byte [rax + rsi], reloc.WS2_32.dll_socket
mov dword [0x180240510], edi
cmp byte [0x18023bfd2], dil
je 0x1800d49b0
mov rax, qword [0x18023fff8]
mov dword [rax + rsi], 0x42820000
cmp byte [0x18023bfea], dil
je 0x1800d49ec
mov ecx, 0x45
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
je 0x1800d49ec
mov rax, qword [0x18023fee8]
mov rcx, rsi
mov rbx, qword [0x1802400e8]
movss xmm6, dword [0x18023bfec]
call rax
movaps xmm1, xmm6
mov rcx, rax
call rbx
cmp byte [0x18023bfeb], dil
je 0x1800d4a20
mov ecx, 0x53
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
je 0x1800d4a20
mov rax, qword [0x18023fee8]
mov rcx, rsi
mov rbx, qword [0x1802400e8]
call rax
mov rcx, rax
xorps xmm1, xmm1
call rbx
cmp byte [0x18023bfe8], dil
je 0x1800d4a34
mov rax, qword [0x180240058]
mov byte [rax + rsi], Ordinal_60
cmp byte [0x18023bfd6], dil
je 0x1800d4a64
cmp byte [0x18023bfd7], dil
mov rax, qword [rsi + 0x20]
je 0x1800d4a58
test rax, rax
je 0x1800d4a7d
mov byte [rax + 0x58b], 0x60
jmp 0x1800d4a7d
test rax, rax
je 0x1800d4a7d
mov byte [rax + 0x58b], 0x40
cmp byte [0x18023bfd7], dil
je 0x1800d4a7d
mov rax, qword [rsi + 0x20]
test rax, rax
je 0x1800d4a7d
mov byte [rax + 0x58b], 0x20
cmp byte [0x18023bfe9], dil
je 0x1800d4a9d
mov rax, qword [0x180240060]
mov dword [rax + rsi], 0x42700000
mov byte [0x180240514], 1
jmp 0x1800d4ab4
cmp byte [0x180240514], dil
je 0x1800d4ab4
mov rax, qword [0x180240060]
mov dword [rax + rsi], 0x411ccccd
cmp byte [0x18023bfd0], dil
je 0x1800d4b1d
mov rax, qword [0x18023d4d8]
mov r9, qword [rax + 0x10]
test r9, r9
je 0x1800d4d77
mov r10, qword [r9 + 0x188]
mov ecx, edi
test r10, r10
je 0x1800d4b1d
mov rdx, rdi
nop dword [rax]
nop word [rax + rax]
mov rax, qword [r9 + 0x180]
mov r8, qword [rdx + rax]
test r8, r8
je 0x1800d4b0f
mov rax, qword [0x180240050]
mov dword [rax + r8], 1
inc ecx
add rdx, 0x10
movsxd rax, ecx
cmp rax, r10
jb 0x1800d4af0
cmp byte [0x18023c08c], dil
jne 0x1800d4b3c
cmp byte [0x18023c08d], dil
jne 0x1800d4b3c
cmp byte [0x18023c08e], dil
je 0x1800d4c81
mov rax, qword [0x18023ff60]
mov r8, qword [rax]
test r8, r8
je 0x1800d4c81
mov r9d, edi
cmp dword [r8 + 0x10], edi
jbe 0x1800d4c81
mov r10, rdi
nop
mov rax, qword [r8 + 8]
mov ecx, r9d
imul ecx, dword [r8 + 0x14]
movzx edx, byte [r10 + rax]
and edx, 0x80
add rcx, qword [r8]
neg rdx
sar rdx, 0x3f
not rdx
and rdx, rcx
je 0x1800d4c71
cmp rdx, qword [0x18023d4d0]
je 0x1800d4c71
mov rax, qword [0x18023ffd0]
cmp qword [rdx + rax], rdi
jne 0x1800d4c71
comiss xmm10, dword [rdx + 0x280]
jae 0x1800d4c71
mov rcx, qword [rdx + 0x30]
test rcx, rcx
je 0x1800d4c71
cmp byte [0x18023c08c], dil
je 0x1800d4bfb
movaps xmm0, xmm10
unpcklps xmm0, xmm10
movsd qword [rdx + 0x90], xmm0
movaps xmm0, xmm10
movss dword [rdx + 0x98], xmm10
unpcklps xmm0, xmm10
movsd qword [rcx + 0x50], xmm0
movss dword [rcx + 0x58], xmm10
cmp byte [0x18023c08d], dil
je 0x1800d4c33
mov rax, qword [0x18023d4d0]
movsd xmm1, qword [rax + 0x90]
mov ecx, dword [rax + 0x98]
mov rax, qword [rdx + 0x30]
movsd qword [rdx + 0x90], xmm1
mov dword [rdx + 0x98], ecx
movsd qword [rax + 0x50], xmm1
mov dword [rax + 0x58], ecx
cmp byte [0x18023c08e], dil
je 0x1800d4c71
mov rax, qword [0x18023d4d0]
movsd xmm1, qword [rax + 0x90]
mov ecx, dword [rax + 0x98]
mov rax, qword [rdx + 0x30]
movsd qword [rdx + 0x90], xmm1
mov dword [rdx + 0x280], edi
mov dword [rdx + 0x98], ecx
movsd qword [rax + 0x50], xmm1
mov dword [rax + 0x58], ecx
inc r9d
inc r10
cmp r9d, dword [r8 + 0x10]
jb 0x1800d4b60
cmp byte [0x18023c08b], dil
je 0x1800d4d77
mov rax, qword [0x18023d4d8]
mov r14, qword [rax]
test r14, r14
je 0x1800d4d77
mov r14, qword [r14 + 0x28]
test r14, r14
je 0x1800d4d77
mov qword [rsp + 0xa0], r15
mov r15, qword [r14 + 0x160]
test r15, r15
je 0x1800d4d6f
movss xmm6, dword [0x1801a7f44]
mov rsi, rdi
nop dword [rax]
nop word [rax + rax]
mov rax, qword [r14 + 0x158]
mov rbx, qword [rsi + rax]
test rbx, rbx
je 0x1800d4d5d
mov rax, qword [0x18023d4d0]
movss xmm0, dword [rax + 0x98]
subss xmm0, dword [rbx + 0x98]
movss xmm1, dword [rax + 0x90]
movss xmm2, dword [rax + 0x94]
subss xmm2, dword [rbx + 0x94]
subss xmm1, dword [rbx + 0x90]
mulss xmm0, xmm0
mulss xmm2, xmm2
mulss xmm1, xmm1
addss xmm2, xmm1
addss xmm2, xmm0
xorps xmm0, xmm0
ucomiss xmm0, xmm2
ja 0x1800d4d4c
xorps xmm0, xmm0
sqrtss xmm0, xmm2
jmp 0x1800d4d54
movaps xmm0, xmm2
call sub.api_ms_win_crt_math_l1_1_0.dll_sqrtf
comiss xmm6, xmm0
jbe 0x1800d4d5d
mov byte [rbx + 0x2c], 1
inc edi
add rsi, 0x10
movsxd rax, edi
cmp rax, r15
jb 0x1800d4ce0
mov r15, qword [rsp + 0xa0]
mov rsi, qword [rsp + 0xd0]
movaps xmm10, xmmword [rsp + 0x70]
mov rbx, qword [rsp + 0xc8]
movaps xmm6, xmmword [rsp + 0x90]
mov rdi, qword [rsp + 0xd8]
add rsp, 0xa8
pop r14
pop rbp
ret
lea rcx, [0x180240504]
call fcn.18019d5f4
cmp dword [0x180240504], 0xffffffff
jne 0x1800d42d4
lea rcx, [0x180240504]
mov qword [0x1802404f8], rdi
mov dword [0x180240500], edi
call fcn.18019d588
jmp 0x1800d42d4