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

Disassembly:
push rbp
push rbx
push rdi
lea rbp, [rsp - 0x47]
sub rsp, 0xe0
call fcn.140057280
call fcn.1400195c0
mov rbx, qword [0x140246cb0]
lea rdx, [rbp - 0x49]
mov dword [rbp - 0x49], 2
movss xmm1, dword [rbx + 0x37e8]
lea rcx, [rbx + 0x4808]
movss xmm0, dword [rbx + 0x37ec]
movss dword [rbp - 0x45], xmm1
movss dword [rbp - 0x41], xmm0
call fcn.14001b400
mov rax, qword [0x140246cb0]
xor edi, edi
mov qword [rbx + 0x37e8], rdi
or dword [rax + 0x4788], 1
cmp byte [reloc.WS2_32.dll_accept], dil
mov qword [rax + 0x4798], rdi
mov qword [rax + 0x47a0], rdi
mov dword [rax + 0x478c], 1
je 0x140058564
movzx eax, word [0x14021f620]
lea rcx, [rbp + 0x67]
mov word [rbp + 0x67], ax
xor edx, edx
movzx eax, byte [0x14021f622]
mov r8d, Ordinal_45
xor byte [rbp + 0x68], 0x3a
xor al, 0x3b
mov qword [rsp + 0x110], rsi
movaps xmmword [rsp + 0xd0], xmm6
movaps xmmword [rsp + 0xc0], xmm8
mov byte [rbp + 0x69], al
movaps xmmword [rsp + 0xb0], xmm9
mov byte [rbp + 0x67], 0x55
call fcn.14000e330
mov ecx, 1
call fcn.140005200
mov rbx, qword [0x140246cb0]
lea rdx, [0x140245710]
xor r8d, r8d
mov rcx, qword [rbx + 0x3eb0]
call fcn.1400111c0
movss xmm0, dword [rbx + 0x380c]
lea rcx, [rbx + 0x4808]
movss xmm6, dword [rbx + 0x37f0]
lea rdx, [rbp - 0x49]
movss dword [rbp - 0x45], xmm0
mov dword [rbp - 0x49], 7
call fcn.14001b400
movss dword [rbx + 0x380c], xmm6
lea rdx, [rbp - 0x49]
mov rbx, qword [0x140246cb0]
mov dword [rbp - 0x49], reloc.WS2_32.dll_ntohl
movss xmm1, dword [rbx + 0x382c]
lea rcx, [rbx + 0x4808]
movss xmm0, dword [rbx + 0x3830]
movss dword [rbp - 0x45], xmm1
movss dword [rbp - 0x41], xmm0
call fcn.14001b400
mov eax, dword [str.Q_ZXXL_]
xor edx, edx
movzx ecx, word [0x14021f768]
mov dword [rbp + 0x67], eax
xor byte [rbp + 0x68], 0x3a
xor byte [rbp + 0x69], 0x3b
xor byte [rbp + 0x6a], 0x3c
movzx eax, byte [0x14021f76a]
mov word [rbp + 0x6b], cx
xor al, 0x3f
xor byte [rbp + 0x6c], 0x3e
xor cl, 0x3d
mov qword [rbx + 0x382c], rdi
mov rbx, qword [0x140246cb0]
mov byte [rbp + 0x6d], al
mov byte [rbp + 0x6b], cl
lea rcx, [rbp + 0x67]
mov byte [rbp + 0x67], 0x68
mov rax, qword [rbx + 0x3eb0]
mov dword [rbp + 0x6f], 0xbf800000
mov dword [rbp + 0x73], 0x42700000
mov byte [rax + 0xb0], 1
mov r8, qword [rbx + 0x3eb0]
movsxd rax, dword [r8 + 0xe8]
mov r8, qword [r8 + 0xf0]
mov r8d, dword [r8 + rax*4 - 4]
call fcn.1400049d0
mov esi, eax
cmp dword [rbx + 0x3ef8], eax
jne 0x140057ef6
lea r8, [rbp + 0x67]
mov edx, ntohl
mov ecx, eax
call fcn.14001ac20
xor r9d, r9d
mov dword [rsp + 0x20], edi
lea r8, [rbp + 0x6f]
mov edx, esi
lea rcx, [rbp + 0x67]
call fcn.14000b5c0
cmp byte [0x14021f53d], dil
mov rcx, qword [0x140246cb0]
movsd xmm0, qword [str.jYBPQ_]
movsd qword [rbp - 0x39], xmm0
mov rax, qword [rcx + 0x3eb0]
mov byte [rax + 0xb0], 1
mov rax, qword [rcx + 0x3eb0]
mov ecx, dword [str.__06F]
mov esi, dword [reloc.WS2_32.dll_accept]
mov dword [rbp - 0x31], ecx
mov r10, qword [rax + 0x290]
movss xmm8, dword [rax + 0x18]
movss xmm9, dword [rax + 0x1c]
movzx eax, word [0x14021f53c]
mov word [rbp - 0x2d], ax
je 0x140058114
mov r8d, edi
cmp esi, 2
jl 0x1400580ca
movdqa xmm2, xmmword [0x14021f9d0]
mov r8d, recv
movdqa xmm5, xmmword [0x14021fd80]
movdqa xmm1, xmm2
movdqa xmm3, xmmword [0x14021fa00]
movdqa xmm0, xmm2
punpckhdq xmm0, xmm2
movdqa xmm6, xmmword [0x14021fa30]
movdqa xmm4, xmmword [0x14021fa90]
punpckldq xmm1, xmm2
pmuldq xmm0, xmm5
pmuldq xmm1, xmm5
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm2
psrad xmm1, 5
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm6
psubd xmm2, xmm0
movd xmm0, dword [str.jYBPQ_]
andps xmm2, xmm4
packuswb xmm2, xmm2
packuswb xmm2, xmm2
paddb xmm2, xmmword [str.9999999999999999]
xorps xmm2, xmm0
movd dword [rbp - 0x39], xmm2
movdqa xmm2, xmmword [0x14021f9f0]
movdqa xmm1, xmm2
movdqa xmm0, xmm2
punpckhdq xmm0, xmm2
punpckldq xmm1, xmm2
pmuldq xmm0, xmm5
pmuldq xmm1, xmm5
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm2
psrad xmm1, 5
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
movdqa xmm1, xmm3
pmulld xmm0, xmm6
psubd xmm2, xmm0
punpckldq xmm1, xmm3
movd xmm0, dword [rbp - 0x35]
andps xmm2, xmm4
packuswb xmm2, xmm2
pmuldq xmm1, xmm5
packuswb xmm2, xmm2
paddb xmm2, xmmword [str.9999999999999999]
xorps xmm2, xmm0
movdqa xmm0, xmm3
punpckhdq xmm0, xmm3
pmuldq xmm0, xmm5
movd dword [rbp - 0x35], xmm2
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm3
psrad xmm1, 5
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm6
psubd xmm3, xmm0
movd xmm0, ecx
andps xmm3, xmm4
packuswb xmm3, xmm3
packuswb xmm3, xmm3
paddb xmm3, xmmword [str.9999999999999999]
xorps xmm3, xmm0
movd dword [rbp - 0x31], xmm3
mov eax, r8d
lea r9, [rbp - 0x39]
add r9, rax
nop dword [rax]
nop dword [rax + rax]
mov eax, 0x8d3dcb09
lea r9, [r9 + 1]
imul r8d
add edx, r8d
sar edx, 5
mov eax, edx
shr eax, 0x1f
add edx, eax
movsx eax, dl
imul ecx, eax, 0x3a
movzx eax, r8b
inc r8d
sub al, cl
add al, 0x39
xor byte [r9 - 1], al
cmp r8d, 0xe
jl 0x1400580e0
movdqa xmm0, xmmword [0x14021fd30]
lea rcx, [rbp - 0x49]
movups xmmword [rbp - 0x49], xmm0
call fcn.140004ea0
mov r8d, eax
xorps xmm6, xmm6
addss xmm8, dword [0x14021f898]
addss xmm9, dword [0x14021f8a4]
movss dword [rbp + 0x67], xmm8
movaps xmm8, xmmword [rsp + 0xc0]
movss dword [rbp + 0x6b], xmm9
movaps xmm9, xmmword [rsp + 0xb0]
test eax, 0xff000000
je 0x1400581d9
lea rcx, [rbp - 0x39]
mov rax, 0xffffffffffffffff
inc rax
cmp byte [rcx + rax], dil
jne 0x140058171
lea rcx, [rbp - 0x39]
add rcx, rax
lea rax, [rbp - 0x39]
cmp rax, rcx
je 0x1400581d9
mov rax, qword [r10 + 0x38]
lea r9, [rbp + 0x67]
movups xmm0, xmmword [r10 + 0x88]
mov rdx, r10
mov byte [rsp + 0x48], dil
movss xmm2, dword [0x14021f8b0]
movss dword [rsp + 0x40], xmm6
mov qword [rsp + 0x38], rcx
lea rcx, [rbp - 0x39]
mov qword [rsp + 0x30], rcx
lea rcx, [rbp - 0x49]
mov qword [rsp + 0x28], rcx
mov rcx, qword [rax + 8]
movups xmmword [rbp - 0x49], xmm0
mov dword [rsp + 0x20], r8d
call fcn.1400228d0
movss xmm1, dword [0x14021f8e8]
movaps xmm0, xmm6
call fcn.140013bf0
xor ecx, ecx
call fcn.140033fc0
movaps xmm1, xmm6
movaps xmm0, xmm6
call fcn.140013bf0
mov ecx, 1
call fcn.140033fc0
movaps xmm1, xmm6
movaps xmm0, xmm6
call fcn.140013bf0
mov ecx, 2
call fcn.140033fc0
movaps xmm1, xmm6
movaps xmm0, xmm6
call fcn.140013bf0
call fcn.14000b900
mov ecx, 2
call fcn.140005200
mov rbx, qword [0x140246cb0]
lea rdx, [rbp - 0x49]
movss xmm6, dword [0x1402497d8]
mov dword [rbp - 0x49], edi
movss xmm0, dword [rbx + 0x37e0]
lea rcx, [rbx + 0x4808]
movss dword [rbp - 0x45], xmm0
call fcn.14001b400
movss dword [rbx + 0x37e0], xmm6
lea rdx, [rbp - 0x49]
mov rbx, qword [0x140246cb0]
mov dword [rbp - 0x49], 2
movss xmm1, dword [rbx + 0x37e8]
lea rcx, [rbx + 0x4808]
movss xmm0, dword [rbx + 0x37ec]
movss dword [rbp - 0x45], xmm1
movss dword [rbp - 0x41], xmm0
call fcn.14001b400
lea rax, vtable.std::_Func_impl_no_alloc_class__void___cdecl_render_menu::render_void_::_6::_lambda_4___void___.0
mov dword [rbx + 0x37e8], 0x41a00000
mov qword [rbp - 0x29], rax
lea rdx, [rbp - 0x29]
lea rax, [rbp - 0x29]
mov dword [rbx + 0x37ec], 0x41a00000
xor ecx, ecx
mov qword [rbp + 0xf], rax
call fcn.140034c10
lea rax, vtable.std::_Func_impl_no_alloc_class__void___cdecl_render_menu::render_void_::_6::_lambda_5___void___.0
mov ecx, 1
mov qword [rbp - 0x29], rax
lea rdx, [rbp - 0x29]
lea rax, [rbp - 0x29]
mov qword [rbp + 0xf], rax
call fcn.140034c10
lea rax, vtable.std::_Func_impl_no_alloc_class__void___cdecl_render_menu::render_void_::_6::_lambda_6___void___.0
mov ecx, 2
mov qword [rbp - 0x29], rax
lea rdx, [rbp - 0x29]
lea rax, [rbp - 0x29]
mov qword [rbp + 0xf], rax
call fcn.140034c10
cmp byte [0x14021f557], dil
mov rax, qword [str.ZUUHXPK_jSWYSJ]
mov qword [rbp + 0x67], rax
mov dword [rbp + 0x6f], 0xbf800000
mov dword [rbp + 0x73], 0xbf800000
je 0x140058467
cmp esi, 2
jl 0x140058430
movdqa xmm3, xmmword [0x14021f9d0]
movdqa xmm2, xmmword [0x14021f9f0]
movdqa xmm1, xmm3
movdqa xmm5, xmmword [0x14021fd80]
movdqa xmm0, xmm3
mov eax, dword [str.9999999999999999]
punpckhdq xmm0, xmm3
punpckldq xmm1, xmm3
pmuldq xmm0, xmm5
pmuldq xmm1, xmm5
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm3
psrad xmm1, 5
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
movd xmm1, dword [rbp + 0x67]
pmulld xmm0, xmmword [0x14021fa30]
psubd xmm3, xmm0
movd xmm0, eax
andps xmm3, xmmword [0x14021fa90]
packuswb xmm3, xmm3
packuswb xmm3, xmm3
paddb xmm3, xmm0
movdqa xmm0, xmm2
punpckhdq xmm0, xmm2
xorps xmm3, xmm1
movdqa xmm1, xmm2
pmuldq xmm0, xmm5
punpckldq xmm1, xmm2
pmuldq xmm1, xmm5
movd dword [rbp + 0x67], xmm3
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm2
psrad xmm1, 5
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
movd xmm1, dword [rbp + 0x6b]
pmulld xmm0, xmmword [0x14021fa30]
psubd xmm2, xmm0
movd xmm0, eax
andps xmm2, xmmword [0x14021fa90]
packuswb xmm2, xmm2
packuswb xmm2, xmm2
paddb xmm2, xmm0
xorps xmm2, xmm1
movd dword [rbp + 0x6b], xmm2
jmp 0x140058467
lea r8, [rbp + 0x67]
nop dword [rax]
nop dword [rax + rax]
mov eax, 0x8d3dcb09
lea r8, [r8 + 1]
mul edi
shr edx, 5
movsx eax, dl
imul ecx, eax, 0x3a
movzx eax, dil
inc edi
sub al, cl
add al, 0x39
xor byte [r8 - 1], al
cmp edi, 8
jl 0x140058440
mov rbx, qword [0x140246cb0]
lea rcx, [rbp + 0x67]
xor edx, edx
mov rax, qword [rbx + 0x3eb0]
mov byte [rax + 0xb0], 1
mov r8, qword [rbx + 0x3eb0]
movsxd rax, dword [r8 + 0xe8]
mov r8, qword [r8 + 0xf0]
mov r8d, dword [r8 + rax*4 - 4]
call fcn.1400049d0
mov edi, eax
movaps xmm6, xmmword [rsp + 0xd0]
mov rsi, qword [rsp + 0x110]
cmp dword [rbx + 0x3ef8], eax
jne 0x1400584cb
lea r8, [rbp + 0x67]
mov edx, ntohl
mov ecx, eax
call fcn.14001ac20
xor r9d, r9d
mov dword [rsp + 0x20], 0x10080
lea r8, [rbp + 0x6f]
mov edx, edi
lea rcx, [rbp + 0x67]
call fcn.14000b5c0
mov ecx, 1
call fcn.140005200
movsxd rax, dword [0x1402497dc]
mov rdx, qword [0x1402499a0]
lea rcx, [rax + rax*8]
mov r8, qword [rdx + rcx*8 + 0x10]
mov rax, qword [rdx + rcx*8 + 0x18]
sub rax, r8
sar rax, 6
test rax, rax
je 0x14005853c
movsxd rcx, dword [rdx + rcx*8 + 0x40]
cmp rax, rcx
jbe 0x14005853c
shl rcx, 6
mov rcx, qword [rcx + r8 + 0x38]
test rcx, rcx
jne 0x140058536
call qword [sym.imp.MSVCP140.dll_void___cdecl_std::_Xbad_function_call_void_]
int3
mov rax, qword [rcx]
call qword [rax + reloc.WS2_32.dll_recv]
call fcn.14000b900
mov ecx, 1
call fcn.140005200
mov rcx, qword [0x140249880]
mov edx, 0xa
call qword [sym.imp.USER32.dll_ShowWindow]
call fcn.140010910
jmp 0x140058573
mov rcx, qword [0x140249880]
xor edx, edx
call qword [sym.imp.USER32.dll_ShowWindow]
mov ecx, reloc.WLDAP32.dll_Ordinal_45
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test al, 1
je 0x140058590
cmp byte [reloc.WS2_32.dll_accept], 0
sete byte [0x14024403c]
movss xmm1, dword [0x1402497d8]
movss xmm0, dword [0x14023a144]
subss xmm0, xmm1
mulss xmm0, dword [0x14021f7a8]
addss xmm1, xmm0
movss xmm0, dword [0x14021f774]
comiss xmm0, xmm1
movss dword [0x1402497d8], xmm1
jbe 0x1400585db
mov eax, dword [0x140249a10]
mov dword [0x1402497dc], eax
mov dword [0x14023a144], 0x3f800000
add rsp, 0xe0
pop rdi
pop rbx
pop rbp
ret