Function at 0x14000cce0
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 [0x14012d240]
xor rax, rsp
mov qword [rbp + 0x17], rax
mov qword [rbp - 0x39], r9
mov qword [rbp - 0x31], rdx
mov qword [rbp - 0x51], rcx
test rdx, rdx
je 0x14000d2ac
cmp qword [0x1401e6af8], 0
je 0x14000d2ac
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 0x14000cf28
cmp word [rax + 0x48], 0
je 0x14000cf28
movups xmm0, xmmword [rax + 0x58]
movd ecx, xmm0
sub cx, 8
test r15d, r15d
je 0x14000cdd3
psrldq xmm0, 8
movq r9, xmm0
movzx ecx, cx
shr rcx, 1
lea rbx, [r9 + rcx*2]
mov r10d, 0xd98b4dbd
cmp r9, rbx
je 0x14000cdca
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 0x14000cda0
cmp r10d, r15d
jne 0x14000cf28
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 0x14000cf28
mov edi, dword [rsi + 0x18]
test edi, edi
je 0x14000cf28
mov r8d, dword [rsi + 0x1c]
add r8, r11
mov qword [rbp - 0x49], r8
mov ecx, dword [rsi + 0x24]
add rcx, r11
mov qword [rbp - 0x41], 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 0x14000ce4b
lea rcx, [rsi + r13]
cmp rbx, rcx
jae 0x14000ce4b
mov r12b, 1
jmp 0x14000ce4e
xor r12b, r12b
mov r10d, 0xd98b4dbd
movzx ecx, byte [r9]
inc r9
test cl, cl
je 0x14000ce8e
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 0x14000ce60
mov r8, qword [rbp - 0x49]
cmp r10d, r14d
je 0x14000cea7
test edi, edi
mov rcx, qword [rbp - 0x41]
mov r9d, dword [rsi + 0x20]
jne 0x14000ce20
mov rax, qword [rax]
jmp 0x14000cd50
test r12b, r12b
je 0x14000cf30
mov r15d, 0xd98b4dbd
mov r14d, r15d
movzx edx, byte [rbx]
cmp dl, 0x2e
je 0x14000cee7
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 0x14000cec1
inc rbx
movzx edx, byte [rbx]
test dl, dl
je 0x14000cf17
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 0x14000cef1
mov rax, qword gs:[0x60]
mov rax, qword [rax + 0x18]
mov rax, qword [rax + 0x10]
mov rax, qword [rax]
jmp 0x14000cd50
test rbx, rbx
je 0x14000d2ac
mov word [rbp - 9], 0xb848
mov word [rbp + 1], 0xe0ff
mov rax, qword [0x1401e6af8]
mov qword [rbp - 7], rax
mov edx, 4
mov rax, qword gs:[0x58]
mov rcx, qword [rax]
mov eax, dword [rdx + rcx]
cmp dword [0x1401e6af0], eax
jle 0x14000d228
lea rcx, [0x1401e6af0]
call fcn.1400d0d80
cmp dword [0x1401e6af0], 0xffffffff
jne 0x14000d228
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 - 0x67], xmm0
mov word [rbp - 0x57], 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 - 0x71], cl
movzx ecx, r8b
movzx eax, cl
and al, 0xec
add al, al
sub cl, al
add cl, 0x7f
mov byte [rbp - 0x70], cl
movzx ecx, r9b
movzx eax, cl
and al, 0xed
add al, al
sub cl, al
add cl, 0x80
mov byte [rbp - 0x6f], cl
movzx ecx, r10b
movzx eax, cl
and al, 0xee
add al, al
sub cl, al
sub cl, 0x7f
mov byte [rbp - 0x6e], cl
movzx ecx, r11b
movzx eax, cl
and al, 0xef
add al, al
sub cl, al
sub cl, 0x7e
mov byte [rbp - 0x6d], cl
movzx ecx, dil
movzx eax, cl
and al, 0xf0
add al, al
sub cl, al
sub cl, 0x7d
mov byte [rbp - 0x6c], cl
movzx ecx, sil
movzx eax, cl
and al, 0xf1
add al, al
sub cl, al
sub cl, 0x7c
mov byte [rbp - 0x6b], cl
movzx ecx, r14b
movzx eax, cl
and al, 0xf2
add al, al
sub cl, al
sub cl, 0x7b
mov byte [rbp - 0x6a], cl
movzx ecx, r15b
movzx eax, cl
and al, 0xf3
add al, al
sub cl, al
sub cl, 0x7a
mov byte [rbp - 0x69], cl
movzx ecx, r12b
movzx eax, cl
and al, 0xf4
add al, al
sub cl, al
sub cl, 0x79
mov byte [rbp - 0x68], 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 - 0x67], cl
movzx ecx, byte [rbp - 0x66]
movzx eax, cl
and al, 0xf6
add al, al
sub cl, al
sub cl, 0x77
mov byte [rbp - 0x66], cl
movzx ecx, byte [rbp - 0x65]
movzx eax, cl
and al, 0xf7
add al, al
sub cl, al
sub cl, 0x76
mov byte [rbp - 0x65], cl
movzx ecx, byte [rbp - 0x64]
movzx eax, cl
and al, 0xf8
add al, al
sub cl, al
sub cl, 0x75
mov byte [rbp - 0x64], cl
movzx ecx, byte [rbp - 0x63]
movzx eax, cl
and al, 0xf9
add al, al
sub cl, al
sub cl, 0x74
mov byte [rbp - 0x63], cl
movzx ecx, byte [rbp - 0x62]
movzx eax, cl
and al, 0xfa
add al, al
sub cl, al
sub cl, 0x73
mov byte [rbp - 0x62], cl
movzx ecx, byte [rbp - 0x61]
movzx eax, cl
and al, 0xfb
add al, al
sub cl, al
sub cl, 0x72
mov byte [rbp - 0x61], cl
movzx ecx, byte [rbp - 0x60]
movzx eax, cl
and al, 0xfc
add al, al
sub cl, al
sub cl, 0x71
mov byte [rbp - 0x60], cl
movzx ecx, byte [rbp - 0x5f]
movzx eax, cl
and al, 0xfd
add al, al
sub cl, al
sub cl, 0x70
mov byte [rbp - 0x5f], cl
movzx ecx, byte [rbp - 0x5e]
movzx eax, cl
and al, 0xfe
add al, al
sub cl, al
sub cl, 0x6f
mov byte [rbp - 0x5e], cl
movzx eax, byte [rbp - 0x5d]
mov ecx, 0x92
sub cl, al
mov byte [rbp - 0x5d], cl
sub byte [rbp - 0x5c], 0x6d
movzx ecx, byte [rbp - 0x5b]
movzx eax, cl
and al, 1
add al, al
sub cl, al
sub cl, 0x6c
mov byte [rbp - 0x5b], cl
movzx ecx, byte [rbp - 0x5a]
movzx eax, cl
and al, 2
add al, al
sub cl, al
sub cl, 0x6b
mov byte [rbp - 0x5a], cl
movzx ecx, byte [rbp - 0x59]
movzx eax, cl
and al, 3
add al, al
sub cl, al
sub cl, 0x6a
mov byte [rbp - 0x59], cl
movzx ecx, byte [rbp - 0x58]
movzx eax, cl
and al, 4
add al, al
sub cl, al
sub cl, 0x69
mov byte [rbp - 0x58], cl
movzx ecx, r13b
movzx eax, cl
and al, 5
add al, al
sub cl, al
sub cl, 0x68
mov byte [rbp - 0x57], cl
movzx ecx, byte [rbp - 0x56]
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 - 0x56], cl
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], r13b
jne 0x14000d1e2
lea rdx, [rbp - 0x71]
lea rcx, [rbp - 0x29]
call fcn.14000e8a0
nop
lea r8, [rbp - 0x29]
mov rdi, qword [rbp - 0x51]
mov rcx, rdi
call fcn.140005700
mov qword [0x1401e6a40], rax
lea rcx, [rbp - 0x29]
call fcn.14000b0b0
nop
lea rcx, [0x1401e6af0]
call fcn.1400d0d14
jmp 0x14000d22c
mov rdi, qword [rbp - 0x51]
mov r8, qword [0x1401e6a40]
test r8, r8
je 0x14000d2ac
mov r9d, recvfrom
lea rdx, [rbp + 7]
mov rcx, rdi
call fcn.140004d20
test al, al
je 0x14000d2ac
movzx eax, byte [rbp - 9]
cmp byte [rbp + 7], al
jne 0x14000d272
movzx eax, byte [rbp - 8]
cmp byte [rbp + 8], al
jne 0x14000d272
movzx eax, byte [rbp + 1]
cmp byte [rbp + 0x11], al
jne 0x14000d272
movzx eax, byte [rbp + 2]
cmp byte [rbp + 0x12], al
je 0x14000d2ac
lea r8, [rbp - 9]
mov rdx, qword [0x1401e6a40]
mov rcx, rdi
call fcn.140004dd0
test al, al
je 0x14000d2ac
mov dl, 1
mov rcx, qword [rbp - 0x39]
call rbx
mov rdx, qword [rbp - 0x31]
mov byte [rdx], al
lea r8, [rbp + 7]
mov rdx, qword [0x1401e6a40]
mov rcx, rdi
call fcn.140004dd0
jmp 0x14000d2ae
xor al, al
mov rcx, qword [rbp + 0x17]
xor rcx, rsp
call fcn.1400d0cb0
mov rbx, qword [rsp + 0x100]
add rsp, 0xb0
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret