Function at 0x14000d220
Capabilities:
Access peb ldr_data
Encode data using xor
Hash data using fnv
Resolve function by parsing pe exports

Disassembly:
mov qword [rsp + 0x18], rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x1f]
sub rsp, 0xb0
mov rax, qword [0x140126240]
xor rax, rsp
mov qword [rbp + 0x17], rax
mov qword [rbp - 0x39], r9
mov qword [rbp - 0x31], rdx
mov qword [rbp - 0x59], rcx
mov rcx, qword [rbp + 0x7f]
mov qword [rbp - 0x41], rcx
test rdx, rdx
je 0x14000d7b1
cmp qword [0x1401df9f8], 0
je 0x14000d7b1
xor r15d, r15d
mov r14d, 0x4992c3fc
mov rax, qword gs:[0x60]
mov rax, qword [rax + 0x18]
mov rax, qword [rax + 0x10]
nop
mov r11, qword [rax + 0x30]
test r11, r11
je 0x14000d468
cmp word [rax + 0x48], 0
je 0x14000d468
movups xmm0, xmmword [rax + 0x58]
movd ecx, xmm0
sub cx, 8
test r15d, r15d
je 0x14000d313
psrldq xmm0, 8
movq r9, xmm0
movzx ecx, cx
shr rcx, 1
lea rbx, [r9 + rcx*2]
mov r10d, 0x18cb55d0
cmp r9, rbx
je 0x14000d30a
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 0x14000d2e0
cmp r10d, r15d
jne 0x14000d468
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 0x14000d468
mov edi, dword [rsi + 0x18]
test edi, edi
je 0x14000d468
mov r8d, dword [rsi + 0x1c]
add r8, r11
mov qword [rbp - 0x51], r8
mov ecx, dword [rsi + 0x24]
add rcx, r11
mov qword [rbp - 0x49], 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 0x14000d38b
lea rcx, [rsi + r13]
cmp rbx, rcx
jae 0x14000d38b
mov r12b, 1
jmp 0x14000d38e
xor r12b, r12b
mov r10d, 0x18cb55d0
movzx ecx, byte [r9]
inc r9
test cl, cl
je 0x14000d3ce
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 0x14000d3a0
mov r8, qword [rbp - 0x51]
cmp r10d, r14d
je 0x14000d3e7
test edi, edi
mov rcx, qword [rbp - 0x49]
mov r9d, dword [rsi + 0x20]
jne 0x14000d360
mov rax, qword [rax]
jmp 0x14000d290
test r12b, r12b
je 0x14000d470
mov r15d, 0x18cb55d0
mov r14d, r15d
movzx edx, byte [rbx]
cmp dl, 0x2e
je 0x14000d427
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 0x14000d401
inc rbx
movzx edx, byte [rbx]
test dl, dl
je 0x14000d457
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 0x14000d431
mov rax, qword gs:[0x60]
mov rax, qword [rax + 0x18]
mov rax, qword [rax + 0x10]
mov rax, qword [rax]
jmp 0x14000d290
test rbx, rbx
je 0x14000d7b1
mov word [rbp - 9], 0xb848
mov word [rbp + 1], 0xe0ff
mov rax, qword [0x1401df9f8]
mov qword [rbp - 7], rax
mov edx, 4
mov rax, qword gs:[0x58]
mov rcx, qword [rax]
mov eax, dword [rdx + rcx]
cmp dword [0x1401dfa5c], eax
jle 0x14000d72b
lea rcx, [0x1401dfa5c]
call fcn.1400ccd50
cmp dword [0x1401dfa5c], 0xffffffff
jne 0x14000d72b
mov al, 0x84
mov dl, 0xa1
mov r8b, 0x93
mov r9b, 0x8f
mov r10b, 0x8e
mov r11b, 0xae
mov dil, 0x9c
mov sil, 0x9e
mov r14b, 0x9d
mov r15b, 0xed
xor r12d, r12d
mov qword [rbp - 0x67], r12
mov dword [rbp - 0x5f], r12d
mov word [rbp - 0x5b], r12w
movzx ecx, al
movzx eax, cl
and al, 0x5d
add al, al
sub cl, al
sub cl, 0x2e
mov byte [rbp - 0x71], cl
movzx ecx, dl
movzx eax, cl
and al, 0x5e
add al, al
sub cl, al
sub cl, 0x2d
mov byte [rbp - 0x70], cl
movzx ecx, r8b
movzx eax, cl
and al, 0x5f
add al, al
sub cl, al
sub cl, 0x2c
mov byte [rbp - 0x6f], cl
movzx ecx, r9b
movzx eax, cl
and al, 0x60
add al, al
sub cl, al
sub cl, 0x2b
mov byte [rbp - 0x6e], cl
movzx ecx, r10b
movzx eax, cl
and al, 0x61
add al, al
sub cl, al
sub cl, 0x2a
mov byte [rbp - 0x6d], cl
movzx ecx, r11b
movzx eax, cl
and al, 0x62
add al, al
sub cl, al
sub cl, 0x29
mov byte [rbp - 0x6c], cl
movzx ecx, dil
movzx eax, cl
and al, 0x63
add al, al
sub cl, al
sub cl, 0x28
mov byte [rbp - 0x6b], cl
movzx ecx, sil
movzx eax, cl
and al, 0x64
add al, al
sub cl, al
sub cl, 0x27
mov byte [rbp - 0x6a], cl
movzx ecx, r14b
movzx eax, cl
and al, 0x65
add al, al
sub cl, al
sub cl, 0x26
mov byte [rbp - 0x69], cl
movzx ecx, r15b
movzx eax, cl
and al, 0x66
add al, al
sub cl, al
sub cl, 0x25
mov byte [rbp - 0x68], cl
movzx ecx, r12b
movzx eax, cl
and al, 0x67
add al, al
sub cl, al
sub cl, 0x24
mov byte [rbp - 0x67], cl
movzx ecx, byte [rbp - 0x66]
movzx eax, cl
and al, 0x68
add al, al
sub cl, al
sub cl, 0x23
mov byte [rbp - 0x66], cl
movzx ecx, byte [rbp - 0x65]
movzx eax, cl
and al, 0x69
add al, al
sub cl, al
sub cl, 0x22
mov byte [rbp - 0x65], cl
movzx ecx, byte [rbp - 0x64]
movzx eax, cl
and al, 0x6a
add al, al
sub cl, al
sub cl, 0x21
mov byte [rbp - 0x64], cl
movzx ecx, byte [rbp - 0x63]
movzx eax, cl
and al, 0x6b
add al, al
sub cl, al
sub cl, 0x20
mov byte [rbp - 0x63], cl
movzx ecx, byte [rbp - 0x62]
movzx eax, cl
and al, 0x6c
add al, al
sub cl, al
sub cl, 0x1f
mov byte [rbp - 0x62], cl
movzx ecx, byte [rbp - 0x61]
movzx eax, cl
and al, 0x6d
add al, al
sub cl, al
sub cl, 0x1e
mov byte [rbp - 0x61], cl
movzx ecx, byte [rbp - 0x60]
movzx eax, cl
and al, 0x6e
add al, al
sub cl, al
sub cl, 0x1d
mov byte [rbp - 0x60], cl
movzx ecx, r12b
movzx eax, cl
and al, 0x6f
add al, al
sub cl, al
sub cl, 0x1c
mov byte [rbp - 0x5f], cl
movzx ecx, byte [rbp - 0x5e]
movzx eax, cl
and al, 0x70
add al, al
sub cl, al
sub cl, 0x1b
mov byte [rbp - 0x5e], cl
movzx ecx, byte [rbp - 0x5d]
movzx eax, cl
and al, 0x71
add al, al
sub cl, al
sub cl, 0x1a
mov byte [rbp - 0x5d], cl
movzx ecx, byte [rbp - 0x5c]
movzx eax, cl
and al, 0x72
add al, al
sub cl, al
sub cl, 0x19
mov byte [rbp - 0x5c], cl
movzx ecx, r12b
movzx eax, cl
and al, 0x73
add al, al
sub cl, al
sub cl, 0x18
mov byte [rbp - 0x5b], cl
movzx ecx, byte [rbp - 0x5a]
mov eax, ecx
movabs rdx, 0xaa5d25eb7e81c874
and rax, rdx
imul rax, rax, 0xfffffffffffffffe
add rax, rdx
add rcx, rax
add cl, 0x75
mov byte [rbp - 0x5a], cl
xorps xmm0, xmm0
movups xmmword [rbp - 0x29], xmm0
xorps xmm1, xmm1
movdqu xmmword [rbp - 0x19], xmm1
lea rax, [rbp - 0x71]
mov r8, 0xffffffffffffffff
inc r8
cmp byte [rax + r8], r12b
jne 0x14000d6e5
lea rdx, [rbp - 0x71]
lea rcx, [rbp - 0x29]
call fcn.14000e180
nop
lea r8, [rbp - 0x29]
mov rdi, qword [rbp - 0x59]
mov rcx, rdi
call fcn.140005340
mov qword [0x1401dfa10], rax
lea rcx, [rbp - 0x29]
call fcn.14000ac00
nop
lea rcx, [0x1401dfa5c]
call fcn.1400ccce4
jmp 0x14000d72f
mov rdi, qword [rbp - 0x59]
mov r8, qword [0x1401dfa10]
test r8, r8
je 0x14000d7b1
mov r9d, recvfrom
lea rdx, [rbp + 7]
mov rcx, rdi
call fcn.140004680
test al, al
je 0x14000d7b1
movzx eax, byte [rbp - 9]
cmp byte [rbp + 7], al
jne 0x14000d775
movzx eax, byte [rbp - 8]
cmp byte [rbp + 8], al
jne 0x14000d775
movzx eax, byte [rbp + 1]
cmp byte [rbp + 0x11], al
jne 0x14000d775
movzx eax, byte [rbp + 2]
cmp byte [rbp + 0x12], al
je 0x14000d7b1
lea r8, [rbp - 9]
mov rdx, qword [0x1401dfa10]
mov rcx, rdi
call fcn.140004730
test al, al
je 0x14000d7b1
mov rdx, qword [rbp - 0x41]
mov rcx, qword [rbp - 0x39]
call rbx
mov rdx, qword [rbp - 0x31]
mov byte [rdx], al
lea r8, [rbp + 7]
mov rdx, qword [0x1401dfa10]
mov rcx, rdi
call fcn.140004730
jmp 0x14000d7b3
xor al, al
mov rcx, qword [rbp + 0x17]
xor rcx, rsp
call fcn.1400ccc80
mov rbx, qword [rsp + 0x100]
add rsp, 0xb0
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret