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

Disassembly:
mov rax, rsp
mov qword [rax + 8], rbx
mov qword [rax + 0x10], rbp
mov qword [rax + 0x18], rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0xc0
movaps xmmword [rax - 0x38], xmm6
movaps xmmword [rax - 0x48], xmm7
movaps xmmword [rax - 0x58], xmm8
mov rax, qword [0x1400c30c0]
xor rax, rsp
mov qword [rsp + 0x80], rax
xorps xmm0, xmm0
movups xmmword [rsp + 0x40], xmm0
lea r13, [rsp + 0xe8]
movabs rdi, 0xff00ff00ff00ff00
mov qword [rsp + 0x48], rdi
mov qword [rsp + 0x50], r13
mov rbx, qword [r13]
xor rbx, rdi
mov qword [rsp + 0x40], rbx
xor esi, esi
mov qword [r13], rsi
mov qword [rsp + 0x78], rsi
mov r10, qword [0x1400c3a10]
test r10, r10
jne 0x14004046d
mov ebx, esi
mov r11d, 0x6b5f5fbb
mov rax, qword gs:[0x60]
mov rcx, qword [rax + 0x18]
mov rax, qword [rcx + 0x10]
mov r12, qword [rax]
mov r14, r12
nop dword [rax + rax]
movups xmm0, xmmword [r14 + 0x58]
movups xmmword [rsp + 0x30], xmm0
movd eax, xmm0
sub ax, 8
test ebx, ebx
je 0x14004034c
mov rcx, qword [rsp + 0x38]
movzx eax, ax
shr rax, 1
lea r8, [rcx + rax*2]
mov edx, 0xf9ebf1fc
cmp rcx, r8
je 0x140040344
nop
movsx eax, byte [rcx]
xor eax, edx
imul edx, eax, 0x1000193
add rcx, 2
cmp rcx, r8
jne 0x140040330
cmp edx, ebx
jne 0x14004043e
mov r9, qword [r14 + 0x30]
movsxd rax, dword [r9 + 0x3c]
mov rcx, qword [rax + r9 + 0x88]
mov rbp, rcx
shr rbp, 0x20
mov edi, ecx
add rdi, r9
cmp rdi, r9
je 0x14004043e
mov r8d, dword [rdi + 0x18]
test r8d, r8d
je 0x14004043e
mov r15d, dword [rdi + 0x20]
dec r8d
lea rax, [r15 + r8*4]
mov eax, dword [rax + r9]
add rax, r9
mov edx, 0xf9ebf1fc
movzx ecx, byte [rax]
inc rax
test cl, cl
je 0x1400403b6
nop
movsx ecx, cl
xor ecx, edx
imul edx, ecx, 0x1000193
movzx ecx, byte [rax]
lea rax, [rax + 1]
test cl, cl
jne 0x1400403a0
cmp edx, r11d
je 0x1400403c2
test r8d, r8d
jne 0x140040382
jmp 0x14004043e
mov ecx, dword [rdi + 0x1c]
add rcx, r9
mov eax, dword [rdi + 0x24]
add rax, r9
movzx eax, word [rax + r8*2]
mov r10d, dword [rcx + rax*4]
add r10, r9
cmp r10, rdi
jbe 0x140040457
lea rax, [rdi + rbp]
cmp r10, rax
jae 0x140040457
mov ebx, 0xf9ebf1fc
mov r11d, ebx
movzx eax, byte [r10]
cmp al, 0x2e
je 0x140040416
nop dword [rax + rax]
movsx eax, al
xor eax, ebx
imul ebx, eax, 0x1000193
inc r10
movzx eax, byte [r10]
cmp al, 0x2e
jne 0x140040400
inc r10
movzx eax, byte [r10]
test al, al
je 0x14004043a
movsx eax, al
xor eax, r11d
imul r11d, eax, 0x1000193
lea r10, [r10 + 1]
movzx eax, byte [r10]
test al, al
jne 0x140040421
mov r14, qword [r12]
mov rax, qword [r14]
mov r14, rax
cmp rax, r12
je 0x140040454
cmp qword [rax + 0x30], 0
jne 0x140040300
mov r10, rsi
mov qword [0x1400c3a10], r10
mov rbx, qword [rsp + 0x40]
movabs rdi, 0xff00ff00ff00ff00
movups xmm0, xmmword [0x14009d2f8]
movups xmmword [rsp + 0x58], xmm0
movsd xmm0, qword [0x14009d308]
movsd qword [rsp + 0x68], xmm0
movzx eax, word [0x14009d310]
mov word [rsp + 0x70], ax
cmp byte [reloc.WLDAP32.dll_Ordinal_79], 0
je 0x14004063f
cmp dword [reloc.WS2_32.dll_accept], 2
jl 0x1400405fc
movdqa xmm5, xmmword [0x1400b5490]
movdqa xmm4, xmmword [0x14009eb80]
mov eax, 5
movd xmm6, eax
movdqa xmm7, xmmword [str.::::]
mov eax, Ordinal_33
movd xmm8, eax
movdqa xmm0, xmmword [0x14009ea60]
movdqa xmmword [rsp + 0x30], xmm0
lea rcx, [rsp + 0x5c]
mov edx, dword [rsp + 0x30]
nop
movd xmm2, esi
pshufd xmm2, xmm2, 0
paddd xmm2, xmm5
movdqa xmm1, xmm2
punpckldq xmm1, xmm2
pmuldq xmm1, xmm4
movdqa xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm4
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm2
psrad xmm1, xmm6
movdqa xmm0, xmm1
psrld xmm0, xmm8
paddd xmm0, xmm1
pmulld xmm0, xmm7
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm1, xmm0, 0xd8
pshufd xmm2, xmm1, 0xd8
pand xmm2, xmmword [0x1400b54c0]
packuswb xmm2, xmm2
movd xmm0, edx
paddb xmm2, xmm0
movd xmm0, dword [rcx - 4]
pxor xmm2, xmm0
movd dword [rcx - 4], xmm2
lea eax, [rsi + 4]
movd xmm3, eax
pshufd xmm3, xmm3, 0
paddd xmm3, xmm5
movdqa xmm1, xmm3
punpckldq xmm1, xmm3
pmuldq xmm1, xmm4
movdqa xmm0, xmm3
punpckhdq xmm0, xmm3
pmuldq xmm0, xmm4
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm3
psrad xmm1, xmm6
movdqa xmm0, xmm1
psrld xmm0, xmm8
paddd xmm0, xmm1
pmulld xmm0, xmm7
psubd xmm3, xmm0
pshuflw xmm0, xmm3, 0xd8
pshufhw xmm1, xmm0, 0xd8
pshufd xmm2, xmm1, 0xd8
pand xmm2, xmmword [0x1400b54c0]
packuswb xmm2, xmm2
movd xmm0, edx
paddb xmm2, xmm0
movd xmm0, dword [rcx]
pxor xmm2, xmm0
movd dword [rcx], xmm2
add esi, 8
mov eax, esi
lea rcx, [rcx + 8]
cmp esi, 0x18
jl 0x1400404f0
cmp eax, 0x1a
jge 0x14004063f
movsxd rax, esi
lea r8, [rsp + 0x58]
add r8, rax
nop word [rax + rax]
mov eax, 0x8d3dcb09
imul esi
add edx, esi
sar edx, 5
mov eax, edx
shr eax, 0x1f
add edx, eax
movsx eax, dl
imul ecx, eax, 0x3a
movzx eax, sil
sub al, cl
add al, 0x36
xor byte [r8], al
inc esi
lea r8, [r8 + 1]
cmp esi, 0x1a
jl 0x140040610
lea rax, [rsp + 0x78]
mov qword [rsp + 0x20], rax
mov r9d, 0x20019
xor r8d, r8d
lea rdx, [rsp + 0x58]
mov rcx, 0xffffffff80000002
call r10
test eax, eax
sete al
xor rbx, rdi
mov qword [r13], rbx
mov rcx, qword [rsp + 0x80]
xor rcx, rsp
call fcn.1400982e0
lea r11, [rsp + 0xc0]
mov rbx, qword [r11 + 0x30]
mov rbp, qword [r11 + 0x38]
mov rsi, qword [r11 + 0x40]
movaps xmm6, xmmword [r11 - 0x10]
movaps xmm7, xmmword [r11 - 0x20]
movaps xmm8, xmmword [r11 - 0x30]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rdi
ret