Function at 0x14013cc68
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 - 0x1d8]
sub rsp, 0x2b0
mov rax, qword [0x1403768c0]
xor rax, rsp
mov qword [rbp + 0x1a0], rax
xor edx, edx
lea rcx, [rbp - 0x70]
mov r8d, 0x20a
call sub.VCRUNTIME140.dll_memset
mov r9, qword [0x14037cdc8]
xor r15d, r15d
test r9, r9
jne 0x14013ce22
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 0x14013cd2a
psrldq xmm0, 8
mov edx, 0x811c9dc5
movzx eax, ax
movq rcx, xmm0
shr rax, 1
lea r9, [rcx + rax*2]
jmp 0x14013cd1d
movsx eax, byte [rcx]
xor eax, edx
imul edx, eax, 0x1000193
add rcx, 2
cmp rcx, r9
jne 0x14013cd0e
cmp edx, ebx
jne 0x14013ce03
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 0x14013ce03
mov r9d, dword [r11 + 0x18]
test r9d, r9d
je 0x14013ce03
mov r12d, dword [r11 + 0x20]
dec r9d
mov esi, 0x811c9dc5
lea rcx, [r12 + r9*4]
mov edx, dword [rcx + r10]
add rdx, r10
jmp 0x14013cd7e
movsx ecx, cl
xor ecx, esi
imul esi, ecx, 0x1000193
mov cl, byte [rdx]
inc rdx
test cl, cl
jne 0x14013cd73
cmp esi, edi
je 0x14013cd95
xor r15d, r15d
test r9d, r9d
jne 0x14013cd5e
jmp 0x14013ce03
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 0x14013ce90
lea rcx, [rax + r11]
cmp r9, rcx
jae 0x14013ce90
mov ebx, 0x811c9dc5
mov edi, ebx
jmp 0x14013cddc
movsx eax, al
xor eax, ebx
imul ebx, eax, 0x1000193
inc r9
mov al, byte [r9]
cmp al, 0x2e
jne 0x14013cdce
inc r9
xor r15d, r15d
jmp 0x14013cdf9
movsx eax, al
xor eax, edi
imul edi, eax, 0x1000193
inc r9
mov al, byte [r9]
test al, al
jne 0x14013cdeb
mov r8, qword [r14]
mov rax, qword [r8]
mov r8, rax
cmp rax, r14
je 0x14013ce18
cmp qword [rax + 0x30], r15
jne 0x14013cce2
mov r9, r15
mov qword [0x14037cdc8], r9
mov r8d, 0x104
lea rdx, [rbp - 0x70]
xor ecx, ecx
call r9
mov r10, qword [0x14037cdc0]
mov edi, 0xafcab3c4
mov dword [rsp + 0x50], edi
test r10, r10
jne 0x14013cfa9
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 0x14013ceb1
psrldq xmm0, 8
mov edx, 0x811c9dc5
movzx eax, ax
movq rcx, xmm0
shr rax, 1
lea r9, [rcx + rax*2]
jmp 0x14013cea4
xor r15d, r15d
jmp 0x14013ce1b
movsx eax, byte [rcx]
xor eax, edx
imul edx, eax, 0x1000193
add rcx, 2
cmp rcx, r9
jne 0x14013ce95
cmp edx, ebx
jne 0x14013cf8a
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 0x14013cf8a
mov r10d, dword [r11 + 0x18]
test r10d, r10d
je 0x14013cf8a
mov r12d, dword [r11 + 0x20]
dec r10d
mov esi, 0x811c9dc5
lea rcx, [r12 + r10*4]
mov edx, dword [rcx + r9]
add rdx, r9
jmp 0x14013cf05
movsx ecx, cl
xor ecx, esi
imul esi, ecx, 0x1000193
mov cl, byte [rdx]
inc rdx
test cl, cl
jne 0x14013cefa
cmp esi, edi
je 0x14013cf1c
xor r15d, r15d
test r10d, r10d
jne 0x14013cee5
jmp 0x14013cf8a
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 0x14013d0ca
lea rcx, [rax + r11]
cmp r10, rcx
jae 0x14013d0ca
mov ebx, 0x811c9dc5
mov edi, ebx
jmp 0x14013cf63
movsx eax, al
xor eax, ebx
imul ebx, eax, 0x1000193
inc r10
mov al, byte [r10]
cmp al, 0x2e
jne 0x14013cf55
inc r10
xor r15d, r15d
jmp 0x14013cf80
movsx eax, al
xor eax, edi
imul edi, eax, 0x1000193
inc r10
mov al, byte [r10]
test al, al
jne 0x14013cf72
mov r8, qword [r14]
mov rax, qword [r8]
mov r8, rax
cmp rax, r14
je 0x14013cf9f
cmp qword [rax + 0x30], r15
jne 0x14013ce64
mov r10, r15
mov qword [0x14037cdc0], r10
mov qword [rsp + 0x30], r15
lea rcx, [rbp - 0x70]
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 - 0x80], rax
call fcn.140141438
movsx edi, al
call fcn.140141434
movsx esi, al
mov r9d, esi
imul r9d, edi
call fcn.140141444
movsx r10d, al
xor edx, edx
movsx eax, byte [reloc.WS2_32.dll_htons]
movsx ecx, byte [reloc.WS2_32.dll_htonl]
add eax, r10d
lea eax, [rax + r9*4]
div ecx
mov r8d, eax
movsx eax, byte [reloc.WS2_32.dll_accept]
cmp r8d, eax
je 0x14013d2dd
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
imul ebx, r9d, 7
cvtdq2pd xmm0, xmm0
xor edx, edx
add ebx, r10d
addsd xmm0, xmm0
subsd xmm1, xmm0
xorps xmm0, xmm0
cvtsi2sd xmm0, rax
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, ebx
div ecx
mov r8d, eax
movsx eax, byte [reloc.WS2_32.dll_accept]
cmp r8d, eax
je 0x14013d0d2
call fcn.14014143c
movsx edx, al
movsx eax, byte [0x14037a680]
imul edx, eax
add edx, edx
call fcn.140141448
movsx ecx, al
sub edx, ecx
call fcn.140141440
movsx ecx, al
add edx, ecx
movsx ecx, byte [reloc.WS2_32.dll_closesocket]
add ecx, edx
je 0x14013d0d2
mov r11d, 1
jmp 0x14013d147
xor r15d, r15d
jmp 0x14013cfa2
movsx r8d, byte [reloc.WS2_32.dll_htons]
lea ecx, [r9 + r10]
lea eax, [rcx + r9*8]
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]
cmp r8d, eax
je 0x14013d142
movsx r8d, byte [reloc.WS2_32.dll_htons]
lea ecx, [r9 + r10]
lea eax, [rcx + r9*2]
xor edx, edx
movsx ecx, byte [reloc.WS2_32.dll_htonl]
add eax, r8d
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 r11d, xmm0
jmp 0x14013d147
mov r11d, dword [rsp + 0x40]
movsx r8d, byte [reloc.WS2_32.dll_htons]
lea ecx, [r9 + r10]
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, r11d
test r8d, r8d
je 0x14013d2dd
movsx eax, byte [reloc.WS2_32.dll_htons]
lea edx, [r9 + r9*2]
movsx ecx, byte [reloc.WS2_32.dll_htonl]
add eax, r10d
xorps xmm2, xmm2
lea eax, [rax + rdx*2]
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 + 0x40], xmm1
movsx eax, byte [reloc.WS2_32.dll_htons]
movsx ecx, byte [reloc.WS2_32.dll_htonl]
add eax, ebx
div ecx
mov r8d, eax
movsx eax, byte [reloc.WS2_32.dll_accept]
cmp r8d, eax
je 0x14013d23d
call fcn.14014143c
movsx edx, al
movsx eax, byte [0x14037a680]
imul edx, eax
add edx, edx
call fcn.140141448
movsx ecx, al
sub edx, ecx
call fcn.140141440
movsx ecx, al
add edx, ecx
movsx ecx, byte [reloc.WS2_32.dll_closesocket]
add ecx, edx
jne 0x14013eb0b
call fcn.140141444
movsx r8d, al
xor edx, edx
mov ecx, edi
imul ecx, esi
lea eax, [rcx + rcx*8]
add r8d, eax
movsx eax, byte [reloc.WS2_32.dll_htons]
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 0x14013d2d0
call fcn.140141438
movsx edx, al
call fcn.140141434
movsx ecx, al
imul edx, ecx
lea r8d, [rdx + rdx*2]
call fcn.140141444
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 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 eax, xmm0
jmp 0x14013d2d4
mov eax, dword [rsp + 0x40]
cmp r15d, eax
jl 0x14013eb0b
xor eax, eax
mov dword [rsp + 0x60], 0x43074d02
mov qword [rsp + 0x78], rax
mov dword [rsp + 0x64], 0x47de41d4
mov dword [rsp + 0x68], 0xbb2c45e1
mov dword [rsp + 0x6c], 0xbfecb919
mov dword [rsp + 0x70], 0xb320bd19
mov dword [rsp + 0x74], 0xb7b6b117
mov qword [rsp + 0x40], r15
jmp 0x14013d356
mov rdx, qword [rsp + 0x40]
mov ecx, reloc.WLDAP32.dll_Ordinal_35
mov rax, qword [rsp + 0x40]
sub dl, 0xa
mov r8b, byte [rsp + rax + 0x60]
mov al, dl
and al, r8b
sub cl, al
mov rax, qword [rsp + 0x40]
add cl, cl
add cl, dl
add cl, r8b
mov byte [rsp + rax + 0x60], cl
mov rax, qword [rsp + 0x40]
inc rax
mov qword [rsp + 0x40], rax
mov rax, qword [rsp + 0x40]
cmp rax, 0x20
jb 0x14013d31b
lea rax, [rsp + 0x60]
or r14, 0xffffffffffffffff
inc r14
cmp word [rax + r14*2], r15w
jne 0x14013d36a
add r14d, r14d
lea edi, [r14 + 0x18]
mov ecx, edi
mov dword [rsp + 0x40], edi
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_malloc]
mov r13, rax
call fcn.140141438
movsx edx, al
call fcn.140141434
movsx ecx, al
imul edx, ecx
lea edx, [rdx + rdx*2]
call fcn.140141444
movsx ecx, al
mov r11d, 0xfaba0065
movsx eax, byte [reloc.WS2_32.dll_htons]
mov dword [rsp + 0x54], r11d
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 0x14013d8ac
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.140141438
movsx edx, al
call fcn.140141434
movsx ecx, al
imul edx, ecx
imul r10d, edx, 7
call fcn.140141444
movsx ecx, al
xor edx, edx
movsx eax, byte [reloc.WS2_32.dll_htons]
add r10d, ecx
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 0x14013d4a4
call fcn.14014143c
movsx edx, al
movsx eax, byte [0x14037a680]
imul edx, eax
add edx, edx
call fcn.140141448
movsx ecx, al
sub edx, ecx
call fcn.140141440
movsx ecx, al
add edx, ecx
movsx ecx, byte [reloc.WS2_32.dll_closesocket]
add ecx, edx
je 0x14013d4a4
mov r9d, 1
jmp 0x14013d54b
call fcn.140141438
movsx edx, al
call fcn.140141434
movsx ecx, al
imul edx, ecx
lea r8d, [rdx + rdx*8]
call fcn.140141444
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 0x14013d546
call fcn.140141438
movsx edx, al
call fcn.140141434
movsx ecx, al
imul edx, ecx
lea r8d, [rdx + rdx*2]
call fcn.140141444
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 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 0x14013d54b
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, r10d
div ecx
mov r8d, eax
movsx eax, byte [reloc.WS2_32.dll_accept]
sub r8d, eax
imul r8d, r9d
test r8d, r8d
je 0x14013d8ac
mov rdx, qword [0x14037cde0]
test rdx, rdx
jne 0x14013d6f8
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 0x14013d5f4
psrldq xmm0, 8
mov edx, 0x811c9dc5
movzx eax, ax
movq rcx, xmm0
shr rax, 1
lea r8, [rcx + rax*2]
jmp 0x14013d5e4
movsx eax, byte [rcx]
xor eax, edx
imul edx, eax, 0x1000193
add rcx, 2
cmp rcx, r8
jne 0x14013d5d5
xor r8d, r8d
cmp edx, edi
jne 0x14013d6ce
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 0x14013d6ce
mov r9d, dword [r11 + 0x18]
test r9d, r9d
je 0x14013d6ce
mov r12d, dword [r11 + 0x20]
dec r9d
lea rdx, [r10 + r9*4]
mov r8d, dword [rdx + r12]
mov edx, 0x811c9dc5
add r8, r10
jmp 0x14013d648
movsx ecx, cl
xor ecx, edx
imul edx, ecx, 0x1000193
mov cl, byte [r8]
inc r8
test cl, cl
jne 0x14013d63d
cmp edx, esi
je 0x14013d660
xor r8d, r8d
test r9d, r9d
jne 0x14013d628
jmp 0x14013d6ce
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 0x14013d897
lea rcx, [r11 + rax]
cmp rdx, rcx
jae 0x14013d897
mov eax, 0x811c9dc5
mov edi, eax
mov esi, eax
jmp 0x14013d6a9
movsx eax, al
xor eax, edi
imul edi, eax, 0x1000193
inc rdx
mov al, byte [rdx]
cmp al, 0x2e
jne 0x14013d69b
inc rdx
xor r8d, r8d
jmp 0x14013d6c5
movsx eax, al
xor eax, esi
imul esi, eax, 0x1000193
inc rdx
mov al, byte [rdx]
test al, al
jne 0x14013d6b7
mov rbx, qword [r15]
mov rax, qword [rbx]
mov rbx, rax
cmp rax, r15
je 0x14013d6e3
cmp qword [rax + 0x30], r8
jne 0x14013d5aa
xor r15d, r15d
mov edx, r15d
mov edi, dword [rsp + 0x40]
mov r12, qword [rbp - 0x80]
mov qword [0x14037cde0], rdx
mov rcx, r12
call rdx
call fcn.140141438
movsx edx, al
call fcn.140141434
movsx ecx, al
imul edx, ecx
call fcn.140141444
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
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.140141438
movsx edx, al
call fcn.140141434
movsx ecx, al
imul edx, ecx
imul r8d, edx, 7
call fcn.140141444
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 0x14013d7f6
call fcn.14014143c
movsx edx, al
movsx eax, byte [0x14037a680]
imul edx, eax
add edx, edx
call fcn.140141448
movsx ecx, al
sub edx, ecx
call fcn.140141440
movsx ecx, al
add edx, ecx
movsx ecx, byte [reloc.WS2_32.dll_closesocket]
add ecx, edx
jne 0x14013eb0b
call fcn.140141438
movsx edx, al
call fcn.140141434
movsx ecx, al
imul edx, ecx
lea r8d, [rdx + rdx*8]
call fcn.140141444
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 0x14013d89f
call fcn.140141438
movsx edx, al
call fcn.140141434
movsx ecx, al
imul edx, ecx
lea r8d, [rdx + rdx*2]
call fcn.140141444
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 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 eax, xmm0
jmp 0x14013d8a3
xor r15d, r15d
jmp 0x14013d6e9
mov eax, dword [rsp + 0x40]
cmp r15d, eax
jl 0x14013eb0b
mov r8d, edi
xor edx, edx
mov rcx, r13
call sub.VCRUNTIME140.dll_memset
mov r9, qword [0x14037cdb8]
mov dword [r13 + 0x10], r14d
test r9, r9
jne 0x14013da3f
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 0x14013d937
psrldq xmm0, 8
mov edx, 0x811c9dc5
movzx eax, ax
movq rcx, xmm0
shr rax, 1
lea r8, [rcx + rax*2]
jmp 0x14013d928
movsx eax, byte [rcx]
xor eax, edx
imul edx, eax, 0x1000193
add rcx, 2
cmp rcx, r8
jne 0x14013d919
cmp edx, edi
jne 0x14013da13
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 0x14013da15
mov r9d, dword [r11 + 0x18]
test r9d, r9d
je 0x14013da15
mov r12d, dword [r11 + 0x20]
dec r9d
lea rdx, [r10 + r9*4]
mov r8d, dword [rdx + r12]
mov edx, 0x811c9dc5
add r8, r10
jmp 0x14013d98b
movsx ecx, cl
xor ecx, edx
imul edx, ecx, 0x1000193
mov cl, byte [r8]
inc r8
test cl, cl
jne 0x14013d980
cmp edx, esi
je 0x14013d9a2
xor edx, edx
test r9d, r9d
jne 0x14013d96b
jmp 0x14013da15
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 0x14013db6d
lea rcx, [rax + r11]
cmp r9, rcx
jae 0x14013db6d
mov eax, 0x811c9dc5
mov edi, eax
mov esi, eax
jmp 0x14013d9eb
movsx eax, al
xor eax, edi
imul edi, eax, 0x1000193
inc r9
mov al, byte [r9]
cmp al, 0x2e
jne 0x14013d9dd
inc r9
xor edx, edx
jmp 0x14013da07
movsx eax, al
xor eax, esi
imul esi, eax, 0x1000193
inc r9
mov al, byte [r9]
test al, al
jne 0x14013d9f9
mov rbx, qword [r15]
jmp 0x14013da15
xor edx, edx
mov rax, qword [rbx]
mov rbx, rax
cmp rax, r15
je 0x14013da2a
cmp qword [rax + 0x30], rdx
jne 0x14013d8ee
xor r15d, r15d
mov r9d, r15d
mov edi, dword [rsp + 0x40]
mov r12, qword [rbp - 0x80]
mov qword [0x14037cdb8], r9
mov r8d, r14d
lea rcx, [r13 + 0x14]
lea rdx, [rsp + 0x60]
call r9
call fcn.140141438
movsx edx, al
call fcn.140141434
movsx ecx, al
imul edx, ecx
lea ebx, [rdx + rdx*2]
call fcn.140141444
movsx ecx, al
xor edx, edx
movsx eax, byte [reloc.WS2_32.dll_htons]
add ebx, ecx
movsx ecx, byte [reloc.WS2_32.dll_htonl]
add eax, ebx
div ecx
mov r8d, eax
movsx eax, byte [reloc.WS2_32.dll_accept]
cmp r8d, eax
je 0x14013df76
mov r9d, edi
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.140141438
movsx edx, al
call fcn.140141434
movsx ecx, al
imul edx, ecx
imul r8d, edx, 7
call fcn.140141444
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 0x14013db75
call fcn.14014143c
movsx edx, al
movsx eax, byte [0x14037a680]
imul edx, eax
add edx, edx
call fcn.140141448
movsx ecx, al
sub edx, ecx
call fcn.140141440
movsx ecx, al
add edx, ecx
movsx ecx, byte [reloc.WS2_32.dll_closesocket]
add ecx, edx
je 0x14013db75
mov r9d, 1
jmp 0x14013dbf9
xor r15d, r15d
jmp 0x14013da30
call fcn.140141438
movsx edx, al
call fcn.140141434
movsx ecx, al
imul edx, ecx
lea r8d, [rdx + rdx*8]
call fcn.140141444
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 0x14013dbf4
movsx eax, byte [reloc.WS2_32.dll_htons]
xor edx, edx
movsx ecx, byte [reloc.WS2_32.dll_htonl]
add eax, ebx
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 0x14013dbf9
mov r9d, dword [rsp + 0x40]
call fcn.140141438
movsx edx, al
call fcn.140141434
movsx ecx, al
imul edx, ecx
call fcn.140141444
movsx ecx, al
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
imul r8d, r9d
test r8d, r8d
je 0x14013df76
mov rcx, r13
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
mov rdx, qword [0x14037cde0]
test rdx, rdx
jne 0x14013ddbf
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 0x14013dcc6
psrldq xmm0, 8
mov edx, 0x811c9dc5
movzx eax, ax
movq rcx, xmm0
shr rax, 1
lea r8, [rcx + rax*2]
jmp 0x14013dcb9
movsx eax, byte [rcx]
xor eax, edx
imul edx, eax, 0x1000193
add rcx, 2
cmp rcx, r8
jne 0x14013dcaa
cmp edx, edi
jne 0x14013dda0
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 0x14013dda0
mov r11d, dword [r10 + 0x18]
test r11d, r11d
je 0x14013dda0
mov r15d, dword [r10 + 0x20]
dec r11d
lea rdx, [r9 + r11*4]
mov r8d, dword [rdx + r15]
mov edx, 0x811c9dc5
add r8, r9
jmp 0x14013dd1a
movsx ecx, cl
xor ecx, edx
imul edx, ecx, 0x1000193
mov cl, byte [r8]
inc r8
test cl, cl
jne 0x14013dd0f
cmp edx, esi
je 0x14013dd32
test r11d, r11d
jne 0x14013dcfa
xor r15d, r15d
jmp 0x14013dda0
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 0x14013df61
lea rcx, [r10 + rax]
cmp rdx, rcx
jae 0x14013df61
mov eax, 0x811c9dc5
mov edi, eax
mov esi, eax
jmp 0x14013dd7b
movsx eax, al
xor eax, edi
imul edi, eax, 0x1000193
inc rdx
mov al, byte [rdx]
cmp al, 0x2e
jne 0x14013dd6d
inc rdx
xor r15d, r15d
jmp 0x14013dd97
movsx eax, al
xor eax, esi
imul esi, eax, 0x1000193
inc rdx
mov al, byte [rdx]
test al, al
jne 0x14013dd89
mov rbx, qword [r14]
mov rax, qword [rbx]
mov rbx, rax
cmp rax, r14
je 0x14013ddb5
cmp qword [rax + 0x30], r15
jne 0x14013dc7f
mov rdx, r15
mov qword [0x14037cde0], rdx
mov rcx, r12
call rdx
call fcn.140141438
movsx edx, al
call fcn.140141434
movsx ecx, al
imul edx, ecx
lea r8d, [rdx + rdx*4]
call fcn.140141444
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.140141438
movsx edx, al
call fcn.140141434
movsx ecx, al
imul edx, ecx
imul r8d, edx, 7
call fcn.140141444
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 0x14013dec0
call fcn.14014143c
movsx edx, al
movsx eax, byte [0x14037a680]
imul edx, eax
add edx, edx
call fcn.140141448
movsx ecx, al
sub edx, ecx
call fcn.140141440
movsx ecx, al
add edx, ecx
movsx ecx, byte [reloc.WS2_32.dll_closesocket]
add ecx, edx
jne 0x14013eb0b
call fcn.140141438
movsx edx, al
call fcn.140141434
movsx ecx, al
imul edx, ecx
lea r8d, [rdx + rdx*8]
call fcn.140141444
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 0x14013df69
call fcn.140141438
movsx edx, al
call fcn.140141434
movsx ecx, al
imul edx, ecx
lea r8d, [rdx + rdx*2]
call fcn.140141444
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 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 eax, xmm0
jmp 0x14013df6d
xor r15d, r15d
jmp 0x14013ddb8
mov eax, dword [rsp + 0x40]
cmp r15d, eax
jl 0x14013eb0b
mov rcx, r13
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
mov rdx, qword [0x14037cde0]
test rdx, rdx
jne 0x14013e0ec
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 0x14013dff6
psrldq xmm0, 8
mov edx, 0x811c9dc5
movzx eax, ax
movq rcx, xmm0
shr rax, 1
lea r8, [rcx + rax*2]
jmp 0x14013dfe9
movsx eax, byte [rcx]
xor eax, edx
imul edx, eax, 0x1000193
add rcx, 2
cmp rcx, r8
jne 0x14013dfda
cmp edx, edi
jne 0x14013e0cd
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 0x14013e0cd
mov ebx, dword [r10 + 0x18]
test ebx, ebx
je 0x14013e0cd
mov r15d, dword [r10 + 0x20]
dec ebx
lea rdx, [r15 + rbx*4]
mov r8d, dword [rdx + r9]
mov edx, 0x811c9dc5
add r8, r9
jmp 0x14013e048
movsx ecx, cl
xor ecx, edx
imul edx, ecx, 0x1000193
mov cl, byte [r8]
inc r8
test cl, cl
jne 0x14013e03d
cmp edx, esi
je 0x14013e05f
test ebx, ebx
jne 0x14013e029
xor r15d, r15d
jmp 0x14013e0cd
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 0x14013e14b
lea rcx, [r10 + rax]
cmp rdx, rcx
jae 0x14013e14b
mov eax, 0x811c9dc5
mov edi, eax
mov esi, eax
jmp 0x14013e0a8
movsx eax, al
xor eax, edi
imul edi, eax, 0x1000193
inc rdx
mov al, byte [rdx]
cmp al, 0x2e
jne 0x14013e09a
inc rdx
xor r15d, r15d
jmp 0x14013e0c4
movsx eax, al
xor eax, esi
imul esi, eax, 0x1000193
inc rdx
mov al, byte [rdx]
test al, al
jne 0x14013e0b6
mov r11, qword [r14]
mov rax, qword [r11]
mov r11, rax
cmp rax, r14
je 0x14013e0e2
cmp qword [rax + 0x30], r15
jne 0x14013dfae
mov rdx, r15
mov qword [0x14037cde0], rdx
mov rcx, r12
call rdx
mov r10, qword [0x14037cdc0]
test r10, r10
jne 0x14013e260
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 0x14013e16c
psrldq xmm0, 8
mov edx, r12d
movzx eax, ax
movq rcx, xmm0
shr rax, 1
lea r8, [rcx + rax*2]
jmp 0x14013e15f
xor r15d, r15d
jmp 0x14013e0e5
movsx eax, byte [rcx]
xor eax, edx
imul edx, eax, 0x1000193
add rcx, 2
cmp rcx, r8
jne 0x14013e150
cmp edx, edi
jne 0x14013e241
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 0x14013e241
mov ebx, dword [r11 + 0x18]
test ebx, ebx
je 0x14013e241
mov r14d, dword [r11 + 0x20]
dec ebx
lea rdx, [r14 + rbx*4]
mov r8d, dword [rdx + r9]
mov edx, r12d
add r8, r9
jmp 0x14013e1bc
movsx ecx, cl
xor ecx, edx
imul edx, ecx, 0x1000193
mov cl, byte [r8]
inc r8
test cl, cl
jne 0x14013e1b1
cmp edx, dword [rsp + 0x50]
je 0x14013e1d2
test ebx, ebx
jne 0x14013e19f
jmp 0x14013e241
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 0x14013e259
lea rcx, [r11 + rax]
cmp r10, rcx
jae 0x14013e259
mov ecx, r12d
mov edi, r12d
mov dword [rsp + 0x50], ecx
jmp 0x14013e214
movsx eax, al
xor eax, edi
imul edi, eax, 0x1000193
inc r10
mov al, byte [r10]
cmp al, 0x2e
jne 0x14013e206
inc r10
mov al, byte [r10]
test al, al
je 0x14013e23e
movsx eax, al
inc r10
xor eax, ecx
imul ecx, eax, 0x1000193
mov al, byte [r10]
test al, al
jne 0x14013e225
mov dword [rsp + 0x50], ecx
mov r10, qword [rsi]
mov rax, qword [r10]
mov r10, rax
cmp rax, rsi
je 0x14013e256
cmp qword [rax + 0x30], r15
jne 0x14013e11b
mov r10, r15
mov qword [0x14037cdc0], r10
mov qword [rsp + 0x30], r15
lea rcx, [rbp - 0x70]
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.140141438
movsx edx, al
call fcn.140141434
movsx ecx, al
imul edx, ecx
lea edx, [rdx + rdx*4]
call fcn.140141444
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 0x14013e615
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
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.140141438
movsx edx, al
call fcn.140141434
movsx ecx, al
imul edx, ecx
imul r10d, edx, 7
call fcn.140141444
movsx ecx, al
xor edx, edx
movsx eax, byte [reloc.WS2_32.dll_htons]
add r10d, ecx
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 0x14013e39a
call fcn.14014143c
movsx edx, al
movsx eax, byte [0x14037a680]
imul edx, eax
add edx, edx
call fcn.140141448
movsx ecx, al
sub edx, ecx
call fcn.140141440
movsx ecx, al
add edx, ecx
movsx ecx, byte [reloc.WS2_32.dll_closesocket]
add ecx, edx
je 0x14013e39a
mov r9d, 1
jmp 0x14013e441
call fcn.140141438
movsx edx, al
call fcn.140141434
movsx ecx, al
imul edx, ecx
lea r8d, [rdx + rdx*8]
call fcn.140141444
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 0x14013e43c
call fcn.140141438
movsx edx, al
call fcn.140141434
movsx ecx, al
imul edx, ecx
lea r8d, [rdx + rdx*2]
call fcn.140141444
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 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 0x14013e441
mov r9d, dword [rsp + 0x40]
call fcn.140141438
movsx r8d, al
call fcn.140141434
movsx ecx, al
imul r8d, ecx
call fcn.140141444
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 0x14013e615
call fcn.140141438
movsx edx, al
call fcn.140141434
movsx ecx, al
imul edx, ecx
call fcn.140141444
movsx ecx, al
xorps xmm2, xmm2
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
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 0x14013e567
call fcn.14014143c
movsx edx, al
movsx eax, byte [0x14037a680]
imul edx, eax
add edx, edx
call fcn.140141448
movsx ecx, al
sub edx, ecx
call fcn.140141440
movsx ecx, al
add edx, ecx
movsx ecx, byte [reloc.WS2_32.dll_closesocket]
add ecx, edx
jne 0x14013eb0b
call fcn.140141438
movsx edx, al
call fcn.140141434
movsx ecx, al
imul edx, ecx
lea r8d, [rdx + rdx*8]
call fcn.140141444
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 0x14013e608
call fcn.140141438
movsx edx, al
call fcn.140141434
movsx ecx, al
imul edx, ecx
lea r8d, [rdx + rdx*2]
call fcn.140141444
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 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 eax, xmm0
jmp 0x14013e60c
mov eax, dword [rsp + 0x40]
cmp r15d, eax
jl 0x14013eb0b
mov byte [rbp - 0x78], 1
call fcn.140141438
movsx edx, al
call fcn.140141434
movsx ecx, al
imul edx, ecx
imul ebx, edx, 7
call fcn.140141444
movsx ecx, al
xor edx, edx
movsx eax, byte [reloc.WS2_32.dll_htons]
add ebx, ecx
movsx ecx, byte [reloc.WS2_32.dll_htonl]
add eax, ebx
div ecx
mov r8d, eax
movsx eax, byte [reloc.WS2_32.dll_accept]
cmp r8d, eax
je 0x14013eb12
mov r9d, 1
lea r8, [rbp - 0x78]
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
xor edx, edx
movd xmm1, eax
movsx eax, byte [reloc.WS2_32.dll_closesocket]
cvtdq2pd xmm1, xmm1
movd xmm0, eax
cvtsi2sd xmm2, rcx
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, ebx
div ecx
mov r8d, eax
movsx eax, byte [reloc.WS2_32.dll_accept]
cmp r8d, eax
je 0x14013e718
call fcn.14014143c
movsx edx, al
movsx eax, byte [0x14037a680]
imul edx, eax
add edx, edx
call fcn.140141448
movsx ecx, al
sub edx, ecx
call fcn.140141440
movsx ecx, al
add edx, ecx
movsx ecx, byte [reloc.WS2_32.dll_closesocket]
add ecx, edx
je 0x14013e718
mov r9d, 1
jmp 0x14013e7bf
call fcn.140141438
movsx edx, al
call fcn.140141434
movsx ecx, al
imul edx, ecx
lea r8d, [rdx + rdx*8]
call fcn.140141444
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 0x14013e7ba
call fcn.140141438
movsx edx, al
call fcn.140141434
movsx ecx, al
imul edx, ecx
lea r8d, [rdx + rdx*2]
call fcn.140141444
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 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 0x14013e7bf
mov r9d, dword [rsp + 0x40]
call fcn.140141438
movsx edx, al
call fcn.140141434
movsx ecx, al
imul edx, ecx
call fcn.140141444
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, r9d
test r8d, r8d
je 0x14013eb12
mov rdx, qword [0x14037cde0]
test rdx, rdx
jne 0x14013e97a
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 0x14013e884
psrldq xmm0, 8
mov edx, 0x811c9dc5
movzx eax, ax
movq rcx, xmm0
shr rax, 1
lea r8, [rcx + rax*2]
jmp 0x14013e877
movsx eax, byte [rcx]
xor eax, edx
imul edx, eax, 0x1000193
add rcx, 2
cmp rcx, r8
jne 0x14013e868
cmp edx, edi
jne 0x14013e95b
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 0x14013e95b
mov ebx, dword [r10 + 0x18]
test ebx, ebx
je 0x14013e95b
mov r15d, dword [r10 + 0x20]
dec ebx
lea rdx, [r15 + rbx*4]
mov r8d, dword [rdx + r9]
mov edx, 0x811c9dc5
add r8, r9
jmp 0x14013e8d6
movsx ecx, cl
xor ecx, edx
imul edx, ecx, 0x1000193
mov cl, byte [r8]
inc r8
test cl, cl
jne 0x14013e8cb
cmp edx, esi
je 0x14013e8ed
test ebx, ebx
jne 0x14013e8b7
xor r15d, r15d
jmp 0x14013e95b
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 0x14013eafa
lea rcx, [r10 + rax]
cmp rdx, rcx
jae 0x14013eafa
mov eax, 0x811c9dc5
mov edi, eax
mov esi, eax
jmp 0x14013e936
movsx eax, al
xor eax, edi
imul edi, eax, 0x1000193
inc rdx
mov al, byte [rdx]
cmp al, 0x2e
jne 0x14013e928
inc rdx
xor r15d, r15d
jmp 0x14013e952
movsx eax, al
xor eax, esi
imul esi, eax, 0x1000193
inc rdx
mov al, byte [rdx]
test al, al
jne 0x14013e944
mov r11, qword [r14]
mov rax, qword [r11]
mov r11, rax
cmp rax, r14
je 0x14013e970
cmp qword [rax + 0x30], r15
jne 0x14013e83c
mov rdx, r15
mov qword [0x14037cde0], rdx
mov rcx, r12
call rdx
call fcn.140141438
movsx edx, al
call fcn.140141434
movsx ecx, al
imul edx, ecx
lea r9d, [rdx + rdx*8]
call fcn.140141444
movsx ecx, al
xor edx, edx
movsx eax, byte [reloc.WS2_32.dll_htons]
add r9d, ecx
movsx ecx, byte [reloc.WS2_32.dll_htonl]
add eax, r9d
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.140141438
movsx edx, al
call fcn.140141434
movsx ecx, al
imul edx, ecx
imul r8d, edx, 7
call fcn.140141444
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 0x14013ea7b
call fcn.14014143c
movsx edx, al
movsx eax, byte [0x14037a680]
imul edx, eax
add edx, edx
call fcn.140141448
movsx ecx, al
sub edx, ecx
call fcn.140141440
movsx ecx, al
add edx, ecx
movsx ecx, byte [reloc.WS2_32.dll_closesocket]
add ecx, edx
jne 0x14013eb0b
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 0x14013eb02
call fcn.140141438
movsx edx, al
call fcn.140141434
movsx ecx, al
imul edx, ecx
lea r8d, [rdx + rdx*2]
call fcn.140141444
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 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 eax, xmm0
jmp 0x14013eb06
xor r15d, r15d
jmp 0x14013e973
mov eax, dword [rsp + 0x40]
cmp r15d, eax
jge 0x14013eb12
xor al, al
jmp 0x14013ee04
mov rdx, qword [0x14037cde0]
test rdx, rdx
jne 0x14013ec79
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 0x14013eb88
psrldq xmm0, 8
mov edx, r13d
movzx eax, ax
movq rcx, xmm0
shr rax, 1
lea r8, [rcx + rax*2]
jmp 0x14013eb7b
movsx eax, byte [rcx]
xor eax, edx
imul edx, eax, 0x1000193
add rcx, 2
cmp rcx, r8
jne 0x14013eb6c
cmp edx, edi
jne 0x14013ec5a
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 0x14013ec5a
mov ebx, dword [r10 + 0x18]
test ebx, ebx
je 0x14013ec5a
mov r14d, dword [r10 + 0x20]
dec ebx
lea rdx, [r9 + rbx*4]
mov r8d, dword [rdx + r14]
mov edx, r13d
add r8, r9
jmp 0x14013ebd8
movsx ecx, cl
xor ecx, edx
imul edx, ecx, 0x1000193
mov cl, byte [r8]
inc r8
test cl, cl
jne 0x14013ebcd
cmp edx, dword [rsp + 0x54]
je 0x14013ebee
test ebx, ebx
jne 0x14013ebbb
jmp 0x14013ec5a
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 0x14013ec72
lea rcx, [rax + r10]
cmp rdx, rcx
jae 0x14013ec72
mov ecx, r13d
mov edi, r13d
mov dword [rsp + 0x54], ecx
jmp 0x14013ec30
movsx eax, al
xor eax, edi
imul edi, eax, 0x1000193
inc rdx
mov al, byte [rdx]
cmp al, 0x2e
jne 0x14013ec22
inc rdx
mov al, byte [rdx]
test al, al
je 0x14013ec57
movsx eax, al
inc rdx
xor eax, ecx
imul ecx, eax, 0x1000193
mov al, byte [rdx]
test al, al
jne 0x14013ec3f
mov dword [rsp + 0x54], ecx
mov r11, qword [rsi]
mov rax, qword [r11]
mov r11, rax
cmp rax, rsi
je 0x14013ec6f
cmp qword [rax + 0x30], r15
jne 0x14013eb3c
mov rdx, r15
mov qword [0x14037cde0], rdx
mov rcx, r12
call rdx
call fcn.140141438
movsx edx, al
call fcn.140141434
movsx ecx, al
imul edx, ecx
lea r9d, [rdx + rdx*8]
call fcn.140141444
movsx ecx, al
xor edx, edx
movsx eax, byte [reloc.WS2_32.dll_htons]
add r9d, ecx
movsx ecx, byte [reloc.WS2_32.dll_htonl]
add eax, r9d
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.140141438
movsx edx, al
call fcn.140141434
movsx ecx, al
imul edx, ecx
imul r8d, edx, 7
call fcn.140141444
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 0x14013ed7a
call fcn.14014143c
movsx edx, al
movsx eax, byte [0x14037a680]
imul edx, eax
add edx, edx
call fcn.140141448
movsx ecx, al
sub edx, ecx
call fcn.140141440
movsx ecx, al
add edx, ecx
movsx ecx, byte [reloc.WS2_32.dll_closesocket]
add ecx, edx
jne 0x14013ee02
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 0x14013edf9
call fcn.140141438
movsx edx, al
call fcn.140141434
movsx ecx, al
imul edx, ecx
lea r8d, [rdx + rdx*2]
call fcn.140141444
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 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 eax, xmm0
jmp 0x14013edfd
mov eax, dword [rsp + 0x40]
cmp r15d, eax
jge 0x14013ee04
mov al, 1
mov rcx, qword [rbp + 0x1a0]
xor rcx, rsp
call fcn.14015a2d0
lea r11, [rsp + 0x2b0]
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