Function at 0x140040480
Capabilities:
Encode data using xor

Disassembly:
mov qword [rsp + 0x10], rbx
push rdi
sub rsp, 0x30
mov rbx, qword [0x140100c70]
mov rdi, qword [0x140100cb8]
test rbx, rbx
je 0x140028493
inc dword [rbx + 0x3b0]
mov ecx, Ordinal_41
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_malloc]
xor ecx, ecx
mov qword [rsp + 0x40], rax
mov rdx, rax
test rax, rax
je 0x1400284d2
xor eax, eax
mov qword [rdx], rax
mov qword [rdx + 8], rax
mov qword [rdx + 0x10], rax
mov qword [rdx + 0x18], rax
mov qword [rdx + 0x20], rax
mov dword [rdx + 0x20], 0x1388
mov dword [rdx + 0x24], 0x2710
jmp 0x1400284d5
mov rdx, rcx
movdqa xmm0, xmmword [str.E___0_]
movdqu xmmword [rsp + 0x20], xmm0
mov qword [rbx + 0xf0], rdx
nop word [rax + rax]
movzx eax, byte [rsp + 0x20]
xor byte [rsp + rcx + 0x21], al
inc rcx
cmp rcx, 0xe
jb 0x1400284f0
or dword [rbx + 0xc], 8
lea rax, [rsp + 0x21]
mov qword [rbx + 0xe0], rax
mov rcx, rdi
mov qword [rdx], rdi
mov rax, qword [rdi]
call qword [rax + reloc.WS2_32.dll_htonl]
mov rbx, qword [rsp + 0x48]
mov al, 1
add rsp, 0x30
pop rdi
ret
push rbp
mov rbp, rsp
sub rsp, 0x40
mov rax, qword [0x140100c70]
test rax, rax
je 0x14004049b
inc dword [rax + 0x3b0]
mov ecx, 0x3fa8
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_malloc]
mov qword [rbp + 0x10], rax
test rax, rax
je 0x1400404bc
mov rcx, rax
call fcn.1400029f0
mov rcx, rax
jmp 0x1400404be
xor ecx, ecx
mov rax, qword [0x140100c70]
test rax, rax
cmove rax, rcx
mov qword [0x140100c70], rax
call fcn.140008520
mov rax, qword [0x140100c70]
xor ecx, ecx
mov qword [rax + 0x20], 0
call fcn.14001eed0
movups xmm0, xmmword [0x1400a8330]
mov dword [rax + 0x15b4], 0x41200000
mov dword [rax + 0x15f0], 0x41200000
mov dword [rax + 0x1580], 0x41000000
mov dword [rax + 0x1584], 0x3f800000
mov dword [rax + 0x15b8], 0x3f800000
mov dword [rax + 0x1570], 0x3f800000
movups xmmword [rax + 0x1638], xmm0
movups xmm0, xmmword [0x1400a8280]
movups xmmword [rax + 0x1648], xmm0
movups xmm0, xmmword [0x1400a8140]
movups xmmword [rax + 0x1658], xmm0
movups xmm0, xmmword [0x1400a8200]
movups xmmword [rax + 0x1668], xmm0
movups xmm0, xmmword [0x1400a80e0]
movups xmmword [rax + 0x1678], xmm0
movups xmm0, xmmword [0x1400a8170]
movups xmmword [rax + 0x1688], xmm0
xorps xmm0, xmm0
movups xmmword [rax + 0x1698], xmm0
movups xmm0, xmmword [0x1400a8230]
movups xmmword [rax + 0x16a8], xmm0
movups xmm0, xmmword [0x1400a8220]
movups xmmword [rax + 0x16b8], xmm0
movups xmm0, xmmword [0x1400a81b0]
movups xmmword [rax + 0x16c8], xmm0
movups xmm0, xmmword [0x1400a82f0]
movups xmmword [rax + 0x16d8], xmm0
movups xmm0, xmmword [0x1400a82d0]
movups xmmword [rax + 0x16e8], xmm0
movups xmmword [rax + 0x16f8], xmm0
movups xmm0, xmmword [0x1400a8200]
movups xmmword [rax + 0x1708], xmm0
movups xmm0, xmmword [0x1400a8180]
movups xmmword [rax + 0x1718], xmm0
movups xmm0, xmmword [0x1400a81d0]
movups xmmword [rax + 0x1728], xmm0
movups xmm0, xmmword [0x1400a8180]
movups xmmword [rax + 0x1738], xmm0
movups xmm0, xmmword [0x1400a81d0]
movups xmmword [rax + 0x1748], xmm0
movups xmm0, xmmword [0x1400a8150]
movups xmmword [rax + 0x1758], xmm0
movups xmm0, xmmword [0x1400a8190]
movups xmmword [rax + 0x1768], xmm0
movups xmm0, xmmword [0x1400a81a0]
movups xmmword [rax + 0x1778], xmm0
movups xmm0, xmmword [0x1400a8180]
movups xmmword [rax + 0x1788], xmm0
movups xmmword [rax + 0x1798], xmm0
movups xmm0, xmmword [0x1400a81d0]
movups xmmword [rax + 0x17a8], xmm0
movups xmm0, xmmword [0x1400a8070]
movups xmmword [rax + 0x17b8], xmm0
movups xmm0, xmmword [0x1400a80b0]
movups xmmword [rax + 0x17c8], xmm0
movups xmm0, xmmword [0x1400a8320]
movups xmmword [rax + 0x17d8], xmm0
movups xmm0, xmmword [0x1400a8230]
movups xmmword [rax + 0x17e8], xmm0
movups xmm0, xmmword [0x1400a80a0]
movups xmmword [rax + 0x17f8], xmm0
movups xmm0, xmmword [0x1400a82e0]
movups xmmword [rax + 0x1808], xmm0
movups xmm0, xmmword [0x1400a7fe0]
movups xmmword [rax + 0x1818], xmm0
movups xmm0, xmmword [0x1400a8080]
movups xmmword [rax + 0x1828], xmm0
movups xmm0, xmmword [0x1400a80f0]
movups xmmword [rax + 0x1838], xmm0
movups xmm0, xmmword [0x1400a81e0]
movups xmmword [rax + 0x1848], xmm0
movups xmm0, xmmword [0x1400a80b0]
mov dword [rsp + 0x30], 0
mov r9d, 1
xor r8d, r8d
xor edx, edx
movups xmmword [rax + 0x1858], xmm0
movups xmm0, xmmword [0x1400a8230]
movups xmmword [rax + 0x1868], xmm0
movups xmm0, xmmword [0x1400a81e0]
movups xmmword [rax + 0x1878], xmm0
movups xmmword [rax + 0x1888], xmm0
movups xmm0, xmmword [0x1400a82c0]
movups xmmword [rax + 0x1898], xmm0
movups xmm0, xmmword [0x1400a8260]
movups xmmword [rax + 0x18a8], xmm0
movups xmm0, xmmword [0x1400a8130]
movups xmmword [rax + 0x18b8], xmm0
movups xmm0, xmmword [0x1400a8120]
movups xmmword [rax + 0x18c8], xmm0
movups xmm0, xmmword [0x1400a8010]
movups xmmword [rax + 0x1928], xmm0
movups xmm0, xmmword [0x1400a80c0]
movups xmmword [rax + 0x1938], xmm0
movups xmm0, xmmword [0x1400a8320]
movups xmmword [rax + 0x1948], xmm0
movups xmm0, xmmword [0x1400a8090]
movups xmmword [rax + 0x1958], xmm0
movups xmm0, xmmword [0x1400a7fc0]
movups xmmword [rax + 0x1968], xmm0
movups xmm0, xmmword [0x1400a8000]
movups xmmword [rax + 0x1978], xmm0
mov rcx, qword [0x140100cb8]
movss xmm0, dword [0x1400a7cb4]
movss dword [rsp + 0x28], xmm0
mov dword [rsp + 0x20], 0
mov rax, qword [rcx]
call qword [rax + 0x158]
mov rcx, qword [0x140100cb8]
mov edx, 0x44
mov rax, qword [rcx]
call qword [rax + 0x2c8]
mov rcx, qword [0x140100cb8]
xor r8d, r8d
mov edx, 0x89
mov rax, qword [rcx]
call qword [rax + 0x1c8]
mov rcx, qword [0x140100cb8]
xor r8d, r8d
mov rax, qword [rcx]
lea edx, [r8 + 0x1c]
call qword [rax + 0x1c8]
mov rcx, qword [0x140100cb8]
mov edx, reloc.WLDAP32.dll_Ordinal_22
mov rax, qword [rcx]
lea r8d, [rdx - 0x15]
call qword [rax + 0x1c8]
mov rcx, qword [0x140100cb8]
mov edx, 8
mov rax, qword [rcx]
lea r8d, [rdx - 5]
call qword [rax + 0x1c8]
mov rcx, qword [0x140100cb8]
xor r8d, r8d
mov rax, qword [rcx]
lea edx, [r8 + 7]
call qword [rax + 0x1c8]
mov rcx, qword [0x140100cb8]
mov edx, 0xae
mov r8d, 1
mov rax, qword [rcx]
call qword [rax + 0x1c8]
mov rcx, qword [0x140100cb8]
mov edx, reloc.WS2_32.dll_ntohl
mov rax, qword [rcx]
lea r8d, [rdx - 0xd]
call qword [rax + 0x1c8]
mov rcx, qword [0x140100cb8]
xor r8d, r8d
mov rax, qword [rcx]
lea edx, [r8 + 0x34]
call qword [rax + 0x1c8]
mov rcx, qword [0x140100cb8]
mov edx, reloc.WLDAP32.dll_Ordinal_27
mov rax, qword [rcx]
lea r8d, [rdx - 0x1a]
call qword [rax + 0x1c8]
mov rcx, qword [0x140100cb8]
xor r8d, r8d
mov rax, qword [rcx]
lea edx, [r8 + 0xf]
call qword [rax + 0x1c8]
mov rcx, qword [0x140100cb8]
mov edx, 0xce
mov r8d, 1
mov rax, qword [rcx]
call qword [rax + 0x1c8]
mov rcx, qword [0x140100cb8]
mov edx, reloc.WS2_32.dll_send
mov rax, qword [rcx]
lea r8d, [rdx - 0xe]
call qword [rax + 0x1c8]
mov rcx, qword [0x140100cb8]
mov edx, Ordinal_211
mov r8d, 8
mov rax, qword [rcx]
call qword [rax + 0x1c8]
mov rcx, qword [0x140100cb8]
mov edx, reloc.WS2_32.dll_sendto
mov rax, qword [rcx]
lea r8d, [rdx - 0xe]
call qword [rax + 0x1c8]
mov rcx, qword [0x140100cb8]
mov edx, Ordinal_211
mov r8d, 2
mov rax, qword [rcx]
call qword [rax + 0x1c8]
mov rcx, qword [0x140100cb8]
xor r8d, r8d
mov edx, 0xc2
mov rax, qword [rcx]
call qword [rax + 0x1c8]
mov rcx, qword [0x140100cb8]
mov edx, 0xa8
mov r8d, reloc.WS2_32.dll_ntohs
mov rax, qword [rcx]
call qword [rax + 0x1c8]
call fcn.140028960
add rsp, 0x40
pop rbp
jmp 0x140028470