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

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rsi
mov qword [rsp + 0x20], rdi
push rbp
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x7fc0]
mov eax, 0x80c0
call fcn.14006f540
sub rsp, rax
mov rax, qword [0x1400d0780]
xor rax, rsp
mov qword [rbp + 0x7fb0], rax
mov qword [rsp + 0x38], rcx
mov qword [rsp + 0x28], rcx
xor r14d, r14d
mov dword [rsp + 0x40], 0x7fff
mov rax, qword gs:[0x60]
mov rax, qword [rax + 0x18]
mov rax, qword [rax + 0x10]
nop dword [rax]
nop dword [rax + rax]
mov r10, qword [rax + 0x30]
movsxd rcx, dword [r10 + 0x3c]
mov ebx, dword [rcx + r10 + 0x88]
add rbx, r10
cmp rbx, r10
je 0x1400039b6
mov r9d, dword [rbx + 0x18]
test r9d, r9d
je 0x1400039b6
mov edi, dword [rbx + 0x20]
nop dword [rax]
nop dword [rax + rax]
dec r9d
lea rcx, [rdi + r9*4]
mov edx, dword [rcx + r10]
add rdx, r10
mov r8d, 0x7475492
movzx ecx, byte [rdx]
inc rdx
test cl, cl
je 0x1400039b1
nop
movsx ecx, cl
xor ecx, r8d
imul r8d, ecx, 0x1000193
movzx ecx, byte [rdx]
lea rdx, [rdx + 1]
test cl, cl
jne 0x140003990
cmp r8d, 0x3d15840b
je 0x1400039bb
test r9d, r9d
jne 0x140003970
mov rax, qword [rax]
jmp 0x140003940
mov ecx, dword [rbx + 0x1c]
add rcx, r10
mov eax, dword [rbx + 0x24]
add rax, r10
movzx eax, word [rax + r9*2]
mov r8d, dword [rcx + rax*4]
add r8, r10
lea rdx, [rsp + 0x40]
lea rcx, [rbp - 0x50]
call r8
xorps xmm0, xmm0
movups xmmword [rsp + 0x68], xmm0
mov qword [rsp + 0x78], r14
mov qword [rbp - 0x80], r14
lea rax, [rbp - 0x50]
mov rsi, 0xffffffffffffffff
mov r8, rsi
nop
inc r8
cmp byte [rax + r8], r14b
jne 0x140003a00
lea rdx, [rbp - 0x50]
lea rcx, [rsp + 0x68]
call fcn.14000c3b0
nop
mov dword [rsp + 0x40], 0x7fff
mov rax, qword gs:[0x60]
mov rax, qword [rax + 0x18]
mov rax, qword [rax + 0x10]
nop dword [rax]
nop word [rax + rax]
mov r10, qword [rax + 0x30]
movsxd rcx, dword [r10 + 0x3c]
mov ebx, dword [rcx + r10 + 0x88]
add rbx, r10
cmp rbx, r10
je 0x140003ab6
mov r9d, dword [rbx + 0x18]
test r9d, r9d
je 0x140003ab6
mov edi, dword [rbx + 0x20]
nop dword [rax]
nop dword [rax + rax]
dec r9d
lea rcx, [rdi + r9*4]
mov ecx, dword [rcx + r10]
add rcx, r10
mov r8d, 0x984ef49a
movzx edx, byte [rcx]
inc rcx
test dl, dl
je 0x140003ab1
nop
movsx edx, dl
xor edx, r8d
imul r8d, edx, 0x1000193
movzx edx, byte [rcx]
lea rcx, [rcx + 1]
test dl, dl
jne 0x140003a90
cmp r8d, 0x25fb83b9
je 0x140003abb
test r9d, r9d
jne 0x140003a70
mov rax, qword [rax]
jmp 0x140003a40
mov ecx, dword [rbx + 0x1c]
add rcx, r10
mov eax, dword [rbx + 0x24]
add rax, r10
movzx eax, word [rax + r9*2]
mov r8d, dword [rcx + rax*4]
add r8, r10
lea rdx, [rsp + 0x40]
lea rcx, [rbp - 0x50]
call r8
xorps xmm0, xmm0
movups xmmword [rbp - 0x78], xmm0
mov qword [rbp - 0x68], r14
mov qword [rbp - 0x60], r14
lea rax, [rbp - 0x50]
inc rsi
cmp byte [rax + rsi], 0
jne 0x140003af2
mov r8, rsi
lea rdx, [rbp - 0x50]
lea rcx, [rbp - 0x78]
call fcn.14000c3b0
nop
movabs rcx, 0x7fffffffffffffff
mov rax, rcx
mov r15, qword [rsp + 0x78]
sub rax, r15
mov r12, qword [rbp - 0x68]
cmp rax, r12
jb 0x140003d7e
lea rdx, [rsp + 0x68]
mov rsi, qword [rsp + 0x68]
cmp qword [rbp - 0x80], 0xf
cmova rdx, rsi
mov qword [rsp + 0x20], rdx
lea rax, [rbp - 0x78]
mov r14, qword [rbp - 0x78]
mov r13, qword [rbp - 0x60]
cmp r13, 0xf
cmova rax, r14
mov qword [rsp + 0x28], rax
xorps xmm0, xmm0
movups xmmword [rsp + 0x48], xmm0
xor r8d, r8d
mov qword [rsp + 0x58], r8
mov qword [rsp + 0x60], r8
lea rax, [r12 + r15]
mov ebx, reloc.WS2_32.dll_ntohs
lea rdi, [rsp + 0x48]
cmp rax, rbx
jbe 0x140003c0f
mov rbx, rax
or rbx, 0xf
cmp rbx, rcx
jbe 0x140003bc7
mov rbx, rcx
movabs rax, 0x8000000000000000
add rax, 0x27
mov rcx, rax
call fcn.14006ee48
test rax, rax
je 0x140003d84
lea rdi, [rax + 0x27]
and rdi, 0xffffffffffffffe0
mov qword [rdi - 8], rax
jmp 0x140003c01
mov ecx, socket
cmp rbx, rcx
cmovb rbx, rcx
lea rcx, [rbx + 1]
test rcx, rcx
jne 0x140003be1
mov rdi, r8
jmp 0x140003c0a
cmp rcx, 0x1000
jb 0x140003bf9
lea rax, [rcx + 0x27]
cmp rax, rcx
jbe 0x140003d78
jmp 0x140003ba8
call fcn.14006ee48
mov rdi, rax
mov rdx, qword [rsp + 0x20]
lea rax, [r12 + r15]
mov qword [rsp + 0x48], rdi
mov qword [rsp + 0x58], rax
mov qword [rsp + 0x60], rbx
mov r8, r15
mov rcx, rdi
call fcn.14009e590
lea rcx, [r15 + rdi]
mov r8, r12
mov rdx, qword [rsp + 0x28]
call fcn.14009e590
lea rax, [r12 + r15]
mov byte [rdi + rax], 0
xor edx, edx
mov r8d, 0xf8c9
mov ecx, edx
mov rdi, qword [rsp + 0x60]
mov rbx, qword [rsp + 0x48]
mov r9, qword [rsp + 0x58]
test r9, r9
je 0x140003c86
nop dword [rax + rax]
lea rax, [rsp + 0x48]
cmp rdi, 0xf
cmova rax, rbx
movsx eax, byte [rax + rcx]
imul edx, r8d
add edx, eax
imul r8d, r8d, 0x5c6b7
inc rcx
cmp rcx, r9
jb 0x140003c60
btr edx, 0x1f
mov r15, qword [rsp + 0x38]
mov rcx, r15
call fcn.14000bb20
nop
cmp rdi, 0xf
jbe 0x140003cd0
lea rdx, [rdi + 1]
mov rax, rbx
cmp rdx, 0x1000
jb 0x140003cc7
add rdx, 0x27
mov rbx, qword [rbx - 8]
sub rax, rbx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140003d84
mov rcx, rbx
call fcn.14006eba0
nop
cmp r13, 0xf
jbe 0x140003d08
lea rdx, [r13 + 1]
mov rax, r14
cmp rdx, 0x1000
jb 0x140003cff
add rdx, 0x27
mov r14, qword [r14 - 8]
sub rax, r14
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140003d8a
mov rcx, r14
call fcn.14006eba0
nop
mov rax, qword [rbp - 0x80]
cmp rax, 0xf
jbe 0x140003d3f
lea rdx, [rax + 1]
mov rax, rsi
cmp rdx, 0x1000
jb 0x140003d37
add rdx, 0x27
mov rsi, qword [rsi - 8]
sub rax, rsi
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140003d72
mov rcx, rsi
call fcn.14006eba0
mov rax, r15
mov rcx, qword [rbp + 0x7fb0]
xor rcx, rsp
call fcn.14006eb80
lea r11, [rsp + 0x80c0]
mov rbx, qword [r11 + 0x38]
mov rsi, qword [r11 + 0x40]
mov rdi, qword [r11 + 0x48]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rbp
ret
call fcn.140075574
nop
call fcn.140001680
nop
call fcn.140001720
int3
call fcn.140075574
nop
call fcn.140075574
int3