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

Disassembly:
push rbx
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x50
mov rdx, qword [0x1402a1d40]
test rdx, rdx
jne 0x1400ae1ab
xor ebx, ebx
mov edi, 0xe463da3c
mov rax, qword gs:[0x60]
mov rcx, qword [rax + 0x18]
mov rax, qword [rcx + 0x10]
mov r14, qword [rax]
mov r10, r14
mov r13d, 0x811c9dc5
movups xmm0, xmmword [r10 + 0x58]
movd eax, xmm0
sub ax, 8
test ebx, ebx
je 0x1400ae0ca
psrldq xmm0, 8
movq rcx, xmm0
movzx eax, ax
shr rax, 1
lea r8, [rcx + rax*2]
mov edx, r13d
jmp 0x1400ae0bd
movsx eax, byte [rcx]
xor eax, edx
imul edx, eax, 0x1000193
add rcx, 2
cmp rcx, r8
jne 0x1400ae0ae
cmp edx, ebx
jne 0x1400ae18c
mov r8, qword [r10 + 0x30]
movsxd rax, dword [r8 + 0x3c]
mov rax, qword [rax + r8 + 0x88]
mov r9d, eax
add r9, r8
shr rax, 0x20
cmp r9, r8
je 0x1400ae18c
mov r11d, dword [r9 + 0x18]
test r11d, r11d
je 0x1400ae18c
mov r12d, dword [r9 + 0x20]
dec r11d
lea rcx, [r12 + r11*4]
mov edx, dword [rcx + r8]
add rdx, r8
mov esi, r13d
jmp 0x1400ae11c
movsx ecx, cl
xor ecx, esi
imul esi, ecx, 0x1000193
mov cl, byte [rdx]
inc rdx
test cl, cl
jne 0x1400ae111
cmp esi, edi
je 0x1400ae130
test r11d, r11d
jne 0x1400ae0fe
jmp 0x1400ae18c
mov edx, dword [r9 + 0x1c]
add rdx, r8
mov ecx, dword [r9 + 0x24]
add rcx, r8
movzx ecx, word [rcx + r11*2]
mov edx, dword [rdx + rcx*4]
add rdx, r8
cmp rdx, r9
jbe 0x1400ae1a4
lea rcx, [rax + r9]
cmp rdx, rcx
jae 0x1400ae1a4
mov ebx, r13d
mov edi, r13d
jmp 0x1400ae16d
movsx eax, al
xor eax, ebx
imul ebx, eax, 0x1000193
inc rdx
mov al, byte [rdx]
cmp al, 0x2e
jne 0x1400ae15f
jmp 0x1400ae180
movsx eax, al
xor eax, edi
imul edi, eax, 0x1000193
inc rdx
mov al, byte [rdx]
test al, al
jne 0x1400ae175
mov r10, qword [r14]
mov rax, qword [r10]
mov r10, rax
cmp rax, r14
je 0x1400ae1a2
cmp qword [rax + 0x30], 0
jne 0x1400ae084
xor edx, edx
mov qword [0x1402a1d40], rdx
xor ecx, ecx
call rdx
mov rsi, rax
mov qword [rsp + 0xa0], rax
call fcn.1400752e8
movsx edi, al
call fcn.1400752e4
movsx ecx, al
imul edi, ecx
call fcn.1400752f4
movsx r15d, al
lea ecx, [rdi + rdi*4]
lea r12d, [r15 + rcx*2]
movsx eax, byte [reloc.WS2_32.dll_htons]
add eax, r12d
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 0x1400af1e9
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
xorps xmm0, xmm0
cvtsi2sd xmm0, rsi
mulsd xmm1, xmm0
movsd qword [rsp + 0x90], xmm1
lea r13d, [r15 + rdi*4]
movsx eax, byte [reloc.WS2_32.dll_htons]
add eax, r13d
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 0x1400ae2a6
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 ecx, byte [reloc.WS2_32.dll_closesocket]
add ecx, r8d
je 0x1400ae2a6
mov ebx, 4
mov dword [rsp + 0x90], ebx
jmp 0x1400ae30b
lea edx, [rdi + rdi*2]
movsx eax, byte [reloc.WS2_32.dll_htons]
add eax, r15d
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]
mov ebx, 4
cmp eax, ecx
je 0x1400ae30b
movsx eax, byte [reloc.WS2_32.dll_htons]
add eax, r12d
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 xmm0, xmm0
cvtsi2sd xmm0, rax
mulsd xmm0, qword [rsp + 0x90]
cvttsd2si eax, xmm0
mov dword [rsp + 0x90], eax
movsx eax, byte [reloc.WS2_32.dll_htons]
add eax, r15d
add eax, edi
movsx ecx, byte [reloc.WS2_32.dll_htonl]
xor edx, edx
div ecx
movsx ecx, byte [reloc.WS2_32.dll_accept]
sub eax, ecx
imul eax, dword [rsp + 0x90]
xor r14d, r14d
test eax, eax
je 0x1400af1e9
mov byte [rsp + 0x90], r14b
lea rdx, [rsp + 0xa8]
lea rcx, [rsp + 0x90]
call fcn.140078e58
mov r9, rax
cmp byte [rax], r14b
jne 0x1400af1cf
mov dword [rsp + 0x90], r14d
movsd xmm3, qword [0x140255f50]
movsd xmm4, qword [0x140255f48]
movsd xmm5, qword [0x140255f40]
mov ecx, dword [rsp + 0x90]
cmp ecx, 1
jae 0x1400af1c7
call fcn.1400752ec
movsx r10d, al
call fcn.1400752f8
movsx r11d, al
call fcn.1400752f0
movsx esi, al
movsx edx, byte [0x1402a1e80]
imul edx, r10d
sub edx, r11d
add edx, esi
movsx ecx, byte [reloc.WS2_32.dll_closesocket]
add ecx, edx
je 0x1400ae5b6
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, xmm3
movsd qword [rsp + 0x98], xmm1
movsx eax, byte [reloc.WS2_32.dll_htons]
add eax, r13d
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 0x1400ae44e
movsx ecx, byte [0x1402a1e80]
imul ecx, r10d
lea edx, [rcx + rcx*8]
sub edx, r11d
add edx, esi
movsx ecx, byte [reloc.WS2_32.dll_closesocket]
add ecx, edx
je 0x1400ae44e
mov dword [rsp + 0x24], ebx
lea eax, [rdi + rdi*2]
lea r14d, [rax + rax]
jmp 0x1400ae4af
lea eax, [rdi + rdi*2]
lea r14d, [rax + rax]
movsx eax, byte [reloc.WS2_32.dll_htons]
add eax, r15d
add eax, r14d
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 0x1400ae4af
movsx eax, byte [reloc.WS2_32.dll_htons]
add eax, r12d
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 xmm0, xmm0
cvtsi2sd xmm0, rax
mulsd xmm0, qword [rsp + 0x98]
cvttsd2si eax, xmm0
mov dword [rsp + 0x24], eax
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, xmm3
movsd qword [rsp + 0x98], xmm1
movsx eax, byte [reloc.WS2_32.dll_htons]
add eax, r13d
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 0x1400ae526
movsx ecx, byte [0x1402a1e80]
imul ecx, r10d
lea edx, [rcx + rcx*8]
sub edx, r11d
add edx, esi
movsx ecx, byte [reloc.WS2_32.dll_closesocket]
add ecx, edx
je 0x1400ae526
mov dword [rsp + 0x20], ebx
jmp 0x1400ae580
movsx eax, byte [reloc.WS2_32.dll_htons]
add eax, r15d
add eax, r14d
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 0x1400ae580
movsx eax, byte [reloc.WS2_32.dll_htons]
add eax, r12d
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 xmm0, xmm0
cvtsi2sd xmm0, rax
mulsd xmm0, qword [rsp + 0x98]
cvttsd2si eax, xmm0
mov dword [rsp + 0x20], eax
movsxd rax, dword [rsp + 0x90]
mov r8d, dword [r9 + rax*4 + 4]
and r8d, dword [rsp + 0x20]
add r8d, r8d
movsxd rax, dword [rsp + 0x90]
mov edx, dword [r9 + rax*4 + 4]
sub edx, r8d
add edx, dword [rsp + 0x24]
movsxd rax, dword [rsp + 0x90]
mov dword [r9 + rax*4 + 4], edx
lea ecx, [rdi + r15]
movsx eax, byte [reloc.WS2_32.dll_htons]
lea ecx, [rcx + rdi*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]
cmp eax, ecx
je 0x1400aeeac
movsx edx, byte [0x1402a1e80]
imul edx, r10d
add edx, edx
sub edx, r11d
add edx, esi
movsx ecx, byte [reloc.WS2_32.dll_closesocket]
add ecx, edx
je 0x1400ae87f
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, xmm4
movsd qword [rsp + 0x98], xmm1
movsx eax, byte [reloc.WS2_32.dll_htons]
add eax, r13d
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 0x1400ae67b
movsx ecx, byte [0x1402a1e80]
imul ecx, r10d
lea edx, [rcx + rcx*8]
sub edx, r11d
add edx, esi
movsx ecx, byte [reloc.WS2_32.dll_closesocket]
add ecx, edx
je 0x1400ae67b
mov dword [rsp + 0x2c], ebx
jmp 0x1400ae701
lea eax, [rdi + rdi*2]
lea edx, [rax + rax]
call fcn.1400752f4
movsx ecx, al
movsx eax, byte [reloc.WS2_32.dll_htons]
add ecx, edx
add eax, ecx
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 0x1400ae701
call fcn.1400752e8
movsx edx, al
call fcn.1400752e4
movsx ecx, al
imul edx, ecx
lea edx, [rdx + rdx*4]
call fcn.1400752f4
movsx ecx, al
lea eax, [rcx + rdx*2]
movsx ecx, byte [reloc.WS2_32.dll_htons]
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 xmm0, xmm0
cvtsi2sd xmm0, rax
mulsd xmm0, qword [rsp + 0x98]
cvttsd2si eax, xmm0
mov dword [rsp + 0x2c], eax
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, xmm4
movsd qword [rsp + 0x98], xmm1
call fcn.1400752e8
movsx edx, al
call fcn.1400752e4
movsx ecx, al
imul edx, ecx
call fcn.1400752f4
movsx ecx, al
lea eax, [rcx + rdx*4]
movsx ecx, byte [reloc.WS2_32.dll_htons]
add eax, ecx
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 0x1400ae7b2
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 ecx, byte [reloc.WS2_32.dll_closesocket]
add ecx, r8d
je 0x1400ae7b2
mov dword [rsp + 0x28], ebx
jmp 0x1400ae849
call fcn.1400752e8
movsx edx, al
call fcn.1400752e4
movsx ecx, al
imul edx, ecx
lea edx, [rdx + rdx*2]
call fcn.1400752f4
movsx ecx, al
lea eax, [rcx + rdx*2]
movsx ecx, byte [reloc.WS2_32.dll_htons]
add eax, ecx
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 0x1400ae849
call fcn.1400752e8
movsx edx, al
call fcn.1400752e4
movsx ecx, al
imul edx, ecx
lea edx, [rdx + rdx*4]
call fcn.1400752f4
movsx ecx, al
lea eax, [rcx + rdx*2]
movsx ecx, byte [reloc.WS2_32.dll_htons]
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 xmm0, xmm0
cvtsi2sd xmm0, rax
mulsd xmm0, qword [rsp + 0x98]
cvttsd2si eax, xmm0
mov dword [rsp + 0x28], eax
movsxd rax, dword [rsp + 0x90]
mov r8d, dword [r9 + rax*4 + 4]
and r8d, dword [rsp + 0x28]
add r8d, r8d
movsxd rax, dword [rsp + 0x90]
mov edx, dword [r9 + rax*4 + 4]
sub edx, r8d
add edx, dword [rsp + 0x2c]
movsxd rax, dword [rsp + 0x90]
mov dword [r9 + rax*4 + 4], edx
call fcn.1400752ec
movsx edx, al
movsx eax, byte [0x1402a1e80]
imul edx, eax
imul r8d, edx, 7
call fcn.1400752f8
movsx ecx, al
sub r8d, ecx
call fcn.1400752f0
movsx ecx, al
add r8d, ecx
movsx ecx, byte [reloc.WS2_32.dll_closesocket]
add ecx, r8d
je 0x1400aeb81
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, xmm5
movsd qword [rsp + 0x98], xmm1
call fcn.1400752e8
movsx edx, al
call fcn.1400752e4
movsx ecx, al
imul edx, ecx
call fcn.1400752f4
movsx ecx, al
lea eax, [rcx + rdx*4]
movsx ecx, byte [reloc.WS2_32.dll_htons]
add eax, ecx
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 0x1400ae96c
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 ecx, byte [reloc.WS2_32.dll_closesocket]
add ecx, r8d
je 0x1400ae96c
mov dword [rsp + 0x34], ebx
jmp 0x1400aea03
call fcn.1400752e8
movsx edx, al
call fcn.1400752e4
movsx ecx, al
imul edx, ecx
lea edx, [rdx + rdx*2]
call fcn.1400752f4
movsx ecx, al
lea eax, [rcx + rdx*2]
movsx ecx, byte [reloc.WS2_32.dll_htons]
add eax, ecx
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 0x1400aea03
call fcn.1400752e8
movsx edx, al
call fcn.1400752e4
movsx ecx, al
imul edx, ecx
lea edx, [rdx + rdx*4]
call fcn.1400752f4
movsx ecx, al
lea eax, [rcx + rdx*2]
movsx ecx, byte [reloc.WS2_32.dll_htons]
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 xmm0, xmm0
cvtsi2sd xmm0, rax
mulsd xmm0, qword [rsp + 0x98]
cvttsd2si eax, xmm0
mov dword [rsp + 0x34], eax
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, xmm5
movsd qword [rsp + 0x98], xmm1
call fcn.1400752e8
movsx edx, al
call fcn.1400752e4
movsx ecx, al
imul edx, ecx
call fcn.1400752f4
movsx ecx, al
lea eax, [rcx + rdx*4]
movsx ecx, byte [reloc.WS2_32.dll_htons]
add eax, ecx
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 0x1400aeab4
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 ecx, byte [reloc.WS2_32.dll_closesocket]
add ecx, r8d
je 0x1400aeab4
mov dword [rsp + 0x30], ebx
jmp 0x1400aeb4b
call fcn.1400752e8
movsx edx, al
call fcn.1400752e4
movsx ecx, al
imul edx, ecx
lea edx, [rdx + rdx*2]
call fcn.1400752f4
movsx ecx, al
lea eax, [rcx + rdx*2]
movsx ecx, byte [reloc.WS2_32.dll_htons]
add eax, ecx
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 0x1400aeb4b
call fcn.1400752e8
movsx edx, al
call fcn.1400752e4
movsx ecx, al
imul edx, ecx
lea edx, [rdx + rdx*4]
call fcn.1400752f4
movsx ecx, al
lea eax, [rcx + rdx*2]
movsx ecx, byte [reloc.WS2_32.dll_htons]
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 xmm0, xmm0
cvtsi2sd xmm0, rax
mulsd xmm0, qword [rsp + 0x98]
cvttsd2si eax, xmm0
mov dword [rsp + 0x30], eax
movsxd rax, dword [rsp + 0x90]
mov r8d, dword [r9 + rax*4 + 4]
and r8d, dword [rsp + 0x30]
add r8d, r8d
movsxd rax, dword [rsp + 0x90]
mov edx, dword [r9 + rax*4 + 4]
sub edx, r8d
add edx, dword [rsp + 0x34]
movsxd rax, dword [rsp + 0x90]
mov dword [r9 + rax*4 + 4], edx
call fcn.1400752e8
movsx edx, al
call fcn.1400752e4
movsx ecx, al
imul edx, ecx
call fcn.1400752f4
movsx ecx, al
lea eax, [rcx + rdx*8]
movsx ecx, byte [reloc.WS2_32.dll_htons]
add eax, ecx
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 0x1400aeeac
mov eax, dword [rsp + 0x90]
sub eax, 0x27
movd xmm2, eax
cvtdq2pd xmm2, xmm2
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 + 0x98], xmm1
call fcn.1400752e8
movsx edx, al
call fcn.1400752e4
movsx ecx, al
imul edx, ecx
call fcn.1400752f4
movsx ecx, al
lea eax, [rcx + rdx*4]
movsx ecx, byte [reloc.WS2_32.dll_htons]
add eax, ecx
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 0x1400aec85
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 ecx, byte [reloc.WS2_32.dll_closesocket]
add ecx, r8d
je 0x1400aec85
mov dword [rsp + 0x3c], ebx
jmp 0x1400aed1c
call fcn.1400752e8
movsx edx, al
call fcn.1400752e4
movsx ecx, al
imul edx, ecx
lea edx, [rdx + rdx*2]
call fcn.1400752f4
movsx ecx, al
lea eax, [rcx + rdx*2]
movsx ecx, byte [reloc.WS2_32.dll_htons]
add eax, ecx
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 0x1400aed1c
call fcn.1400752e8
movsx edx, al
call fcn.1400752e4
movsx ecx, al
imul edx, ecx
lea edx, [rdx + rdx*4]
call fcn.1400752f4
movsx ecx, al
lea eax, [rcx + rdx*2]
movsx ecx, byte [reloc.WS2_32.dll_htons]
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 xmm0, xmm0
cvtsi2sd xmm0, rax
mulsd xmm0, qword [rsp + 0x98]
cvttsd2si eax, xmm0
mov dword [rsp + 0x3c], eax
mov eax, dword [rsp + 0x90]
sub eax, 0x27
movd xmm2, eax
cvtdq2pd xmm2, xmm2
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 + 0x98], xmm1
call fcn.1400752e8
movsx edx, al
call fcn.1400752e4
movsx ecx, al
imul edx, ecx
call fcn.1400752f4
movsx ecx, al
lea eax, [rcx + rdx*4]
movsx ecx, byte [reloc.WS2_32.dll_htons]
add eax, ecx
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 0x1400aeddf
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 ecx, byte [reloc.WS2_32.dll_closesocket]
add ecx, r8d
je 0x1400aeddf
mov dword [rsp + 0x38], ebx
jmp 0x1400aee76
call fcn.1400752e8
movsx edx, al
call fcn.1400752e4
movsx ecx, al
imul edx, ecx
lea edx, [rdx + rdx*2]
call fcn.1400752f4
movsx ecx, al
lea eax, [rcx + rdx*2]
movsx ecx, byte [reloc.WS2_32.dll_htons]
add eax, ecx
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 0x1400aee76
call fcn.1400752e8
movsx edx, al
call fcn.1400752e4
movsx ecx, al
imul edx, ecx
lea edx, [rdx + rdx*4]
call fcn.1400752f4
movsx ecx, al
lea eax, [rcx + rdx*2]
movsx ecx, byte [reloc.WS2_32.dll_htons]
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 xmm0, xmm0
cvtsi2sd xmm0, rax
mulsd xmm0, qword [rsp + 0x98]
cvttsd2si eax, xmm0
mov dword [rsp + 0x38], eax
movsxd rax, dword [rsp + 0x90]
mov r8d, dword [r9 + rax*4 + 4]
and r8d, dword [rsp + 0x38]
add r8d, r8d
movsxd rax, dword [rsp + 0x90]
mov edx, dword [r9 + rax*4 + 4]
sub edx, r8d
add edx, dword [rsp + 0x3c]
movsxd rax, dword [rsp + 0x90]
mov dword [r9 + rax*4 + 4], edx
call fcn.1400752ec
movsx edx, al
movsx eax, byte [0x1402a1e80]
imul edx, eax
shl edx, 3
call fcn.1400752f8
movsx ecx, al
sub edx, ecx
call fcn.1400752f0
movsx ecx, al
add edx, ecx
movsx ecx, byte [reloc.WS2_32.dll_closesocket]
add ecx, edx
je 0x1400af1b2
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, qword [0x140255f38]
movsd qword [rsp + 0x98], xmm1
call fcn.1400752e8
movsx edx, al
call fcn.1400752e4
movsx ecx, al
imul edx, ecx
call fcn.1400752f4
movsx ecx, al
lea eax, [rcx + rdx*4]
movsx ecx, byte [reloc.WS2_32.dll_htons]
add eax, ecx
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 0x1400aef99
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 ecx, byte [reloc.WS2_32.dll_closesocket]
add ecx, r8d
je 0x1400aef99
mov dword [rsp + 0x44], ebx
jmp 0x1400af030
call fcn.1400752e8
movsx edx, al
call fcn.1400752e4
movsx ecx, al
imul edx, ecx
lea edx, [rdx + rdx*2]
call fcn.1400752f4
movsx ecx, al
lea eax, [rcx + rdx*2]
movsx ecx, byte [reloc.WS2_32.dll_htons]
add eax, ecx
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 0x1400af030
call fcn.1400752e8
movsx edx, al
call fcn.1400752e4
movsx ecx, al
imul edx, ecx
lea edx, [rdx + rdx*4]
call fcn.1400752f4
movsx ecx, al
lea eax, [rcx + rdx*2]
movsx ecx, byte [reloc.WS2_32.dll_htons]
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 xmm0, xmm0
cvtsi2sd xmm0, rax
mulsd xmm0, qword [rsp + 0x98]
cvttsd2si eax, xmm0
mov dword [rsp + 0x44], eax
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, qword [0x140255f38]
movsd qword [rsp + 0x98], xmm1
call fcn.1400752e8
movsx edx, al
call fcn.1400752e4
movsx ecx, al
imul edx, ecx
call fcn.1400752f4
movsx ecx, al
lea eax, [rcx + rdx*4]
movsx ecx, byte [reloc.WS2_32.dll_htons]
add eax, ecx
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 0x1400af0e5
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 ecx, byte [reloc.WS2_32.dll_closesocket]
add ecx, r8d
je 0x1400af0e5
mov dword [rsp + 0x40], ebx
jmp 0x1400af17c
call fcn.1400752e8
movsx edx, al
call fcn.1400752e4
movsx ecx, al
imul edx, ecx
lea edx, [rdx + rdx*2]
call fcn.1400752f4
movsx ecx, al
lea eax, [rcx + rdx*2]
movsx ecx, byte [reloc.WS2_32.dll_htons]
add eax, ecx
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 0x1400af17c
call fcn.1400752e8
movsx edx, al
call fcn.1400752e4
movsx ecx, al
imul edx, ecx
lea edx, [rdx + rdx*4]
call fcn.1400752f4
movsx ecx, al
lea eax, [rcx + rdx*2]
movsx ecx, byte [reloc.WS2_32.dll_htons]
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 xmm0, xmm0
cvtsi2sd xmm0, rax
mulsd xmm0, qword [rsp + 0x98]
cvttsd2si eax, xmm0
mov dword [rsp + 0x40], eax
movsxd rax, dword [rsp + 0x90]
mov r8d, dword [r9 + rax*4 + 4]
and r8d, dword [rsp + 0x40]
add r8d, r8d
movsxd rax, dword [rsp + 0x90]
mov edx, dword [r9 + rax*4 + 4]
sub edx, r8d
add edx, dword [rsp + 0x44]
movsxd rax, dword [rsp + 0x90]
mov dword [r9 + rax*4 + 4], edx
mov eax, dword [rsp + 0x90]
inc eax
mov dword [rsp + 0x90], eax
jmp 0x1400ae387
mov rsi, qword [rsp + 0xa0]
mov byte [r9], 1
mov eax, dword [r9 + 4]
lea rdx, [0x1402a0ca0]
mov rdx, qword [rdx + rax*8]
mov rcx, rsi
call rdx
jmp 0x1400af1e9
add rsp, 0x50
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
ret