Function at 0x14004be20
Capabilities:
Encode data using xor

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rsi
mov qword [rsp + 0x18], rdi
push rbp
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x37]
sub rsp, 0x100
mov rax, qword [0x1400cd080]
xor rax, rsp
mov qword [rbp + 0x27], rax
xorps xmm0, xmm0
movups xmmword [rbp - 1], xmm0
lea rcx, [rbp + 0x5f]
movabs rax, 0xff0f0ff0f0ff00f
mov qword [rbp + 7], rax
mov qword [rbp + 0xf], rcx
mov rsi, qword [rcx]
xor rsi, rax
mov qword [rbp - 1], rsi
xor ebx, ebx
mov qword [rcx], rbx
xor edx, edx
mov cl, 0x4d
call fcn.140048c80
movzx r9d, al
mov byte [rsp + 0x48], al
lea edx, [rbx + 1]
mov cl, 0x65
call fcn.140048c80
movzx r10d, al
mov byte [rbp - 0x80], al
lea edx, [rbx + 2]
mov cl, 0x64
call fcn.140048c80
movzx r11d, al
mov byte [rbp - 0x7f], al
lea edx, [rbx + 3]
mov cl, 0x61
call fcn.140048c80
movzx edi, al
mov byte [rbp - 0x7e], al
lea edx, [rbx + 4]
mov cl, 0x6c
call fcn.140048c80
movzx r14d, al
mov byte [rbp - 0x7d], al
lea edx, [rbx + 5]
mov cl, reloc.WLDAP32.dll_Ordinal_79
call fcn.140048c80
movzx r15d, al
mov byte [rbp - 0x7c], al
lea edx, [rbx + 6]
mov cl, 0x76
call fcn.140048c80
movzx r12d, al
mov byte [rbp - 0x7b], al
lea edx, [rbx + 7]
mov cl, 0x65
call fcn.140048c80
movzx r13d, al
mov byte [rbp - 0x7a], al
lea edx, [rbx + 8]
mov cl, WSAStartup
call fcn.140048c80
mov byte [rbp - 0x71], al
mov byte [rbp - 0x79], al
lea edx, [rbx + 9]
mov cl, 0x6c
call fcn.140048c80
mov byte [rbp - 0x70], al
mov byte [rbp - 0x78], al
lea edx, [rbx + 0xa]
mov cl, 0x61
call fcn.140048c80
mov byte [rbp - 0x6f], al
mov byte [rbp - 0x77], al
lea edx, [rbx + 0xb]
mov cl, 0x79
call fcn.140048c80
mov byte [rsp + 0x40], al
mov byte [rbp - 0x76], al
xor eax, eax
mov byte [rbp - 0x75], al
mov r8d, ebx
nop
movsxd rcx, r8d
lea rdx, [rsp + 0x48]
add rdx, rcx
lea ecx, [r8 + 0x51]
xor byte [rdx], cl
inc r8d
cmp r8d, 0xc
jb 0x14004bf50
mov byte [rbp - 0x75], al
mov byte [rbp - 0x69], r9b
mov byte [rbp - 0x68], r10b
mov byte [rbp - 0x67], r11b
mov byte [rbp - 0x66], dil
mov byte [rbp - 0x65], r14b
mov byte [rbp - 0x64], r15b
mov byte [rbp - 0x63], r12b
mov byte [rbp - 0x62], r13b
movzx eax, byte [rbp - 0x71]
mov byte [rbp - 0x61], al
movzx eax, byte [rbp - 0x70]
mov byte [rbp - 0x60], al
movzx eax, byte [rbp - 0x6f]
mov byte [rbp - 0x5f], al
movzx eax, byte [rsp + 0x40]
mov byte [rbp - 0x5e], al
mov edx, recv
mov cl, 0x43
call fcn.140048c80
mov byte [rbp - 0x5d], al
mov edx, reloc.WS2_32.dll_listen
mov cl, 0x6c
call fcn.140048c80
mov byte [rbp - 0x5c], al
mov edx, reloc.WS2_32.dll_ntohl
mov cl, 0x61
call fcn.140048c80
mov byte [rbp - 0x5b], al
mov edx, reloc.WS2_32.dll_ntohs
mov cl, reloc.WS2_32.dll_WSAStartup
call fcn.140048c80
mov byte [rbp - 0x5a], al
mov edx, reloc.WS2_32.dll_recv
call fcn.140048c80
mov byte [rbp - 0x59], al
xor eax, eax
mov byte [rbp - 0x58], al
mov edx, ebx
nop word [rax + rax]
movsxd rax, edx
lea rcx, [rbp - 0x69]
add rcx, rax
lea eax, [rdx + 0x51]
xor byte [rcx], al
inc edx
cmp edx, 0x11
jb 0x14004c000
mov byte [rbp - 0x58], 0
xorps xmm0, xmm0
movups xmmword [rbp - 0x19], xmm0
lea r14, [rbp + 0x5f]
movabs r13, 0xff0f0ff0f0ff00f
mov qword [rbp - 0x11], r13
mov qword [rbp - 9], r14
mov rdi, qword [r14]
mov rax, rdi
xor rax, r13
mov qword [rbp - 0x19], rax
mov rax, qword [0x1400f39e0]
lea rdx, [rsp + 0x48]
lea rcx, [rbp - 0x69]
call rax
nop
mov qword [r14], rdi
mov qword [0x1400f38a0], rax
test rax, rax
jne 0x14004c3ba
mov byte [rsp + 0x40], al
xor edx, edx
mov cl, 0x7b
call fcn.140048c80
mov byte [rbp - 0x51], al
mov edx, 1
mov cl, reloc.WLDAP32.dll_Ordinal_33
call fcn.140048c80
mov byte [rbp - 0x50], al
mov edx, 2
mov cl, 0x7d
call fcn.140048c80
mov byte [rbp - 0x4f], al
mov edx, 3
mov cl, reloc.WLDAP32.dll_Ordinal_32
call fcn.140048c80
mov byte [rbp - 0x4e], al
mov edx, 4
mov cl, 0x46
call fcn.140048c80
mov byte [rbp - 0x4d], al
mov edx, 5
mov cl, 0x61
call fcn.140048c80
mov byte [rbp - 0x4c], al
mov edx, 6
mov cl, 0x69
call fcn.140048c80
mov byte [rbp - 0x4b], al
mov edx, 7
mov cl, 0x6c
call fcn.140048c80
mov byte [rbp - 0x4a], al
mov edx, 8
mov cl, 0x65
call fcn.140048c80
mov byte [rbp - 0x49], al
mov edx, 9
mov cl, 0x64
call fcn.140048c80
mov byte [rbp - 0x48], al
mov edx, 0xa
mov cl, reloc.WLDAP32.dll_Ordinal_32
call fcn.140048c80
mov byte [rbp - 0x47], al
mov edx, ntohl
mov cl, 0x54
call fcn.140048c80
mov byte [rbp - 0x46], al
mov edx, recv
mov cl, reloc.WS2_32.dll_WSAGetLastError
call fcn.140048c80
mov byte [rbp - 0x45], al
mov edx, reloc.WS2_32.dll_listen
mov cl, reloc.WLDAP32.dll_Ordinal_32
call fcn.140048c80
mov byte [rbp - 0x44], al
mov edx, reloc.WS2_32.dll_ntohl
mov cl, 0x66
call fcn.140048c80
mov byte [rbp - 0x43], al
mov edx, reloc.WS2_32.dll_ntohs
mov cl, 0x69
call fcn.140048c80
mov byte [rbp - 0x42], al
mov edx, reloc.WS2_32.dll_recv
mov cl, WSAGetLastError
call fcn.140048c80
mov byte [rbp - 0x41], al
mov edx, reloc.WS2_32.dll_recvfrom
mov cl, 0x64
call fcn.140048c80
mov byte [rbp - 0x40], al
mov edx, reloc.WS2_32.dll_select
mov cl, reloc.WLDAP32.dll_Ordinal_32
call fcn.140048c80
mov byte [rbp - 0x3f], al
mov edx, reloc.WS2_32.dll_send
mov cl, 0x4d
call fcn.140048c80
mov byte [rbp - 0x3e], al
mov edx, reloc.WS2_32.dll_sendto
mov cl, 0x65
call fcn.140048c80
mov byte [rbp - 0x3d], al
mov edx, reloc.WS2_32.dll_setsockopt
mov cl, 0x64
call fcn.140048c80
mov byte [rbp - 0x3c], al
mov edx, reloc.WLDAP32.dll_Ordinal_22
mov cl, 0x61
call fcn.140048c80
mov byte [rbp - 0x3b], al
mov edx, reloc.WS2_32.dll_socket
mov cl, 0x6c
call fcn.140048c80
mov byte [rbp - 0x3a], al
mov edx, Ordinal_26
mov cl, reloc.WLDAP32.dll_Ordinal_32
call fcn.140048c80
mov byte [rbp - 0x39], al
mov edx, Ordinal_26
mov cl, 0x7c
call fcn.140048c80
mov byte [rbp - 0x38], al
mov edx, reloc.WLDAP32.dll_Ordinal_26
mov cl, reloc.WLDAP32.dll_Ordinal_32
call fcn.140048c80
mov byte [rbp - 0x37], al
mov edx, reloc.WLDAP32.dll_Ordinal_27
mov cl, reloc.WLDAP32.dll_Ordinal_79
call fcn.140048c80
mov byte [rbp - 0x36], al
mov edx, Ordinal_32
mov cl, reloc.WS2_32.dll_WSASetLastError
call fcn.140048c80
mov byte [rbp - 0x35], al
mov edx, Ordinal_32
mov cl, 0x65
call fcn.140048c80
mov byte [rbp - 0x34], al
mov edx, reloc.WLDAP32.dll_Ordinal_30
mov cl, WSAGetLastError
call fcn.140048c80
mov byte [rbp - 0x33], al
mov edx, Ordinal_32
mov cl, reloc.WLDAP32.dll_Ordinal_32
call fcn.140048c80
mov byte [rbp - 0x32], al
mov edx, reloc.WLDAP32.dll_Ordinal_32
mov cl, 0x54
call fcn.140048c80
mov byte [rbp - 0x31], al
mov edx, reloc.WLDAP32.dll_Ordinal_33
mov cl, 0x69
call fcn.140048c80
mov byte [rbp - 0x30], al
mov edx, Ordinal_35
mov cl, 0x63
call fcn.140048c80
mov byte [rbp - 0x2f], al
mov edx, reloc.WLDAP32.dll_Ordinal_35
mov cl, 0x6b
call fcn.140048c80
mov byte [rbp - 0x2e], al
mov edx, 0x24
mov cl, reloc.WS2_32.dll_WSACleanup
call fcn.140048c80
mov byte [rbp - 0x2d], al
mov edx, Ordinal_41
mov cl, 0x65
call fcn.140048c80
mov byte [rbp - 0x2c], al
mov edx, Ordinal_41
mov cl, reloc.WLDAP32.dll_Ordinal_32
call fcn.140048c80
mov byte [rbp - 0x2b], al
mov edx, Ordinal_41
mov cl, 0x46
call fcn.140048c80
mov byte [rbp - 0x2a], al
mov edx, Ordinal_41
mov cl, reloc.WS2_32.dll_WSAGetLastError
call fcn.140048c80
mov byte [rbp - 0x29], al
mov edx, reloc.WLDAP32.dll_Ordinal_41
mov cl, WSAStartup
call fcn.140048c80
mov byte [rbp - 0x28], al
mov edx, Ordinal_46
mov cl, reloc.WLDAP32.dll_Ordinal_32
call fcn.140048c80
mov byte [rbp - 0x27], al
mov edx, Ordinal_46
mov cl, reloc.WS2_32.dll_WSAStartup
call fcn.140048c80
mov byte [rbp - 0x26], al
mov edx, Ordinal_46
mov cl, 0x75
call fcn.140048c80
mov byte [rbp - 0x25], al
mov edx, reloc.WLDAP32.dll_Ordinal_45
mov cl, reloc.WS2_32.dll_WSASetLastError
call fcn.140048c80
mov byte [rbp - 0x24], al
mov edx, reloc.WLDAP32.dll_Ordinal_46
mov cl, reloc.WS2_32.dll_WSAGetLastError
call fcn.140048c80
mov byte [rbp - 0x23], al
mov edx, Ordinal_50
mov cl, WSAStartup
call fcn.140048c80
mov byte [rbp - 0x22], al
mov edx, Ordinal_50
mov cl, reloc.WS2_32.dll_WSACleanup
call fcn.140048c80
mov byte [rbp - 0x21], al
xor eax, eax
mov byte [rbp - 0x20], al
nop
movsxd rax, ebx
lea rcx, [rbp - 0x51]
add rcx, rax
lea eax, [rbx + 0x51]
xor byte [rcx], al
inc ebx
cmp ebx, 0x31
jb 0x14004c350
mov byte [rbp - 0x20], 0
mov r9d, 0x40
lea r8, [rsp + 0x40]
lea rdx, [rbp - 0x51]
xor ecx, ecx
call qword [sym.imp.USER32.dll_MessageBoxA]
xor al, al
xor rsi, r13
lea rcx, [rbp + 0x5f]
mov qword [rcx], rsi
mov rcx, qword [rbp + 0x27]
xor rcx, rsp
call fcn.1400a69c0
lea r11, [rsp + 0x100]
mov rbx, qword [r11 + 0x30]
mov rsi, qword [r11 + 0x38]
mov rdi, qword [r11 + 0x40]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rbp
ret
xor ecx, ecx
call qword [sym.imp.USER32.dll_GetSystemMetrics]
mov r14d, eax
mov ecx, 1
call qword [sym.imp.USER32.dll_GetSystemMetrics]
mov r15d, eax
xorps xmm0, xmm0
movups xmmword [rbp - 0x19], xmm0
lea r12, [rbp + 0x5f]
mov qword [rbp - 0x11], r13
mov qword [rbp - 9], r12
mov rdi, qword [r12]
mov rdx, rdi
xor rdx, r13
mov qword [rbp - 0x19], rdx
mov qword [r12], rbx
mov rax, qword [0x1400f39d8]
mov r9d, 2
mov r8b, 0xff
xor edx, edx
mov rcx, qword [0x1400f38a0]
call rax
nop
mov qword [r12], rdi
test eax, eax
je 0x14004c381
mov edx, 0xffffffec
mov rcx, qword [0x1400f38a0]
call qword [sym.imp.USER32.dll_GetWindowLongA]
mov r8d, eax
or r8d, 0x20
xorps xmm0, xmm0
movups xmmword [rbp - 0x19], xmm0
lea r12, [rbp + 0x5f]
mov qword [rbp - 0x11], r13
mov qword [rbp - 9], r12
mov rdi, qword [r12]
mov rax, rdi
xor rax, r13
mov qword [rbp - 0x19], rax
mov qword [r12], rbx
mov rax, qword [0x1400f3918]
mov edx, 0xffffffec
mov rcx, qword [0x1400f38a0]
call rax
nop
mov qword [r12], rdi
test eax, eax
je 0x14004c381
movdqa xmm0, xmmword [0x1400becb0]
movdqu xmmword [rbp + 0x17], xmm0
lea rdx, [rbp + 0x17]
mov rcx, qword [0x1400f38a0]
call qword [sym.imp.dwmapi.dll_DwmExtendFrameIntoClientArea]
test eax, eax
jne 0x14004c381
xorps xmm0, xmm0
movups xmmword [rbp - 0x19], xmm0
lea r12, [rbp + 0x5f]
mov qword [rbp - 0x11], r13
mov qword [rbp - 9], r12
mov rdi, qword [r12]
mov rax, rdi
xor rax, r13
mov qword [rbp - 0x19], rax
mov qword [r12], rbx
mov rax, qword [0x1400f39c8]
mov dword [rsp + 0x30], 0x40
mov dword [rsp + 0x28], r15d
mov dword [rsp + 0x20], r14d
xor r9d, r9d
xor r8d, r8d
lea rdx, [r9 - 1]
mov rcx, qword [0x1400f38a0]
call rax
nop
mov qword [r12], rdi
test eax, eax
je 0x14004c381
xor edx, edx
mov cl, 0x41
call fcn.140048c80
mov byte [rsp + 0x48], al
mov edx, 1
mov cl, 0x58
call fcn.140048c80
mov byte [rbp - 0x80], al
mov edx, 2
mov cl, 0x43
call fcn.140048c80
mov byte [rbp - 0x7f], al
mov edx, 3
mov cl, 0x41
call fcn.140048c80
mov byte [rbp - 0x7e], al
mov edx, 4
mov cl, 0x58
call fcn.140048c80
mov byte [rbp - 0x7d], al
mov edx, 5
mov cl, 0x43
call fcn.140048c80
mov byte [rbp - 0x7c], al
mov edx, 6
mov cl, 0x41
call fcn.140048c80
mov byte [rbp - 0x7b], al
mov edx, 7
mov cl, 0x58
call fcn.140048c80
mov byte [rbp - 0x7a], al
mov edx, 8
mov cl, 0x43
call fcn.140048c80
mov byte [rbp - 0x79], al
mov edx, 9
mov cl, 0xa
call fcn.140048c80
mov byte [rbp - 0x78], al
xor eax, eax
mov byte [rbp - 0x77], al
mov edx, ebx
nop
movsxd rax, edx
lea rcx, [rsp + 0x48]
add rcx, rax
lea eax, [rdx + 0x51]
xor byte [rcx], al
inc edx
cmp edx, 0xa
jb 0x14004c5a0
mov byte [rbp - 0x77], 0
lea rcx, [rsp + 0x48]
call fcn.140002400
xorps xmm0, xmm0
movups xmmword [rbp - 0x19], xmm0
lea rcx, [rbp + 0x5f]
mov qword [rbp - 0x11], r13
mov qword [rbp - 9], rcx
mov rax, qword [rcx]
xor rax, r13
mov qword [rbp - 0x19], rax
mov qword [rcx], rbx
mov rcx, qword [0x1400f38a0]
call qword [0x1400f38b8]
nop
mov al, 1
jmp 0x14004c383