Function at 0x1401ae8f0
Capabilities:
Access peb ldr_data

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0xa8
movaps xmmword [rsp + 0x90], xmm6
mov rsi, rcx
mov rax, qword [0x14039fd98]
xor rax, rsp
mov qword [rsp + 0x88], rax
mov rdx, qword [rcx]
mov edi, dword [rcx + 0x4c]
mov qword [rsp + 0x60], 0
mov ecx, 0x80
call fcn.1401168f0
mov r15, rax
mov eax, dword [0x1403a6ee0]
mov rcx, qword gs:[0x58]
mov rax, qword [rcx + rax*8]
lea rcx, [rax + 8]
mov qword [rsp + 0x38], rcx
mov rcx, qword [rax + 8]
mov rcx, qword [rcx + 0x18]
mov qword [r15], rcx
mov byte [r15 + 8], 0
mov dword [r15 + 0xc], edi
mov qword [r15 + 0x10], 0
mov word [r15 + 0x18], 0
mov rcx, qword [rax + 8]
mov rcx, qword [rcx + 0x18]
xorps xmm6, xmm6
movups xmmword [r15 + 0x20], xmm6
mov qword [r15 + 0x30], 0
mov qword [r15 + 0x38], rcx
mov rcx, qword [rax + 8]
mov rcx, qword [rcx + 0x18]
movups xmmword [r15 + 0x40], xmm6
mov qword [r15 + 0x50], 0
mov qword [r15 + 0x58], rcx
mov rax, qword [rax + 8]
mov rax, qword [rax + 0x18]
movups xmmword [r15 + 0x60], xmm6
mov qword [r15 + 0x70], 0
mov qword [r15 + 0x78], rax
mov qword [rsp + 0x68], r15
lea rbx, [rsi + 0x28]
lea rdi, [rsi + 0x30]
lea rbp, [rsi + 0x20]
lea rax, [rsi + 0x48]
mov qword [rsp + 0x28], rax
movups xmmword [rsp + 0x70], xmm6
mov qword [rsp + 0x80], 0
lea rax, [rsp + 0x60]
mov qword [rsp + 0x30], rax
jmp 0x1401aea50
mov dword [rbx], 0x200000
mov rax, qword [rax + 8]
mov rax, qword [rax + 7]
sar rax, 1
inc rax
mov qword [rdi], rax
mov rax, qword [rsp + 0x28]
mov byte [rax], 0
xor r13d, r13d
mov r12d, 1
xor r9d, r9d
mov rcx, r15
mov rdx, r13
mov r8, r12
call fcn.1401ae1a0
test al, al
je 0x1401afc1f
lea r12, [r15 + 0x20]
jmp 0x1401aead3
mov dword [rbx], 0x200000
mov rax, qword [rax + 8]
mov rax, qword [rax + 7]
sar rax, 1
inc rax
mov qword [rdi], rax
mov rax, qword [rsp + 0x28]
mov byte [rax], 0
mov eax, dword [r15 + 0xc]
and eax, 4
cmp eax, 1
mov r13d, 0
adc r13d, 2
mov rdx, qword [rsi]
mov ecx, reloc.WS2_32.dll_recv
call fcn.1401168f0
mov r14, rax
mov eax, dword [r15 + 0xc]
lea rcx, [0x140321700]
mov qword [r14], rcx
mov dword [r14 + 8], r13d
mov dword [r14 + 0xc], eax
mov rcx, r15
call fcn.1401ada40
mov rdx, qword [r15 + 0x20]
inc rdx
mov rcx, r12
call fcn.1401015f0
mov rax, qword [r15 + 0x20]
mov rcx, qword [r15 + 0x30]
mov qword [rcx + rax*8 - 8], r14
mov edx, dword [rbx]
lea eax, [rdx - 0x24]
cmp eax, 0x59
ja case.default.0x1401aeaef
lea rcx, [0x140321bd0]
movsxd rax, dword [rcx + rax*4]
add rax, rcx
jmp rax
mov rax, qword [rbp]
mov rcx, qword [rax + 8]
mov rcx, qword [rcx + 7]
sar rcx, 1
cmp qword [rdi], rcx
jge 0x1401aea56
mov rcx, rsi
mov dl, 1
call fcn.1401ae670
mov dword [rsi + 0x28], eax
jmp 0x1401aea75
mov rax, qword [rbp]
mov rax, qword [rax + 8]
mov rax, qword [rax + 7]
sar rax, 1
cmp qword [rdi], rax
jge 0x1401afc10
mov rcx, rsi
xor edx, edx
call fcn.1401ae670
lea ecx, [rax - 0x30]
cmp ecx, 0x48
ja case.default.0x1401aeb5c
lea rdx, [0x140321d38]
movsxd rax, dword [rdx + rcx*4]
add rax, rdx
jmp rax
mov rcx, qword [rdi]
inc rcx
mov qword [rdi], rcx
mov rax, qword [rbp]
mov rdx, qword [rax + 8]
mov rdx, qword [rdx + 7]
sar rdx, 1
cmp rcx, rdx
jge 0x1401aece0
mov rcx, rsi
mov dl, 1
call fcn.1401ae670
mov dword [rsi + 0x28], eax
jmp 0x1401aecff
mov rax, qword [rbp]
mov rcx, qword [rax + 8]
mov rcx, qword [rcx + 7]
sar rcx, 1
cmp qword [rdi], rcx
jge 0x1401aebfa
mov rcx, rsi
mov dl, 1
call fcn.1401ae670
mov dword [rsi + 0x28], eax
jmp 0x1401aec19
mov rax, qword [rbp]
mov rcx, qword [rax + 8]
mov rcx, qword [rcx + 7]
sar rcx, 1
cmp qword [rdi], rcx
jge 0x1401aec7b
mov rcx, rsi
mov dl, 1
call fcn.1401ae670
mov dword [rsi + 0x28], eax
jmp 0x1401aec9a
mov dword [rbx], 0x200000
mov rax, qword [rax + 8]
mov rax, qword [rax + 7]
sar rax, 1
inc rax
mov qword [rdi], rax
mov rax, qword [rsp + 0x28]
mov byte [rax], 0
movzx r13d, byte [r15 + 0xc]
mov rdx, qword [rsi]
mov ecx, reloc.WS2_32.dll_recv
call fcn.1401168f0
mov r14, rax
mov eax, dword [r15 + 0xc]
lea rcx, [0x140321700]
mov qword [r14], rcx
test r13b, 4
jne 0x1401aeca7
mov dword [r14 + 8], 1
mov dword [r14 + 0xc], eax
mov rcx, r15
call fcn.1401ada40
mov rdx, qword [r15 + 0x20]
inc rdx
mov rcx, r12
call fcn.1401015f0
mov rax, qword [r15 + 0x20]
mov rcx, qword [r15 + 0x30]
mov qword [rcx + rax*8 - 8], r14
mov byte [rsi + 0x51], 1
jmp 0x1401aead3
mov dword [rbx], 0x200000
mov rax, qword [rax + 8]
mov rax, qword [rax + 7]
sar rax, 1
inc rax
mov qword [rdi], rax
mov rax, qword [rsp + 0x28]
mov byte [rax], 0
mov rcx, r15
call fcn.1401adee0
jmp 0x1401aead3
mov dword [r14 + 8], 0
jmp 0x1401aeaab
mov rcx, qword [rdi]
inc rcx
mov qword [rdi], rcx
mov rax, qword [rbp]
mov rdx, qword [rax + 8]
mov rdx, qword [rdx + 7]
sar rdx, 1
cmp rcx, rdx
jge 0x1401aed2a
mov rcx, rsi
mov dl, 1
call fcn.1401ae670
mov dword [rsi + 0x28], eax
jmp 0x1401aed49
mov dword [rbx], 0x200000
mov rax, qword [rax + 8]
mov rax, qword [rax + 7]
sar rax, 1
inc rax
mov qword [rdi], rax
mov rax, qword [rsp + 0x28]
mov byte [rax], 0
mov rdx, qword [rsi]
mov ecx, reloc.WS2_32.dll_recv
call fcn.1401168f0
mov r14, rax
mov eax, dword [r15 + 0xc]
lea rcx, [0x140321700]
mov qword [r14], rcx
mov dword [r14 + 8], 5
jmp 0x1401aeaab
mov dword [rbx], 0x200000
mov rax, qword [rax + 8]
mov rax, qword [rax + 7]
sar rax, 1
inc rax
mov qword [rdi], rax
mov rax, qword [rsp + 0x28]
mov byte [rax], 0
mov rdx, qword [rsi]
mov ecx, reloc.WS2_32.dll_recv
call fcn.1401168f0
mov r14, rax
mov eax, dword [r15 + 0xc]
lea rcx, [0x140321700]
mov qword [r14], rcx
mov dword [r14 + 8], 4
jmp 0x1401aeaab
mov qword [rsp + 0x58], 0
mov rcx, rsi
lea rdx, [rsp + 0x58]
call fcn.1401b0e10
test al, al
je 0x1401aee58
mov rdx, qword [rsp + 0x58]
mov rax, qword [rsp + 0x30]
jmp 0x1401aeda8
mov rax, qword [rax]
test rax, rax
je 0x1401aedba
cmp dword [rax + 0x10], 1
jne 0x1401aeda0
cmp qword [rax + 0x18], rdx
je 0x1401af3d7
jge 0x1401aeda0
mov rcx, rsi
call fcn.1401aff20
mov r14, rax
mov rdx, qword [rsi]
mov ecx, 0x20
call fcn.1401168f0
mov ecx, dword [r15 + 0xc]
lea rdx, [0x140321800]
mov qword [rax], rdx
mov qword [rax + 8], r14
mov qword [rax + 0x10], 0
mov dword [rax + 0x18], ecx
mov rcx, r15
mov rdx, rax
jmp 0x1401af6fe
mov rcx, qword [rdi]
mov rax, qword [rbp]
mov rdx, qword [rax + 8]
mov rdx, qword [rdx + 7]
sar rdx, 1
mov r14d, 0x200000
cmp rcx, rdx
jge 0x1401aee2c
mov rcx, rsi
xor edx, edx
call fcn.1401ae670
mov r14d, eax
mov rax, qword [rsi + 0x20]
mov rcx, qword [rsi + 0x30]
inc rcx
mov qword [rdi], rcx
mov rdx, qword [rax + 8]
mov rdx, qword [rdx + 7]
sar rdx, 1
cmp rcx, rdx
jge 0x1401aef0c
mov rcx, rsi
mov dl, 1
call fcn.1401ae670
mov dword [rsi + 0x28], eax
jmp 0x1401aef2b
test byte [rsi + 0x4c], 8
jne 0x1401afc3d
mov rax, qword [rbp]
mov rax, qword [rax + 8]
mov rax, qword [rax + 7]
sar rax, 1
cmp qword [rdi], rax
jge case.0x1401aeb5c.48
mov rcx, rsi
xor edx, edx
call fcn.1401ae670
mov ecx, eax
and ecx, 0xfffffffe
cmp ecx, 0x38
jne case.0x1401aeb5c.48
mov rcx, r15
mov edx, eax
call fcn.1401adbc0
mov rcx, qword [rdi]
inc rcx
mov qword [rdi], rcx
mov rax, qword [rbp]
mov rdx, qword [rax + 8]
mov rdx, qword [rdx + 7]
sar rdx, 1
cmp rcx, rdx
jge 0x1401af0e4
mov rcx, rsi
mov dl, 1
call fcn.1401ae670
mov dword [rsi + 0x28], eax
jmp 0x1401afa65
mov rax, qword [rbp]
mov rcx, qword [rax + 8]
mov rcx, qword [rcx + 7]
sar rcx, 1
cmp qword [rdi], rcx
jge 0x1401af154
mov rcx, rsi
mov dl, 1
call fcn.1401ae670
mov dword [rsi + 0x28], eax
test byte [rsi + 0x4c], 8
jne 0x1401af179
jmp 0x1401af1cc
cmp edx, 0x200000
je 0x1401afbb8
jmp case.0x1401aeaef.37
mov dword [rbx], 0x200000
mov rax, qword [rax + 8]
mov rax, qword [rax + 7]
sar rax, 1
inc rax
mov qword [rdi], rax
mov rax, qword [rsp + 0x28]
mov byte [rax], 0
mov rdx, qword [rsi]
mov ecx, 0x20
call fcn.1401168f0
mov r12, rax
mov rax, qword [rsp + 0x38]
mov rax, qword [rax]
mov rcx, qword [rax + 0x18]
movups xmmword [r12], xmm6
mov qword [r12 + 0x10], 0
mov qword [r12 + 0x18], rcx
mov qword [r12 + 8], 2
mov rax, qword [rcx]
mov rdx, qword [rcx + 8]
sub rdx, rax
cmp rdx, 0x10
jge 0x1401aef7f
mov edx, reloc.WS2_32.dll_recv
call fcn.1401d09d0
jmp 0x1401aef8b
lea rdx, [rax + 0x10]
mov qword [rcx], rdx
add qword [rcx + 0x10], 0x10
mov qword [r12 + 0x10], rax
test byte [rsi + 0x4c], 8
jne 0x1401aef9b
xor r8d, r8d
jmp 0x1401aefa7
movzx r8d, byte [r15 + 0xc]
and r8b, 2
shr r8b, 1
mov ecx, r14d
mov rdx, r12
jmp 0x1401af2e1
mov rcx, rsi
mov rdx, qword [rsp + 0x30]
call fcn.1401b0010
mov qword [rsp + 0x30], rax
mov r15, qword [rax + 8]
jmp 0x1401aea50
mov rax, qword [rsp + 0x30]
cmp qword [rax], 0
je 0x1401afc5b
mov rax, qword [rbp]
mov rcx, qword [rax + 8]
mov rcx, qword [rcx + 7]
sar rcx, 1
cmp qword [rdi], rcx
jge 0x1401af35c
mov rcx, rsi
mov dl, 1
call fcn.1401ae670
mov dword [rsi + 0x28], eax
jmp 0x1401af37b
mov rcx, rsi
lea rdx, [rsp + 0x58]
mov r8, rdx
call fcn.1401b16d0
test al, al
jne case.0x1401aeaef.42
test byte [rsi + 0x4c], 8
jne 0x1401afc2e
mov edx, dword [rbx]
mov rcx, r15
call fcn.1401add60
mov rax, qword [rbp]
mov rcx, qword [rax + 8]
mov rcx, qword [rcx + 7]
sar rcx, 1
cmp qword [rdi], rcx
jge 0x1401af0e4
mov rcx, rsi
mov dl, 1
call fcn.1401ae670
mov dword [rsi + 0x28], eax
cmp eax, 0x3e
jle 0x1401afa70
cmp eax, 0x3f
je 0x1401af0a2
cmp eax, 0x7b
jne 0x1401aea50
mov rcx, rsi
lea rdx, [rsp + 0x58]
lea r8, [rsp + 0x50]
call fcn.1401b16d0
test al, al
je 0x1401aea50
mov r12, qword [rsp + 0x50]
mov r13, qword [rsp + 0x58]
cmp r12, r13
jl 0x1401afc4c
mov eax, dword [rbx]
jmp 0x1401afaff
mov qword [rsp + 0x58], 0
mov qword [rsp + 0x50], 1
mov rax, qword [rbp]
mov rcx, qword [rax + 8]
mov rcx, qword [rcx + 7]
sar rcx, 1
cmp qword [rdi], rcx
jge 0x1401aea0f
mov rcx, rsi
mov dl, 1
call fcn.1401ae670
mov dword [rsi + 0x28], eax
mov r12d, 1
jmp 0x1401afafc
mov dword [rbx], 0x200000
mov rax, qword [rax + 8]
mov rax, qword [rax + 7]
sar rax, 1
inc rax
mov qword [rdi], rax
mov rax, qword [rsp + 0x28]
mov byte [rax], 0
jmp 0x1401afa65
mov rax, qword [rbp]
mov rcx, qword [rax + 8]
mov rcx, qword [rcx + 7]
sar rcx, 1
cmp qword [rdi], rcx
jge 0x1401af246
mov rcx, rsi
mov dl, 1
call fcn.1401ae670
mov dword [rsi + 0x28], eax
jmp 0x1401af265
mov rcx, rsi
mov rdx, r15
call fcn.1401b04b0
mov rdx, qword [rax]
mov rcx, rax
call qword [rdx + 0x80]
mov rcx, r15
mov rdx, rax
jmp 0x1401af352
mov dword [rbx], 0x200000
mov rax, qword [rax + 8]
mov rax, qword [rax + 7]
sar rax, 1
inc rax
mov qword [rdi], rax
mov rax, qword [rsp + 0x28]
mov byte [rax], 0
test byte [rsi + 0x4c], 8
je 0x1401af1cc
mov rax, qword [rdi]
mov rcx, qword [rbp]
mov rcx, qword [rcx + 8]
mov rdx, qword [rcx + 7]
sar rdx, 1
cmp rax, rdx
jge 0x1401af1aa
mov rcx, rsi
xor edx, edx
call fcn.1401ae670
cmp eax, 0x30
jb 0x1401af1cc
mov rax, qword [rdi]
mov rcx, qword [rbp]
mov rcx, qword [rcx + 8]
dec rcx
mov rcx, qword [rcx + 8]
sar rcx, 1
cmp rax, rcx
jge 0x1401af1cc
mov rcx, rsi
xor edx, edx
call fcn.1401ae670
cmp eax, 0x39
jbe 0x1401afc88
mov rcx, rsi
call fcn.1401b0f80
mov rcx, r15
mov edx, eax
jmp 0x1401afa60
mov rcx, qword [rdi]
mov rax, qword [rbp]
mov rdx, qword [rax + 8]
mov rdx, qword [rdx + 7]
sar rdx, 1
mov r14d, 0x200000
cmp rcx, rdx
jge 0x1401af210
mov rcx, rsi
xor edx, edx
call fcn.1401ae670
mov r14d, eax
mov rax, qword [rsi + 0x20]
mov rcx, qword [rsi + 0x30]
inc rcx
mov qword [rdi], rcx
mov rdx, qword [rax + 8]
mov rdx, qword [rdx + 7]
sar rdx, 1
cmp rcx, rdx
jge 0x1401af5d1
mov rcx, rsi
mov dl, 1
call fcn.1401ae670
mov dword [rsi + 0x28], eax
test byte [rsi + 0x4c], 8
jne 0x1401af5fa
jmp 0x1401afa55
mov dword [rbx], 0x200000
mov rax, qword [rax + 8]
mov rax, qword [rax + 7]
sar rax, 1
inc rax
mov qword [rdi], rax
mov rax, qword [rsp + 0x28]
mov byte [rax], 0
mov rdx, qword [rsi]
mov ecx, 0x20
call fcn.1401168f0
mov r12, rax
mov rax, qword [rsp + 0x38]
mov rax, qword [rax]
mov rcx, qword [rax + 0x18]
movups xmmword [r12], xmm6
mov qword [r12 + 0x10], 0
mov qword [r12 + 0x18], rcx
mov qword [r12 + 8], 2
mov rax, qword [rcx]
mov rdx, qword [rcx + 8]
sub rdx, rax
cmp rdx, 0x10
jge 0x1401af2b9
mov edx, reloc.WS2_32.dll_recv
call fcn.1401d09d0
jmp 0x1401af2c5
lea rdx, [rax + 0x10]
mov qword [rcx], rdx
add qword [rcx + 0x10], 0x10
mov qword [r12 + 0x10], rax
xor eax, eax
test byte [r15 + 0xc], 0x10
sete al
lea ecx, [rax*4 + 0x2a]
mov rdx, r12
xor r8d, r8d
call fcn.1401a46a0
mov rdx, qword [rsi]
mov ecx, 0x28
call fcn.1401168f0
mov r14, rax
mov eax, dword [r15 + 0xc]
lea rcx, [0x14031ffd0]
mov qword [r14], rcx
mov qword [r14 + 8], r12
mov word [r14 + 0x10], 0
mov dword [r14 + 0x18], eax
mov qword [r14 + 0x20], 0
cmp qword [r12], 0
jne 0x1401af34c
mov edx, 1
mov rcx, r12
call fcn.1401015f0
mov rax, qword [r12]
mov rcx, qword [r12 + 0x10]
movabs rdx, 0x10ffff00000000
mov qword [rcx + rax*8 - 8], rdx
xor byte [r14 + 0x20], 1
mov rcx, r15
mov rdx, r14
call fcn.1401ade30
jmp 0x1401afa65
mov dword [rbx], 0x200000
mov rax, qword [rax + 8]
mov rax, qword [rax + 7]
sar rax, 1
inc rax
mov qword [rdi], rax
mov rax, qword [rsp + 0x28]
mov byte [rax], 0
mov rcx, r15
call fcn.1401ae050
mov r14, rax
mov rdx, qword [rsp + 0x30]
mov r12d, dword [rdx + 0x10]
cmp r12d, 4
je 0x1401af6ec
mov r15, qword [rdx + 0x18]
cmp r12d, 1
jne 0x1401af6ac
mov rdx, qword [rdx + 0x20]
test rdx, rdx
je 0x1401af3bb
mov rcx, rsi
mov r8, r15
call fcn.1401afdb0
mov rcx, rsi
mov rdx, r15
call fcn.1401aff20
mov qword [rax + 8], r14
mov r14, rax
mov rdx, qword [rsp + 0x30]
jmp 0x1401af6ec
mov byte [r15 + 8], 1
jmp 0x1401afa65
mov rcx, qword [rdi]
inc rcx
mov qword [rdi], rcx
mov rax, qword [rbp]
mov rdx, qword [rax + 8]
mov rdx, qword [rdx + 7]
sar rdx, 1
cmp rcx, rdx
jge 0x1401af78a
mov rcx, rsi
mov dl, 1
call fcn.1401ae670
mov dword [rsi + 0x28], eax
jmp 0x1401af7a9
mov rax, qword [rbp]
mov rcx, qword [rax + 8]
mov rcx, qword [rcx + 7]
sar rcx, 1
cmp qword [rdi], rcx
jge 0x1401af7e3
mov rcx, rsi
mov dl, 1
call fcn.1401ae670
mov dword [rsi + 0x28], eax
mov rax, qword [rsi + 0x20]
mov rcx, qword [rsi + 0x30]
jmp 0x1401af802
mov rcx, qword [rdi]
inc rcx
mov qword [rdi], rcx
mov rax, qword [rbp]
mov rdx, qword [rax + 8]
mov rdx, qword [rdx + 7]
sar rdx, 1
cmp rcx, rdx
jge 0x1401af844
mov rcx, rsi
mov dl, 1
call fcn.1401ae670
mov dword [rsi + 0x28], eax
jmp 0x1401af863
test byte [rsi + 0x4c], 8
jne 0x1401af49f
movzx eax, byte [rsi + 0x53]
movzx ecx, byte [rsi + 0x52]
or cl, al
jne 0x1401af497
mov rcx, rsi
call fcn.1401b1c90
movzx eax, byte [rsi + 0x53]
test al, al
je case.0x1401aeb5c.58
mov rcx, qword [rdi]
inc rcx
mov qword [rdi], rcx
mov rax, qword [rbp]
mov rdx, qword [rax + 8]
mov rdx, qword [rdx + 7]
sar rdx, 1
cmp rcx, rdx
jge 0x1401af9d5
mov rcx, rsi
mov dl, 1
call fcn.1401ae670
mov dword [rsi + 0x28], eax
jmp 0x1401af9f4
mov rcx, qword [rdi]
inc rcx
mov qword [rdi], rcx
mov rax, qword [rbp]
mov rdx, qword [rax + 8]
mov rdx, qword [rdx + 7]
sar rdx, 1
cmp rcx, rdx
jge 0x1401af86f
mov rcx, rsi
mov dl, 1
call fcn.1401ae670
mov dword [rsi + 0x28], eax
jmp 0x1401af88e
mov rcx, qword [rdi]
inc rcx
mov qword [rdi], rcx
mov rax, qword [rbp]
mov rdx, qword [rax + 8]
mov rdx, qword [rdx + 7]
sar rdx, 1
cmp rcx, rdx
jge 0x1401af89a
mov rcx, rsi
mov dl, 1
call fcn.1401ae670
mov dword [rsi + 0x28], eax
jmp 0x1401af8b9
mov rcx, qword [rdi]
inc rcx
mov qword [rdi], rcx
mov rax, qword [rbp]
mov rdx, qword [rax + 8]
mov rdx, qword [rdx + 7]
sar rdx, 1
cmp rcx, rdx
jge 0x1401af8c5
mov rcx, rsi
mov dl, 1
call fcn.1401ae670
mov dword [rsi + 0x28], eax
jmp 0x1401af8e4
mov rcx, qword [rdi]
inc rcx
mov qword [rdi], rcx
mov rax, qword [rbp]
mov rdx, qword [rax + 8]
mov rdx, qword [rdx + 7]
sar rdx, 1
cmp rcx, rdx
jge 0x1401af8f0
mov rcx, rsi
mov dl, 1
call fcn.1401ae670
mov dword [rsi + 0x28], eax
jmp 0x1401af90f
mov rcx, qword [rdi]
inc rcx
mov qword [rdi], rcx
mov rax, qword [rbp]
mov rdx, qword [rax + 8]
mov rdx, qword [rdx + 7]
sar rdx, 1
cmp rcx, rdx
jge 0x1401af91b
mov rcx, rsi
mov dl, 1
call fcn.1401ae670
mov dword [rsi + 0x28], eax
jmp 0x1401af93a
mov dword [rbx], 0x200000
mov rax, qword [rax + 8]
mov rax, qword [rax + 7]
sar rax, 1
inc rax
mov qword [rdi], rax
mov rax, qword [rsp + 0x28]
mov byte [rax], 0
test byte [rsi + 0x4c], 8
je 0x1401afa55
mov dword [rsp + 0x44], r14d
mov rdx, qword [rsi]
mov ecx, 0x20
call fcn.1401168f0
mov r13, qword [rsp + 0x38]
mov rcx, qword [r13]
mov rcx, qword [rcx + 0x18]
movups xmmword [rax], xmm6
mov qword [rax + 0x10], 0
mov qword [rsp + 0x48], rax
mov qword [rax + 0x18], rcx
mov rdx, qword [rsi]
mov ecx, 0x20
call fcn.1401168f0
mov r14, rax
mov rax, qword [r13]
mov rax, qword [rax + 0x18]
movups xmmword [r14], xmm6
mov qword [r14 + 0x10], 0
mov qword [r14 + 0x18], rax
mov rdx, qword [rsi]
mov ecx, 0x20
call fcn.1401168f0
mov r12, rax
mov rax, qword [r13]
mov rcx, qword [rax + 0x18]
movups xmmword [r12], xmm6
mov qword [r12 + 0x10], 0
mov qword [r12 + 0x18], rcx
mov qword [r12 + 8], 2
mov rax, qword [rcx]
mov rdx, qword [rcx + 8]
sub rdx, rax
cmp rdx, 0x10
jge 0x1401af957
mov edx, reloc.WS2_32.dll_recv
call fcn.1401d09d0
jmp 0x1401af963
mov rdx, qword [rsi]
mov r13, qword [rsi + 0x38]
mov ecx, 0x30
call fcn.1401168f0
mov rdx, qword [rsp + 0x30]
sub r13, r15
cmp r12d, 2
mov ecx, dword [rdx + 0x14]
lea r8, [0x140321600]
mov qword [rax], r8
mov qword [rax + 8], r14
sete byte [rax + 0x10]
mov qword [rax + 0x18], r13
mov qword [rax + 0x20], r15
mov dword [rax + 0x28], ecx
mov r14, rax
mov rdx, qword [rdx]
mov qword [rsp + 0x30], rdx
mov r15, qword [rdx + 8]
mov rcx, r15
mov rdx, r14
call fcn.1401ad960
jmp 0x1401afa65
cmp eax, 0x200000
je 0x1401afc10
mov rax, qword [rbp]
mov rcx, qword [rax + 8]
mov rcx, qword [rcx + 7]
sar rcx, 1
cmp qword [rdi], rcx
jge 0x1401af73f
mov rcx, rsi
mov dl, 1
call fcn.1401ae670
mov r14d, eax
mov dword [rsi + 0x28], eax
test byte [rsi + 0x4c], 8
jne 0x1401af76a
jmp 0x1401af77a
mov dword [rbx], 0x200000
mov rax, qword [rax + 8]
mov rax, qword [rax + 7]
sar rax, 1
inc rax
mov qword [rdi], rax
mov rax, qword [rsp + 0x28]
mov byte [rax], 0
mov r14d, 0x200000
test byte [rsi + 0x4c], 8
je 0x1401af77a
mov ecx, r14d
call fcn.1401ae830
test al, al
je 0x1401afc3d
mov rcx, r15
mov edx, r14d
call fcn.1401adbc0
jmp 0x1401af032
mov dword [rbx], 0x200000
mov rax, qword [rax + 8]
mov rax, qword [rax + 7]
sar rax, 1
inc rax
mov qword [rdi], rax
mov rax, qword [rsp + 0x28]
mov byte [rax], 0
mov rcx, rsi
lea rdx, [rsp + 0x58]
call fcn.1401b11b0
test al, al
je 0x1401af9a9
mov r14d, dword [rsp + 0x58]
mov rcx, r15
call fcn.1401ad450
mov rcx, r15
mov edx, r14d
call fcn.1401add60
mov rcx, r15
call fcn.1401ad450
jmp 0x1401afa65
mov dword [rbx], 0x200000
mov rcx, qword [rax + 8]
mov rcx, qword [rcx + 7]
sar rcx, 1
inc rcx
mov qword [rdi], rcx
mov rdx, qword [rsp + 0x28]
mov byte [rdx], 0
mov rax, qword [rax + 8]
mov rax, qword [rax + 7]
sar rax, 1
cmp rcx, rax
jge 0x1401af82e
mov rcx, rsi
xor edx, edx
call fcn.1401ae670
mov r14d, eax
and eax, 0xffffffdf
add eax, 0xffffffa5
cmp eax, 0xffffffe5
ja 0x1401afa06
test byte [rsi + 0x4c], 8
jne 0x1401afc3d
mov rcx, r15
mov dx, 0x5c
jmp 0x1401afa60
mov dword [rbx], 0x200000
mov rax, qword [rax + 8]
mov rax, qword [rax + 7]
sar rax, 1
inc rax
mov qword [rdi], rax
mov rax, qword [rsp + 0x28]
mov byte [rax], 0
mov rcx, r15
mov dx, ntohs
jmp 0x1401afa60
mov dword [rbx], 0x200000
mov rax, qword [rax + 8]
mov rax, qword [rax + 7]
sar rax, 1
inc rax
mov qword [rdi], rax
mov rax, qword [rsp + 0x28]
mov byte [rax], 0
mov rcx, r15
mov dx, 0xa
jmp 0x1401afa60
mov dword [rbx], 0x200000
mov rax, qword [rax + 8]
mov rax, qword [rax + 7]
sar rax, 1
inc rax
mov qword [rdi], rax
mov rax, qword [rsp + 0x28]
mov byte [rax], 0
mov rcx, r15
mov dx, reloc.WS2_32.dll_listen
jmp 0x1401afa60
mov dword [rbx], 0x200000
mov rax, qword [rax + 8]
mov rax, qword [rax + 7]
sar rax, 1
inc rax
mov qword [rdi], rax
mov rax, qword [rsp + 0x28]
mov byte [rax], 0
mov rcx, r15
mov dx, 9
jmp 0x1401afa60
mov dword [rbx], 0x200000
mov rax, qword [rax + 8]
mov rax, qword [rax + 7]
sar rax, 1
inc rax
mov qword [rdi], rax
mov rax, qword [rsp + 0x28]
mov byte [rax], 0
mov rcx, r15
mov dx, listen
jmp 0x1401afa60
mov dword [rbx], 0x200000
mov rax, qword [rax + 8]
mov rax, qword [rax + 7]
sar rax, 1
inc rax
mov qword [rdi], rax
mov rax, qword [rsp + 0x28]
mov byte [rax], 0
mov edx, 2
mov rcx, rsi
lea r8, [rsp + 0x58]
call fcn.1401b1080
test al, al
je 0x1401af9bf
movzx edx, word [rsp + 0x58]
jmp 0x1401af9cd
lea rdx, [rax + 0x10]
mov qword [rcx], rdx
add qword [rcx + 0x10], 0x10
mov qword [r12 + 0x10], rax
mov rcx, rsi
mov r13, qword [rsp + 0x48]
mov rdx, r13
mov r8, r14
call fcn.1401b0920
test al, al
je 0x1401afc79
cmp dword [rsp + 0x44], 0x50
sete r8b
mov qword [rsp + 0x20], r14
mov rdx, r12
mov r9, r13
call fcn.1401b0b90
test al, al
jne 0x1401af2e6
jmp 0x1401afc79
test byte [rsi + 0x4c], 8
jne 0x1401afc3d
mov rcx, r15
mov dx, 0x75
jmp 0x1401afa60
mov dx, 0x78
test byte [rsi + 0x4c], 8
jne 0x1401afc3d
mov rcx, r15
jmp 0x1401afa60
mov dword [rbx], 0x200000
mov rax, qword [rax + 8]
mov rax, qword [rax + 7]
sar rax, 1
inc rax
mov qword [rdi], rax
mov rax, qword [rsp + 0x28]
mov byte [rax], 0
mov rcx, rsi
mov rdx, r15
mov r8, qword [rsp + 0x30]
call fcn.1401b14f0
jmp 0x1401afa65
mov rcx, qword [rdi]
inc rcx
mov qword [rdi], rcx
mov rax, qword [rbp]
mov rdx, qword [rax + 8]
mov rdx, qword [rdx + 7]
sar rdx, 1
cmp rcx, rdx
jge 0x1401afa32
mov rcx, rsi
mov dl, 1
call fcn.1401ae670
mov dword [rsi + 0x28], eax
jmp 0x1401afa51
mov dword [rbx], 0x200000
mov rax, qword [rax + 8]
mov rax, qword [rax + 7]
sar rax, 1
inc rax
mov qword [rdi], rax
mov rax, qword [rsp + 0x28]
mov byte [rax], 0
and r14d, 0x1f
mov rcx, r15
mov edx, r14d
nop dword [rax + rax]
call fcn.1401adbc0
mov eax, dword [rbx]
cmp eax, 0x3e
jg 0x1401af060
cmp eax, 0x2a
je 0x1401afac3
cmp eax, 0x2b
jne 0x1401aea50
mov qword [rsp + 0x58], 1
mov qword [rsp + 0x50], 0x7fffffff
mov rax, qword [rbp]
mov rcx, qword [rax + 8]
mov rcx, qword [rcx + 7]
sar rcx, 1
cmp qword [rdi], rcx
jge 0x1401afb2e
mov rcx, rsi
mov dl, 1
call fcn.1401ae670
mov dword [rsi + 0x28], eax
mov r12d, 0x7fffffff
mov r13d, 1
jmp 0x1401afaff
mov qword [rsp + 0x58], 0
mov qword [rsp + 0x50], 0x7fffffff
mov rax, qword [rbp]
mov rcx, qword [rax + 8]
mov rcx, qword [rcx + 7]
sar rcx, 1
cmp qword [rdi], rcx
jge 0x1401afb61
mov rcx, rsi
mov dl, 1
call fcn.1401ae670
mov dword [rsi + 0x28], eax
mov r12d, 0x7fffffff
xor r13d, r13d
xor r9d, r9d
cmp eax, 0x3f
jne 0x1401aea3a
mov rax, qword [rbp]
mov rcx, qword [rax + 8]
mov rcx, qword [rcx + 7]
sar rcx, 1
cmp qword [rdi], rcx
jge 0x1401afb8e
mov rcx, rsi
mov dl, 1
call fcn.1401ae670
mov dword [rsi + 0x28], eax
jmp 0x1401afbad
mov dword [rbx], 0x200000
mov rax, qword [rax + 8]
mov rax, qword [rax + 7]
sar rax, 1
inc rax
mov qword [rdi], rax
mov rax, qword [rsp + 0x28]
mov byte [rax], 0
xor r9d, r9d
mov r13d, 1
mov r12d, 0x7fffffff
jmp 0x1401aea3a
mov dword [rbx], 0x200000
mov rax, qword [rax + 8]
mov rax, qword [rax + 7]
sar rax, 1
inc rax
mov qword [rdi], rax
mov rax, qword [rsp + 0x28]
mov byte [rax], 0
xor r13d, r13d
mov r12d, 0x7fffffff
jmp 0x1401aea37
mov dword [rbx], 0x200000
mov rax, qword [rax + 8]
mov rax, qword [rax + 7]
sar rax, 1
inc rax
mov qword [rdi], rax
mov rax, qword [rsp + 0x28]
mov byte [rax], 0
mov r9d, 1
jmp 0x1401aea3a
mov rax, qword [rsp + 0x30]
cmp qword [rax], 0
jne 0x1401afc6a
mov rcx, r15
call fcn.1401ae050
mov rsi, rax
mov rcx, qword [rsp + 0x88]
xor rcx, rsp
call fcn.140265fe0
mov rax, rsi
movaps xmm6, xmmword [rsp + 0x90]
add rsp, 0xa8
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
lea rdx, str.Nothing_to_repeat
mov rcx, rsi
call fcn.1401ae850
lea rdx, str._at_end_of_pattern
mov rcx, rsi
call fcn.1401ae850
lea rdx, str.invalid_quantifier.
mov rcx, rsi
call fcn.1401ae850
lea rdx, str.Lone_quantifier_brackets
mov rcx, rsi
call fcn.1401ae850
lea rdx, str.Invalid_identity_escape_in_Unicode_pattern
mov rcx, rsi
call fcn.1401ae850
lea rdx, str.numbers_out_of_order_in__quantifier.
mov rcx, rsi
call fcn.1401ae850
lea rdx, str.Unmatched__
mov rcx, rsi
call fcn.1401ae850
lea rdx, str.Unterminated_group
mov rcx, rsi
call fcn.1401ae850
lea rdx, str.Invalid_property_name
mov rcx, rsi
call fcn.1401ae850
lea rdx, str.Invalid_decimal_escape
mov rcx, rsi
call fcn.1401ae850
int3