Function at 0x14000d2e0
Capabilities:
Access peb ldr_data
Encode data using xor

Disassembly:
mov qword [rsp + 8], rbx
push rdi
sub rsp, 0x40
mov rbx, rdx
mov rdi, rcx
test rdx, rdx
je 0x140005e4e
mov ecx, 4
mov rax, qword gs:[0x58]
mov r8, qword [rax]
mov eax, dword [rcx + r8]
cmp dword [0x1401e6ad0], eax
jle 0x140005e2f
lea rcx, [0x1401e6ad0]
call fcn.1400d0d80
cmp dword [0x1401e6ad0], 0xffffffff
jne 0x140005e2f
xorps xmm0, xmm0
movups xmmword [rsp + 0x20], xmm0
xorps xmm1, xmm1
movdqu xmmword [rsp + 0x30], xmm1
mov r8d, reloc.WS2_32.dll_setsockopt
lea rdx, str.ExReleaseResourceLite
lea rcx, [rsp + 0x20]
call fcn.14000e8a0
nop
lea r8, [rsp + 0x20]
mov rcx, rdi
call fcn.140005700
mov qword [0x1401e6a78], rax
lea rcx, [rsp + 0x20]
call fcn.14000b0b0
nop
lea rcx, [0x1401e6ad0]
call fcn.1400d0d14
cmp qword [0x1401e6a78], 0
je 0x140005e4e
mov r9, rbx
mov rcx, rdi
mov rbx, qword [rsp + 0x50]
add rsp, 0x40
pop rdi
jmp 0x14000d2e0
xor al, al
mov rbx, qword [rsp + 0x50]
add rsp, 0x40
pop rdi
ret
mov qword [rsp + 0x10], rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x27]
sub rsp, 0xb0
mov rax, qword [0x14012d240]
xor rax, rsp
mov qword [rbp + 0x17], rax
mov qword [rbp - 0x31], r9
mov qword [rbp - 0x49], rcx
cmp qword [0x1401e6a78], 0
je 0x14000d894
xor r15d, r15d
mov r14d, 0xd2a6e2af
mov rax, qword gs:[0x60]
mov rax, qword [rax + 0x18]
mov rax, qword [rax + 0x10]
nop word [rax + rax]
mov r11, qword [rax + 0x30]
test r11, r11
je 0x14000d518
cmp word [rax + 0x48], 0
je 0x14000d518
movups xmm0, xmmword [rax + 0x58]
movd ecx, xmm0
sub cx, 8
test r15d, r15d
je 0x14000d3c3
psrldq xmm0, 8
movq r9, xmm0
movzx ecx, cx
shr rcx, 1
lea rbx, [r9 + rcx*2]
mov r10d, 0xd98b4dbd
cmp r9, rbx
je 0x14000d3ba
nop dword [rax + rax]
movsx ecx, byte [r9]
mov edx, ecx
sub cl, 0x41
mov r8d, edx
or r8d, 0x20
cmp cl, 0x19
cmova r8d, edx
xor r8d, r10d
imul r10d, r8d, 0x1000193
add r9, 2
cmp r9, rbx
jne 0x14000d390
cmp r10d, r15d
jne 0x14000d518
movsxd rcx, dword [r11 + 0x3c]
mov rdx, qword [rcx + r11 + 0x88]
mov r13, rdx
shr r13, 0x20
mov esi, edx
add rsi, r11
cmp rsi, r11
je 0x14000d518
mov edi, dword [rsi + 0x18]
test edi, edi
je 0x14000d518
mov r8d, dword [rsi + 0x1c]
add r8, r11
mov qword [rbp - 0x41], r8
mov ecx, dword [rsi + 0x24]
add rcx, r11
mov qword [rbp - 0x39], rcx
mov r9d, dword [rsi + 0x20]
nop dword [rax + rax]
dec edi
movzx ecx, word [rcx + rdi*2]
mov ebx, dword [r8 + rcx*4]
add rbx, r11
lea rcx, [r9 + rdi*4]
mov r9d, dword [rcx + r11]
add r9, r11
cmp rbx, rsi
jbe 0x14000d43b
lea rcx, [rsi + r13]
cmp rbx, rcx
jae 0x14000d43b
mov r12b, 1
jmp 0x14000d43e
xor r12b, r12b
mov r10d, 0xd98b4dbd
movzx ecx, byte [r9]
inc r9
test cl, cl
je 0x14000d47e
nop
movsx edx, cl
sub cl, 0x41
mov r8d, edx
or r8d, 0x20
cmp cl, 0x19
cmova r8d, edx
xor r8d, r10d
imul r10d, r8d, 0x1000193
movzx ecx, byte [r9]
lea r9, [r9 + 1]
test cl, cl
jne 0x14000d450
mov r8, qword [rbp - 0x41]
cmp r10d, r14d
je 0x14000d497
test edi, edi
mov rcx, qword [rbp - 0x39]
mov r9d, dword [rsi + 0x20]
jne 0x14000d410
mov rax, qword [rax]
jmp 0x14000d340
test r12b, r12b
je 0x14000d520
mov r15d, 0xd98b4dbd
mov r14d, r15d
movzx edx, byte [rbx]
cmp dl, 0x2e
je 0x14000d4d7
movsx eax, dl
sub dl, 0x41
mov ecx, eax
or ecx, 0x20
cmp dl, 0x19
cmova ecx, eax
xor ecx, r15d
imul r15d, ecx, 0x1000193
inc rbx
movzx edx, byte [rbx]
cmp dl, 0x2e
jne 0x14000d4b1
inc rbx
movzx edx, byte [rbx]
test dl, dl
je 0x14000d507
movsx eax, dl
sub dl, 0x41
mov ecx, eax
or ecx, 0x20
cmp dl, 0x19
cmova ecx, eax
xor ecx, r14d
imul r14d, ecx, 0x1000193
lea rbx, [rbx + 1]
movzx edx, byte [rbx]
test dl, dl
jne 0x14000d4e1
mov rax, qword gs:[0x60]
mov rax, qword [rax + 0x18]
mov rax, qword [rax + 0x10]
mov rax, qword [rax]
jmp 0x14000d340
test rbx, rbx
je 0x14000d894
mov word [rbp - 9], 0xb848
mov word [rbp + 1], 0xe0ff
mov rax, qword [0x1401e6a78]
mov qword [rbp - 7], rax
mov edx, 4
mov rax, qword gs:[0x58]
mov rcx, qword [rax]
mov eax, dword [rdx + rcx]
cmp dword [0x1401e6a98], eax
jle 0x14000d818
lea rcx, [0x1401e6a98]
call fcn.1400d0d80
cmp dword [0x1401e6a98], 0xffffffff
jne 0x14000d818
mov al, 0x50
mov r8b, 0xd
mov r9b, 0x43
mov r10b, 0x3f
mov r11b, 0x3e
mov dil, 0x5e
mov sil, reloc.WS2_32.dll_recv
mov r14b, 0x2e
mov r15b, 0x29
mov r12b, 0x99
xorps xmm0, xmm0
xor r13d, r13d
movups xmmword [rbp - 0x5f], xmm0
mov word [rbp - 0x4f], r13w
movzx edx, al
movzx eax, dl
and al, 0xeb
mov ecx, 0x3f
sub cl, al
add cl, cl
add cl, dl
mov byte [rbp - 0x69], cl
movzx ecx, r8b
movzx eax, cl
and al, 0xec
add al, al
sub cl, al
add cl, 0x7f
mov byte [rbp - 0x68], cl
movzx ecx, r9b
movzx eax, cl
and al, 0xed
add al, al
sub cl, al
add cl, 0x80
mov byte [rbp - 0x67], cl
movzx ecx, r10b
movzx eax, cl
and al, 0xee
add al, al
sub cl, al
sub cl, 0x7f
mov byte [rbp - 0x66], cl
movzx ecx, r11b
movzx eax, cl
and al, 0xef
add al, al
sub cl, al
sub cl, 0x7e
mov byte [rbp - 0x65], cl
movzx ecx, dil
movzx eax, cl
and al, 0xf0
add al, al
sub cl, al
sub cl, 0x7d
mov byte [rbp - 0x64], cl
movzx ecx, sil
movzx eax, cl
and al, 0xf1
add al, al
sub cl, al
sub cl, 0x7c
mov byte [rbp - 0x63], cl
movzx ecx, r14b
movzx eax, cl
and al, 0xf2
add al, al
sub cl, al
sub cl, 0x7b
mov byte [rbp - 0x62], cl
movzx ecx, r15b
movzx eax, cl
and al, 0xf3
add al, al
sub cl, al
sub cl, 0x7a
mov byte [rbp - 0x61], cl
movzx ecx, r12b
movzx eax, cl
and al, 0xf4
add al, al
sub cl, al
sub cl, 0x79
mov byte [rbp - 0x60], cl
movd eax, xmm0
movzx ecx, al
movzx eax, cl
and al, 0xf5
add al, al
sub cl, al
sub cl, 0x78
mov byte [rbp - 0x5f], cl
movzx ecx, byte [rbp - 0x5e]
movzx eax, cl
and al, 0xf6
add al, al
sub cl, al
sub cl, 0x77
mov byte [rbp - 0x5e], cl
movzx ecx, byte [rbp - 0x5d]
movzx eax, cl
and al, 0xf7
add al, al
sub cl, al
sub cl, 0x76
mov byte [rbp - 0x5d], cl
movzx ecx, byte [rbp - 0x5c]
movzx eax, cl
and al, 0xf8
add al, al
sub cl, al
sub cl, 0x75
mov byte [rbp - 0x5c], cl
movzx ecx, byte [rbp - 0x5b]
movzx eax, cl
and al, 0xf9
add al, al
sub cl, al
sub cl, 0x74
mov byte [rbp - 0x5b], cl
movzx ecx, byte [rbp - 0x5a]
movzx eax, cl
and al, 0xfa
add al, al
sub cl, al
sub cl, 0x73
mov byte [rbp - 0x5a], cl
movzx ecx, byte [rbp - 0x59]
movzx eax, cl
and al, 0xfb
add al, al
sub cl, al
sub cl, 0x72
mov byte [rbp - 0x59], cl
movzx ecx, byte [rbp - 0x58]
movzx eax, cl
and al, 0xfc
add al, al
sub cl, al
sub cl, 0x71
mov byte [rbp - 0x58], cl
movzx ecx, byte [rbp - 0x57]
movzx eax, cl
and al, 0xfd
add al, al
sub cl, al
sub cl, 0x70
mov byte [rbp - 0x57], cl
movzx ecx, byte [rbp - 0x56]
movzx eax, cl
and al, 0xfe
add al, al
sub cl, al
sub cl, 0x6f
mov byte [rbp - 0x56], cl
movzx eax, byte [rbp - 0x55]
mov ecx, 0x92
sub cl, al
mov byte [rbp - 0x55], cl
sub byte [rbp - 0x54], 0x6d
movzx ecx, byte [rbp - 0x53]
movzx eax, cl
and al, 1
add al, al
sub cl, al
sub cl, 0x6c
mov byte [rbp - 0x53], cl
movzx ecx, byte [rbp - 0x52]
movzx eax, cl
and al, 2
add al, al
sub cl, al
sub cl, 0x6b
mov byte [rbp - 0x52], cl
movzx ecx, byte [rbp - 0x51]
movzx eax, cl
and al, 3
add al, al
sub cl, al
sub cl, 0x6a
mov byte [rbp - 0x51], cl
movzx ecx, byte [rbp - 0x50]
movzx eax, cl
and al, 4
add al, al
sub cl, al
sub cl, 0x69
mov byte [rbp - 0x50], cl
movzx ecx, r13b
movzx eax, cl
and al, 5
add al, al
sub cl, al
sub cl, 0x68
mov byte [rbp - 0x4f], cl
movzx ecx, byte [rbp - 0x4e]
mov eax, ecx
movabs rdx, 0x9419aaa11bfe806
and rax, rdx
imul rax, rax, 0xfffffffffffffffe
add rax, rdx
add rcx, rax
sub cl, 0x6d
mov byte [rbp - 0x4e], cl
movups xmmword [rbp - 0x29], xmm0
xorps xmm1, xmm1
movdqu xmmword [rbp - 0x19], xmm1
lea rax, [rbp - 0x69]
mov r8, 0xffffffffffffffff
inc r8
cmp byte [rax + r8], r13b
jne 0x14000d7d2
lea rdx, [rbp - 0x69]
lea rcx, [rbp - 0x29]
call fcn.14000e8a0
nop
lea r8, [rbp - 0x29]
mov rdi, qword [rbp - 0x49]
mov rcx, rdi
call fcn.140005700
mov qword [0x1401e6ac0], rax
lea rcx, [rbp - 0x29]
call fcn.14000b0b0
nop
lea rcx, [0x1401e6a98]
call fcn.1400d0d14
jmp 0x14000d81c
mov rdi, qword [rbp - 0x49]
mov r8, qword [0x1401e6ac0]
test r8, r8
je 0x14000d894
mov r9d, recvfrom
lea rdx, [rbp + 7]
mov rcx, rdi
call fcn.140004d20
test al, al
je 0x14000d894
movzx eax, byte [rbp - 9]
cmp byte [rbp + 7], al
jne 0x14000d862
movzx eax, byte [rbp - 8]
cmp byte [rbp + 8], al
jne 0x14000d862
movzx eax, byte [rbp + 1]
cmp byte [rbp + 0x11], al
jne 0x14000d862
movzx eax, byte [rbp + 2]
cmp byte [rbp + 0x12], al
je 0x14000d894
lea r8, [rbp - 9]
mov rdx, qword [0x1401e6ac0]
mov rcx, rdi
call fcn.140004dd0
test al, al
je 0x14000d894
mov rcx, qword [rbp - 0x31]
call rbx
lea r8, [rbp + 7]
mov rdx, qword [0x1401e6ac0]
mov rcx, rdi
call fcn.140004dd0
jmp 0x14000d896
xor al, al
mov rcx, qword [rbp + 0x17]
xor rcx, rsp
call fcn.1400d0cb0
mov rbx, qword [rsp + 0xf8]
add rsp, 0xb0
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret