Function at 0x14009d4f4
Capabilities:
Access peb ldr_data
Encode data using xor
Hash data using fnv
Resolve function by fnv-1a hash
Resolve function by parsing pe exports

Disassembly:
mov rax, rsp
mov qword [rax + 8], rbx
mov qword [rax + 0x10], rsi
mov qword [rax + 0x18], rdi
push rbp
push r12
push r13
push r14
push r15
lea rbp, [rax - 0x1e8]
sub rsp, 0x2c0
mov rax, qword [0x1401a9600]
xor rax, rsp
mov qword [rbp + 0x1b0], rax
xor edx, edx
lea rcx, [rbp - 0x60]
mov r8d, 0x20a
call sub.VCRUNTIME140.dll_memset
mov r9, qword [0x140231268]
xor r15d, r15d
test r9, r9
jne 0x14009d6ae
mov rax, qword gs:[0x60]
mov ebx, r15d
mov edi, 0xa3fbd5fb
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 0x14009d5b6
psrldq xmm0, 8
mov edx, 0x811c9dc5
movzx eax, ax
movq rcx, xmm0
shr rax, 1
lea r9, [rcx + rax*2]
jmp 0x14009d5a9
movsx eax, byte [rcx]
xor eax, edx
imul edx, eax, 0x1000193
add rcx, 2
cmp rcx, r9
jne 0x14009d59a
cmp edx, ebx
jne 0x14009d68f
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 0x14009d68f
mov r9d, dword [r11 + 0x18]
test r9d, r9d
je 0x14009d68f
mov r12d, dword [r11 + 0x20]
dec r9d
mov esi, 0x811c9dc5
lea rcx, [r12 + r9*4]
mov edx, dword [rcx + r10]
add rdx, r10
jmp 0x14009d60a
movsx ecx, cl
xor ecx, esi
imul esi, ecx, 0x1000193
mov cl, byte [rdx]
inc rdx
test cl, cl
jne 0x14009d5ff
cmp esi, edi
je 0x14009d621
xor r15d, r15d
test r9d, r9d
jne 0x14009d5ea
jmp 0x14009d68f
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 0x14009d71c
lea rcx, [rax + r11]
cmp r9, rcx
jae 0x14009d71c
mov ebx, 0x811c9dc5
mov edi, ebx
jmp 0x14009d668
movsx eax, al
xor eax, ebx
imul ebx, eax, 0x1000193
inc r9
mov al, byte [r9]
cmp al, 0x2e
jne 0x14009d65a
inc r9
xor r15d, r15d
jmp 0x14009d685
movsx eax, al
xor eax, edi
imul edi, eax, 0x1000193
inc r9
mov al, byte [r9]
test al, al
jne 0x14009d677
mov r8, qword [r14]
mov rax, qword [r8]
mov r8, rax
cmp rax, r14
je 0x14009d6a4
cmp qword [rax + 0x30], r15
jne 0x14009d56e
mov r9, r15
mov qword [0x140231268], r9
mov r8d, 0x104
lea rdx, [rbp - 0x60]
xor ecx, ecx
call r9
mov r10, qword [0x140231260]
mov edi, 0xafcab3c4
mov dword [rsp + 0x50], edi
test r10, r10
jne 0x14009d835
mov rax, qword gs:[0x60]
mov ebx, r15d
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 0x14009d73d
psrldq xmm0, 8
mov edx, 0x811c9dc5
movzx eax, ax
movq rcx, xmm0
shr rax, 1
lea r9, [rcx + rax*2]
jmp 0x14009d730
xor r15d, r15d
jmp 0x14009d6a7
movsx eax, byte [rcx]
xor eax, edx
imul edx, eax, 0x1000193
add rcx, 2
cmp rcx, r9
jne 0x14009d721
cmp edx, ebx
jne 0x14009d816
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 0x14009d816
mov r10d, dword [r11 + 0x18]
test r10d, r10d
je 0x14009d816
mov r12d, dword [r11 + 0x20]
dec r10d
mov esi, 0x811c9dc5
lea rcx, [r12 + r10*4]
mov edx, dword [rcx + r9]
add rdx, r9
jmp 0x14009d791
movsx ecx, cl
xor ecx, esi
imul esi, ecx, 0x1000193
mov cl, byte [rdx]
inc rdx
test cl, cl
jne 0x14009d786
cmp esi, edi
je 0x14009d7a8
xor r15d, r15d
test r10d, r10d
jne 0x14009d771
jmp 0x14009d816
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 0x14009d966
lea rcx, [rax + r11]
cmp r10, rcx
jae 0x14009d966
mov ebx, 0x811c9dc5
mov edi, ebx
jmp 0x14009d7ef
movsx eax, al
xor eax, ebx
imul ebx, eax, 0x1000193
inc r10
mov al, byte [r10]
cmp al, 0x2e
jne 0x14009d7e1
inc r10
xor r15d, r15d
jmp 0x14009d80c
movsx eax, al
xor eax, edi
imul edi, eax, 0x1000193
inc r10
mov al, byte [r10]
test al, al
jne 0x14009d7fe
mov r8, qword [r14]
mov rax, qword [r8]
mov r8, rax
cmp rax, r14
je 0x14009d82b
cmp qword [rax + 0x30], r15
jne 0x14009d6f0
mov r10, r15
mov qword [0x140231260], r10
mov qword [rsp + 0x30], r15
lea rcx, [rbp - 0x60]
mov dword [rsp + 0x28], 0x80
xor r9d, r9d
xor r8d, r8d
mov dword [rsp + 0x20], 3
mov edx, 0x10000
call r10
mov r12, rax
mov qword [rbp - 0x70], rax
call fcn.1400a4578
movsx r9d, al
call fcn.1400a4574
movsx ecx, al
imul r9d, ecx
call fcn.1400a4584
movsx r11d, al
lea edx, [r9 + r9*4]
movsx eax, byte [reloc.WS2_32.dll_htons]
mov esi, 0xa
movsx ecx, byte [reloc.WS2_32.dll_htonl]
add eax, r11d
mov dword [rsp + 0x54], esi
lea eax, [rax + rdx*2]
xor edx, edx
div ecx
mov r8d, eax
movsx eax, byte [reloc.WS2_32.dll_accept]
cmp r8d, eax
je 0x14009db59
movsx eax, byte [reloc.WS2_32.dll_getsockopt]
cmp r12, 0xffffffffffffffff
movd xmm1, eax
movsx eax, byte [reloc.WS2_32.dll_closesocket]
cvtdq2pd xmm1, xmm1
movd xmm0, eax
mov rax, r15
sete al
xor edx, edx
cvtdq2pd xmm0, xmm0
addsd xmm0, xmm0
subsd xmm1, xmm0
xorps xmm0, xmm0
cvtsi2sd xmm0, rax
lea eax, [r9 + r9*2]
lea edi, [r11 + rax*2]
mulsd xmm1, xmm0
movsd qword [rsp + 0x40], xmm1
movsx eax, byte [reloc.WS2_32.dll_htons]
movsx ecx, byte [reloc.WS2_32.dll_htonl]
add eax, edi
div ecx
mov r8d, eax
movsx eax, byte [reloc.WS2_32.dll_accept]
cmp r8d, eax
je 0x14009d96e
call fcn.1400a457c
movsx edx, al
movsx eax, byte [0x14022ead4]
imul edx, eax
lea r8d, [rdx + rdx*4]
call fcn.1400a4588
movsx ecx, al
sub r8d, ecx
call fcn.1400a4580
movsx ecx, al
add r8d, ecx
movsx ecx, byte [reloc.WS2_32.dll_closesocket]
add ecx, r8d
je 0x14009d96e
mov ebx, esi
lea r10d, [r9 + r9]
jmp 0x14009d9d5
xor r15d, r15d
jmp 0x14009d82e
movsx eax, byte [reloc.WS2_32.dll_htons]
lea r10d, [r9 + r9]
movsx ecx, byte [reloc.WS2_32.dll_htonl]
add eax, r10d
add eax, r11d
xor edx, edx
div ecx
mov r8d, eax
movsx eax, byte [reloc.WS2_32.dll_accept]
cmp r8d, eax
je 0x14009d9d1
movsx eax, byte [reloc.WS2_32.dll_htons]
xor edx, edx
movsx ecx, byte [reloc.WS2_32.dll_htonl]
add eax, edi
div ecx
xorps xmm0, xmm0
mov r8d, eax
movsx eax, byte [reloc.WS2_32.dll_accept]
sub r8d, eax
mov eax, r8d
cvtsi2sd xmm0, rax
mulsd xmm0, qword [rsp + 0x40]
cvttsd2si ebx, xmm0
jmp 0x14009d9d5
mov ebx, dword [rsp + 0x40]
movsx r8d, byte [reloc.WS2_32.dll_htons]
lea ecx, [r9 + r11]
lea eax, [rcx + r9*4]
xor edx, edx
movsx ecx, byte [reloc.WS2_32.dll_htonl]
add eax, r8d
div ecx
mov r8d, eax
movsx eax, byte [reloc.WS2_32.dll_accept]
sub r8d, eax
imul r8d, ebx
test r8d, r8d
je 0x14009db59
movsx eax, byte [reloc.WS2_32.dll_htons]
lea r9d, [r10 + r11]
movsx ecx, byte [reloc.WS2_32.dll_htonl]
add eax, r9d
xor edx, edx
xorps xmm2, xmm2
div ecx
xor edx, edx
mov r8d, eax
movsx eax, byte [reloc.WS2_32.dll_accept]
sub r8d, eax
mov eax, r8d
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 + 0x40], xmm1
movsx eax, byte [reloc.WS2_32.dll_htons]
movsx ecx, byte [reloc.WS2_32.dll_htonl]
add eax, edi
div ecx
mov r8d, eax
movsx eax, byte [reloc.WS2_32.dll_accept]
cmp r8d, eax
je 0x14009dacd
call fcn.1400a457c
movsx edx, al
movsx eax, byte [0x14022ead4]
imul edx, eax
lea r8d, [rdx + rdx*4]
call fcn.1400a4588
movsx ecx, al
sub r8d, ecx
call fcn.1400a4580
movsx ecx, al
add r8d, ecx
movsx ecx, byte [reloc.WS2_32.dll_closesocket]
add ecx, r8d
jne 0x14009f37b
movsx eax, byte [reloc.WS2_32.dll_htons]
xor edx, edx
movsx ecx, byte [reloc.WS2_32.dll_htonl]
add eax, r9d
div ecx
mov r8d, eax
movsx eax, byte [reloc.WS2_32.dll_accept]
cmp r8d, eax
je 0x14009db4c
call fcn.1400a4578
movsx edx, al
call fcn.1400a4574
movsx ecx, al
imul edx, ecx
lea edx, [rdx + rdx*2]
call fcn.1400a4584
movsx ecx, al
xorps xmm0, xmm0
movsx eax, byte [reloc.WS2_32.dll_htons]
lea r8d, [rcx + rdx*2]
movsx ecx, byte [reloc.WS2_32.dll_htonl]
add eax, r8d
xor edx, edx
div ecx
mov r8d, eax
movsx eax, byte [reloc.WS2_32.dll_accept]
sub r8d, eax
mov eax, r8d
cvtsi2sd xmm0, rax
mulsd xmm0, qword [rsp + 0x40]
cvttsd2si eax, xmm0
jmp 0x14009db50
mov eax, dword [rsp + 0x40]
cmp r15d, eax
jl 0x14009f37b
xor eax, eax
mov dword [rsp + 0x60], 0x8bcf85d8
xorps xmm0, xmm0
mov dword [rbp - 0x78], eax
movups xmmword [rsp + 0x78], xmm0
mov byte [rbp - 0x74], al
mov dword [rsp + 0x64], 0x8fe0891e
mov dword [rsp + 0x68], 0xb31a8de5
mov dword [rsp + 0x6c], 0xb7e2b1d5
mov dword [rsp + 0x70], 0xbb26b5dd
mov dword [rsp + 0x74], 0xbfb8b9df
mov qword [rsp + 0x40], r15
jmp 0x14009dbd4
mov rdx, qword [rsp + 0x40]
mov rax, qword [rsp + 0x40]
add dl, 0x15
mov cl, byte [rsp + rax + 0x60]
mov al, dl
and al, cl
add al, al
sub dl, al
mov rax, qword [rsp + 0x40]
add dl, 0x6d
add dl, cl
mov byte [rsp + rax + 0x60], dl
mov rax, qword [rsp + 0x40]
inc rax
mov qword [rsp + 0x40], rax
mov rax, qword [rsp + 0x40]
cmp rax, 0x2d
jb 0x14009dba0
lea rax, [rsp + 0x60]
or r14, 0xffffffffffffffff
inc r14
cmp word [rax + r14*2], r15w
jne 0x14009dbe8
add r14d, r14d
lea ebx, [r14 + 0x18]
mov ecx, ebx
mov dword [rsp + 0x40], ebx
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_malloc]
mov r13, rax
call fcn.1400a4578
movsx edx, al
call fcn.1400a4574
movsx ecx, al
imul edx, ecx
call fcn.1400a4584
movsx ecx, al
mov r11d, 0xfaba0065
movsx eax, byte [reloc.WS2_32.dll_htons]
mov dword [rsp + 0x58], r11d
lea r9d, [rcx + rdx*2]
movsx ecx, byte [reloc.WS2_32.dll_htonl]
add eax, r9d
xor edx, edx
div ecx
mov r8d, eax
movsx eax, byte [reloc.WS2_32.dll_accept]
cmp r8d, eax
je 0x14009e106
movsx eax, byte [reloc.WS2_32.dll_getsockopt]
test r13, r13
movd xmm1, eax
movsx eax, byte [reloc.WS2_32.dll_closesocket]
cvtdq2pd xmm1, xmm1
movd xmm0, eax
mov rax, r15
cvtdq2pd xmm0, xmm0
sete al
addsd xmm0, xmm0
subsd xmm1, xmm0
xorps xmm0, xmm0
cvtsi2sd xmm0, rax
mulsd xmm1, xmm0
movsd qword [rsp + 0x48], xmm1
call fcn.1400a4578
movsx edx, al
call fcn.1400a4574
movsx ecx, al
imul edx, ecx
lea edx, [rdx + rdx*2]
call fcn.1400a4584
movsx ecx, al
movsx eax, byte [reloc.WS2_32.dll_htons]
lea r10d, [rcx + rdx*2]
movsx ecx, byte [reloc.WS2_32.dll_htonl]
add eax, r10d
xor edx, edx
div ecx
mov r8d, eax
movsx eax, byte [reloc.WS2_32.dll_accept]
cmp r8d, eax
je 0x14009dd1e
call fcn.1400a457c
movsx edx, al
movsx eax, byte [0x14022ead4]
imul edx, eax
lea r8d, [rdx + rdx*4]
call fcn.1400a4588
movsx ecx, al
sub r8d, ecx
call fcn.1400a4580
movsx ecx, al
add r8d, ecx
movsx ecx, byte [reloc.WS2_32.dll_closesocket]
add ecx, r8d
je 0x14009dd1e
mov r9d, esi
jmp 0x14009dd81
movsx eax, byte [reloc.WS2_32.dll_htons]
xor edx, edx
movsx ecx, byte [reloc.WS2_32.dll_htonl]
add eax, r9d
div ecx
mov r8d, eax
movsx eax, byte [reloc.WS2_32.dll_accept]
cmp r8d, eax
je 0x14009dd7c
movsx eax, byte [reloc.WS2_32.dll_htons]
xor edx, edx
movsx ecx, byte [reloc.WS2_32.dll_htonl]
add eax, r10d
div ecx
xorps xmm0, xmm0
mov r8d, eax
movsx eax, byte [reloc.WS2_32.dll_accept]
sub r8d, eax
mov eax, r8d
cvtsi2sd xmm0, rax
mulsd xmm0, qword [rsp + 0x48]
cvttsd2si r9d, xmm0
jmp 0x14009dd81
mov r9d, dword [rsp + 0x40]
call fcn.1400a4578
movsx edx, al
call fcn.1400a4574
movsx ecx, al
imul edx, ecx
lea r8d, [rdx + rdx*2]
call fcn.1400a4584
movsx ecx, al
xor edx, edx
movsx eax, byte [reloc.WS2_32.dll_htons]
add r8d, ecx
movsx ecx, byte [reloc.WS2_32.dll_htonl]
add eax, r8d
div ecx
mov r8d, eax
movsx eax, byte [reloc.WS2_32.dll_accept]
sub r8d, eax
imul r8d, r9d
test r8d, r8d
je 0x14009e106
mov rdx, qword [0x140231280]
test rdx, rdx
jne 0x14009df50
mov rax, qword gs:[0x60]
mov edi, r15d
mov esi, r11d
xor r8d, r8d
mov rcx, qword [rax + 0x18]
mov rax, qword [rcx + 0x10]
mov r15, qword [rax]
mov rbx, r15
movups xmm0, xmmword [rbx + 0x58]
movd eax, xmm0
sub ax, 8
test edi, edi
je 0x14009de4c
psrldq xmm0, 8
mov edx, 0x811c9dc5
movzx eax, ax
movq rcx, xmm0
shr rax, 1
lea r8, [rcx + rax*2]
jmp 0x14009de3c
movsx eax, byte [rcx]
xor eax, edx
imul edx, eax, 0x1000193
add rcx, 2
cmp rcx, r8
jne 0x14009de2d
xor r8d, r8d
cmp edx, edi
jne 0x14009df26
mov r10, qword [rbx + 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 0x14009df26
mov r9d, dword [r11 + 0x18]
test r9d, r9d
je 0x14009df26
mov r12d, dword [r11 + 0x20]
dec r9d
lea rdx, [r10 + r9*4]
mov r8d, dword [rdx + r12]
mov edx, 0x811c9dc5
add r8, r10
jmp 0x14009dea0
movsx ecx, cl
xor ecx, edx
imul edx, ecx, 0x1000193
mov cl, byte [r8]
inc r8
test cl, cl
jne 0x14009de95
cmp edx, esi
je 0x14009deb8
xor r8d, r8d
test r9d, r9d
jne 0x14009de80
jmp 0x14009df26
mov edx, dword [r11 + 0x24]
add rdx, r10
movzx r9d, word [rdx + r9*2]
mov edx, dword [r11 + 0x1c]
add rdx, r10
mov edx, dword [rdx + r9*4]
add rdx, r10
cmp rdx, r11
jbe 0x14009e0f1
lea rcx, [r11 + rax]
cmp rdx, rcx
jae 0x14009e0f1
mov eax, 0x811c9dc5
mov edi, eax
mov esi, eax
jmp 0x14009df01
movsx eax, al
xor eax, edi
imul edi, eax, 0x1000193
inc rdx
mov al, byte [rdx]
cmp al, 0x2e
jne 0x14009def3
inc rdx
xor r8d, r8d
jmp 0x14009df1d
movsx eax, al
xor eax, esi
imul esi, eax, 0x1000193
inc rdx
mov al, byte [rdx]
test al, al
jne 0x14009df0f
mov rbx, qword [r15]
mov rax, qword [rbx]
mov rbx, rax
cmp rax, r15
je 0x14009df3b
cmp qword [rax + 0x30], r8
jne 0x14009de02
xor r15d, r15d
mov edx, r15d
mov ebx, dword [rsp + 0x40]
mov r12, qword [rbp - 0x70]
mov qword [0x140231280], rdx
mov rcx, r12
call rdx
call fcn.1400a4578
movsx edx, al
call fcn.1400a4574
movsx ecx, al
imul edx, ecx
call fcn.1400a4584
movsx ecx, al
xorps xmm2, xmm2
movsx eax, byte [reloc.WS2_32.dll_htons]
lea r8d, [rcx + rdx*4]
movsx ecx, byte [reloc.WS2_32.dll_htonl]
add eax, r8d
xor edx, edx
div ecx
mov r8d, eax
movsx eax, byte [reloc.WS2_32.dll_accept]
sub r8d, eax
mov eax, r8d
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 + 0x48], xmm1
call fcn.1400a4578
movsx edx, al
call fcn.1400a4574
movsx ecx, al
imul edx, ecx
lea edx, [rdx + rdx*2]
call fcn.1400a4584
movsx ecx, al
movsx eax, byte [reloc.WS2_32.dll_htons]
lea r8d, [rcx + rdx*2]
movsx ecx, byte [reloc.WS2_32.dll_htonl]
add eax, r8d
xor edx, edx
div ecx
mov r8d, eax
movsx eax, byte [reloc.WS2_32.dll_accept]
cmp r8d, eax
je 0x14009e053
call fcn.1400a457c
movsx edx, al
movsx eax, byte [0x14022ead4]
imul edx, eax
lea r8d, [rdx + rdx*4]
call fcn.1400a4588
movsx ecx, al
sub r8d, ecx
call fcn.1400a4580
movsx ecx, al
add r8d, ecx
movsx ecx, byte [reloc.WS2_32.dll_closesocket]
add ecx, r8d
jne 0x14009f37b
call fcn.1400a4578
movsx edx, al
call fcn.1400a4574
movsx ecx, al
imul edx, ecx
call fcn.1400a4584
movsx ecx, al
movsx eax, byte [reloc.WS2_32.dll_htons]
lea r8d, [rcx + rdx*2]
movsx ecx, byte [reloc.WS2_32.dll_htonl]
add eax, r8d
xor edx, edx
div ecx
mov r8d, eax
movsx eax, byte [reloc.WS2_32.dll_accept]
cmp r8d, eax
je 0x14009e0f9
call fcn.1400a4578
movsx edx, al
call fcn.1400a4574
movsx ecx, al
imul edx, ecx
lea edx, [rdx + rdx*2]
call fcn.1400a4584
movsx ecx, al
xorps xmm0, xmm0
movsx eax, byte [reloc.WS2_32.dll_htons]
lea r8d, [rcx + rdx*2]
movsx ecx, byte [reloc.WS2_32.dll_htonl]
add eax, r8d
xor edx, edx
div ecx
mov r8d, eax
movsx eax, byte [reloc.WS2_32.dll_accept]
sub r8d, eax
mov eax, r8d
cvtsi2sd xmm0, rax
mulsd xmm0, qword [rsp + 0x48]
cvttsd2si eax, xmm0
jmp 0x14009e0fd
xor r15d, r15d
jmp 0x14009df41
mov eax, dword [rsp + 0x40]
cmp r15d, eax
jl 0x14009f37b
mov r8d, ebx
xor edx, edx
mov rcx, r13
call sub.VCRUNTIME140.dll_memset
mov r9, qword [0x140231258]
mov dword [r13 + 0x10], r14d
test r9, r9
jne 0x14009e299
mov rax, qword gs:[0x60]
mov edi, r15d
mov esi, 0xa45cec64
xor edx, edx
mov rcx, qword [rax + 0x18]
mov rax, qword [rcx + 0x10]
mov r15, qword [rax]
mov rbx, r15
movups xmm0, xmmword [rbx + 0x58]
movd eax, xmm0
sub ax, 8
test edi, edi
je 0x14009e191
psrldq xmm0, 8
mov edx, 0x811c9dc5
movzx eax, ax
movq rcx, xmm0
shr rax, 1
lea r8, [rcx + rax*2]
jmp 0x14009e182
movsx eax, byte [rcx]
xor eax, edx
imul edx, eax, 0x1000193
add rcx, 2
cmp rcx, r8
jne 0x14009e173
cmp edx, edi
jne 0x14009e26d
xor edx, edx
mov r10, qword [rbx + 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 0x14009e26f
mov r9d, dword [r11 + 0x18]
test r9d, r9d
je 0x14009e26f
mov r12d, dword [r11 + 0x20]
dec r9d
lea rdx, [r10 + r9*4]
mov r8d, dword [rdx + r12]
mov edx, 0x811c9dc5
add r8, r10
jmp 0x14009e1e5
movsx ecx, cl
xor ecx, edx
imul edx, ecx, 0x1000193
mov cl, byte [r8]
inc r8
test cl, cl
jne 0x14009e1da
cmp edx, esi
je 0x14009e1fc
xor edx, edx
test r9d, r9d
jne 0x14009e1c5
jmp 0x14009e26f
mov edx, dword [r11 + 0x24]
add rdx, r10
movzx r9d, word [rdx + r9*2]
mov edx, dword [r11 + 0x1c]
add rdx, r10
mov r9d, dword [rdx + r9*4]
add r9, r10
cmp r9, r11
jbe 0x14009e3cf
lea rcx, [r11 + rax]
cmp r9, rcx
jae 0x14009e3cf
mov eax, 0x811c9dc5
mov edi, eax
mov esi, eax
jmp 0x14009e245
movsx eax, al
xor eax, edi
imul edi, eax, 0x1000193
inc r9
mov al, byte [r9]
cmp al, 0x2e
jne 0x14009e237
inc r9
xor edx, edx
jmp 0x14009e261
movsx eax, al
xor eax, esi
imul esi, eax, 0x1000193
inc r9
mov al, byte [r9]
test al, al
jne 0x14009e253
mov rbx, qword [r15]
jmp 0x14009e26f
xor edx, edx
mov rax, qword [rbx]
mov rbx, rax
cmp rax, r15
je 0x14009e284
cmp qword [rax + 0x30], rdx
jne 0x14009e148
xor r15d, r15d
mov r9d, r15d
mov ebx, dword [rsp + 0x40]
mov r12, qword [rbp - 0x70]
mov qword [0x140231258], r9
mov r8d, r14d
lea rcx, [r13 + 0x14]
lea rdx, [rsp + 0x60]
call r9
call fcn.1400a4578
movsx edx, al
call fcn.1400a4574
movsx ecx, al
imul edx, ecx
lea r8d, [rdx + rdx*8]
call fcn.1400a4584
movsx ecx, al
xor edx, edx
movsx eax, byte [reloc.WS2_32.dll_htons]
add r8d, ecx
movsx ecx, byte [reloc.WS2_32.dll_htonl]
add eax, r8d
div ecx
mov r8d, eax
movsx eax, byte [reloc.WS2_32.dll_accept]
cmp r8d, eax
je 0x14009e7d9
mov r9d, ebx
mov r8, r13
mov edx, 3
mov rcx, r12
call qword [sym.imp.KERNEL32.dll_SetFileInformationByHandle]
mov rcx, r15
xorps xmm2, xmm2
test eax, eax
movsx eax, byte [reloc.WS2_32.dll_getsockopt]
sete cl
movd xmm1, eax
movsx eax, byte [reloc.WS2_32.dll_closesocket]
cvtdq2pd xmm1, xmm1
movd xmm0, eax
cvtdq2pd xmm0, xmm0
cvtsi2sd xmm2, rcx
addsd xmm0, xmm0
subsd xmm1, xmm0
mulsd xmm1, xmm2
movsd qword [rsp + 0x48], xmm1
call fcn.1400a4578
movsx edx, al
call fcn.1400a4574
movsx ecx, al
imul edx, ecx
lea edx, [rdx + rdx*2]
call fcn.1400a4584
movsx ecx, al
movsx eax, byte [reloc.WS2_32.dll_htons]
lea r9d, [rcx + rdx*2]
movsx ecx, byte [reloc.WS2_32.dll_htonl]
add eax, r9d
xor edx, edx
div ecx
mov r8d, eax
movsx eax, byte [reloc.WS2_32.dll_accept]
cmp r8d, eax
je 0x14009e3d7
call fcn.1400a457c
movsx edx, al
movsx eax, byte [0x14022ead4]
imul edx, eax
lea r8d, [rdx + rdx*4]
call fcn.1400a4588
movsx ecx, al
sub r8d, ecx
call fcn.1400a4580
movsx ecx, al
add r8d, ecx
movsx ecx, byte [reloc.WS2_32.dll_closesocket]
add ecx, r8d
je 0x14009e3d7
mov r9d, 0xa
jmp 0x14009e459
xor r15d, r15d
jmp 0x14009e28a
call fcn.1400a4578
movsx edx, al
call fcn.1400a4574
movsx ecx, al
imul edx, ecx
call fcn.1400a4584
movsx ecx, al
movsx eax, byte [reloc.WS2_32.dll_htons]
lea r8d, [rcx + rdx*2]
movsx ecx, byte [reloc.WS2_32.dll_htonl]
add eax, r8d
xor edx, edx
div ecx
mov r8d, eax
movsx eax, byte [reloc.WS2_32.dll_accept]
cmp r8d, eax
je 0x14009e454
movsx eax, byte [reloc.WS2_32.dll_htons]
xor edx, edx
movsx ecx, byte [reloc.WS2_32.dll_htonl]
add eax, r9d
div ecx
xorps xmm0, xmm0
mov r8d, eax
movsx eax, byte [reloc.WS2_32.dll_accept]
sub r8d, eax
mov eax, r8d
cvtsi2sd xmm0, rax
mulsd xmm0, qword [rsp + 0x48]
cvttsd2si r9d, xmm0
jmp 0x14009e459
mov r9d, dword [rsp + 0x40]
call fcn.1400a4578
movsx edx, al
call fcn.1400a4574
movsx ecx, al
imul edx, ecx
lea edx, [rdx + rdx*4]
call fcn.1400a4584
movsx ecx, al
movsx eax, byte [reloc.WS2_32.dll_htons]
lea r8d, [rcx + rdx*2]
movsx ecx, byte [reloc.WS2_32.dll_htonl]
add eax, r8d
xor edx, edx
div ecx
mov r8d, eax
movsx eax, byte [reloc.WS2_32.dll_accept]
sub r8d, eax
imul r8d, r9d
test r8d, r8d
je 0x14009e7d9
mov rcx, r13
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
mov rdx, qword [0x140231280]
test rdx, rdx
jne 0x14009e622
mov rax, qword gs:[0x60]
mov edi, r15d
mov esi, 0xfaba0065
mov rcx, qword [rax + 0x18]
mov rax, qword [rcx + 0x10]
mov r14, qword [rax]
mov rbx, r14
movups xmm0, xmmword [rbx + 0x58]
movd eax, xmm0
sub ax, 8
test edi, edi
je 0x14009e529
psrldq xmm0, 8
mov edx, 0x811c9dc5
movzx eax, ax
movq rcx, xmm0
shr rax, 1
lea r8, [rcx + rax*2]
jmp 0x14009e51c
movsx eax, byte [rcx]
xor eax, edx
imul edx, eax, 0x1000193
add rcx, 2
cmp rcx, r8
jne 0x14009e50d
cmp edx, edi
jne 0x14009e603
mov r9, qword [rbx + 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 0x14009e603
mov r11d, dword [r10 + 0x18]
test r11d, r11d
je 0x14009e603
mov r15d, dword [r10 + 0x20]
dec r11d
lea rdx, [r9 + r11*4]
mov r8d, dword [rdx + r15]
mov edx, 0x811c9dc5
add r8, r9
jmp 0x14009e57d
movsx ecx, cl
xor ecx, edx
imul edx, ecx, 0x1000193
mov cl, byte [r8]
inc r8
test cl, cl
jne 0x14009e572
cmp edx, esi
je 0x14009e595
test r11d, r11d
jne 0x14009e55d
xor r15d, r15d
jmp 0x14009e603
mov ecx, dword [r10 + 0x24]
mov edx, dword [r10 + 0x1c]
add rcx, r9
add rdx, r9
movzx r8d, word [rcx + r11*2]
mov edx, dword [rdx + r8*4]
add rdx, r9
cmp rdx, r10
jbe 0x14009e7c4
lea rcx, [rax + r10]
cmp rdx, rcx
jae 0x14009e7c4
mov eax, 0x811c9dc5
mov edi, eax
mov esi, eax
jmp 0x14009e5de
movsx eax, al
xor eax, edi
imul edi, eax, 0x1000193
inc rdx
mov al, byte [rdx]
cmp al, 0x2e
jne 0x14009e5d0
inc rdx
xor r15d, r15d
jmp 0x14009e5fa
movsx eax, al
xor eax, esi
imul esi, eax, 0x1000193
inc rdx
mov al, byte [rdx]
test al, al
jne 0x14009e5ec
mov rbx, qword [r14]
mov rax, qword [rbx]
mov rbx, rax
cmp rax, r14
je 0x14009e618
cmp qword [rax + 0x30], r15
jne 0x14009e4e2
mov rdx, r15
mov qword [0x140231280], rdx
mov rcx, r12
call rdx
call fcn.1400a4578
movsx r8d, al
call fcn.1400a4574
movsx ecx, al
imul r8d, ecx
call fcn.1400a4584
movsx ecx, al
xor edx, edx
movsx eax, byte [reloc.WS2_32.dll_htons]
add r8d, ecx
movsx ecx, byte [reloc.WS2_32.dll_htonl]
add eax, r8d
div ecx
xorps xmm2, xmm2
mov r8d, eax
movsx eax, byte [reloc.WS2_32.dll_accept]
sub r8d, eax
mov eax, r8d
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 + 0x48], xmm1
call fcn.1400a4578
movsx edx, al
call fcn.1400a4574
movsx ecx, al
imul edx, ecx
lea edx, [rdx + rdx*2]
call fcn.1400a4584
movsx ecx, al
movsx eax, byte [reloc.WS2_32.dll_htons]
lea r8d, [rcx + rdx*2]
movsx ecx, byte [reloc.WS2_32.dll_htonl]
add eax, r8d
xor edx, edx
div ecx
mov r8d, eax
movsx eax, byte [reloc.WS2_32.dll_accept]
cmp r8d, eax
je 0x14009e726
call fcn.1400a457c
movsx edx, al
movsx eax, byte [0x14022ead4]
imul edx, eax
lea r8d, [rdx + rdx*4]
call fcn.1400a4588
movsx ecx, al
sub r8d, ecx
call fcn.1400a4580
movsx ecx, al
add r8d, ecx
movsx ecx, byte [reloc.WS2_32.dll_closesocket]
add ecx, r8d
jne 0x14009f37b
call fcn.1400a4578
movsx edx, al
call fcn.1400a4574
movsx ecx, al
imul edx, ecx
call fcn.1400a4584
movsx ecx, al
movsx eax, byte [reloc.WS2_32.dll_htons]
lea r8d, [rcx + rdx*2]
movsx ecx, byte [reloc.WS2_32.dll_htonl]
add eax, r8d
xor edx, edx
div ecx
mov r8d, eax
movsx eax, byte [reloc.WS2_32.dll_accept]
cmp r8d, eax
je 0x14009e7cc
call fcn.1400a4578
movsx edx, al
call fcn.1400a4574
movsx ecx, al
imul edx, ecx
lea edx, [rdx + rdx*2]
call fcn.1400a4584
movsx ecx, al
xorps xmm0, xmm0
movsx eax, byte [reloc.WS2_32.dll_htons]
lea r8d, [rcx + rdx*2]
movsx ecx, byte [reloc.WS2_32.dll_htonl]
add eax, r8d
xor edx, edx
div ecx
mov r8d, eax
movsx eax, byte [reloc.WS2_32.dll_accept]
sub r8d, eax
mov eax, r8d
cvtsi2sd xmm0, rax
mulsd xmm0, qword [rsp + 0x48]
cvttsd2si eax, xmm0
jmp 0x14009e7d0
xor r15d, r15d
jmp 0x14009e61b
mov eax, dword [rsp + 0x40]
cmp r15d, eax
jl 0x14009f37b
mov rcx, r13
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
mov rdx, qword [0x140231280]
test rdx, rdx
jne 0x14009e951
mov rax, qword gs:[0x60]
mov edi, r15d
mov esi, 0xfaba0065
mov rcx, qword [rax + 0x18]
mov rax, qword [rcx + 0x10]
mov r14, qword [rax]
mov rbx, r14
movups xmm0, xmmword [rbx + 0x58]
movd eax, xmm0
sub ax, 8
test edi, edi
je 0x14009e858
psrldq xmm0, 8
mov edx, 0x811c9dc5
movzx eax, ax
movq rcx, xmm0
shr rax, 1
lea r8, [rcx + rax*2]
jmp 0x14009e84b
movsx eax, byte [rcx]
xor eax, edx
imul edx, eax, 0x1000193
add rcx, 2
cmp rcx, r8
jne 0x14009e83c
cmp edx, edi
jne 0x14009e932
mov r9, qword [rbx + 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 0x14009e932
mov r11d, dword [r10 + 0x18]
test r11d, r11d
je 0x14009e932
mov r15d, dword [r10 + 0x20]
dec r11d
lea rdx, [r15 + r11*4]
mov r8d, dword [rdx + r9]
mov edx, 0x811c9dc5
add r8, r9
jmp 0x14009e8ac
movsx ecx, cl
xor ecx, edx
imul edx, ecx, 0x1000193
mov cl, byte [r8]
inc r8
test cl, cl
jne 0x14009e8a1
cmp edx, esi
je 0x14009e8c4
test r11d, r11d
jne 0x14009e88c
xor r15d, r15d
jmp 0x14009e932
mov ecx, dword [r10 + 0x24]
mov edx, dword [r10 + 0x1c]
add rcx, r9
add rdx, r9
movzx r8d, word [rcx + r11*2]
mov edx, dword [rdx + r8*4]
add rdx, r9
cmp rdx, r10
jbe 0x14009e9b0
lea rcx, [r10 + rax]
cmp rdx, rcx
jae 0x14009e9b0
mov eax, 0x811c9dc5
mov edi, eax
mov esi, eax
jmp 0x14009e90d
movsx eax, al
xor eax, edi
imul edi, eax, 0x1000193
inc rdx
mov al, byte [rdx]
cmp al, 0x2e
jne 0x14009e8ff
inc rdx
xor r15d, r15d
jmp 0x14009e929
movsx eax, al
xor eax, esi
imul esi, eax, 0x1000193
inc rdx
mov al, byte [rdx]
test al, al
jne 0x14009e91b
mov rbx, qword [r14]
mov rax, qword [rbx]
mov rbx, rax
cmp rax, r14
je 0x14009e947
cmp qword [rax + 0x30], r15
jne 0x14009e811
mov rdx, r15
mov qword [0x140231280], rdx
mov rcx, r12
call rdx
mov r10, qword [0x140231260]
test r10, r10
jne 0x14009eac5
mov rax, qword gs:[0x60]
mov edi, r15d
mov rcx, qword [rax + 0x18]
mov rax, qword [rcx + 0x10]
mov rsi, qword [rax]
mov r10, rsi
movups xmm0, xmmword [r10 + 0x58]
mov r12d, 0x811c9dc5
movd eax, xmm0
sub ax, 8
test edi, edi
je 0x14009e9d1
psrldq xmm0, 8
mov edx, r12d
movzx eax, ax
movq rcx, xmm0
shr rax, 1
lea r8, [rcx + rax*2]
jmp 0x14009e9c4
xor r15d, r15d
jmp 0x14009e94a
movsx eax, byte [rcx]
xor eax, edx
imul edx, eax, 0x1000193
add rcx, 2
cmp rcx, r8
jne 0x14009e9b5
cmp edx, edi
jne 0x14009eaa6
mov r9, qword [r10 + 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 0x14009eaa6
mov ebx, dword [r11 + 0x18]
test ebx, ebx
je 0x14009eaa6
mov r14d, dword [r11 + 0x20]
dec ebx
lea rdx, [r14 + rbx*4]
mov r8d, dword [rdx + r9]
mov edx, r12d
add r8, r9
jmp 0x14009ea21
movsx ecx, cl
xor ecx, edx
imul edx, ecx, 0x1000193
mov cl, byte [r8]
inc r8
test cl, cl
jne 0x14009ea16
cmp edx, dword [rsp + 0x50]
je 0x14009ea37
test ebx, ebx
jne 0x14009ea04
jmp 0x14009eaa6
mov ecx, dword [r11 + 0x24]
mov edx, dword [r11 + 0x1c]
add rcx, r9
add rdx, r9
movzx r8d, word [rcx + rbx*2]
mov r10d, dword [rdx + r8*4]
add r10, r9
cmp r10, r11
jbe 0x14009eabe
lea rcx, [r11 + rax]
cmp r10, rcx
jae 0x14009eabe
mov ecx, r12d
mov edi, r12d
mov dword [rsp + 0x50], ecx
jmp 0x14009ea79
movsx eax, al
xor eax, edi
imul edi, eax, 0x1000193
inc r10
mov al, byte [r10]
cmp al, 0x2e
jne 0x14009ea6b
inc r10
mov al, byte [r10]
test al, al
je 0x14009eaa3
movsx eax, al
inc r10
xor eax, ecx
imul ecx, eax, 0x1000193
mov al, byte [r10]
test al, al
jne 0x14009ea8a
mov dword [rsp + 0x50], ecx
mov r10, qword [rsi]
mov rax, qword [r10]
mov r10, rax
cmp rax, rsi
je 0x14009eabb
cmp qword [rax + 0x30], r15
jne 0x14009e980
mov r10, r15
mov qword [0x140231260], r10
mov qword [rsp + 0x30], r15
lea rcx, [rbp - 0x60]
mov dword [rsp + 0x28], 0x80
xor r9d, r9d
xor r8d, r8d
mov dword [rsp + 0x20], 3
mov edx, 0x10000
call r10
mov r12, rax
call fcn.1400a4578
movsx edx, al
call fcn.1400a4574
movsx ecx, al
imul edx, ecx
lea edx, [rdx + rdx*2]
call fcn.1400a4584
movsx ecx, al
movsx eax, byte [reloc.WS2_32.dll_htons]
lea r10d, [rcx + rdx*2]
movsx ecx, byte [reloc.WS2_32.dll_htonl]
add eax, r10d
xor edx, edx
div ecx
mov r8d, eax
movsx eax, byte [reloc.WS2_32.dll_accept]
cmp r8d, eax
je 0x14009ee3c
movsx eax, byte [reloc.WS2_32.dll_getsockopt]
cmp r12, 0xffffffffffffffff
movd xmm1, eax
movsx eax, byte [reloc.WS2_32.dll_closesocket]
cvtdq2pd xmm1, xmm1
movd xmm0, eax
mov rax, r15
sete al
xor edx, edx
cvtdq2pd xmm0, xmm0
addsd xmm0, xmm0
subsd xmm1, xmm0
xorps xmm0, xmm0
cvtsi2sd xmm0, rax
mulsd xmm1, xmm0
movsd qword [rsp + 0x48], xmm1
movsx eax, byte [reloc.WS2_32.dll_htons]
movsx ecx, byte [reloc.WS2_32.dll_htonl]
add eax, r10d
div ecx
mov r8d, eax
movsx eax, byte [reloc.WS2_32.dll_accept]
cmp r8d, eax
je 0x14009ebe2
call fcn.1400a457c
movsx edx, al
movsx eax, byte [0x14022ead4]
imul edx, eax
lea r8d, [rdx + rdx*4]
call fcn.1400a4588
movsx ecx, al
sub r8d, ecx
call fcn.1400a4580
movsx ecx, al
add r8d, ecx
movsx ecx, byte [reloc.WS2_32.dll_closesocket]
add ecx, r8d
je 0x14009ebe2
mov r9d, 0xa
jmp 0x14009ec64
call fcn.1400a4578
movsx edx, al
call fcn.1400a4574
movsx ecx, al
imul edx, ecx
call fcn.1400a4584
movsx ecx, al
movsx eax, byte [reloc.WS2_32.dll_htons]
lea r8d, [rcx + rdx*2]
movsx ecx, byte [reloc.WS2_32.dll_htonl]
add eax, r8d
xor edx, edx
div ecx
mov r8d, eax
movsx eax, byte [reloc.WS2_32.dll_accept]
cmp r8d, eax
je 0x14009ec5f
movsx eax, byte [reloc.WS2_32.dll_htons]
xor edx, edx
movsx ecx, byte [reloc.WS2_32.dll_htonl]
add eax, r10d
div ecx
xorps xmm0, xmm0
mov r8d, eax
movsx eax, byte [reloc.WS2_32.dll_accept]
sub r8d, eax
mov eax, r8d
cvtsi2sd xmm0, rax
mulsd xmm0, qword [rsp + 0x48]
cvttsd2si r9d, xmm0
jmp 0x14009ec64
mov r9d, dword [rsp + 0x40]
call fcn.1400a4578
movsx edx, al
call fcn.1400a4574
movsx ecx, al
imul edx, ecx
imul r8d, edx, 7
call fcn.1400a4584
movsx ecx, al
xor edx, edx
movsx eax, byte [reloc.WS2_32.dll_htons]
add r8d, ecx
movsx ecx, byte [reloc.WS2_32.dll_htonl]
add eax, r8d
div ecx
mov r8d, eax
movsx eax, byte [reloc.WS2_32.dll_accept]
sub r8d, eax
imul r8d, r9d
test r8d, r8d
je 0x14009ee3c
call fcn.1400a4578
movsx edx, al
call fcn.1400a4574
movsx ecx, al
imul edx, ecx
call fcn.1400a4584
movsx ecx, al
xorps xmm2, xmm2
movsx eax, byte [reloc.WS2_32.dll_htons]
lea r8d, [rcx + rdx*8]
movsx ecx, byte [reloc.WS2_32.dll_htonl]
add eax, r8d
xor edx, edx
div ecx
xor edx, edx
mov r8d, eax
movsx eax, byte [reloc.WS2_32.dll_accept]
sub r8d, eax
mov eax, r8d
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 + 0x48], xmm1
movsx eax, byte [reloc.WS2_32.dll_htons]
movsx ecx, byte [reloc.WS2_32.dll_htonl]
add eax, r10d
div ecx
mov r8d, eax
movsx eax, byte [reloc.WS2_32.dll_accept]
cmp r8d, eax
je 0x14009ed91
call fcn.1400a457c
movsx edx, al
movsx eax, byte [0x14022ead4]
imul edx, eax
lea r8d, [rdx + rdx*4]
call fcn.1400a4588
movsx ecx, al
sub r8d, ecx
call fcn.1400a4580
movsx ecx, al
add r8d, ecx
movsx ecx, byte [reloc.WS2_32.dll_closesocket]
add ecx, r8d
jne 0x14009f37b
call fcn.1400a4578
movsx edx, al
call fcn.1400a4574
movsx ecx, al
imul edx, ecx
call fcn.1400a4584
movsx ecx, al
movsx eax, byte [reloc.WS2_32.dll_htons]
lea r8d, [rcx + rdx*2]
movsx ecx, byte [reloc.WS2_32.dll_htonl]
add eax, r8d
xor edx, edx
div ecx
mov r8d, eax
movsx eax, byte [reloc.WS2_32.dll_accept]
cmp r8d, eax
je 0x14009ee2f
call fcn.1400a4578
movsx edx, al
call fcn.1400a4574
movsx ecx, al
imul edx, ecx
lea edx, [rdx + rdx*2]
call fcn.1400a4584
movsx ecx, al
xorps xmm0, xmm0
movsx eax, byte [reloc.WS2_32.dll_htons]
lea r8d, [rcx + rdx*2]
movsx ecx, byte [reloc.WS2_32.dll_htonl]
add eax, r8d
xor edx, edx
div ecx
mov r8d, eax
movsx eax, byte [reloc.WS2_32.dll_accept]
sub r8d, eax
mov eax, r8d
cvtsi2sd xmm0, rax
mulsd xmm0, qword [rsp + 0x48]
cvttsd2si eax, xmm0
jmp 0x14009ee33
mov eax, dword [rsp + 0x40]
cmp r15d, eax
jl 0x14009f37b
mov byte [rbp - 0x68], 1
call fcn.1400a4578
movsx edx, al
call fcn.1400a4574
movsx ecx, al
imul edx, ecx
lea r8d, [rdx + rdx*2]
call fcn.1400a4584
movsx ecx, al
xor edx, edx
movsx eax, byte [reloc.WS2_32.dll_htons]
add r8d, ecx
movsx ecx, byte [reloc.WS2_32.dll_htonl]
add eax, r8d
div ecx
mov r8d, eax
movsx eax, byte [reloc.WS2_32.dll_accept]
cmp r8d, eax
je 0x14009f382
mov r9d, 1
lea r8, [rbp - 0x68]
mov rcx, r12
lea edx, [r9 + 3]
call qword [sym.imp.KERNEL32.dll_SetFileInformationByHandle]
mov rcx, r15
xorps xmm2, xmm2
test eax, eax
movsx eax, byte [reloc.WS2_32.dll_getsockopt]
sete cl
movd xmm1, eax
movsx eax, byte [reloc.WS2_32.dll_closesocket]
cvtdq2pd xmm1, xmm1
movd xmm0, eax
cvtdq2pd xmm0, xmm0
cvtsi2sd xmm2, rcx
addsd xmm0, xmm0
subsd xmm1, xmm0
mulsd xmm1, xmm2
movsd qword [rsp + 0x48], xmm1
call fcn.1400a4578
movsx edx, al
call fcn.1400a4574
movsx ecx, al
imul edx, ecx
lea edx, [rdx + rdx*2]
call fcn.1400a4584
movsx ecx, al
movsx eax, byte [reloc.WS2_32.dll_htons]
lea r8d, [rcx + rdx*2]
movsx ecx, byte [reloc.WS2_32.dll_htonl]
add eax, r8d
xor edx, edx
div ecx
mov r8d, eax
movsx eax, byte [reloc.WS2_32.dll_accept]
cmp r8d, eax
je 0x14009ef63
call fcn.1400a457c
movsx edx, al
movsx eax, byte [0x14022ead4]
imul edx, eax
lea r8d, [rdx + rdx*4]
call fcn.1400a4588
movsx ecx, al
sub r8d, ecx
call fcn.1400a4580
movsx ecx, al
add r8d, ecx
movsx ecx, byte [reloc.WS2_32.dll_closesocket]
add ecx, r8d
jne 0x14009f009
call fcn.1400a4578
movsx edx, al
call fcn.1400a4574
movsx ecx, al
imul edx, ecx
call fcn.1400a4584
movsx ecx, al
movsx eax, byte [reloc.WS2_32.dll_htons]
lea r8d, [rcx + rdx*2]
movsx ecx, byte [reloc.WS2_32.dll_htonl]
add eax, r8d
xor edx, edx
div ecx
mov r8d, eax
movsx eax, byte [reloc.WS2_32.dll_accept]
cmp r8d, eax
je 0x14009f001
call fcn.1400a4578
movsx edx, al
call fcn.1400a4574
movsx ecx, al
imul edx, ecx
lea edx, [rdx + rdx*2]
call fcn.1400a4584
movsx ecx, al
xorps xmm0, xmm0
movsx eax, byte [reloc.WS2_32.dll_htons]
lea r8d, [rcx + rdx*2]
movsx ecx, byte [reloc.WS2_32.dll_htonl]
add eax, r8d
xor edx, edx
div ecx
mov r8d, eax
movsx eax, byte [reloc.WS2_32.dll_accept]
sub r8d, eax
mov eax, r8d
cvtsi2sd xmm0, rax
mulsd xmm0, qword [rsp + 0x48]
cvttsd2si eax, xmm0
jmp 0x14009f005
mov eax, dword [rsp + 0x40]
mov dword [rsp + 0x54], eax
call fcn.1400a4578
movsx edx, al
call fcn.1400a4574
movsx ecx, al
imul edx, ecx
call fcn.1400a4584
movsx ecx, al
movsx eax, byte [reloc.WS2_32.dll_htons]
lea r8d, [rcx + rdx*8]
movsx ecx, byte [reloc.WS2_32.dll_htonl]
add eax, r8d
xor edx, edx
div ecx
mov r8d, eax
movsx eax, byte [reloc.WS2_32.dll_accept]
sub r8d, eax
imul r8d, dword [rsp + 0x54]
test r8d, r8d
je 0x14009f382
mov rdx, qword [0x140231280]
test rdx, rdx
jne 0x14009f1c6
mov rax, qword gs:[0x60]
mov edi, r15d
mov esi, 0xfaba0065
mov rcx, qword [rax + 0x18]
mov rax, qword [rcx + 0x10]
mov r14, qword [rax]
mov r11, r14
movups xmm0, xmmword [r11 + 0x58]
movd eax, xmm0
sub ax, 8
test edi, edi
je 0x14009f0d0
psrldq xmm0, 8
mov edx, 0x811c9dc5
movzx eax, ax
movq rcx, xmm0
shr rax, 1
lea r8, [rcx + rax*2]
jmp 0x14009f0c3
movsx eax, byte [rcx]
xor eax, edx
imul edx, eax, 0x1000193
add rcx, 2
cmp rcx, r8
jne 0x14009f0b4
cmp edx, edi
jne 0x14009f1a7
mov r9, qword [r11 + 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 0x14009f1a7
mov ebx, dword [r10 + 0x18]
test ebx, ebx
je 0x14009f1a7
mov r15d, dword [r10 + 0x20]
dec ebx
lea rdx, [r15 + rbx*4]
mov r8d, dword [rdx + r9]
mov edx, 0x811c9dc5
add r8, r9
jmp 0x14009f122
movsx ecx, cl
xor ecx, edx
imul edx, ecx, 0x1000193
mov cl, byte [r8]
inc r8
test cl, cl
jne 0x14009f117
cmp edx, esi
je 0x14009f139
test ebx, ebx
jne 0x14009f103
xor r15d, r15d
jmp 0x14009f1a7
mov ecx, dword [r10 + 0x24]
mov edx, dword [r10 + 0x1c]
add rcx, r9
add rdx, r9
movzx r8d, word [rcx + rbx*2]
mov edx, dword [rdx + r8*4]
add rdx, r9
cmp rdx, r10
jbe 0x14009f36a
lea rcx, [rax + r10]
cmp rdx, rcx
jae 0x14009f36a
mov eax, 0x811c9dc5
mov edi, eax
mov esi, eax
jmp 0x14009f182
movsx eax, al
xor eax, edi
imul edi, eax, 0x1000193
inc rdx
mov al, byte [rdx]
cmp al, 0x2e
jne 0x14009f174
inc rdx
xor r15d, r15d
jmp 0x14009f19e
movsx eax, al
xor eax, esi
imul esi, eax, 0x1000193
inc rdx
mov al, byte [rdx]
test al, al
jne 0x14009f190
mov r11, qword [r14]
mov rax, qword [r11]
mov r11, rax
cmp rax, r14
je 0x14009f1bc
cmp qword [rax + 0x30], r15
jne 0x14009f088
mov rdx, r15
mov qword [0x140231280], rdx
mov rcx, r12
call rdx
call fcn.1400a4578
movsx edx, al
call fcn.1400a4574
movsx ecx, al
imul edx, ecx
lea r8d, [rdx + rdx*4]
call fcn.1400a4584
movsx ecx, al
xor edx, edx
movsx eax, byte [reloc.WS2_32.dll_htons]
add r8d, ecx
movsx ecx, byte [reloc.WS2_32.dll_htonl]
add eax, r8d
div ecx
xorps xmm2, xmm2
mov r8d, eax
movsx eax, byte [reloc.WS2_32.dll_accept]
sub r8d, eax
mov eax, r8d
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 + 0x48], xmm1
call fcn.1400a4578
movsx edx, al
call fcn.1400a4574
movsx ecx, al
imul edx, ecx
lea edx, [rdx + rdx*2]
call fcn.1400a4584
movsx ecx, al
movsx eax, byte [reloc.WS2_32.dll_htons]
lea r8d, [rcx + rdx*2]
movsx ecx, byte [reloc.WS2_32.dll_htonl]
add eax, r8d
xor edx, edx
div ecx
mov r8d, eax
movsx eax, byte [reloc.WS2_32.dll_accept]
cmp r8d, eax
je 0x14009f2cc
call fcn.1400a457c
movsx edx, al
movsx eax, byte [0x14022ead4]
imul edx, eax
lea r8d, [rdx + rdx*4]
call fcn.1400a4588
movsx ecx, al
sub r8d, ecx
call fcn.1400a4580
movsx ecx, al
add r8d, ecx
movsx ecx, byte [reloc.WS2_32.dll_closesocket]
add ecx, r8d
jne 0x14009f37b
call fcn.1400a4578
movsx edx, al
call fcn.1400a4574
movsx ecx, al
imul edx, ecx
call fcn.1400a4584
movsx ecx, al
movsx eax, byte [reloc.WS2_32.dll_htons]
lea r8d, [rcx + rdx*2]
movsx ecx, byte [reloc.WS2_32.dll_htonl]
add eax, r8d
xor edx, edx
div ecx
mov r8d, eax
movsx eax, byte [reloc.WS2_32.dll_accept]
cmp r8d, eax
je 0x14009f372
call fcn.1400a4578
movsx edx, al
call fcn.1400a4574
movsx ecx, al
imul edx, ecx
lea edx, [rdx + rdx*2]
call fcn.1400a4584
movsx ecx, al
xorps xmm0, xmm0
movsx eax, byte [reloc.WS2_32.dll_htons]
lea r8d, [rcx + rdx*2]
movsx ecx, byte [reloc.WS2_32.dll_htonl]
add eax, r8d
xor edx, edx
div ecx
mov r8d, eax
movsx eax, byte [reloc.WS2_32.dll_accept]
sub r8d, eax
mov eax, r8d
cvtsi2sd xmm0, rax
mulsd xmm0, qword [rsp + 0x48]
cvttsd2si eax, xmm0
jmp 0x14009f376
xor r15d, r15d
jmp 0x14009f1bf
mov eax, dword [rsp + 0x40]
cmp r15d, eax
jge 0x14009f382
xor al, al
jmp 0x14009f698
mov rdx, qword [0x140231280]
test rdx, rdx
jne 0x14009f4e9
mov rax, qword gs:[0x60]
mov edi, r15d
mov rcx, qword [rax + 0x18]
mov rax, qword [rcx + 0x10]
mov rsi, qword [rax]
mov r11, rsi
movups xmm0, xmmword [r11 + 0x58]
mov r13d, 0x811c9dc5
movd eax, xmm0
sub ax, 8
test edi, edi
je 0x14009f3f8
psrldq xmm0, 8
mov edx, r13d
movzx eax, ax
movq rcx, xmm0
shr rax, 1
lea r8, [rcx + rax*2]
jmp 0x14009f3eb
movsx eax, byte [rcx]
xor eax, edx
imul edx, eax, 0x1000193
add rcx, 2
cmp rcx, r8
jne 0x14009f3dc
cmp edx, edi
jne 0x14009f4ca
mov r9, qword [r11 + 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 0x14009f4ca
mov ebx, dword [r10 + 0x18]
test ebx, ebx
je 0x14009f4ca
mov r14d, dword [r10 + 0x20]
dec ebx
lea rdx, [r9 + rbx*4]
mov r8d, dword [rdx + r14]
mov edx, r13d
add r8, r9
jmp 0x14009f448
movsx ecx, cl
xor ecx, edx
imul edx, ecx, 0x1000193
mov cl, byte [r8]
inc r8
test cl, cl
jne 0x14009f43d
cmp edx, dword [rsp + 0x58]
je 0x14009f45e
test ebx, ebx
jne 0x14009f42b
jmp 0x14009f4ca
mov ecx, dword [r10 + 0x24]
mov edx, dword [r10 + 0x1c]
add rcx, r9
add rdx, r9
movzx r8d, word [rcx + rbx*2]
mov edx, dword [rdx + r8*4]
add rdx, r9
cmp rdx, r10
jbe 0x14009f4e2
lea rcx, [rax + r10]
cmp rdx, rcx
jae 0x14009f4e2
mov ecx, r13d
mov edi, r13d
mov dword [rsp + 0x58], ecx
jmp 0x14009f4a0
movsx eax, al
xor eax, edi
imul edi, eax, 0x1000193
inc rdx
mov al, byte [rdx]
cmp al, 0x2e
jne 0x14009f492
inc rdx
mov al, byte [rdx]
test al, al
je 0x14009f4c7
movsx eax, al
inc rdx
xor eax, ecx
imul ecx, eax, 0x1000193
mov al, byte [rdx]
test al, al
jne 0x14009f4af
mov dword [rsp + 0x58], ecx
mov r11, qword [rsi]
mov rax, qword [r11]
mov r11, rax
cmp rax, rsi
je 0x14009f4df
cmp qword [rax + 0x30], r15
jne 0x14009f3ac
mov rdx, r15
mov qword [0x140231280], rdx
mov rcx, r12
call rdx
call fcn.1400a4578
movsx edx, al
call fcn.1400a4574
movsx ecx, al
imul edx, ecx
lea r8d, [rdx + rdx*4]
call fcn.1400a4584
movsx ecx, al
xor edx, edx
movsx eax, byte [reloc.WS2_32.dll_htons]
add r8d, ecx
movsx ecx, byte [reloc.WS2_32.dll_htonl]
add eax, r8d
div ecx
xorps xmm2, xmm2
mov r8d, eax
movsx eax, byte [reloc.WS2_32.dll_accept]
sub r8d, eax
mov eax, r8d
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 + 0x48], xmm1
call fcn.1400a4578
movsx edx, al
call fcn.1400a4574
movsx ecx, al
imul edx, ecx
lea edx, [rdx + rdx*2]
call fcn.1400a4584
movsx ecx, al
movsx eax, byte [reloc.WS2_32.dll_htons]
lea r8d, [rcx + rdx*2]
movsx ecx, byte [reloc.WS2_32.dll_htonl]
add eax, r8d
xor edx, edx
div ecx
mov r8d, eax
movsx eax, byte [reloc.WS2_32.dll_accept]
cmp r8d, eax
je 0x14009f5ef
call fcn.1400a457c
movsx edx, al
movsx eax, byte [0x14022ead4]
imul edx, eax
lea r8d, [rdx + rdx*4]
call fcn.1400a4588
movsx ecx, al
sub r8d, ecx
call fcn.1400a4580
movsx ecx, al
add r8d, ecx
movsx ecx, byte [reloc.WS2_32.dll_closesocket]
add ecx, r8d
jne 0x14009f696
call fcn.1400a4578
movsx edx, al
call fcn.1400a4574
movsx ecx, al
imul edx, ecx
call fcn.1400a4584
movsx ecx, al
movsx eax, byte [reloc.WS2_32.dll_htons]
lea r8d, [rcx + rdx*2]
movsx ecx, byte [reloc.WS2_32.dll_htonl]
add eax, r8d
xor edx, edx
div ecx
mov r8d, eax
movsx eax, byte [reloc.WS2_32.dll_accept]
cmp r8d, eax
je 0x14009f68d
call fcn.1400a4578
movsx edx, al
call fcn.1400a4574
movsx ecx, al
imul edx, ecx
lea edx, [rdx + rdx*2]
call fcn.1400a4584
movsx ecx, al
xorps xmm0, xmm0
movsx eax, byte [reloc.WS2_32.dll_htons]
lea r8d, [rcx + rdx*2]
movsx ecx, byte [reloc.WS2_32.dll_htonl]
add eax, r8d
xor edx, edx
div ecx
mov r8d, eax
movsx eax, byte [reloc.WS2_32.dll_accept]
sub r8d, eax
mov eax, r8d
cvtsi2sd xmm0, rax
mulsd xmm0, qword [rsp + 0x48]
cvttsd2si eax, xmm0
jmp 0x14009f691
mov eax, dword [rsp + 0x40]
cmp r15d, eax
jge 0x14009f698
mov al, 1
mov rcx, qword [rbp + 0x1b0]
xor rcx, rsp
call fcn.140123840
lea r11, [rsp + 0x2c0]
mov rbx, qword [r11 + 0x30]
mov rsi, qword [r11 + 0x38]
mov rdi, qword [r11 + 0x40]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rbp
ret