Function at 0x1400ada6c
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 [0x1402a3ef0]
xor r12d, r12d
test rax, rax
jne 0x1400adcd2
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 0x1400adb46
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 0x1400adb3d
movsx eax, byte [rcx]
xor eax, edx
imul edx, eax, 0x1000193
mov dword [rsp + 0xc0], edx
add rcx, 2
jmp 0x1400adb1b
cmp edx, r9d
jne 0x1400adca3
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 0x1400adca3
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 0x1400adca3
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 0x1400adde9
cmp edx, r11d
jne 0x1400adde4
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 0x1400addd7
lea rcx, [rdi + rax]
cmp r8, rcx
jae 0x1400addd7
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 0x1400adc64
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 0x1400adc34
inc r8
mov qword [rsp + 0x30], r8
cmp byte [r8], r12b
je 0x1400adc91
movsx eax, byte [r8]
xor eax, r11d
imul r11d, eax, 0x1000193
mov dword [rsp + 0xc0], r11d
mov dword [rsp + 0xc4], r11d
jmp 0x1400adc64
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 0x1400adcbd
cmp qword [r8 + 0x30], r12
jne 0x1400adaee
mov r8, r12
mov qword [rsp + 0xc0], r12
mov qword [0x1402a3ef0], 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.1400752e8
movsx r9d, al
call fcn.1400752e4
movsx ecx, al
imul r9d, ecx
call fcn.1400752f4
movsx r10d, al
lea ecx, [r9 + r10]
movsx eax, byte [reloc.WS2_32.dll_htons]
lea ecx, [rcx + r9*2]
add eax, ecx
movsx ecx, byte [reloc.WS2_32.dll_htonl]
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
movsx eax, byte [reloc.WS2_32.dll_htons]
add eax, r10d
lea eax, [rax + r9*4]
movsx ecx, byte [reloc.WS2_32.dll_htonl]
xor edx, edx
div ecx
movsx ecx, byte [reloc.WS2_32.dll_accept]
cmp eax, ecx
je 0x1400addf6
call fcn.1400752ec
movsx edx, al
movsx eax, byte [0x1402a1e80]
imul edx, eax
lea r8d, [rdx + rdx*8]
call fcn.1400752f8
movsx ecx, al
sub r8d, ecx
call fcn.1400752f0
movsx ecx, al
add r8d, ecx
movsx eax, byte [reloc.WS2_32.dll_closesocket]
mov ecx, eax
add ecx, r8d
je 0x1400addf6
mov dword [rsp + 0x20], 4
jmp 0x1400ade5d
mov qword [rsp + 0xc0], r8
jmp 0x1400adcc8
jmp 0x1400adb9c
xor ecx, edx
imul edx, ecx, 0x1000193
jmp 0x1400adbc9
lea edx, [r9 + r9*2]
movsx eax, byte [reloc.WS2_32.dll_htons]
add eax, r10d
lea eax, [rax + rdx*2]
movsx ecx, byte [reloc.WS2_32.dll_htonl]
xor edx, edx
div ecx
movsx ecx, byte [reloc.WS2_32.dll_accept]
sub eax, ecx
je 0x1400ade5d
lea edx, [r9 + r9*4]
movsx eax, byte [reloc.WS2_32.dll_htons]
add eax, r10d
lea eax, [rax + rdx*2]
movsx ecx, byte [reloc.WS2_32.dll_htonl]
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 0x1400ade6b
mov al, 1
jmp 0x1400ae020
jmp 0x1400ae020
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