Function at 0x180004ca0
Capabilities:
Encode data using xor
Resolve function by parsing pe exports

Disassembly:
mov qword [rsp + 8], rbx
push rdi
sub rsp, 0x30
xor edi, edi
xor edx, edx
mov dword [rcx + 8], edi
mov r8d, 0x38f8
mov qword [rcx + 0x48], rdi
mov rbx, rcx
mov qword [rcx + 0xf8], rdi
mov qword [rcx + 0x108], rdi
mov qword [rcx + 0x2ad0], rdi
mov qword [rcx + 0x2ad8], rdi
mov qword [rcx + 0x2ae0], rdi
mov qword [rcx + 0x2ae8], rdi
mov qword [rcx + 0x2af0], rdi
mov qword [rcx + 0x2af8], rdi
mov qword [rcx + 0x2ba0], rdi
mov qword [rcx + 0x2ba8], rdi
call sub.VCRUNTIME140.dll_memset
cmp byte [0x1800b3bdd], dil
lea rax, [rsp + 0x20]
movsd xmm0, qword [0x1800b3bd0]
mov ecx, dword [0x1800b3bd8]
mov qword [rbx + 0x18], rax
movzx eax, word [0x1800b3bdc]
mov word [rsp + 0x2c], ax
mov qword [rbx], rdi
mov dword [rbx + 8], 0xbf800000
mov dword [rbx + 0xc], 0xbf800000
mov dword [rbx + 0x10], 0x3c888889
mov dword [rbx + 0x14], 0x40a00000
movsd qword [rsp + 0x20], xmm0
mov dword [rsp + 0x28], ecx
je 0x180004f01
cmp dword [reloc.WS2_32.dll_accept], 2
mov r8d, edi
jl 0x180004ebd
movdqa xmm5, xmmword [0x1800c23d0]
mov r8d, ntohs
movdqa xmm2, xmmword [0x1800c1fc0]
movdqa xmm3, xmmword [0x1800c1ff0]
movdqa xmm1, xmm2
movdqa xmm4, xmmword [0x1800c2090]
movdqa xmm0, xmm2
punpckhdq xmm0, xmm2
punpckldq xmm1, xmm2
pmuldq xmm0, xmm5
pmuldq xmm1, xmm5
shufps xmm1, xmm0, 0xdd
psrad xmm1, 4
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmmword [0x1800c2040]
psubd xmm2, xmm0
movd xmm0, dword [0x1800b3bd0]
andps xmm2, xmm4
packuswb xmm2, xmm2
packuswb xmm2, xmm2
paddb xmm2, xmmword [0x1800c20f0]
xorps xmm2, xmm0
movd dword [rsp + 0x20], xmm2
movdqa xmm2, xmmword [0x1800c1fe0]
movdqa xmm1, xmm2
movdqa xmm0, xmm2
punpckhdq xmm0, xmm2
punpckldq xmm1, xmm2
pmuldq xmm0, xmm5
pmuldq xmm1, xmm5
shufps xmm1, xmm0, 0xdd
psrad xmm1, 4
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
movdqa xmm1, xmm3
pmulld xmm0, xmmword [0x1800c2040]
psubd xmm2, xmm0
punpckldq xmm1, xmm3
movd xmm0, dword [rsp + 0x24]
andps xmm2, xmm4
packuswb xmm2, xmm2
packuswb xmm2, xmm2
paddb xmm2, xmmword [0x1800c20f0]
xorps xmm2, xmm0
pmuldq xmm1, xmm5
movdqa xmm0, xmm3
movd dword [rsp + 0x24], xmm2
punpckhdq xmm0, xmm3
pmuldq xmm0, xmm5
shufps xmm1, xmm0, 0xdd
psrad xmm1, 4
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmmword [0x1800c2040]
psubd xmm3, xmm0
movd xmm0, ecx
andps xmm3, xmm4
packuswb xmm3, xmm3
packuswb xmm3, xmm3
paddb xmm3, xmmword [0x1800c20f0]
xorps xmm3, xmm0
movd dword [rsp + 0x28], xmm3
mov eax, r8d
lea r9, [rsp + 0x20]
add r9, rax
nop dword [rax + rax]
mov eax, 0x4bda12f7
lea r9, [r9 + 1]
imul r8d
sar edx, 4
mov eax, edx
shr eax, 0x1f
add edx, eax
movsx eax, dl
imul ecx, eax, 0x36
movzx eax, r8b
inc r8d
sub al, cl
add al, 0x31
xor byte [r9 - 1], al
cmp r8d, 0xe
jl 0x180004ed0
lea rax, [rsp + 0x20]
mov edx, 0xffffffff
lea rcx, [rbx + 0x2bb0]
mov qword [rbx + 0x20], rax
mov r8d, 0xa68
call sub.VCRUNTIME140.dll_memset
mov qword [rbx + 0x28], rdi
lea rax, [rbx + 0x130]
mov qword [rbx + 0x30], rdi
mov ecx, 0x29a
mov dword [rbx + 0x38], 0x3f800000
mov qword [rbx + 0x40], rdi
mov byte [rbx + 0x3c], dil
mov dword [rbx + 0x48], 0x3f800000
mov dword [rbx + 0x4c], 0x3f800000
mov dword [rbx + 0x60], 0x3e99999a
mov dword [rbx + 0x64], 0x40c00000
mov dword [rbx + 0x68], 0x40c00000
mov dword [rbx + 0x6c], 0x3e8ccccd
mov dword [rbx + 0x70], 0x3d4ccccd
mov dword [rbx + 0x50], 0x1000000
mov dword [rbx + 0x54], 0x1000001
mov byte [rbx + 0x58], dil
mov dword [rbx + 0x5c], 0x42700000
mov word [rbx + 0x75], di
mov qword [rbx + 0x88], rdi
mov qword [rbx + 0x80], rdi
mov qword [rbx + 0xa0], rdi
mov qword [rbx + 0x98], rdi
mov qword [rbx + 0x90], rdi
mov qword [rbx + 0xc8], rdi
mov word [rbx + 0xd8], reloc.WLDAP32.dll_Ordinal_46
mov dword [rbx + 0x108], 0xff7fffff
mov dword [rbx + 0x10c], 0xff7fffff
mov dword [rbx + 0x2ad0], 0xff7fffff
mov dword [rbx + 0x2ad4], 0xff7fffff
mov dword [rbx + 0x120], edi
mov dword [rbx + 0x2b6c], 0xbf800000
mov dword [rbx + 0x2b58], 0xbf800000
mov dword [rbx + 0x2b70], 0xbf800000
mov dword [rbx + 0x2b5c], 0xbf800000
mov dword [rbx + 0x2b74], 0xbf800000
mov dword [rbx + 0x2b60], 0xbf800000
mov dword [rbx + 0x2b78], 0xbf800000
mov dword [rbx + 0x2b64], 0xbf800000
mov dword [rbx + 0x2b7c], 0xbf800000
mov dword [rbx + 0x2b68], 0xbf800000
nop word [rax + rax]
mov dword [rax + 4], 0xbf800000
mov dword [rax], 0xbf800000
lea rax, [rax + 0x10]
sub rcx, 1
jne 0x180005060
mov word [rbx + 0x2b99], 0xff01
mov rax, rbx
mov byte [rbx + 0x2b9b], 1
mov rbx, qword [rsp + 0x40]
add rsp, 0x30
pop rdi
ret