Function at 0x1400ac76c
Capabilities:
Access peb ldr_data
Check for software breakpoints
Hash data using fnv
Resolve function by fnv-1a hash
Resolve function by parsing pe exports

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rbp
mov qword [rsp + 0x18], rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x50
mov rax, qword [0x1402a0ec0]
xor rax, rsp
mov qword [rsp + 0x48], rax
mov rbp, qword [rsp + 0x78]
call fcn.1400752e8
movsx r12d, al
call fcn.1400752e4
movsx ecx, al
imul r12d, ecx
mov dword [rsp + 0x40], r12d
call fcn.1400752f4
movsx edi, al
xor edx, edx
movsx eax, byte [reloc.WS2_32.dll_htons]
movsx ecx, byte [reloc.WS2_32.dll_htonl]
mov dword [rsp + 0x20], edi
lea esi, [rdi + r12*4]
add eax, esi
mov dword [rsp + 0x38], esi
div ecx
movsx ecx, byte [reloc.WS2_32.dll_accept]
cmp eax, ecx
je 0x1400ad898
movsx eax, byte [reloc.WS2_32.dll_getsockopt]
movd xmm1, eax
movsx eax, byte [reloc.WS2_32.dll_closesocket]
cvtdq2pd xmm1, xmm1
movd xmm0, eax
xor eax, eax
cmp byte [rbp], 0xcc
cvtdq2pd xmm0, xmm0
sete al
xor edx, edx
addsd xmm0, xmm0
subsd xmm1, xmm0
xorps xmm0, xmm0
cvtsi2sd xmm0, rax
mulsd xmm1, xmm0
movsd qword [rsp + 0x30], xmm1
movsx eax, byte [reloc.WS2_32.dll_htons]
movsx ecx, byte [reloc.WS2_32.dll_htonl]
add eax, esi
div ecx
movsx ecx, byte [reloc.WS2_32.dll_accept]
cmp eax, ecx
je 0x1400ac893
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 0x1400ac893
lea ebx, [r12 + r12*2]
mov r9d, 4
add ebx, ebx
jmp 0x1400ac8f8
movsx eax, byte [reloc.WS2_32.dll_htons]
lea ebx, [r12 + r12*2]
movsx ecx, byte [reloc.WS2_32.dll_htonl]
add ebx, ebx
add eax, ebx
xor edx, edx
add eax, edi
div ecx
movsx ecx, byte [reloc.WS2_32.dll_accept]
cmp eax, ecx
je 0x1400ac8f3
movsx eax, byte [reloc.WS2_32.dll_htons]
lea edx, [r12 + r12*4]
movsx ecx, byte [reloc.WS2_32.dll_htonl]
add eax, edi
xorps xmm0, xmm0
lea eax, [rax + rdx*2]
xor edx, edx
div ecx
movsx ecx, byte [reloc.WS2_32.dll_accept]
sub eax, ecx
cvtsi2sd xmm0, rax
mulsd xmm0, qword [rsp + 0x30]
cvttsd2si r9d, xmm0
jmp 0x1400ac8f8
mov r9d, dword [rsp + 0x40]
movsx eax, byte [reloc.WS2_32.dll_htons]
lea r10d, [rdi + r12*4]
movsx ecx, byte [reloc.WS2_32.dll_htonl]
add r10d, r12d
add eax, r10d
xor edx, edx
div ecx
movsx ecx, byte [reloc.WS2_32.dll_accept]
sub eax, ecx
imul eax, r9d
test eax, eax
je 0x1400ad898
movsx eax, byte [reloc.WS2_32.dll_htons]
xor edx, edx
movsx ecx, byte [reloc.WS2_32.dll_htonl]
add eax, r10d
div ecx
movsx ecx, byte [reloc.WS2_32.dll_accept]
cmp eax, ecx
je 0x1400ad898
mov r10, qword [0x1402a3f18]
mov r13d, 0x820621f3
test r10, r10
jne 0x1400acac1
mov rax, qword gs:[0x60]
xor edi, edi
mov r14d, r13d
mov rcx, qword [rax + 0x18]
mov rax, qword [rcx + 0x10]
mov r12, qword [rax]
mov r8, r12
movups xmm0, xmmword [r8 + 0x58]
movd eax, xmm0
sub ax, 8
test edi, edi
je 0x1400ac9c7
psrldq xmm0, 8
mov edx, 0x811c9dc5
movzx eax, ax
movq rcx, xmm0
shr rax, 1
lea r9, [rcx + rax*2]
jmp 0x1400ac9ba
movsx eax, byte [rcx]
xor eax, edx
imul edx, eax, 0x1000193
add rcx, 2
cmp rcx, r9
jne 0x1400ac9ab
cmp edx, edi
jne 0x1400aca94
mov r9, qword [r8 + 0x30]
movsxd rax, dword [r9 + 0x3c]
mov rax, qword [rax + r9 + 0x88]
mov r11d, eax
add r11, r9
shr rax, 0x20
cmp r11, r9
je 0x1400aca94
mov r10d, dword [r11 + 0x18]
test r10d, r10d
je 0x1400aca94
mov r15d, dword [r11 + 0x20]
dec r10d
mov esi, 0x811c9dc5
lea rcx, [r15 + r10*4]
mov edx, dword [rcx + r9]
add rdx, r9
jmp 0x1400aca1b
movsx ecx, cl
xor ecx, esi
imul esi, ecx, 0x1000193
mov cl, byte [rdx]
inc rdx
test cl, cl
jne 0x1400aca10
cmp esi, r14d
je 0x1400aca30
test r10d, r10d
jne 0x1400ac9fb
jmp 0x1400aca94
mov edx, dword [r11 + 0x24]
add rdx, r9
movzx r8d, word [rdx + r10*2]
mov edx, dword [r11 + 0x1c]
add rdx, r9
mov r10d, dword [rdx + r8*4]
add r10, r9
cmp r10, r11
jbe 0x1400acaad
lea rcx, [rax + r11]
cmp r10, rcx
jae 0x1400acaad
mov edi, 0x811c9dc5
mov r14d, edi
jmp 0x1400aca70
movsx eax, al
xor eax, edi
imul edi, eax, 0x1000193
inc r10
mov al, byte [r10]
cmp al, 0x2e
jne 0x1400aca62
jmp 0x1400aca86
movsx eax, al
xor eax, r14d
imul r14d, eax, 0x1000193
inc r10
mov al, byte [r10]
test al, al
jne 0x1400aca79
mov r8, qword [r12]
mov rax, qword [r8]
mov r8, rax
cmp rax, r12
je 0x1400acaaa
cmp qword [rax + 0x30], 0
jne 0x1400ac97f
xor r10d, r10d
mov r12d, dword [rsp + 0x40]
mov edi, dword [rsp + 0x20]
mov esi, dword [rsp + 0x38]
mov qword [0x1402a3f18], r10
mov edx, 1
lea r9, [rsp + 0x40]
mov rcx, rbp
lea r8d, [rdx + 0x3f]
call r10
xor edx, edx
movd xmm2, eax
movsx eax, byte [reloc.WS2_32.dll_getsockopt]
cvtdq2pd xmm2, xmm2
movd xmm1, eax
movsx eax, byte [reloc.WS2_32.dll_closesocket]
cvtdq2pd xmm1, xmm1
movd xmm0, eax
cvtdq2pd xmm0, xmm0
addsd xmm0, xmm0
subsd xmm1, xmm0
mulsd xmm1, xmm2
movsd qword [rsp + 0x28], xmm1
movsx eax, byte [reloc.WS2_32.dll_htons]
movsx ecx, byte [reloc.WS2_32.dll_htonl]
add eax, esi
div ecx
movsx ecx, byte [reloc.WS2_32.dll_accept]
cmp eax, ecx
je 0x1400acb72
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 0x1400acb72
add ebx, edi
mov r9d, 4
mov dword [rsp + 0x30], ebx
jmp 0x1400acbd5
movsx eax, byte [reloc.WS2_32.dll_htons]
add ebx, edi
movsx ecx, byte [reloc.WS2_32.dll_htonl]
add eax, ebx
xor edx, edx
mov dword [rsp + 0x30], ebx
div ecx
movsx ecx, byte [reloc.WS2_32.dll_accept]
cmp eax, ecx
je 0x1400acbd0
movsx eax, byte [reloc.WS2_32.dll_htons]
lea edx, [r12 + r12*4]
movsx ecx, byte [reloc.WS2_32.dll_htonl]
add eax, edi
xorps xmm0, xmm0
lea eax, [rax + rdx*2]
xor edx, edx
div ecx
movsx ecx, byte [reloc.WS2_32.dll_accept]
sub eax, ecx
cvtsi2sd xmm0, rax
mulsd xmm0, qword [rsp + 0x28]
cvttsd2si r9d, xmm0
jmp 0x1400acbd5
mov r9d, dword [rsp + 0x40]
movsx eax, byte [reloc.WS2_32.dll_htons]
xor edx, edx
movsx ecx, byte [reloc.WS2_32.dll_htonl]
add eax, ebx
div ecx
movsx ecx, byte [reloc.WS2_32.dll_accept]
sub eax, ecx
imul eax, r9d
test eax, eax
je 0x1400ad898
mov byte [rbp], 0x90
mov r10, qword [0x1402a3f18]
test r10, r10
jne 0x1400acd6d
mov rax, qword gs:[0x60]
xor ebx, ebx
mov rcx, qword [rax + 0x18]
mov rax, qword [rcx + 0x10]
mov r15, qword [rax]
mov r8, r15
movups xmm0, xmmword [r8 + 0x58]
movd eax, xmm0
sub ax, 8
test ebx, ebx
je 0x1400acc73
psrldq xmm0, 8
mov edx, 0x811c9dc5
movzx eax, ax
movq rcx, xmm0
shr rax, 1
lea r9, [rcx + rax*2]
jmp 0x1400acc66
movsx eax, byte [rcx]
xor eax, edx
imul edx, eax, 0x1000193
add rcx, 2
cmp rcx, r9
jne 0x1400acc57
cmp edx, ebx
jne 0x1400acd41
mov r9, qword [r8 + 0x30]
movsxd rax, dword [r9 + 0x3c]
mov rax, qword [rax + r9 + 0x88]
mov r11d, eax
add r11, r9
shr rax, 0x20
cmp r11, r9
je 0x1400acd41
mov r10d, dword [r11 + 0x18]
test r10d, r10d
je 0x1400acd41
mov r14d, dword [r11 + 0x20]
dec r10d
mov edi, 0x811c9dc5
lea rcx, [r14 + r10*4]
mov edx, dword [rcx + r9]
add rdx, r9
jmp 0x1400accc7
movsx ecx, cl
xor ecx, edi
imul edi, ecx, 0x1000193
mov cl, byte [rdx]
inc rdx
test cl, cl
jne 0x1400accbc
cmp edi, r13d
je 0x1400accdc
test r10d, r10d
jne 0x1400acca7
jmp 0x1400acd41
mov edx, dword [r11 + 0x24]
add rdx, r9
movzx r8d, word [rdx + r10*2]
mov edx, dword [r11 + 0x1c]
add rdx, r9
mov r10d, dword [rdx + r8*4]
add r10, r9
cmp r10, r11
jbe 0x1400acd5a
lea rcx, [rax + r11]
cmp r10, rcx
jae 0x1400acd5a
mov eax, 0x811c9dc5
mov ebx, eax
mov r13d, eax
jmp 0x1400acd1e
movsx eax, al
xor eax, ebx
imul ebx, eax, 0x1000193
inc r10
mov al, byte [r10]
cmp al, 0x2e
jne 0x1400acd10
jmp 0x1400acd34
movsx eax, al
xor eax, r13d
imul r13d, eax, 0x1000193
inc r10
mov al, byte [r10]
test al, al
jne 0x1400acd27
mov r8, qword [r15]
mov rax, qword [r8]
mov r8, rax
cmp rax, r15
je 0x1400acd57
cmp qword [rax + 0x30], 0
jne 0x1400acc2b
xor r10d, r10d
mov ebx, dword [rsp + 0x30]
mov edi, dword [rsp + 0x20]
mov esi, dword [rsp + 0x38]
mov qword [0x1402a3f18], r10
mov r8d, dword [rsp + 0x40]
lea r9, [rsp + 0x40]
mov edx, 1
mov rcx, rbp
call r10
movsx eax, byte [reloc.WS2_32.dll_htons]
xor edx, edx
movsx ecx, byte [reloc.WS2_32.dll_htonl]
add eax, edi
add eax, r12d
div ecx
movsx ecx, byte [reloc.WS2_32.dll_accept]
cmp eax, ecx
je 0x1400aced2
movsx eax, byte [reloc.WS2_32.dll_getsockopt]
xor edx, edx
movd xmm1, eax
movsx eax, byte [reloc.WS2_32.dll_closesocket]
cvtdq2pd xmm1, xmm1
movd xmm0, eax
movzx eax, byte [0x1402a1d75]
cvtdq2pd xmm0, xmm0
addsd xmm0, xmm0
subsd xmm1, xmm0
movd xmm0, eax
cvtdq2pd xmm0, xmm0
mulsd xmm1, xmm0
movsd qword [rsp + 0x28], xmm1
movsx eax, byte [reloc.WS2_32.dll_htons]
movsx ecx, byte [reloc.WS2_32.dll_htonl]
add eax, esi
div ecx
movsx ecx, byte [reloc.WS2_32.dll_accept]
cmp eax, ecx
je 0x1400ace46
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 0x1400ace46
mov r9d, 4
jmp 0x1400acea3
movsx eax, byte [reloc.WS2_32.dll_htons]
xor edx, edx
movsx ecx, byte [reloc.WS2_32.dll_htonl]
add eax, ebx
div ecx
movsx ecx, byte [reloc.WS2_32.dll_accept]
cmp eax, ecx
je 0x1400ace9e
movsx eax, byte [reloc.WS2_32.dll_htons]
lea edx, [r12 + r12*4]
movsx ecx, byte [reloc.WS2_32.dll_htonl]
add eax, edi
xorps xmm0, xmm0
lea eax, [rax + rdx*2]
xor edx, edx
div ecx
movsx ecx, byte [reloc.WS2_32.dll_accept]
sub eax, ecx
cvtsi2sd xmm0, rax
mulsd xmm0, qword [rsp + 0x28]
cvttsd2si r9d, xmm0
jmp 0x1400acea3
mov r9d, dword [rsp + 0x40]
movsx eax, byte [reloc.WS2_32.dll_htons]
xor edx, edx
movsx ecx, byte [reloc.WS2_32.dll_htonl]
add eax, ebx
div ecx
movsx ecx, byte [reloc.WS2_32.dll_accept]
xor r13d, r13d
sub eax, ecx
imul eax, r9d
test eax, eax
je 0x1400aced5
call fcn.1400b8e8c
jmp 0x1400aced5
xor r13d, r13d
mov ecx, 0x9c
call qword [0x1402a1e90]
mov rdx, qword [0x1402a3e40]
test rdx, rdx
jne 0x1400ad03e
mov rax, qword gs:[0x60]
mov ebx, r13d
mov esi, 0xcded1a85
mov rcx, qword [rax + 0x18]
mov rax, qword [rcx + 0x10]
mov r14, qword [rax]
mov r8, r14
movups xmm0, xmmword [r8 + 0x58]
movd eax, xmm0
sub ax, 8
test ebx, ebx
je 0x1400acf57
psrldq xmm0, 8
mov edx, 0x811c9dc5
movzx eax, ax
movq rcx, xmm0
shr rax, 1
lea r9, [rcx + rax*2]
jmp 0x1400acf4a
movsx eax, byte [rcx]
xor eax, edx
imul edx, eax, 0x1000193
add rcx, 2
cmp rcx, r9
jne 0x1400acf3b
cmp edx, ebx
jne 0x1400ad01f
mov r9, qword [r8 + 0x30]
movsxd rax, dword [r9 + 0x3c]
mov rax, qword [rax + r9 + 0x88]
mov r10d, eax
add r10, r9
shr rax, 0x20
cmp r10, r9
je 0x1400ad01f
mov r11d, dword [r10 + 0x18]
test r11d, r11d
je 0x1400ad01f
mov r15d, dword [r10 + 0x20]
dec r11d
mov edi, 0x811c9dc5
lea rcx, [r15 + r11*4]
mov edx, dword [rcx + r9]
add rdx, r9
jmp 0x1400acfab
movsx ecx, cl
xor ecx, edi
imul edi, ecx, 0x1000193
mov cl, byte [rdx]
inc rdx
test cl, cl
jne 0x1400acfa0
cmp edi, esi
je 0x1400acfbf
test r11d, r11d
jne 0x1400acf8b
jmp 0x1400ad01f
mov edx, dword [r10 + 0x24]
add rdx, r9
movzx r8d, word [rdx + r11*2]
mov edx, dword [r10 + 0x1c]
add rdx, r9
mov edx, dword [rdx + r8*4]
add rdx, r9
cmp rdx, r10
jbe 0x1400ad037
lea rcx, [rax + r10]
cmp rdx, rcx
jae 0x1400ad037
mov eax, 0x811c9dc5
mov ebx, eax
mov esi, eax
jmp 0x1400ad000
movsx eax, al
xor eax, ebx
imul ebx, eax, 0x1000193
inc rdx
mov al, byte [rdx]
cmp al, 0x2e
jne 0x1400acff2
jmp 0x1400ad013
movsx eax, al
xor eax, esi
imul esi, eax, 0x1000193
inc rdx
mov al, byte [rdx]
test al, al
jne 0x1400ad008
mov r8, qword [r14]
mov rax, qword [r8]
mov r8, rax
cmp rax, r14
je 0x1400ad034
cmp qword [rax + 0x30], r13
jne 0x1400acf0f
mov rdx, r13
mov qword [0x1402a3e40], rdx
mov ecx, 0x99
call rdx
mov rbx, qword [0x1402a3f90]
test rbx, rbx
jne 0x1400ad1a3
mov rax, qword gs:[0x60]
mov edi, r13d
mov esi, 0xf84eee59
mov rcx, qword [rax + 0x18]
mov rax, qword [rcx + 0x10]
mov r14, qword [rax]
mov r8, r14
movups xmm0, xmmword [r8 + 0x58]
movd eax, xmm0
sub ax, 8
test edi, edi
je 0x1400ad0bc
psrldq xmm0, 8
mov edx, 0x811c9dc5
movzx eax, ax
movq rcx, xmm0
shr rax, 1
lea r9, [rcx + rax*2]
jmp 0x1400ad0af
movsx eax, byte [rcx]
xor eax, edx
imul edx, eax, 0x1000193
add rcx, 2
cmp rcx, r9
jne 0x1400ad0a0
cmp edx, edi
jne 0x1400ad184
mov r9, qword [r8 + 0x30]
movsxd rax, dword [r9 + 0x3c]
mov rax, qword [rax + r9 + 0x88]
mov r10d, eax
add r10, r9
shr rax, 0x20
cmp r10, r9
je 0x1400ad184
mov r11d, dword [r10 + 0x18]
test r11d, r11d
je 0x1400ad184
mov r15d, dword [r10 + 0x20]
dec r11d
mov ebx, 0x811c9dc5
lea rcx, [r15 + r11*4]
mov edx, dword [rcx + r9]
add rdx, r9
jmp 0x1400ad110
movsx ecx, cl
xor ecx, ebx
imul ebx, ecx, 0x1000193
mov cl, byte [rdx]
inc rdx
test cl, cl
jne 0x1400ad105
cmp ebx, esi
je 0x1400ad124
test r11d, r11d
jne 0x1400ad0f0
jmp 0x1400ad184
mov edx, dword [r10 + 0x24]
add rdx, r9
movzx r8d, word [rdx + r11*2]
mov edx, dword [r10 + 0x1c]
add rdx, r9
mov ebx, dword [rdx + r8*4]
add rbx, r9
cmp rbx, r10
jbe 0x1400ad19c
lea rcx, [r10 + rax]
cmp rbx, rcx
jae 0x1400ad19c
mov eax, 0x811c9dc5
mov edi, eax
mov esi, eax
jmp 0x1400ad165
movsx eax, al
xor eax, edi
imul edi, eax, 0x1000193
inc rbx
mov al, byte [rbx]
cmp al, 0x2e
jne 0x1400ad157
jmp 0x1400ad178
movsx eax, al
xor eax, esi
imul esi, eax, 0x1000193
inc rbx
mov al, byte [rbx]
test al, al
jne 0x1400ad16d
mov r8, qword [r14]
mov rax, qword [r8]
mov r8, rax
cmp rax, r14
je 0x1400ad199
cmp qword [rax + 0x30], r13
jne 0x1400ad074
mov rbx, r13
mov qword [0x1402a3f90], rbx
call qword [sym.imp.KERNEL32.dll_GetCurrentProcess]
mov rcx, rax
xor edx, edx
call rbx
mov rdx, qword [0x1402a3f88]
test rdx, rdx
jne 0x1400ad30e
mov rax, qword gs:[0x60]
mov ebx, r13d
mov esi, 0xb3002016
mov rcx, qword [rax + 0x18]
mov rax, qword [rcx + 0x10]
mov r14, qword [rax]
mov r8, r14
movups xmm0, xmmword [r8 + 0x58]
movd eax, xmm0
sub ax, 8
test ebx, ebx
je 0x1400ad227
psrldq xmm0, 8
mov edx, 0x811c9dc5
movzx eax, ax
movq rcx, xmm0
shr rax, 1
lea r9, [rcx + rax*2]
jmp 0x1400ad21a
movsx eax, byte [rcx]
xor eax, edx
imul edx, eax, 0x1000193
add rcx, 2
cmp rcx, r9
jne 0x1400ad20b
cmp edx, ebx
jne 0x1400ad2ef
mov r9, qword [r8 + 0x30]
movsxd rax, dword [r9 + 0x3c]
mov rax, qword [rax + r9 + 0x88]
mov r10d, eax
add r10, r9
shr rax, 0x20
cmp r10, r9
je 0x1400ad2ef
mov r11d, dword [r10 + 0x18]
test r11d, r11d
je 0x1400ad2ef
mov r15d, dword [r10 + 0x20]
dec r11d
mov edi, 0x811c9dc5
lea rcx, [r15 + r11*4]
mov edx, dword [rcx + r9]
add rdx, r9
jmp 0x1400ad27b
movsx ecx, cl
xor ecx, edi
imul edi, ecx, 0x1000193
mov cl, byte [rdx]
inc rdx
test cl, cl
jne 0x1400ad270
cmp edi, esi
je 0x1400ad28f
test r11d, r11d
jne 0x1400ad25b
jmp 0x1400ad2ef
mov edx, dword [r10 + 0x24]
add rdx, r9
movzx r8d, word [rdx + r11*2]
mov edx, dword [r10 + 0x1c]
add rdx, r9
mov edx, dword [rdx + r8*4]
add rdx, r9
cmp rdx, r10
jbe 0x1400ad307
lea rcx, [r10 + rax]
cmp rdx, rcx
jae 0x1400ad307
mov eax, 0x811c9dc5
mov ebx, eax
mov esi, eax
jmp 0x1400ad2d0
movsx eax, al
xor eax, ebx
imul ebx, eax, 0x1000193
inc rdx
mov al, byte [rdx]
cmp al, 0x2e
jne 0x1400ad2c2
jmp 0x1400ad2e3
movsx eax, al
xor eax, esi
imul esi, eax, 0x1000193
inc rdx
mov al, byte [rdx]
test al, al
jne 0x1400ad2d8
mov r8, qword [r14]
mov rax, qword [r8]
mov r8, rax
cmp rax, r14
je 0x1400ad304
cmp qword [rax + 0x30], r13
jne 0x1400ad1df
mov rdx, r13
mov qword [0x1402a3f88], rdx
xor ecx, ecx
call rdx
mov rdx, qword [0x1402a3f80]
test rdx, rdx
jne 0x1400ad470
mov rax, qword gs:[0x60]
mov ebx, r13d
mov esi, 0x2fd4df39
mov rcx, qword [rax + 0x18]
mov rax, qword [rcx + 0x10]
mov r14, qword [rax]
mov r8, r14
movups xmm0, xmmword [r8 + 0x58]
movd eax, xmm0
sub ax, 8
test ebx, ebx
je 0x1400ad389
psrldq xmm0, 8
mov edx, 0x811c9dc5
movzx eax, ax
movq rcx, xmm0
shr rax, 1
lea r9, [rcx + rax*2]
jmp 0x1400ad37c
movsx eax, byte [rcx]
xor eax, edx
imul edx, eax, 0x1000193
add rcx, 2
cmp rcx, r9
jne 0x1400ad36d
cmp edx, ebx
jne 0x1400ad451
mov r9, qword [r8 + 0x30]
movsxd rax, dword [r9 + 0x3c]
mov rax, qword [rax + r9 + 0x88]
mov r10d, eax
add r10, r9
shr rax, 0x20
cmp r10, r9
je 0x1400ad451
mov r11d, dword [r10 + 0x18]
test r11d, r11d
je 0x1400ad451
mov r15d, dword [r10 + 0x20]
dec r11d
mov edi, 0x811c9dc5
lea rcx, [r15 + r11*4]
mov edx, dword [rcx + r9]
add rdx, r9
jmp 0x1400ad3dd
movsx ecx, cl
xor ecx, edi
imul edi, ecx, 0x1000193
mov cl, byte [rdx]
inc rdx
test cl, cl
jne 0x1400ad3d2
cmp edi, esi
je 0x1400ad3f1
test r11d, r11d
jne 0x1400ad3bd
jmp 0x1400ad451
mov edx, dword [r10 + 0x24]
add rdx, r9
movzx r8d, word [rdx + r11*2]
mov edx, dword [r10 + 0x1c]
add rdx, r9
mov edx, dword [rdx + r8*4]
add rdx, r9
cmp rdx, r10
jbe 0x1400ad469
lea rcx, [rax + r10]
cmp rdx, rcx
jae 0x1400ad469
mov eax, 0x811c9dc5
mov ebx, eax
mov esi, eax
jmp 0x1400ad432
movsx eax, al
xor eax, ebx
imul ebx, eax, 0x1000193
inc rdx
mov al, byte [rdx]
cmp al, 0x2e
jne 0x1400ad424
jmp 0x1400ad445
movsx eax, al
xor eax, esi
imul esi, eax, 0x1000193
inc rdx
mov al, byte [rdx]
test al, al
jne 0x1400ad43a
mov r8, qword [r14]
mov rax, qword [r8]
mov r8, rax
cmp rax, r14
je 0x1400ad466
cmp qword [rax + 0x30], r13
jne 0x1400ad341
mov rdx, r13
mov qword [0x1402a3f80], rdx
xor ecx, ecx
call rdx
mov rdx, qword [0x1402a3f78]
test rdx, rdx
jne 0x1400ad5d2
mov rax, qword gs:[0x60]
mov ebx, r13d
mov esi, 0xe80fd3a
mov rcx, qword [rax + 0x18]
mov rax, qword [rcx + 0x10]
mov r14, qword [rax]
mov r8, r14
movups xmm0, xmmword [r8 + 0x58]
movd eax, xmm0
sub ax, 8
test ebx, ebx
je 0x1400ad4eb
psrldq xmm0, 8
mov edx, 0x811c9dc5
movzx eax, ax
movq rcx, xmm0
shr rax, 1
lea r9, [rcx + rax*2]
jmp 0x1400ad4de
movsx eax, byte [rcx]
xor eax, edx
imul edx, eax, 0x1000193
add rcx, 2
cmp rcx, r9
jne 0x1400ad4cf
cmp edx, ebx
jne 0x1400ad5b3
mov r9, qword [r8 + 0x30]
movsxd rax, dword [r9 + 0x3c]
mov rax, qword [rax + r9 + 0x88]
mov r10d, eax
add r10, r9
shr rax, 0x20
cmp r10, r9
je 0x1400ad5b3
mov r11d, dword [r10 + 0x18]
test r11d, r11d
je 0x1400ad5b3
mov r15d, dword [r10 + 0x20]
dec r11d
mov edi, 0x811c9dc5
lea rcx, [r9 + r11*4]
mov edx, dword [rcx + r15]
add rdx, r9
jmp 0x1400ad53f
movsx ecx, cl
xor ecx, edi
imul edi, ecx, 0x1000193
mov cl, byte [rdx]
inc rdx
test cl, cl
jne 0x1400ad534
cmp edi, esi
je 0x1400ad553
test r11d, r11d
jne 0x1400ad51f
jmp 0x1400ad5b3
mov edx, dword [r10 + 0x24]
add rdx, r9
movzx r8d, word [rdx + r11*2]
mov edx, dword [r10 + 0x1c]
add rdx, r9
mov edx, dword [rdx + r8*4]
add rdx, r9
cmp rdx, r10
jbe 0x1400ad5cb
lea rcx, [r10 + rax]
cmp rdx, rcx
jae 0x1400ad5cb
mov eax, 0x811c9dc5
mov ebx, eax
mov esi, eax
jmp 0x1400ad594
movsx eax, al
xor eax, ebx
imul ebx, eax, 0x1000193
inc rdx
mov al, byte [rdx]
cmp al, 0x2e
jne 0x1400ad586
jmp 0x1400ad5a7
movsx eax, al
xor eax, esi
imul esi, eax, 0x1000193
inc rdx
mov al, byte [rdx]
test al, al
jne 0x1400ad59c
mov r8, qword [r14]
mov rax, qword [r8]
mov r8, rax
cmp rax, r14
je 0x1400ad5c8
cmp qword [rax + 0x30], r13
jne 0x1400ad4a3
mov rdx, r13
mov qword [0x1402a3f78], rdx
xor ecx, ecx
call rdx
cmp qword [0x1402a3f70], r13
jne 0x1400ad733
mov rax, qword gs:[0x60]
mov ebx, r13d
mov esi, 0xa52bcaf9
mov rcx, qword [rax + 0x18]
mov rax, qword [rcx + 0x10]
mov r14, qword [rax]
mov r8, r14
movups xmm0, xmmword [r8 + 0x58]
movd eax, xmm0
sub ax, 8
test ebx, ebx
je 0x1400ad64a
psrldq xmm0, 8
mov edx, 0x811c9dc5
movzx eax, ax
movq rcx, xmm0
shr rax, 1
lea r9, [rcx + rax*2]
jmp 0x1400ad63d
movsx eax, byte [rcx]
xor eax, edx
imul edx, eax, 0x1000193
add rcx, 2
cmp rcx, r9
jne 0x1400ad62e
cmp edx, ebx
jne 0x1400ad714
mov r10, qword [r8 + 0x30]
movsxd rax, dword [r10 + 0x3c]
mov rax, qword [rax + r10 + 0x88]
mov r11d, eax
add r11, r10
shr rax, 0x20
cmp r11, r10
je 0x1400ad714
mov r9d, dword [r11 + 0x18]
test r9d, r9d
je 0x1400ad714
mov r15d, dword [r11 + 0x20]
dec r9d
mov edi, 0x811c9dc5
lea rcx, [r15 + r9*4]
mov edx, dword [rcx + r10]
add rdx, r10
jmp 0x1400ad69e
movsx ecx, cl
xor ecx, edi
imul edi, ecx, 0x1000193
mov cl, byte [rdx]
inc rdx
test cl, cl
jne 0x1400ad693
cmp edi, esi
je 0x1400ad6b2
test r9d, r9d
jne 0x1400ad67e
jmp 0x1400ad714
mov edx, dword [r11 + 0x24]
add rdx, r10
movzx r8d, word [rdx + r9*2]
mov edx, dword [r11 + 0x1c]
add rdx, r10
mov r9d, dword [rdx + r8*4]
add r9, r10
cmp r9, r11
jbe 0x1400ad72c
lea rcx, [r11 + rax]
cmp r9, rcx
jae 0x1400ad72c
mov eax, 0x811c9dc5
mov ebx, eax
mov esi, eax
jmp 0x1400ad6f3
movsx eax, al
xor eax, ebx
imul ebx, eax, 0x1000193
inc r9
mov al, byte [r9]
cmp al, 0x2e
jne 0x1400ad6e5
jmp 0x1400ad707
movsx eax, al
xor eax, esi
imul esi, eax, 0x1000193
inc r9
mov al, byte [r9]
test al, al
jne 0x1400ad6fc
mov r8, qword [r14]
mov rax, qword [r8]
mov r8, rax
cmp rax, r14
je 0x1400ad729
cmp qword [rax + 0x30], r13
jne 0x1400ad602
mov r9, r13
mov qword [0x1402a3f70], r9
xor ecx, ecx
int 0x29
mov edi, dword [rsp + 0x20]
mov r9d, r13d
mov r10d, dword [rsp + 0x40]
mov ebx, dword [rsp + 0x30]
lea r11d, [rdi + r12*2]
lea esi, [rdi + r12*4]
movsx eax, byte [reloc.WS2_32.dll_htons]
xor edx, edx
movsx ecx, byte [reloc.WS2_32.dll_htonl]
add eax, r11d
div ecx
movsx ecx, byte [reloc.WS2_32.dll_accept]
xorps xmm2, xmm2
sub eax, ecx
xor edx, edx
cvtsi2sd xmm2, rax
movsx eax, byte [reloc.WS2_32.dll_getsockopt]
movd xmm1, eax
movsx eax, byte [reloc.WS2_32.dll_closesocket]
cvtdq2pd xmm1, xmm1
movd xmm0, eax
cvtdq2pd xmm0, xmm0
addsd xmm0, xmm0
subsd xmm1, xmm0
mulsd xmm1, xmm2
movsd qword [rsp + 0x28], xmm1
movsx eax, byte [reloc.WS2_32.dll_htons]
movsx ecx, byte [reloc.WS2_32.dll_htonl]
add eax, esi
div ecx
movsx ecx, byte [reloc.WS2_32.dll_accept]
cmp eax, ecx
je 0x1400ad804
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 0x1400ad804
mov r10d, 4
jmp 0x1400ad85a
movsx eax, byte [reloc.WS2_32.dll_htons]
xor edx, edx
movsx ecx, byte [reloc.WS2_32.dll_htonl]
add eax, ebx
div ecx
movsx ecx, byte [reloc.WS2_32.dll_accept]
cmp eax, ecx
je 0x1400ad85a
movsx eax, byte [reloc.WS2_32.dll_htons]
lea edx, [r12 + r12*4]
movsx ecx, byte [reloc.WS2_32.dll_htonl]
add eax, edi
xorps xmm0, xmm0
lea eax, [rax + rdx*2]
xor edx, edx
div ecx
movsx ecx, byte [reloc.WS2_32.dll_accept]
sub eax, ecx
cvtsi2sd xmm0, rax
mulsd xmm0, qword [rsp + 0x28]
cvttsd2si r10d, xmm0
cmp r9d, r10d
jge 0x1400ad88c
mov edx, 1
mov eax, edx
mov qword [rsp + 0x40], rdx
mov ecx, edx
mov qword [rsp + rcx*8 + 0x40], rax
mov rax, qword [rsp + 0x40]
add rax, rdx
mov rcx, rax
mov qword [rsp + 0x40], rax
jne 0x1400ad86d
add r9d, edx
jmp 0x1400ad74f
mov qword [0], 0x99
mov rcx, qword [rsp + 0x48]
xor rcx, rsp
call fcn.14012ce10
lea r11, [rsp + 0x50]
mov rbx, qword [r11 + 0x30]
mov rbp, qword [r11 + 0x38]
mov rsi, qword [r11 + 0x40]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rdi
ret