Function at 0x14004bd50
Capabilities:
Encode data using xor
Hash data using fnv
Log keystrokes via polling

Disassembly:
mov rax, rsp
mov qword [rax + 0x20], rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rax - 0x738]
sub rsp, 0x800
movaps xmmword [rax - 0x48], xmm6
movaps xmmword [rax - 0x58], xmm7
movaps xmmword [rax - 0x68], xmm8
movaps xmmword [rax - 0x78], xmm9
movaps xmmword [rax - 0x88], xmm10
movaps xmmword [rax - 0x98], xmm11
movaps xmmword [rax - 0xa8], xmm12
movaps xmmword [rax - 0xb8], xmm13
movaps xmmword [rax - 0xc8], xmm14
movaps xmmword [rax - 0xd8], xmm15
mov rcx, qword [0x1400eb298]
add rcx, 0x21d1758
call fcn.140054670
mov qword [0x1400e9290], rax
mov rax, qword [0x1400eb720]
mov qword [0x1400eb728], rax
mov rcx, qword [0x1400eb730]
sub rcx, rax
sar rcx, 3
cmp rcx, 0x80
jae 0x14004bdf6
call fcn.140053dc0
mov rbx, qword [0x1400eb298]
add rbx, 0x1e21418
mov edi, 0x81
xor r12d, r12d
nop dword [rax]
mov qword [rbp + 0x740], r12
mov qword [rsp + 0x48], 0xb196a29
mov dword [rsp + 0x40], 0xf932b28
mov qword [rsp + 0x50], rbx
lea rax, [rbp + 0x740]
mov qword [rsp + 0x58], rax
mov qword [rsp + 0x60], 8
mov eax, dword [0x1400eac70]
mov dword [rsp + 0x44], eax
mov qword [rsp + 0x38], r12
mov qword [rsp + 0x30], r12
mov dword [rsp + 0x28], r12d
mov qword [rsp + 0x20], r12
mov r9d, Ordinal_41
lea r8, [rsp + 0x40]
mov edx, 0x30e254a8
mov rcx, qword [0x1400eac68]
call qword [sym.imp.KERNEL32.dll_DeviceIoControl]
mov rax, qword [rbp + 0x740]
mov qword [rbp + 0x740], rax
cmp rax, qword [0x1400e9290]
je 0x14004bec2
test rax, rax
je 0x14004bec2
mov rdx, qword [0x1400eb728]
cmp rdx, qword [0x1400eb730]
je 0x14004beb6
mov qword [rdx], rax
add qword [0x1400eb728], 8
jmp 0x14004bec2
lea r8, [rbp + 0x740]
call fcn.140054b20
add rbx, 0x20
sub rdi, 1
jne 0x14004be10
lea r8, [0x1400eb6b0]
mov rdx, qword [0x1400eb6b8]
mov rcx, qword [0x1400eb6b0]
call fcn.140055150
mov rax, qword [0x1400eb6b0]
mov qword [0x1400eb6b8], rax
mov rax, qword [0x1400eac60]
test rax, rax
je 0x14004bf0d
mov rcx, qword [rax + 0x98]
jmp 0x14004bf10
mov rcx, r12
cmp qword [rcx + 0x18], r12
jne 0x14004bf31
test rax, rax
je 0x14004bf31
mov rcx, qword [rax + 0x98]
test rcx, rcx
je 0x14004bf31
cmp qword [rcx], r12
je 0x14004bf31
call fcn.14002aad0
call fcn.14002b530
call fcn.1400071c0
movss xmm15, dword [0x1400d7840]
mov r14, r12
mov r15d, 0xffffffff
mov dword [rbp + 0x314], Ordinal_33
xor ecx, ecx
call qword [sym.imp.USER32.dll_GetSystemMetrics]
cdq
sub eax, edx
sar eax, 1
mov dword [rbp + 0x31c], eax
lea ecx, [r15 + 2]
call qword [sym.imp.USER32.dll_GetSystemMetrics]
cdq
sub eax, edx
sar eax, 1
mov dword [rbp + 0x320], eax
mov qword [rbp + 0x324], r12
mov qword [rbp + 0x334], r12
xorps xmm8, xmm8
mov dword [rbp + 0x33c], r12d
mov dword [rbp + 0x32c], 0xc350
mov dword [rbp + 0x330], 0xc350
mov rax, qword [0x1400e9290]
add rax, 0x1964
mov dword [rbp + 0x740], r12d
mov qword [rsp + 0x48], 0xb196a29
mov dword [rsp + 0x40], 0xf932b28
mov qword [rsp + 0x50], rax
lea rax, [rbp + 0x740]
mov qword [rsp + 0x58], rax
mov qword [rsp + 0x60], 4
mov eax, dword [0x1400eac70]
mov dword [rsp + 0x44], eax
mov qword [rsp + 0x38], r12
mov qword [rsp + 0x30], r12
mov dword [rsp + 0x28], r12d
mov qword [rsp + 0x20], r12
lea r9d, [r15 + 0x29]
lea r8, [rsp + 0x40]
mov edx, 0x30e254a8
mov rcx, qword [0x1400eac68]
call qword [sym.imp.KERNEL32.dll_DeviceIoControl]
cmp dword [rbp + 0x740], 0xffffff05
setne byte [0x1400ead4c]
mov rcx, qword [0x1400eb298]
add rcx, 0x21d1758
call fcn.140054670
mov qword [0x1400e9290], rax
mov ecx, dword [reloc.WS2_32.dll_accept]
cmp byte [0x1400ead4f], r12b
je 0x14004c119
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
jne 0x14004c07e
mov ecx, dword [reloc.WS2_32.dll_getsockname]
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
je 0x14004c0cd
mov ecx, dword [reloc.WS2_32.dll_bind]
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
jne 0x14004c0cd
mov eax, dword [0x1400e910c]
mov dword [reloc.WLDAP32.dll_Ordinal_60], eax
cmp byte [0x1400ead39], r12b
je 0x14004c0c2
mov edx, dword [0x1400e9110]
mov ecx, dword [reloc.WS2_32.dll_sendto]
call fcn.14004bc40
mov ecx, eax
mov dword [reloc.WS2_32.dll_getsockname], eax
jmp 0x14004c179
mov ecx, dword [reloc.WS2_32.dll_sendto]
jmp 0x14004c173
mov eax, dword [reloc.WLDAP32.dll_Ordinal_50]
mov dword [reloc.WLDAP32.dll_Ordinal_60], eax
cmp byte [0x1400ead39], r12b
je 0x14004c16d
mov ecx, dword [reloc.WS2_32.dll_accept]
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
jne 0x14004c152
mov ecx, dword [reloc.WS2_32.dll_getsockname]
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
je 0x14004c16d
mov ecx, dword [reloc.WS2_32.dll_bind]
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
jmp 0x14004c150
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
jne 0x14004c13d
mov ecx, dword [reloc.WS2_32.dll_getsockname]
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
jne 0x14004c13d
mov ecx, dword [reloc.WS2_32.dll_getsockname]
jmp 0x14004c179
mov eax, dword [reloc.WLDAP32.dll_Ordinal_50]
mov dword [reloc.WLDAP32.dll_Ordinal_60], eax
cmp byte [0x1400ead39], r12b
je 0x14004c16d
mov edx, dword [reloc.WS2_32.dll_sendto]
mov ecx, dword [reloc.WS2_32.dll_ntohs]
call fcn.14004bc40
mov dword [reloc.WS2_32.dll_getsockname], eax
mov ecx, eax
jmp 0x14004c179
mov ecx, dword [reloc.WS2_32.dll_ntohs]
mov dword [reloc.WS2_32.dll_getsockname], ecx
mov eax, dword [reloc.WLDAP32.dll_Ordinal_60]
mov dword [rbp + 0x310], eax
lea eax, [rcx + rcx]
mov dword [rbp + 0x318], eax
cmp byte [0x1400eb2f5], r12b
je 0x14004c19c
call fcn.14004b960
mov rsi, r12
mov rax, qword [0x1400eb728]
sub rax, qword [0x1400eb720]
sar rax, 3
test rax, rax
je 0x14004d15c
movabs r13, 0x100000001b3
movss xmm12, dword [0x1400d77b8]
movss xmm10, dword [0x1400d7878]
movss xmm11, dword [0x1400d7870]
movss xmm9, dword [0x1400d77e8]
movss xmm13, dword [0x1400d787c]
movss xmm14, dword [0x1400d77f8]
movabs rbx, 0xcbf29ce484222325
mov rax, qword [0x1400eb720]
mov rcx, qword [rax + rsi*8]
mov qword [0x1400e91a0], rcx
cmp byte [0x1400eb2ed], 0
je 0x14004c35f
mov dword [rbp + 0x740], r12d
mov qword [rbp + 0x18], 0xb196a29
mov dword [rbp + 0x10], 0xf932b28
lea rax, [rcx + 0x37c]
mov qword [rbp + 0x20], rax
lea rax, [rbp + 0x740]
mov qword [rbp + 0x28], rax
mov qword [rbp + 0x30], 4
mov eax, dword [0x1400eac70]
mov dword [rbp + 0x14], eax
mov qword [rsp + 0x38], r12
mov qword [rsp + 0x30], r12
mov dword [rsp + 0x28], r12d
mov qword [rsp + 0x20], r12
mov r9d, Ordinal_41
lea r8, [rbp + 0x10]
mov edx, 0x30e254a8
mov rcx, qword [0x1400eac68]
call qword [sym.imp.KERNEL32.dll_DeviceIoControl]
mov ebx, dword [rbp + 0x740]
and ebx, 0x80000001
jge 0x14004c2a5
dec ebx
or ebx, 0xfffffffe
inc ebx
mov rcx, qword [0x1400eb298]
add rcx, 0x21d1758
call fcn.140054670
mov dword [rbp + 0x748], r12d
mov qword [rbp + 0x40], 0xb196a29
mov dword [rbp + 0x38], 0xf932b28
add rax, 0x37c
mov qword [rbp + 0x48], rax
lea rax, [rbp + 0x748]
mov qword [rbp + 0x50], rax
mov qword [rbp + 0x58], 4
mov eax, dword [0x1400eac70]
mov dword [rbp + 0x3c], eax
mov qword [rsp + 0x38], r12
mov qword [rsp + 0x30], r12
mov dword [rsp + 0x28], r12d
mov qword [rsp + 0x20], r12
mov r9d, Ordinal_41
lea r8, [rbp + 0x38]
mov edx, 0x30e254a8
mov rcx, qword [0x1400eac68]
call qword [sym.imp.KERNEL32.dll_DeviceIoControl]
mov eax, dword [rbp + 0x748]
and eax, 0x80000001
jge 0x14004c338
dec eax
or eax, 0xfffffffe
inc eax
neg eax
sbb ecx, ecx
add ecx, 2
neg ebx
sbb eax, eax
add eax, 2
cmp eax, ecx
je 0x14004d13e
mov rcx, qword [0x1400e91a0]
movabs rbx, 0xcbf29ce484222325
cmp qword [0x1400e9290], 0
je 0x14004d13e
test rcx, rcx
je 0x14004d13e
add rcx, 0x4b9
call fcn.140054670
mov qword [rsp + 0x40], r12
mov qword [rsp + 0x50], r12
mov qword [rsp + 0x58], reloc.WS2_32.dll_ntohs
mov qword [rbp + 0x68], 0xb196a29
mov dword [rbp + 0x60], 0xf932b28
mov qword [rbp + 0x70], rax
lea rax, [rsp + 0x40]
mov qword [rbp + 0x78], rax
mov qword [rbp + 0x80], reloc.WLDAP32.dll_Ordinal_32
mov eax, dword [0x1400eac70]
mov dword [rbp + 0x64], eax
mov qword [rsp + 0x38], r12
mov qword [rsp + 0x30], r12
mov dword [rsp + 0x28], r12d
mov qword [rsp + 0x20], r12
mov r9d, Ordinal_41
lea r8, [rbp + 0x60]
mov edx, 0x30e254a8
mov rcx, qword [0x1400eac68]
call qword [sym.imp.KERNEL32.dll_DeviceIoControl]
lea rdx, [rsp + 0x40]
mov r10, qword [rsp + 0x58]
cmp r10, 0x10
setae r11b
mov r8, qword [rsp + 0x40]
cmovae rdx, r8
mov rdi, rbx
mov rcx, r12
mov r9, qword [rsp + 0x50]
test r9, r9
je 0x14004c433
movzx eax, byte [rcx + rdx]
xor rdi, rax
imul rdi, r13
inc rcx
cmp rcx, r9
jb 0x14004c420
test r11b, r11b
je 0x14004c469
lea rdx, [r10 + 1]
mov rax, r8
cmp rdx, 0x1000
jb 0x14004c461
add rdx, 0x27
mov r8, qword [r8 - 8]
sub rax, r8
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14004d21c
mov rcx, r8
call fcn.1400b9a6c
mov qword [rsp + 0x40], r12
mov qword [rsp + 0x50], r12
mov qword [rsp + 0x58], reloc.WS2_32.dll_ntohs
mov r8d, 7
lea rdx, str.CPlayer
lea rcx, [rsp + 0x40]
call fcn.14003cf10
lea rdx, [rsp + 0x40]
mov r10, qword [rsp + 0x58]
cmp r10, 0x10
setae r11b
mov r8, qword [rsp + 0x40]
cmovae rdx, r8
mov rcx, r12
mov r9, qword [rsp + 0x50]
test r9, r9
je 0x14004c4d3
nop dword [rax + rax]
movzx eax, byte [rcx + rdx]
xor rbx, rax
imul rbx, r13
inc rcx
cmp rcx, r9
jb 0x14004c4c0
test r11b, r11b
je 0x14004c509
lea rdx, [r10 + 1]
mov rax, r8
cmp rdx, 0x1000
jb 0x14004c501
add rdx, 0x27
mov r8, qword [r8 - 8]
sub rax, r8
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14004d223
mov rcx, r8
call fcn.1400b9a6c
mov qword [rsp + 0x50], r12
mov qword [rsp + 0x58], reloc.WS2_32.dll_ntohs
mov byte [rsp + 0x40], 0
cmp rdi, rbx
je 0x14004d13e
mov rax, qword [0x1400e91a0]
cmp rax, qword [0x1400e9290]
je 0x14004d13e
mov dword [rbp + 0x740], r12d
mov qword [rbp + 0x90], 0xb196a29
mov dword [rbp + 0x88], 0xf932b28
add rax, 0x45c4
mov qword [rbp + 0x98], rax
lea rax, [rbp + 0x740]
mov qword [rbp + 0xa0], rax
mov qword [rbp + 0xa8], 4
mov eax, dword [0x1400eac70]
mov dword [rbp + 0x8c], eax
mov qword [rsp + 0x38], r12
mov qword [rsp + 0x30], r12
mov dword [rsp + 0x28], r12d
mov qword [rsp + 0x20], r12
mov r9d, Ordinal_41
lea r8, [rbp + 0x88]
mov edx, 0x30e254a8
mov rcx, qword [0x1400eac68]
call qword [sym.imp.KERNEL32.dll_DeviceIoControl]
mov eax, dword [rbp + 0x740]
mov dword [0x1400e91d8], eax
mov dword [rbp + 0x750], r12d
mov qword [rbp + 0xb8], 0xb196a29
mov dword [rbp + 0xb0], 0xf932b28
mov rax, qword [0x1400e91a0]
add rax, 0x36c
mov qword [rbp + 0xc0], rax
lea rax, [rbp + 0x750]
mov qword [rbp + 0xc8], rax
mov qword [rbp + 0xd0], 4
mov eax, dword [0x1400eac70]
mov dword [rbp + 0xb4], eax
mov qword [rsp + 0x38], r12
mov qword [rsp + 0x30], r12
mov dword [rsp + 0x28], r12d
mov qword [rsp + 0x20], r12
mov r9d, Ordinal_41
lea r8, [rbp + 0xb0]
mov edx, 0x30e254a8
mov rcx, qword [0x1400eac68]
call qword [sym.imp.KERNEL32.dll_DeviceIoControl]
mov eax, dword [rbp + 0x750]
mov dword [0x1400e91c8], eax
mov dword [rbp + 0x740], r12d
mov qword [rbp + 0xe0], 0xb196a29
mov dword [rbp + 0xd8], 0xf932b28
mov rax, qword [0x1400e91a0]
add rax, 0x4a8
mov qword [rbp + 0xe8], rax
lea rax, [rbp + 0x740]
mov qword [rbp + 0xf0], rax
mov qword [rbp + 0xf8], 4
mov eax, dword [0x1400eac70]
mov dword [rbp + 0xdc], eax
mov qword [rsp + 0x38], r12
mov qword [rsp + 0x30], r12
mov dword [rsp + 0x28], r12d
mov qword [rsp + 0x20], r12
mov r9d, Ordinal_41
lea r8, [rbp + 0xd8]
mov edx, 0x30e254a8
mov rcx, qword [0x1400eac68]
call qword [sym.imp.KERNEL32.dll_DeviceIoControl]
mov eax, dword [rbp + 0x740]
mov dword [0x1400e91cc], eax
mov dword [rbp + 0x750], r12d
mov qword [rbp + 0x108], 0xb196a29
mov dword [rbp + 0x100], 0xf932b28
mov rax, qword [0x1400e91a0]
add rax, 0x1a0
mov qword [rbp + 0x110], rax
lea rax, [rbp + 0x750]
mov qword [rbp + 0x118], rax
mov qword [rbp + 0x120], 4
mov eax, dword [0x1400eac70]
mov dword [rbp + 0x104], eax
mov qword [rsp + 0x38], r12
mov qword [rsp + 0x30], r12
mov dword [rsp + 0x28], r12d
mov qword [rsp + 0x20], r12
mov r9d, Ordinal_41
lea r8, [rbp + 0x100]
mov edx, 0x30e254a8
mov rcx, qword [0x1400eac68]
call qword [sym.imp.KERNEL32.dll_DeviceIoControl]
mov eax, dword [rbp + 0x750]
mov dword [0x1400e91d0], eax
mov dword [rbp + 0x740], r12d
mov qword [rbp + 0x130], 0xb196a29
mov dword [rbp + 0x128], 0xf932b28
mov rax, qword [0x1400e91a0]
add rax, 0x1a4
mov qword [rbp + 0x138], rax
lea rax, [rbp + 0x740]
mov qword [rbp + 0x140], rax
mov qword [rbp + 0x148], 4
mov eax, dword [0x1400eac70]
mov dword [rbp + 0x12c], eax
mov qword [rsp + 0x38], r12
mov qword [rsp + 0x30], r12
mov dword [rsp + 0x28], r12d
mov qword [rsp + 0x20], r12
mov r9d, Ordinal_41
lea r8, [rbp + 0x128]
mov edx, 0x30e254a8
mov rcx, qword [0x1400eac68]
call qword [sym.imp.KERNEL32.dll_DeviceIoControl]
mov eax, dword [rbp + 0x740]
mov dword [0x1400e91d4], eax
mov dword [rbp + 0x750], r12d
mov qword [rbp + 0x158], 0xb196a29
mov dword [rbp + 0x150], 0xf932b28
mov rax, qword [0x1400e91a0]
add rax, 0x1d30
mov qword [rbp + 0x160], rax
lea rax, [rbp + 0x750]
mov qword [rbp + 0x168], rax
mov qword [rbp + 0x170], 4
mov eax, dword [0x1400eac70]
mov dword [rbp + 0x154], eax
mov qword [rsp + 0x38], r12
mov qword [rsp + 0x30], r12
mov dword [rsp + 0x28], r12d
mov qword [rsp + 0x20], r12
mov r9d, Ordinal_41
lea r8, [rbp + 0x150]
mov edx, 0x30e254a8
mov rcx, qword [0x1400eac68]
call qword [sym.imp.KERNEL32.dll_DeviceIoControl]
mov eax, dword [rbp + 0x750]
mov dword [0x1400e91e8], eax
mov dword [rbp + 0x740], r12d
mov qword [rbp + 0x180], 0xb196a29
mov dword [rbp + 0x178], 0xf932b28
mov rax, qword [0x1400e91a0]
add rax, 0x6c8
mov qword [rbp + 0x188], rax
lea rax, [rbp + 0x740]
mov qword [rbp + 0x190], rax
mov qword [rbp + 0x198], 4
mov eax, dword [0x1400eac70]
mov dword [rbp + 0x17c], eax
mov qword [rsp + 0x38], r12
mov qword [rsp + 0x30], r12
mov dword [rsp + 0x28], r12d
mov qword [rsp + 0x20], r12
mov r9d, Ordinal_41
lea r8, [rbp + 0x178]
mov edx, 0x30e254a8
mov rcx, qword [0x1400eac68]
call qword [sym.imp.KERNEL32.dll_DeviceIoControl]
mov eax, r12d
cmp dword [rbp + 0x740], r12d
sete al
mov dword [0x1400e91e4], eax
mov rdx, qword [0x1400e91a0]
add rdx, 0x17c
lea rcx, [rsp + 0x78]
call fcn.1400546f0
movsd xmm0, qword [rsp + 0x78]
movsd qword [0x1400e91ec], xmm0
mov eax, dword [rbp - 0x80]
mov dword [0x1400e91f4], eax
movsd qword [rbp - 0x70], xmm0
mov dword [rbp - 0x68], eax
lea r9, [rbp - 0x70]
mov r8, qword [0x1400e91a0]
lea rdx, [rbp + 0x2c4]
call fcn.1400429d0
movsd xmm0, qword [rax]
movsd qword [0x1400e9204], xmm0
mov eax, dword [rax + 8]
mov dword [0x1400e920c], eax
mov rdx, qword [0x1400e91a0]
add rdx, 0x1e90
lea rcx, [rbp - 0x60]
call fcn.1400546f0
movsd xmm0, qword [rbp - 0x60]
movsd qword [0x1400e91f8], xmm0
mov eax, dword [rbp - 0x58]
mov dword [0x1400e9200], eax
mov rcx, qword [0x1400e91a0]
add rcx, 0x37c
call fcn.140054670
mov dword [0x1400e91e0], eax
mov qword [rbp + 0x750], r12
mov qword [rbp + 0x1a8], 0xb196a29
mov dword [rbp + 0x1a0], 0xf932b28
mov rax, qword [0x1400e91a0]
add rax, 0x24e0
mov qword [rbp + 0x1b0], rax
lea rax, [rbp + 0x750]
mov qword [rbp + 0x1b8], rax
mov qword [rbp + 0x1c0], 8
mov eax, dword [0x1400eac70]
mov dword [rbp + 0x1a4], eax
mov qword [rsp + 0x38], r12
mov qword [rsp + 0x30], r12
mov dword [rsp + 0x28], r12d
mov qword [rsp + 0x20], r12
mov r9d, Ordinal_41
lea r8, [rbp + 0x1a0]
mov edx, 0x30e254a8
mov rcx, qword [0x1400eac68]
call qword [sym.imp.KERNEL32.dll_DeviceIoControl]
movsd xmm0, qword [rbp + 0x750]
movsd qword [0x1400e9210], xmm0
mov dword [rbp + 0x740], r12d
mov qword [rbp + 0x1d0], 0xb196a29
mov dword [rbp + 0x1c8], 0xf932b28
mov rax, qword [0x1400e9290]
add rax, 0x36c
mov qword [rbp + 0x1d8], rax
lea rax, [rbp + 0x740]
mov qword [rbp + 0x1e0], rax
mov qword [rbp + 0x1e8], 4
mov eax, dword [0x1400eac70]
mov dword [rbp + 0x1cc], eax
mov qword [rsp + 0x38], r12
mov qword [rsp + 0x30], r12
mov dword [rsp + 0x28], r12d
mov qword [rsp + 0x20], r12
mov r9d, Ordinal_41
lea r8, [rbp + 0x1c8]
mov edx, 0x30e254a8
mov rcx, qword [0x1400eac68]
call qword [sym.imp.KERNEL32.dll_DeviceIoControl]
mov eax, dword [rbp + 0x740]
mov dword [0x1400e92b8], eax
mov dword [rbp + 0x750], r12d
mov qword [rbp + 0x1f8], 0xb196a29
mov dword [rbp + 0x1f0], 0xf932b28
mov rax, qword [0x1400e9290]
add rax, 0x4a8
mov qword [rbp + 0x200], rax
lea rax, [rbp + 0x750]
mov qword [rbp + 0x208], rax
mov qword [rbp + 0x210], 4
mov eax, dword [0x1400eac70]
mov dword [rbp + 0x1f4], eax
mov qword [rsp + 0x38], r12
mov qword [rsp + 0x30], r12
mov dword [rsp + 0x28], r12d
mov qword [rsp + 0x20], r12
mov r9d, Ordinal_41
lea r8, [rbp + 0x1f0]
mov edx, 0x30e254a8
mov rcx, qword [0x1400eac68]
call qword [sym.imp.KERNEL32.dll_DeviceIoControl]
mov eax, dword [rbp + 0x750]
mov dword [0x1400e92bc], eax
mov dword [rbp + 0x740], r12d
mov qword [rbp + 0x220], 0xb196a29
mov dword [rbp + 0x218], 0xf932b28
mov rax, qword [0x1400e9290]
add rax, 0x1a0
mov qword [rbp + 0x228], rax
lea rax, [rbp + 0x740]
mov qword [rbp + 0x230], rax
mov qword [rbp + 0x238], 4
mov eax, dword [0x1400eac70]
mov dword [rbp + 0x21c], eax
mov qword [rsp + 0x38], r12
mov qword [rsp + 0x30], r12
mov dword [rsp + 0x28], r12d
mov qword [rsp + 0x20], r12
mov r9d, Ordinal_41
lea r8, [rbp + 0x218]
mov edx, 0x30e254a8
mov rcx, qword [0x1400eac68]
call qword [sym.imp.KERNEL32.dll_DeviceIoControl]
mov eax, dword [rbp + 0x740]
mov dword [0x1400e92c0], eax
mov dword [rbp + 0x750], r12d
mov qword [rbp + 0x248], 0xb196a29
mov dword [rbp + 0x240], 0xf932b28
mov rax, qword [0x1400e9290]
add rax, 0x1a4
mov qword [rbp + 0x250], rax
lea rax, [rbp + 0x750]
mov qword [rbp + 0x258], rax
mov qword [rbp + 0x260], 4
mov eax, dword [0x1400eac70]
mov dword [rbp + 0x244], eax
mov qword [rsp + 0x38], r12
mov qword [rsp + 0x30], r12
mov dword [rsp + 0x28], r12d
mov qword [rsp + 0x20], r12
mov r9d, Ordinal_41
lea r8, [rbp + 0x240]
mov edx, 0x30e254a8
mov rcx, qword [0x1400eac68]
call qword [sym.imp.KERNEL32.dll_DeviceIoControl]
mov eax, dword [rbp + 0x750]
mov dword [0x1400e92c4], eax
mov rdx, qword [0x1400e9290]
add rdx, 0x17c
lea rcx, [rbp - 0x54]
call fcn.1400546f0
movsd xmm0, qword [rbp - 0x54]
movsd qword [0x1400e92c8], xmm0
mov eax, dword [rbp - 0x4c]
mov dword [0x1400e92d0], eax
mov rdx, qword [0x1400e9290]
add rdx, 0x1e90
lea rcx, [rbp - 0x48]
call fcn.1400546f0
movsd xmm0, qword [rbp - 0x48]
movsd qword [0x1400e92d4], xmm0
mov eax, dword [rbp - 0x40]
mov dword [0x1400e92dc], eax
mov rcx, qword [0x1400e9290]
add rcx, 0x37c
call fcn.140054670
mov dword [0x1400e92f4], eax
mov qword [rbp + 0x740], r12
mov qword [rbp + 0x270], 0xb196a29
mov dword [rbp + 0x268], 0xf932b28
mov rax, qword [0x1400e9290]
add rax, 0x24e0
mov qword [rbp + 0x278], rax
lea rax, [rbp + 0x740]
mov qword [rbp + 0x280], rax
mov qword [rbp + 0x288], 8
mov eax, dword [0x1400eac70]
mov dword [rbp + 0x26c], eax
mov qword [rsp + 0x38], r12
mov qword [rsp + 0x30], r12
mov dword [rsp + 0x28], r12d
mov qword [rsp + 0x20], r12
mov r9d, Ordinal_41
lea r8, [rbp + 0x268]
mov edx, 0x30e254a8
mov rcx, qword [0x1400eac68]
call qword [sym.imp.KERNEL32.dll_DeviceIoControl]
movss xmm0, dword [rbp + 0x740]
movss dword [0x1400e92e0], xmm0
movss xmm1, dword [rbp + 0x744]
movss dword [0x1400e92e4], xmm1
movsd xmm0, qword [0x1400e92c8]
movsd qword [rbp - 0x30], xmm0
mov eax, dword [0x1400e92d0]
mov dword [rbp - 0x28], eax
lea r9, [rbp - 0x30]
mov r8, qword [0x1400e9290]
lea rdx, [rbp + 0x2b8]
call fcn.1400429d0
movsd xmm0, qword [rax]
movsd qword [0x1400e92e8], xmm0
mov eax, dword [rax + 8]
mov dword [0x1400e92f0], eax
mov eax, dword [0x1400e92f4]
cmp dword [0x1400e91e0], eax
je 0x14004d13e
movaps xmm0, xmmword [0x1400eb310]
movaps xmmword [rbp + 0x2d0], xmm0
movaps xmm1, xmmword [0x1400eb320]
movaps xmmword [rbp + 0x2e0], xmm1
movaps xmm0, xmmword [0x1400eb330]
movaps xmmword [rbp + 0x2f0], xmm0
movaps xmm1, xmmword [0x1400eb340]
movaps xmmword [rbp + 0x300], xmm1
lea r9, [rbp + 0x310]
mov r8d, esi
lea rdx, [rbp + 0x2d0]
mov rcx, qword [0x1400e91a0]
call fcn.140048fc0
cmp byte [0x1400eb2e9], 0
je 0x14004d051
cmp byte [0x1400ead4c], 0
je 0x14004d051
mov r8d, esi
mov rdx, qword [0x1400e91a0]
call fcn.140042c20
test al, al
je 0x14004d051
mov rdx, qword [0x1400e91a0]
lea rcx, [rsp + 0x68]
call fcn.140046580
movss xmm6, dword [rsp + 0x6c]
movss xmm7, dword [rsp + 0x68]
ucomiss xmm8, xmm7
jp 0x14004cf06
jne 0x14004cf06
ucomiss xmm8, xmm6
jp 0x14004cf06
jne 0x14004cf06
ucomiss xmm8, dword [rsp + 0x70]
jp 0x14004cf06
je 0x14004d051
mov qword [rbp + 0x298], 0xb196a29
mov dword [rbp + 0x290], 0xf932b28
mov rax, qword [0x1400e9290]
add rax, 0x24e0
mov qword [rbp + 0x2a0], rax
lea rax, [rbp - 0x20]
mov qword [rbp + 0x2a8], rax
mov qword [rbp + 0x2b0], Ordinal_22
mov eax, dword [0x1400eac70]
mov dword [rbp + 0x294], eax
mov qword [rsp + 0x38], r12
mov qword [rsp + 0x30], r12
mov dword [rsp + 0x28], r12d
mov qword [rsp + 0x20], r12
mov r9d, Ordinal_41
lea r8, [rbp + 0x290]
mov edx, 0x30e254a8
mov rcx, qword [0x1400eac68]
call qword [sym.imp.KERNEL32.dll_DeviceIoControl]
subss xmm7, dword [rbp - 0x20]
subss xmm6, dword [rbp - 0x1c]
comiss xmm7, xmm12
jbe 0x14004cf9f
addss xmm7, xmm10
comiss xmm7, xmm12
ja 0x14004cf94
comiss xmm11, xmm7
jbe 0x14004cfb0
addss xmm7, xmm9
comiss xmm11, xmm7
ja 0x14004cfa5
comiss xmm6, xmm9
jbe 0x14004cfcb
nop word [rax + rax]
addss xmm6, xmm13
comiss xmm6, xmm9
ja 0x14004cfc0
comiss xmm10, xmm6
jbe 0x14004cfdc
addss xmm6, xmm14
comiss xmm10, xmm6
ja 0x14004cfd1
movss xmm1, dword [0x1400d7728]
movaps xmm0, xmm7
call sub.api_ms_win_crt_math_l1_1_0.dll_powf
movaps xmm7, xmm0
movss xmm1, dword [0x1400d7728]
movaps xmm0, xmm6
call sub.api_ms_win_crt_math_l1_1_0.dll_powf
addss xmm7, xmm0
xorps xmm1, xmm1
ucomiss xmm1, xmm7
ja 0x14004d014
xorps xmm0, xmm0
sqrtss xmm0, xmm7
jmp 0x14004d01c
movaps xmm0, xmm7
call sub.api_ms_win_crt_math_l1_1_0.dll_sqrtf
mov eax, 0x66666667
imul dword [reloc.WLDAP32.dll_Ordinal_60]
sar edx, 2
mov eax, edx
shr eax, 0x1f
add edx, eax
movd xmm1, edx
cvtdq2ps xmm1, xmm1
comiss xmm1, xmm0
jbe 0x14004d051
comiss xmm15, xmm0
jbe 0x14004d051
movaps xmm15, xmm0
mov r14, qword [0x1400e91a0]
mov r15d, esi
cmp byte [0x1400eb2e5], 0
je 0x14004d068
mov edx, esi
mov rcx, qword [0x1400e91a0]
call fcn.140046f20
cmp byte [reloc.WS2_32.dll_accept], 0
je 0x14004d13e
movss xmm2, dword [0x1400e91f0]
movss xmm0, dword [0x1400e92c8]
movss xmm1, dword [0x1400e92cc]
movss xmm5, dword [0x1400e92d0]
movaps xmm6, xmm0
subss xmm6, dword [0x1400e91ec]
movaps xmm4, xmm1
subss xmm4, xmm2
subss xmm5, dword [0x1400e91f4]
unpcklps xmm0, xmm1
movsd qword [0x1400e92c8], xmm0
movsd qword [rbp - 0x10], xmm0
mov eax, dword [0x1400e92d0]
mov dword [rbp - 8], eax
movss xmm0, dword [0x1400e91ec]
unpcklps xmm0, xmm2
movsd qword [0x1400e91ec], xmm0
movsd qword [rbp], xmm0
mov eax, dword [0x1400e91f4]
mov dword [rbp + 8], eax
mulss xmm6, xmm6
mulss xmm4, xmm4
addss xmm6, xmm4
mulss xmm5, xmm5
addss xmm6, xmm5
xorps xmm0, xmm0
ucomiss xmm0, xmm6
ja 0x14004d10e
xorps xmm0, xmm0
sqrtss xmm0, xmm6
jmp 0x14004d116
movaps xmm0, xmm6
call sub.api_ms_win_crt_math_l1_1_0.dll_sqrtf
divss xmm0, dword [0x1400d77a8]
cvttss2si eax, xmm0
movd xmm3, eax
cvtdq2ps xmm3, xmm3
movss xmm2, dword [0x1400e92e4]
lea rdx, [rbp - 0x10]
lea rcx, [rbp]
call fcn.140041af0
inc rsi
mov rax, qword [0x1400eb728]
sub rax, qword [0x1400eb720]
sar rax, 3
cmp rsi, rax
jb 0x14004c1fa
cmp byte [0x1400eb2e9], 0
je 0x14004d188
mov rdx, r14
lea rcx, [rbp + 0x2b8]
call fcn.140046580
mov dword [rsp + 0x20], r15d
lea r8, [rbp + 0x310]
mov rcx, r14
call fcn.1400468c0
mov ecx, reloc.WLDAP32.dll_Ordinal_45
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test al, 1
je 0x14004d1a5
cmp byte [0x1400eb2ea], 0
sete byte [0x1400eb2ea]
movss xmm6, dword [0x1400d76f0]
movss xmm9, dword [0x1400d77f4]
movss xmm7, dword [0x1400d76b4]
cmp byte [0x1400eb27d], 0
je 0x14004d346
mov rax, qword [0x1400eac60]
mov rcx, qword [rax + 0x4160]
lea r8, str.Foreground
mov edx, 1
mov rcx, qword [rcx]
call fcn.140005c90
mov rdi, rax
movss xmm1, dword [0x1400e9128]
movss xmm2, dword [0x1400e912c]
movss xmm3, dword [0x1400e9130]
movss xmm4, dword [0x1400e9134]
comiss xmm8, xmm1
jbe 0x14004d22a
movaps xmm0, xmm8
jmp 0x14004d231
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
movaps xmm0, xmm6
minss xmm0, xmm1
mulss xmm0, xmm9
addss xmm0, xmm7
cvttss2si ecx, xmm0
comiss xmm8, xmm2
jbe 0x14004d24a
movaps xmm0, xmm8
jmp 0x14004d251
movaps xmm0, xmm6
minss xmm0, xmm2
mulss xmm0, xmm9
addss xmm0, xmm7
cvttss2si eax, xmm0
shl eax, 8
or ecx, eax
comiss xmm8, xmm3
jbe 0x14004d26f
movaps xmm0, xmm8
jmp 0x14004d276
movaps xmm0, xmm6
minss xmm0, xmm3
mulss xmm0, xmm9
addss xmm0, xmm7
cvttss2si eax, xmm0
shl eax, 0x10
or ecx, eax
comiss xmm8, xmm4
jbe 0x14004d294
movaps xmm0, xmm8
jmp 0x14004d29b
movaps xmm0, xmm6
minss xmm0, xmm4
mulss xmm0, xmm9
addss xmm0, xmm7
cvttss2si ebx, xmm0
shl ebx, 0x18
or ebx, ecx
movd xmm2, dword [reloc.WLDAP32.dll_Ordinal_60]
cvtdq2ps xmm2, xmm2
mov eax, dword [0x1400eaca4]
xorps xmm0, xmm0
cvtsi2ss xmm0, rax
movss dword [rbp + 0x740], xmm0
mov eax, dword [0x1400eac78]
xorps xmm1, xmm1
cvtsi2ss xmm1, rax
movss dword [rbp + 0x744], xmm1
test ebx, 0xff000000
je 0x14004d346
comiss xmm7, xmm2
ja 0x14004d346
subss xmm2, xmm7
mov dword [rsp + 0x28], 0x1ff
movss xmm0, dword [0x1400d7764]
movss dword [rsp + 0x20], xmm0
movaps xmm3, xmm8
lea rdx, [rbp + 0x740]
mov rcx, rdi
call fcn.140023250
movss dword [rsp + 0x28], xmm6
mov dword [rsp + 0x20], 1
mov r9d, ebx
mov r8d, dword [rdi + 0x78]
mov rdx, qword [rdi + 0x80]
mov rcx, rdi
call fcn.1400218c0
mov dword [rdi + 0x78], r12d
cmp byte [0x1400eb2ea], 0
je 0x14004d359
mov dl, 1
movzx ecx, dl
call fcn.140043aa0
call fcn.140009a10
mov rcx, qword [0x1400eb300]
mov rax, qword [rcx]
xor r8d, r8d
lea edx, [r8 + 7]
call qword [rax + 0x1c8]
mov rcx, qword [0x1400eb300]
mov rax, qword [rcx]
xor r8d, r8d
lea edx, [r8 + 0x1b]
call qword [rax + 0x1c8]
mov rcx, qword [0x1400eb300]
mov rax, qword [rcx]
xor r8d, r8d
mov edx, 0xae
call qword [rax + 0x1c8]
mov rcx, qword [0x1400eb300]
mov rax, qword [rcx]
mov dword [rsp + 0x30], r12d
movss dword [rsp + 0x28], xmm6
mov dword [rsp + 0x20], r12d
mov r9d, 1
xor r8d, r8d
xor edx, edx
call qword [rax + 0x158]
cmp byte [reloc.WS2_32.dll_accept], 0
je 0x14004d653
movss xmm1, dword [0x1400e9168]
movss xmm2, dword [0x1400e916c]
movss xmm3, dword [0x1400e9170]
movss xmm4, dword [0x1400e9174]
comiss xmm8, xmm1
jbe 0x14004d408
movaps xmm0, xmm8
jmp 0x14004d40f
movaps xmm0, xmm6
minss xmm0, xmm1
mulss xmm0, xmm9
addss xmm0, xmm7
cvttss2si ebx, xmm0
comiss xmm8, xmm2
jbe 0x14004d428
movaps xmm0, xmm8
jmp 0x14004d42f
movaps xmm0, xmm6
minss xmm0, xmm2
mulss xmm0, xmm9
addss xmm0, xmm7
cvttss2si eax, xmm0
shl eax, 8
or ebx, eax
comiss xmm8, xmm3
jbe 0x14004d44d
movaps xmm0, xmm8
jmp 0x14004d454
movaps xmm0, xmm6
minss xmm0, xmm3
mulss xmm0, xmm9
addss xmm0, xmm7
cvttss2si eax, xmm0
shl eax, 0x10
or ebx, eax
comiss xmm8, xmm4
jbe 0x14004d472
movaps xmm10, xmm8
jmp 0x14004d47b
movaps xmm10, xmm6
minss xmm10, xmm4
mov eax, dword [0x1400eaca4]
xorps xmm1, xmm1
cvtsi2ss xmm1, rax
mov edx, dword [0x1400eac78]
lea ecx, [rdx - 0xa]
xorps xmm2, xmm2
cvtsi2ss xmm2, rcx
movss dword [rbp + 0x740], xmm1
lea ecx, [rdx + 0xa]
xorps xmm0, xmm0
cvtsi2ss xmm0, rcx
movss dword [rbp + 0x744], xmm0
unpcklps xmm1, xmm2
movsd qword [rbp + 0x748], xmm1
mov rax, qword [0x1400eac60]
mov rcx, qword [rax + 0x4160]
lea r8, str.Foreground
mov edx, 1
mov rcx, qword [rcx]
call fcn.140005c90
mulss xmm10, xmm9
addss xmm10, xmm7
cvttss2si r9d, xmm10
shl r9d, 0x18
or r9d, ebx
movss xmm10, dword [0x1400d7708]
movss dword [rsp + 0x20], xmm10
lea r8, [rbp + 0x748]
lea rdx, [rbp + 0x740]
mov rcx, rax
call fcn.140023be0
movss xmm4, dword [0x1400e9168]
movss xmm1, dword [0x1400e916c]
movss xmm2, dword [0x1400e9170]
movss xmm3, dword [0x1400e9174]
comiss xmm8, xmm4
jbe 0x14004d54a
movaps xmm0, xmm8
jmp 0x14004d551
movaps xmm0, xmm6
minss xmm0, xmm4
mulss xmm0, xmm9
addss xmm0, xmm7
cvttss2si ebx, xmm0
comiss xmm8, xmm1
jbe 0x14004d56a
movaps xmm0, xmm8
jmp 0x14004d571
movaps xmm0, xmm6
minss xmm0, xmm1
mulss xmm0, xmm9
addss xmm0, xmm7
cvttss2si eax, xmm0
shl eax, 8
or ebx, eax
comiss xmm8, xmm2
jbe 0x14004d58f
movaps xmm0, xmm8
jmp 0x14004d596
movaps xmm0, xmm6
minss xmm0, xmm2
mulss xmm0, xmm9
addss xmm0, xmm7
cvttss2si eax, xmm0
shl eax, 0x10
or ebx, eax
comiss xmm8, xmm3
ja 0x14004d5b6
minss xmm6, xmm3
movaps xmm8, xmm6
mov r9d, dword [0x1400eaca4]
lea ecx, [r9 - 0xa]
xorps xmm1, xmm1
cvtsi2ss xmm1, rcx
mov eax, dword [0x1400eac78]
xorps xmm2, xmm2
cvtsi2ss xmm2, rax
lea ecx, [r9 + 0xa]
xorps xmm0, xmm0
cvtsi2ss xmm0, rcx
movss dword [rbp + 0x740], xmm0
movss dword [rbp + 0x744], xmm2
unpcklps xmm1, xmm2
movsd qword [rbp + 0x748], xmm1
mov rax, qword [0x1400eac60]
mov rcx, qword [rax + 0x4160]
lea r8, str.Foreground
mov edx, 1
mov rcx, qword [rcx]
call fcn.140005c90
mulss xmm8, xmm9
addss xmm8, xmm7
cvttss2si r9d, xmm8
shl r9d, 0x18
or r9d, ebx
movss dword [rsp + 0x20], xmm10
lea r8, [rbp + 0x748]
lea rdx, [rbp + 0x740]
mov rcx, rax
call fcn.140023be0
mov rcx, qword [0x1400eb300]
mov rax, qword [rcx]
call qword [rax + 0x148]
test eax, eax
js 0x14004d69d
call fcn.140009d50
mov rax, qword [0x1400eac60]
mov rcx, qword [rax + 0x4160]
mov rcx, qword [rcx]
add rcx, 0x48
cmp byte [rcx], 0
cmove rcx, r12
call fcn.14002a400
mov rcx, qword [0x1400eb300]
mov rax, qword [rcx]
call qword [rax + 0x150]
mov rcx, qword [0x1400eb300]
mov rax, qword [rcx]
mov qword [rsp + 0x20], r12
xor r9d, r9d
xor r8d, r8d
xor edx, edx
call qword [rax + 0x88]
cmp eax, 0x88760868
jne 0x14004d77d
mov rcx, qword [0x1400eb300]
mov rax, qword [rcx]
call qword [rax + Ordinal_26]
cmp eax, 0x88760869
jne 0x14004d77d
mov rbx, qword [0x1400eac60]
test rbx, rbx
je 0x14004d743
mov rbx, qword [rbx + 0x98]
test rbx, rbx
je 0x14004d743
cmp qword [rbx], 0
je 0x14004d743
mov rcx, qword [rbx + 8]
test rcx, rcx
je 0x14004d70e
mov rax, qword [rcx]
call qword [rax + reloc.WS2_32.dll_recv]
mov qword [rbx + 8], r12
mov rcx, qword [rbx + 0x10]
test rcx, rcx
je 0x14004d721
mov rax, qword [rcx]
call qword [rax + reloc.WS2_32.dll_recv]
mov qword [rbx + 0x10], r12
mov rcx, qword [rbx + 0x18]
test rcx, rcx
je 0x14004d743
mov rax, qword [rcx]
call qword [rax + reloc.WS2_32.dll_recv]
mov qword [rbx + 0x18], r12
mov rax, qword [0x1400eac60]
mov rcx, qword [rax + 0x50]
mov qword [rcx + 8], r12
mov rcx, qword [0x1400eb300]
mov rax, qword [rcx]
lea rdx, [0x1400eacb0]
call qword [rax + 0x80]
mov rax, qword [0x1400eac60]
test rax, rax
je 0x14004d77d
mov rax, qword [rax + 0x98]
test rax, rax
je 0x14004d77d
cmp qword [rax], 0
je 0x14004d77d
call fcn.14002aad0
lea r11, [rsp + 0x800]
mov rbx, qword [r11 + 0x58]
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]
movaps xmm11, xmmword [r11 - 0x60]
movaps xmm12, xmmword [r11 - 0x70]
movaps xmm13, xmmword [r11 - 0x80]
movaps xmm14, xmmword [r11 - 0x90]
movaps xmm15, xmmword [r11 - 0xa0]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret