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

Disassembly:
mov qword [rsp + 0x18], rbx
mov qword [rsp + 0x20], rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x90
mov rax, qword [0x141718548]
xor r12d, r12d
test rax, rax
jne 0x14015d2c6
mov r9d, r12d
mov dword [rsp + 0x2c], r12d
mov r11d, 0xc1d5565c
mov dword [rsp + 0x28], r11d
mov rax, qword gs:[0x60]
mov qword [rsp + 0xc0], rax
mov rax, qword [rax + 0x18]
mov qword [rsp + 0xc0], rax
mov rcx, qword [rax + 0x10]
mov qword [rsp + 0xc0], rcx
mov r8, qword [rcx]
mov qword [rsp + 0x50], r8
mov r14, r8
mov qword [rsp + 0x58], r8
mov rax, r8
mov r13d, 0x811c9dc5
movups xmm0, xmmword [rax + 0x58]
movups xmmword [rsp + 0x60], xmm0
movd eax, xmm0
sub ax, 8
mov word [rsp + 0x60], ax
test r9d, r9d
je 0x14015d13a
mov rcx, qword [rsp + 0x68]
movzx eax, ax
shr rax, 1
lea r10, [rcx + rax*2]
mov edx, r13d
mov qword [rsp + 0x40], rcx
cmp rcx, r10
je 0x14015d131
movsx eax, byte [rcx]
xor eax, edx
imul edx, eax, 0x1000193
mov dword [rsp + 0xc0], edx
add rcx, 2
jmp 0x14015d10f
cmp edx, r9d
jne 0x14015d297
mov rbx, qword [r8 + 0x30]
mov qword [rsp + 0x78], rbx
movsxd rax, dword [rbx + 0x3c]
add rax, rbx
mov qword [rsp + 0xc0], rax
mov rax, qword [rax + 0x88]
mov qword [rsp + 0xc8], rax
mov edi, eax
add rdi, rbx
mov qword [rsp + 0x80], rdi
shr rax, 0x20
mov dword [rsp + 0x88], eax
cmp rdi, rbx
je 0x14015d297
mov esi, dword [rdi + 0x18]
mov dword [rsp + 0xc0], esi
mov dword [rsp + 0x24], esi
mov ecx, esi
dec esi
mov dword [rsp + 0x24], esi
test ecx, ecx
je 0x14015d297
mov edx, dword [rdi + 0x20]
add rdx, rbx
mov r10d, dword [rdx + rsi*4]
add r10, rbx
mov qword [rsp + 0xc0], r10
mov qword [rsp + 0x48], r10
mov edx, r13d
movsx ecx, byte [r10]
inc r10
mov qword [rsp + 0x48], r10
test cl, cl
jne 0x14015d3da
cmp edx, r11d
jne 0x14015d3d5
mov edx, dword [rdi + 0x1c]
add rdx, rbx
mov ecx, dword [rdi + 0x24]
add rcx, rbx
movzx ecx, word [rcx + rsi*2]
mov r8d, dword [rdx + rcx*4]
add r8, rbx
mov qword [rsp + 0xc0], r8
cmp r8, rdi
jbe 0x14015d3c8
lea rcx, [rdi + rax]
cmp r8, rcx
jae 0x14015d3c8
mov r9d, r13d
mov dword [rsp + 0xc0], r13d
mov r11d, r13d
mov dword [rsp + 0xc4], r13d
mov ecx, r13d
mov qword [rsp + 0x30], r8
cmp byte [r8], 0x2e
je 0x14015d258
movsx eax, byte [r8]
xor eax, ecx
imul r9d, eax, 0x1000193
mov dword [rsp + 0xc0], r9d
mov dword [rsp + 0xc0], r9d
inc r8
mov ecx, r9d
jmp 0x14015d228
inc r8
mov qword [rsp + 0x30], r8
cmp byte [r8], r12b
je 0x14015d285
movsx eax, byte [r8]
xor eax, r11d
imul r11d, eax, 0x1000193
mov dword [rsp + 0xc0], r11d
mov dword [rsp + 0xc4], r11d
jmp 0x14015d258
mov dword [rsp + 0x28], r11d
mov dword [rsp + 0x2c], r9d
mov r8, qword [r14]
mov qword [rsp + 0x50], r8
mov r8, qword [r8]
mov rax, r8
mov qword [rsp + 0x50], r8
cmp r8, r14
je 0x14015d2b1
cmp qword [r8 + 0x30], r12
jne 0x14015d0e2
mov r8, r12
mov qword [rsp + 0xc0], r12
mov qword [0x141718548], r8
mov rax, r8
mov qword [rsp + 0xc0], rax
xor r9d, r9d
xor r8d, r8d
xor edx, edx
mov ecx, 0x40010005
call rax
mov dword [rsp + 0x38], r12d
call fcn.140167c78
movsx r9d, al
call fcn.140167c74
movsx ecx, al
imul r9d, ecx
call fcn.140167c84
movsx r10d, al
lea edx, [r9 + r9*2]
movsx eax, byte [reloc.OLEAUT32.dll_VariantCopy]
add eax, r10d
lea eax, [rax + rdx*2]
movsx ecx, byte [reloc.OLEAUT32.dll_VariantClear]
xor edx, edx
div ecx
movsx ecx, byte [reloc.WS2_32.dll_accept]
sub eax, ecx
xorps xmm2, xmm2
cvtsi2sd xmm2, rax
movsx eax, byte [reloc.WS2_32.dll_getsockopt]
movd xmm1, eax
cvtdq2pd xmm1, xmm1
movsx eax, byte [reloc.WS2_32.dll_closesocket]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
addsd xmm0, xmm0
subsd xmm1, xmm0
mulsd xmm1, xmm2
movsd qword [rsp + 0xc0], xmm1
imul ecx, r9d, 7
movsx eax, byte [reloc.OLEAUT32.dll_VariantCopy]
add ecx, r10d
add eax, ecx
movsx ecx, byte [reloc.OLEAUT32.dll_VariantClear]
xor edx, edx
div ecx
movsx ecx, byte [reloc.WS2_32.dll_accept]
cmp eax, ecx
je 0x14015d3e7
call fcn.140167c7c
movsx edx, al
movsx eax, byte [0x141716b78]
imul edx, eax
add edx, edx
call fcn.140167c88
movsx ecx, al
sub edx, ecx
call fcn.140167c80
movsx ecx, al
add edx, ecx
movsx eax, byte [reloc.WS2_32.dll_closesocket]
mov ecx, eax
add ecx, edx
je 0x14015d3e7
mov dword [rsp + 0x20], 1
jmp 0x14015d44e
mov qword [rsp + 0xc0], r8
jmp 0x14015d2bc
jmp 0x14015d190
xor ecx, edx
imul edx, ecx, 0x1000193
jmp 0x14015d1bd
lea ecx, [r9 + r10]
movsx eax, byte [reloc.OLEAUT32.dll_VariantCopy]
lea ecx, [rcx + r9*8]
add eax, ecx
movsx ecx, byte [reloc.OLEAUT32.dll_VariantClear]
xor edx, edx
div ecx
movsx ecx, byte [reloc.WS2_32.dll_accept]
sub eax, ecx
je 0x14015d44e
lea ecx, [r9 + r10]
movsx eax, byte [reloc.OLEAUT32.dll_VariantCopy]
lea ecx, [rcx + r9*2]
add eax, ecx
movsx ecx, byte [reloc.OLEAUT32.dll_VariantClear]
xor edx, edx
div ecx
movsx ecx, byte [reloc.WS2_32.dll_accept]
sub eax, ecx
mov ecx, eax
xorps xmm0, xmm0
cvtsi2sd xmm0, rcx
mulsd xmm0, qword [rsp + 0xc0]
cvttsd2si ecx, xmm0
mov dword [rsp + 0x20], ecx
cmp r12d, dword [rsp + 0x20]
jge 0x14015d45c
mov al, 1
jmp 0x14015d60e
jmp 0x14015d60e
lea r11, [rsp + 0x90]
mov rbx, qword [r11 + 0x40]
mov rsi, qword [r11 + 0x48]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rdi
ret