Function at 0x1401a8990
Capabilities:
Access peb ldr_data

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x98
movaps xmmword [rsp + 0x80], xmm6
mov rsi, rcx
mov rax, qword [0x1403a8f38]
xor rax, rsp
mov qword [rsp + 0x78], rax
mov rdx, qword [rcx]
mov edi, dword [rcx + 0x4c]
mov qword [rsp + 0x50], 0
mov ecx, 0x80
call fcn.1401113c0
mov r15, rax
mov eax, dword [0x1403b0260]
mov rcx, qword gs:[0x58]
mov rax, qword [rcx + rax*8]
lea rcx, [rax + 8]
mov qword [rsp + 0x28], 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 + 0x58], r15
movups xmmword [rsp + 0x60], xmm6
mov qword [rsp + 0x70], 0
lea r13, [rsp + 0x50]
lea rdi, [0x140327f30]
lea r14, [0x140327a60]
jmp 0x1401a8ae0
mov dword [rsi + 0x28], 0x200000
mov rax, qword [rax + 8]
mov rax, qword [rax + 7]
sar rax, 1
inc rax
mov qword [rsi + 0x30], rax
mov byte [rsi + 0x48], 0
xor r9d, r9d
mov edx, 1
mov r8d, 0x7fffffff
nop dword [rax + rax]
mov rcx, r15
call fcn.1401a8200
test al, al
je 0x1401a9e19
lea r12, [r15 + 0x20]
jmp 0x1401a8b56
mov dword [rsi + 0x28], 0x200000
mov rax, qword [rax + 8]
mov rax, qword [rax + 7]
sar rax, 1
inc rax
mov qword [rsi + 0x30], rax
mov byte [rsi + 0x48], 0
mov eax, dword [r15 + 0xc]
and eax, 4
cmp eax, 1
mov ebp, 0
adc ebp, 2
mov rdx, qword [rsi]
mov ecx, reloc.WS2_32.dll_recv
call fcn.1401113c0
mov rbx, rax
mov eax, dword [r15 + 0xc]
mov qword [rbx], r14
mov dword [rbx + 8], ebp
mov dword [rbx + 0xc], eax
mov rcx, r15
call fcn.1401a7a80
mov rdx, qword [r15 + 0x20]
inc rdx
mov rcx, r12
call fcn.1400fb350
mov rax, qword [r15 + 0x20]
mov rcx, qword [r15 + 0x30]
mov qword [rcx + rax*8 - 8], rbx
mov edx, dword [rsi + 0x28]
lea eax, [rdx - 0x24]
cmp eax, 0x59
ja case.default.0x1401a8b6c
movsxd rax, dword [rdi + rax*4]
add rax, rdi
jmp rax
mov rax, qword [rsi + 0x20]
mov rcx, qword [rax + 8]
mov rcx, qword [rcx + 7]
sar rcx, 1
cmp qword [rsi + 0x30], rcx
jge 0x1401a8ae6
mov rcx, rsi
mov dl, 1
call fcn.1401a86c0
mov dword [rsi + 0x28], eax
jmp 0x1401a8b03
mov rax, qword [rsi + 0x20]
mov rax, qword [rax + 8]
mov rax, qword [rax + 7]
sar rax, 1
cmp qword [rsi + 0x30], rax
jge 0x1401a9e0a
mov rcx, rsi
xor edx, edx
call fcn.1401a86c0
lea ecx, [rax - 0x30]
cmp ecx, 0x48
ja case.default.0x1401a8bdd
lea rdx, [0x140328098]
movsxd rax, dword [rdx + rcx*4]
add rax, rdx
jmp rax
mov rax, qword [rsi + 0x20]
mov rcx, qword [rsi + 0x30]
inc rcx
mov qword [rsi + 0x30], rcx
mov rdx, qword [rax + 8]
mov rdx, qword [rdx + 7]
sar rdx, 1
cmp rcx, rdx
jge 0x1401a8d4e
mov rcx, rsi
mov dl, 1
call fcn.1401a86c0
mov dword [rsi + 0x28], eax
jmp 0x1401a8d6b
mov rax, qword [rsi + 0x20]
mov rcx, qword [rax + 8]
mov rcx, qword [rcx + 7]
sar rcx, 1
cmp qword [rsi + 0x30], rcx
jge 0x1401a8c74
mov rcx, rsi
mov dl, 1
call fcn.1401a86c0
mov dword [rsi + 0x28], eax
jmp 0x1401a8c91
mov rax, qword [rsi + 0x20]
mov rcx, qword [rax + 8]
mov rcx, qword [rcx + 7]
sar rcx, 1
cmp qword [rsi + 0x30], rcx
jge 0x1401a8c9e
mov rcx, rsi
mov dl, 1
call fcn.1401a86c0
mov dword [rsi + 0x28], eax
jmp 0x1401a8cbb
mov dword [rsi + 0x28], 0x200000
mov rax, qword [rax + 8]
mov rax, qword [rax + 7]
sar rax, 1
inc rax
mov qword [rsi + 0x30], rax
mov byte [rsi + 0x48], 0
mov rcx, r15
call fcn.1401a7f40
jmp 0x1401a8b56
mov dword [rsi + 0x28], 0x200000
mov rax, qword [rax + 8]
mov rax, qword [rax + 7]
sar rax, 1
inc rax
mov qword [rsi + 0x30], rax
mov byte [rsi + 0x48], 0
movzx ebp, byte [r15 + 0xc]
mov rdx, qword [rsi]
mov ecx, reloc.WS2_32.dll_recv
call fcn.1401113c0
mov rbx, rax
mov eax, dword [r15 + 0xc]
mov qword [rbx], r14
test bpl, 4
jne 0x1401a8d14
mov dword [rbx + 8], 1
mov dword [rbx + 0xc], eax
mov rcx, r15
call fcn.1401a7a80
mov rdx, qword [r15 + 0x20]
inc rdx
mov rcx, r12
call fcn.1400fb350
mov rax, qword [r15 + 0x20]
mov rcx, qword [r15 + 0x30]
mov qword [rcx + rax*8 - 8], rbx
mov byte [rsi + 0x51], 1
jmp 0x1401a8b56
mov dword [rbx + 8], 0
jmp 0x1401a8b2f
mov rax, qword [rsi + 0x20]
mov rcx, qword [rsi + 0x30]
inc rcx
mov qword [rsi + 0x30], rcx
mov rdx, qword [rax + 8]
mov rdx, qword [rdx + 7]
sar rdx, 1
cmp rcx, rdx
jge 0x1401a8d8e
mov rcx, rsi
mov dl, 1
call fcn.1401a86c0
mov dword [rsi + 0x28], eax
jmp 0x1401a8dab
mov dword [rsi + 0x28], 0x200000
mov rax, qword [rax + 8]
mov rax, qword [rax + 7]
sar rax, 1
inc rax
mov qword [rsi + 0x30], rax
mov byte [rsi + 0x48], 0
mov rdx, qword [rsi]
mov ecx, reloc.WS2_32.dll_recv
call fcn.1401113c0
mov rbx, rax
mov eax, dword [r15 + 0xc]
mov qword [rbx], r14
mov dword [rbx + 8], 5
jmp 0x1401a8b2f
mov dword [rsi + 0x28], 0x200000
mov rax, qword [rax + 8]
mov rax, qword [rax + 7]
sar rax, 1
inc rax
mov qword [rsi + 0x30], rax
mov byte [rsi + 0x48], 0
mov rdx, qword [rsi]
mov ecx, reloc.WS2_32.dll_recv
call fcn.1401113c0
mov rbx, rax
mov eax, dword [r15 + 0xc]
mov qword [rbx], r14
mov dword [rbx + 8], 4
jmp 0x1401a8b2f
mov qword [rsp + 0x48], 0
mov rcx, rsi
lea rdx, [rsp + 0x48]
call fcn.1401aaff0
test al, al
je 0x1401a8ebb
mov rdx, qword [rsp + 0x48]
mov rax, r13
jmp 0x1401a8e08
mov rax, qword [rax]
test rax, rax
je 0x1401a8e1a
cmp dword [rax + 0x10], 1
jne 0x1401a8e00
cmp qword [rax + 0x18], rdx
je 0x1401a960a
jge 0x1401a8e00
mov rcx, rsi
call fcn.1401aa100
mov rbx, rax
mov rdx, qword [rsi]
mov ecx, 0x20
call fcn.1401113c0
mov ecx, dword [r15 + 0xc]
lea rdx, [0x140327b60]
mov qword [rax], rdx
mov qword [rax + 8], rbx
mov qword [rax + 0x10], 0
mov dword [rax + 0x18], ecx
mov rcx, r15
mov rdx, rax
jmp 0x1401a9896
mov rax, qword [rsi + 0x20]
mov rcx, qword [rsi + 0x30]
mov rdx, qword [rax + 8]
mov rdx, qword [rdx + 7]
sar rdx, 1
mov ebp, 0x200000
cmp rcx, rdx
jge 0x1401a8e8b
mov rcx, rsi
xor edx, edx
call fcn.1401a86c0
mov ebp, eax
mov rax, qword [rsi + 0x20]
mov rcx, qword [rsi + 0x30]
inc rcx
mov qword [rsi + 0x30], rcx
mov rdx, qword [rax + 8]
mov rdx, qword [rdx + 7]
sar rdx, 1
mov r14, r13
cmp rcx, rdx
jge 0x1401a8f73
mov rcx, rsi
mov dl, 1
call fcn.1401a86c0
mov dword [rsi + 0x28], eax
jmp 0x1401a8f90
test byte [rsi + 0x4c], 8
jne 0x1401a9e37
mov rax, qword [rsi + 0x20]
mov rax, qword [rax + 8]
mov rax, qword [rax + 7]
sar rax, 1
cmp qword [rsi + 0x30], rax
jge case.0x1401a8bdd.48
mov rcx, rsi
xor edx, edx
call fcn.1401a86c0
mov ecx, eax
and ecx, 0xfffffffe
cmp ecx, 0x38
jne case.0x1401a8bdd.48
mov rcx, r15
mov edx, eax
call fcn.1401a7c00
mov rax, qword [rsi + 0x20]
mov rcx, qword [rsi + 0x30]
inc rcx
mov qword [rsi + 0x30], rcx
mov rdx, qword [rax + 8]
mov rdx, qword [rdx + 7]
sar rdx, 1
cmp rcx, rdx
jge 0x1401a91a2
mov rcx, rsi
mov dl, 1
call fcn.1401a86c0
mov dword [rsi + 0x28], eax
jmp 0x1401a98a0
mov rax, qword [rsi + 0x20]
mov rcx, qword [rax + 8]
mov rcx, qword [rcx + 7]
sar rcx, 1
cmp qword [rsi + 0x30], rcx
jge 0x1401a92bf
mov rcx, rsi
mov dl, 1
call fcn.1401a86c0
mov dword [rsi + 0x28], eax
test byte [rsi + 0x4c], 8
jne 0x1401a92e2
jmp 0x1401a9337
cmp edx, 0x200000
je 0x1401a9db9
jmp case.0x1401a8b6c.37
mov dword [rsi + 0x28], 0x200000
mov rax, qword [rax + 8]
mov rax, qword [rax + 7]
sar rax, 1
inc rax
mov qword [rsi + 0x30], rax
mov byte [rsi + 0x48], 0
mov rdx, qword [rsi]
mov ecx, 0x20
call fcn.1401113c0
mov r13, rax
mov rax, qword [rsp + 0x28]
mov rax, qword [rax]
mov rcx, qword [rax + 0x18]
movups xmmword [r13], xmm6
mov qword [r13 + 0x10], 0
mov qword [r13 + 0x18], rcx
mov qword [r13 + 8], 2
mov rax, qword [rcx]
mov rdx, qword [rcx + 8]
sub rdx, rax
cmp rdx, 0x10
jge 0x1401a8fe1
mov edx, reloc.WS2_32.dll_recv
call fcn.1401c9cd0
jmp 0x1401a8fed
lea rdx, [rax + 0x10]
mov qword [rcx], rdx
add qword [rcx + 0x10], 0x10
mov qword [r13 + 0x10], rax
test byte [rsi + 0x4c], 8
jne 0x1401a8ffc
xor r8d, r8d
jmp 0x1401a9008
movzx r8d, byte [r15 + 0xc]
and r8b, 2
shr r8b, 1
mov ecx, ebp
mov rdx, r13
call fcn.14019e800
mov rdx, qword [rsi]
mov ecx, 0x28
call fcn.1401113c0
mov rbx, rax
mov eax, dword [r15 + 0xc]
lea rcx, [0x1403262f0]
mov qword [rbx], rcx
mov qword [rbx + 8], r13
mov word [rbx + 0x10], 0
mov dword [rbx + 0x18], eax
mov qword [rbx + 0x20], 0
cmp qword [r13], 0
jne 0x1401a9074
mov edx, 1
mov rcx, r13
call fcn.1400fb350
mov rax, qword [r13]
mov rcx, qword [r13 + 0x10]
movabs rdx, 0x10ffff00000000
mov qword [rcx + rax*8 - 8], rdx
xor byte [rbx + 0x20], 1
mov rcx, r15
mov rdx, rbx
call fcn.1401a7e70
mov rcx, r15
test al, al
je 0x1401a90a9
call fcn.1401a7a80
mov rdx, qword [r15 + 0x20]
inc rdx
mov rcx, r12
call fcn.1400fb350
mov rax, qword [r15 + 0x20]
mov rcx, qword [r15 + 0x30]
mov qword [rcx + rax*8 - 8], rbx
jmp 0x1401a90b1
mov rdx, rbx
call fcn.1401a79a0
mov r13, r14
lea r14, [0x140327a60]
jmp 0x1401a98a0
mov rcx, rsi
lea rdx, [rsp + 0x48]
mov r8, rdx
call fcn.1401ab8a0
test al, al
jne case.0x1401a8b6c.42
test byte [rsi + 0x4c], 8
jne 0x1401a9e28
mov edx, dword [rsi + 0x28]
mov rcx, r15
call fcn.1401a7da0
mov rax, qword [rsi + 0x20]
mov rcx, qword [rax + 8]
mov rcx, qword [rcx + 7]
sar rcx, 1
cmp qword [rsi + 0x30], rcx
jge 0x1401a91a2
mov rcx, rsi
mov dl, 1
call fcn.1401a86c0
mov dword [rsi + 0x28], eax
cmp eax, 0x3e
jle 0x1401a98ac
nop dword [rax]
cmp eax, 0x3f
je 0x1401a9163
cmp eax, 0x7b
jne 0x1401a8ae0
mov rcx, rsi
lea rdx, [rsp + 0x48]
lea r8, [rsp + 0x40]
call fcn.1401ab8a0
test al, al
je 0x1401a8ae0
mov r8, qword [rsp + 0x40]
mov rdx, qword [rsp + 0x48]
cmp r8, rdx
jl 0x1401a9e46
mov eax, dword [rsi + 0x28]
jmp 0x1401a993b
mov qword [rsp + 0x48], 0
mov qword [rsp + 0x40], 1
mov rax, qword [rsi + 0x20]
mov rcx, qword [rax + 8]
mov rcx, qword [rcx + 7]
sar rcx, 1
cmp qword [rsi + 0x30], rcx
jge 0x1401a91c4
mov rcx, rsi
mov dl, 1
call fcn.1401a86c0
mov dword [rsi + 0x28], eax
mov r8d, 1
jmp 0x1401a9939
mov dword [rsi + 0x28], 0x200000
mov rax, qword [rax + 8]
mov rax, qword [rax + 7]
sar rax, 1
inc rax
mov qword [rsi + 0x30], rax
mov byte [rsi + 0x48], 0
jmp 0x1401a98a0
mov dword [rsi + 0x28], 0x200000
mov rax, qword [rax + 8]
mov rax, qword [rax + 7]
sar rax, 1
inc rax
mov qword [rsi + 0x30], rax
mov byte [rsi + 0x48], 0
xor edx, edx
mov r8d, 1
xor r9d, r9d
jmp 0x1401a8ad0
cmp qword [r13], 0
je 0x1401a9e55
mov rax, qword [rsi + 0x20]
mov rcx, qword [rax + 8]
mov rcx, qword [rcx + 7]
sar rcx, 1
cmp qword [rsi + 0x30], rcx
jge 0x1401a95a0
mov rcx, rsi
mov dl, 1
call fcn.1401a86c0
mov dword [rsi + 0x28], eax
jmp 0x1401a95bd
mov rcx, rsi
mov rdx, r13
call fcn.1401aa1f0
mov r13, rax
mov r15, qword [rax + 8]
jmp 0x1401a8ae0
mov rcx, rsi
mov rdx, r15
call fcn.1401aa690
mov rdx, qword [rax]
mov rcx, rax
call qword [rdx + 0x80]
mov rbx, rax
mov rcx, r15
mov rdx, rax
call fcn.1401a7e70
test al, al
je 0x1401a9890
mov rcx, r15
call fcn.1401a7a80
mov rdx, qword [r15 + 0x20]
inc rdx
mov rcx, r12
call fcn.1400fb350
mov rax, qword [r15 + 0x20]
mov rcx, qword [r15 + 0x30]
mov qword [rcx + rax*8 - 8], rbx
jmp 0x1401a98a0
mov rax, qword [rsi + 0x20]
mov rcx, qword [rax + 8]
mov rcx, qword [rcx + 7]
sar rcx, 1
cmp qword [rsi + 0x30], rcx
jge 0x1401a9462
mov rcx, rsi
mov dl, 1
call fcn.1401a86c0
mov dword [rsi + 0x28], eax
jmp 0x1401a947f
mov dword [rsi + 0x28], 0x200000
mov rax, qword [rax + 8]
mov rax, qword [rax + 7]
sar rax, 1
inc rax
mov qword [rsi + 0x30], rax
mov byte [rsi + 0x48], 0
test byte [rsi + 0x4c], 8
je 0x1401a9337
mov rcx, qword [rsi + 0x20]
mov rax, qword [rsi + 0x30]
mov rcx, qword [rcx + 8]
mov rdx, qword [rcx + 7]
sar rdx, 1
cmp rax, rdx
jge 0x1401a9315
mov rcx, rsi
xor edx, edx
call fcn.1401a86c0
cmp eax, 0x30
jb 0x1401a9337
mov rcx, qword [rsi + 0x20]
mov rax, qword [rsi + 0x30]
mov rcx, qword [rcx + 8]
dec rcx
mov rcx, qword [rcx + 8]
sar rcx, 1
cmp rax, rcx
jge 0x1401a9337
mov rcx, rsi
xor edx, edx
call fcn.1401a86c0
cmp eax, 0x39
jbe 0x1401a9e82
mov rcx, rsi
call fcn.1401ab170
mov rcx, r15
mov edx, eax
call fcn.1401a7c00
jmp 0x1401a98a0
mov rax, qword [rsi + 0x20]
mov rcx, qword [rsi + 0x30]
mov rdx, qword [rax + 8]
mov rdx, qword [rdx + 7]
sar rdx, 1
mov ebx, 0x200000
cmp rcx, rdx
jge 0x1401a937f
mov rcx, rsi
xor edx, edx
call fcn.1401a86c0
mov ebx, eax
mov rax, qword [rsi + 0x20]
mov rcx, qword [rsi + 0x30]
inc rcx
mov qword [rsi + 0x30], rcx
mov rdx, qword [rax + 8]
mov rdx, qword [rdx + 7]
sar rdx, 1
cmp rcx, rdx
jge 0x1401a9776
mov rcx, rsi
mov dl, 1
call fcn.1401a86c0
mov dword [rsi + 0x28], eax
test byte [rsi + 0x4c], 8
je 0x1401a979d
mov dword [rsp + 0x34], ebx
mov qword [rsp + 0x38], r13
mov rdx, qword [rsi]
mov ecx, 0x20
call fcn.1401113c0
mov r14, rax
mov rbp, qword [rsp + 0x28]
mov rax, qword [rbp]
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.1401113c0
mov rbx, rax
mov rax, qword [rbp]
mov rax, qword [rax + 0x18]
movups xmmword [rbx], xmm6
mov qword [rbx + 0x10], 0
mov qword [rbx + 0x18], rax
mov rdx, qword [rsi]
mov ecx, 0x20
call fcn.1401113c0
mov r13, rax
mov rax, qword [rbp]
mov rcx, qword [rax + 0x18]
movups xmmword [r13], xmm6
mov qword [r13 + 0x10], 0
mov qword [r13 + 0x18], rcx
mov qword [r13 + 8], 2
mov rax, qword [rcx]
mov rdx, qword [rcx + 8]
sub rdx, rax
cmp rdx, 0x10
jge 0x1401a9bb7
mov edx, reloc.WS2_32.dll_recv
call fcn.1401c9cd0
jmp 0x1401a9bc3
mov dword [rsi + 0x28], 0x200000
mov rax, qword [rax + 8]
mov rax, qword [rax + 7]
sar rax, 1
inc rax
mov qword [rsi + 0x30], rax
mov byte [rsi + 0x48], 0
mov rdx, qword [rsi]
mov ecx, 0x20
call fcn.1401113c0
mov r14, rax
mov rax, qword [rsp + 0x28]
mov rax, qword [rax]
mov rcx, qword [rax + 0x18]
movups xmmword [r14], xmm6
mov qword [r14 + 0x10], 0
mov qword [r14 + 0x18], rcx
mov qword [r14 + 8], 2
mov rax, qword [rcx]
mov rdx, qword [rcx + 8]
sub rdx, rax
cmp rdx, 0x10
jge 0x1401a94cf
mov edx, reloc.WS2_32.dll_recv
call fcn.1401c9cd0
jmp 0x1401a94db
lea rdx, [rax + 0x10]
mov qword [rcx], rdx
add qword [rcx + 0x10], 0x10
mov qword [r14 + 0x10], rax
xor eax, eax
test byte [r15 + 0xc], 0x10
sete al
lea ecx, [rax*4 + 0x2a]
mov rdx, r14
xor r8d, r8d
call fcn.14019e800
mov rdx, qword [rsi]
mov ecx, 0x28
call fcn.1401113c0
mov rbx, rax
mov eax, dword [r15 + 0xc]
lea rcx, [0x1403262f0]
mov qword [rbx], rcx
mov qword [rbx + 8], r14
mov word [rbx + 0x10], 0
mov dword [rbx + 0x18], eax
mov qword [rbx + 0x20], 0
cmp qword [r14], 0
jne 0x1401a955b
mov edx, 1
mov rcx, r14
call fcn.1400fb350
mov rax, qword [r14]
mov rcx, qword [r14 + 0x10]
movabs rdx, 0x10ffff00000000
mov qword [rcx + rax*8 - 8], rdx
xor byte [rbx + 0x20], 1
mov rcx, r15
mov rdx, rbx
call fcn.1401a7e70
mov rcx, r15
test al, al
je 0x1401a9593
call fcn.1401a7a80
mov rdx, qword [r15 + 0x20]
inc rdx
mov rcx, r12
call fcn.1400fb350
mov rax, qword [r15 + 0x20]
mov rcx, qword [r15 + 0x30]
mov qword [rcx + rax*8 - 8], rbx
jmp 0x1401a90b4
mov rdx, rbx
call fcn.1401a79a0
jmp 0x1401a90b4
mov dword [rsi + 0x28], 0x200000
mov rax, qword [rax + 8]
mov rax, qword [rax + 7]
sar rax, 1
inc rax
mov qword [rsi + 0x30], rax
mov byte [rsi + 0x48], 0
mov rcx, r15
call fcn.1401a80b0
mov rbx, rax
mov ebp, dword [r13 + 0x10]
cmp ebp, 4
je 0x1401a9888
mov r14, qword [r13 + 0x18]
cmp ebp, 1
jne 0x1401a9846
mov rdx, qword [r13 + 0x20]
test rdx, rdx
je 0x1401a95f6
mov rcx, rsi
mov r8, r14
call fcn.1401a9fa0
mov rcx, rsi
mov rdx, r14
call fcn.1401aa100
mov qword [rax + 8], rbx
jmp 0x1401a987e
mov byte [r15 + 8], 1
jmp 0x1401a98a0
mov rax, qword [rsi + 0x20]
mov rcx, qword [rsi + 0x30]
inc rcx
mov qword [rsi + 0x30], rcx
mov rdx, qword [rax + 8]
mov rdx, qword [rdx + 7]
sar rdx, 1
cmp rcx, rdx
jge 0x1401a9a50
mov rcx, rsi
mov dl, 1
call fcn.1401a86c0
mov dword [rsi + 0x28], eax
jmp 0x1401a9a6d
mov rax, qword [rsi + 0x20]
mov rcx, qword [rsi + 0x30]
inc rcx
mov qword [rsi + 0x30], rcx
mov rdx, qword [rax + 8]
mov rdx, qword [rdx + 7]
sar rdx, 1
cmp rcx, rdx
jge 0x1401a9ab7
mov rcx, rsi
mov dl, 1
call fcn.1401a86c0
mov dword [rsi + 0x28], eax
jmp 0x1401a9ad4
mov rax, qword [rsi + 0x20]
mov rcx, qword [rsi + 0x30]
inc rcx
mov qword [rsi + 0x30], rcx
mov rdx, qword [rax + 8]
mov rdx, qword [rdx + 7]
sar rdx, 1
cmp rcx, rdx
jge 0x1401a9ae0
mov rcx, rsi
mov dl, 1
call fcn.1401a86c0
mov dword [rsi + 0x28], eax
jmp 0x1401a9afd
test byte [rsi + 0x4c], 8
jne 0x1401a96d9
movzx eax, byte [rsi + 0x53]
movzx ecx, byte [rsi + 0x52]
or cl, al
jne 0x1401a96d1
mov rcx, rsi
call fcn.1401abe60
movzx eax, byte [rsi + 0x53]
test al, al
je case.0x1401a8bdd.58
mov rax, qword [rsi + 0x20]
mov rcx, qword [rsi + 0x30]
inc rcx
mov qword [rsi + 0x30], rcx
mov rdx, qword [rax + 8]
mov rdx, qword [rdx + 7]
sar rdx, 1
cmp rcx, rdx
jge 0x1401a9d30
mov rcx, rsi
mov dl, 1
call fcn.1401a86c0
mov dword [rsi + 0x28], eax
jmp 0x1401a9d4d
mov rax, qword [rsi + 0x20]
mov rcx, qword [rax + 8]
mov rcx, qword [rcx + 7]
sar rcx, 1
cmp qword [rsi + 0x30], rcx
jge 0x1401a9b09
mov rcx, rsi
mov dl, 1
call fcn.1401a86c0
mov dword [rsi + 0x28], eax
mov rax, qword [rsi + 0x20]
mov rcx, qword [rsi + 0x30]
jmp 0x1401a9b26
mov rax, qword [rsi + 0x20]
mov rcx, qword [rsi + 0x30]
inc rcx
mov qword [rsi + 0x30], rcx
mov rdx, qword [rax + 8]
mov rdx, qword [rdx + 7]
sar rdx, 1
cmp rcx, rdx
jge 0x1401a9b67
mov rcx, rsi
mov dl, 1
call fcn.1401a86c0
mov dword [rsi + 0x28], eax
jmp 0x1401a9b84
mov dword [rsi + 0x28], 0x200000
mov rax, qword [rax + 8]
mov rax, qword [rax + 7]
sar rax, 1
inc rax
mov qword [rsi + 0x30], rax
mov byte [rsi + 0x48], 0
test byte [rsi + 0x4c], 8
jne 0x1401a93b1
mov rcx, r15
mov edx, ebx
jmp 0x1401a9344
mov rax, qword [rsi + 0x20]
mov rcx, qword [rsi + 0x30]
inc rcx
mov qword [rsi + 0x30], rcx
mov rdx, qword [rax + 8]
mov rdx, qword [rdx + 7]
sar rdx, 1
cmp rcx, rdx
jge 0x1401a9ca3
mov rcx, rsi
mov dl, 1
call fcn.1401a86c0
mov dword [rsi + 0x28], eax
jmp 0x1401a9cc0
mov rax, qword [rsi + 0x20]
mov rcx, qword [rsi + 0x30]
inc rcx
mov qword [rsi + 0x30], rcx
mov rdx, qword [rax + 8]
mov rdx, qword [rdx + 7]
sar rdx, 1
cmp rcx, rdx
jge 0x1401a9ccc
mov rcx, rsi
mov dl, 1
call fcn.1401a86c0
mov dword [rsi + 0x28], eax
jmp 0x1401a9ce9
mov rax, qword [rsi + 0x20]
mov rcx, qword [rsi + 0x30]
inc rcx
mov qword [rsi + 0x30], rcx
mov rdx, qword [rax + 8]
mov rdx, qword [rdx + 7]
sar rdx, 1
cmp rcx, rdx
jge 0x1401a9cf5
mov rcx, rsi
mov dl, 1
call fcn.1401a86c0
mov dword [rsi + 0x28], eax
jmp 0x1401a9d12
mov rdx, qword [rsi]
mov r15, qword [rsi + 0x38]
mov ecx, 0x30
call fcn.1401113c0
sub r15, r14
cmp ebp, 2
mov ecx, dword [r13 + 0x14]
lea rdx, [0x140327960]
mov qword [rax], rdx
mov qword [rax + 8], rbx
sete byte [rax + 0x10]
mov qword [rax + 0x18], r15
mov qword [rax + 0x20], r14
mov dword [rax + 0x28], ecx
mov rbx, rax
lea r14, [0x140327a60]
mov r13, qword [r13]
mov r15, qword [r13 + 8]
mov rcx, r15
mov rdx, rbx
call fcn.1401a79a0
nop dword [rax + rax]
mov eax, dword [rsi + 0x28]
cmp eax, 0x3e
jg 0x1401a9120
cmp eax, 0x2a
je 0x1401a98ff
cmp eax, 0x2b
jne 0x1401a8ae0
mov qword [rsp + 0x48], 1
mov qword [rsp + 0x40], 0x7fffffff
mov rax, qword [rsi + 0x20]
mov rcx, qword [rax + 8]
mov rcx, qword [rcx + 7]
sar rcx, 1
cmp qword [rsi + 0x30], rcx
jge 0x1401a8a9d
mov rcx, rsi
mov dl, 1
call fcn.1401a86c0
mov dword [rsi + 0x28], eax
mov r8d, 0x7fffffff
mov edx, 1
jmp 0x1401a993b
mov qword [rsp + 0x48], 0
mov qword [rsp + 0x40], 0x7fffffff
mov rax, qword [rsi + 0x20]
mov rcx, qword [rax + 8]
mov rcx, qword [rcx + 7]
sar rcx, 1
cmp qword [rsi + 0x30], rcx
jge 0x1401a997e
mov rcx, rsi
mov dl, 1
call fcn.1401a86c0
mov dword [rsi + 0x28], eax
mov r8d, 0x7fffffff
xor edx, edx
xor r9d, r9d
cmp eax, 0x3f
jne 0x1401a8ad0
mov rax, qword [rsi + 0x20]
mov rcx, qword [rax + 8]
mov rcx, qword [rcx + 7]
sar rcx, 1
cmp qword [rsi + 0x30], rcx
jge 0x1401a99ab
mov rcx, rsi
mov rbx, rdx
mov dl, 1
mov r14, r8
call fcn.1401a86c0
mov rdx, rbx
mov r8, r14
lea r14, [0x140327a60]
mov dword [rsi + 0x28], eax
jmp 0x1401a99c8
mov dword [rsi + 0x28], 0x200000
mov rax, qword [rax + 8]
mov rax, qword [rax + 7]
sar rax, 1
inc rax
mov qword [rsi + 0x30], rax
mov byte [rsi + 0x48], 0
xor edx, edx
mov r8d, 0x7fffffff
xor r9d, r9d
jmp 0x1401a8ad0
mov dword [rsi + 0x28], 0x200000
mov rax, qword [rax + 8]
mov rax, qword [rax + 7]
sar rax, 1
inc rax
mov qword [rsi + 0x30], rax
mov byte [rsi + 0x48], 0
mov r9d, 1
jmp 0x1401a8ad0
cmp eax, 0x200000
je 0x1401a9e0a
mov rax, qword [rsi + 0x20]
mov rcx, qword [rax + 8]
mov rcx, qword [rcx + 7]
sar rcx, 1
cmp qword [rsi + 0x30], rcx
jge 0x1401a9a0a
mov rcx, rsi
mov dl, 1
call fcn.1401a86c0
mov ebx, eax
mov dword [rsi + 0x28], eax
test byte [rsi + 0x4c], 8
jne 0x1401a9a32
jmp 0x1401a9a41
mov dword [rsi + 0x28], 0x200000
mov rax, qword [rax + 8]
mov rax, qword [rax + 7]
sar rax, 1
inc rax
mov qword [rsi + 0x30], rax
mov byte [rsi + 0x48], 0
mov ebx, 0x200000
test byte [rsi + 0x4c], 8
je 0x1401a9a41
mov ecx, ebx
call fcn.1401a8880
test al, al
je 0x1401a9e37
mov rcx, r15
mov edx, ebx
call fcn.1401a7c00
jmp 0x1401a90ed
mov dword [rsi + 0x28], 0x200000
mov rax, qword [rax + 8]
mov rax, qword [rax + 7]
sar rax, 1
inc rax
mov qword [rsi + 0x30], rax
mov byte [rsi + 0x48], 0
mov rcx, rsi
lea rdx, [rsp + 0x48]
call fcn.1401ab3a0
test al, al
je 0x1401a9aa1
mov ebx, dword [rsp + 0x48]
mov rcx, r15
call fcn.1401a7490
mov rcx, r15
mov edx, ebx
call fcn.1401a7da0
mov rcx, r15
call fcn.1401a7490
jmp 0x1401a98a0
test byte [rsi + 0x4c], 8
jne 0x1401a9e37
mov rcx, r15
mov dx, 0x75
jmp 0x1401a9344
mov dword [rsi + 0x28], 0x200000
mov rax, qword [rax + 8]
mov rax, qword [rax + 7]
sar rax, 1
inc rax
mov qword [rsi + 0x30], rax
mov byte [rsi + 0x48], 0
mov rcx, r15
mov dx, listen
jmp 0x1401a9344
mov dword [rsi + 0x28], 0x200000
mov rax, qword [rax + 8]
mov rax, qword [rax + 7]
sar rax, 1
inc rax
mov qword [rsi + 0x30], rax
mov byte [rsi + 0x48], 0
mov rcx, r15
mov dx, listen
jmp 0x1401a9344
mov dword [rsi + 0x28], 0x200000
mov rcx, qword [rax + 8]
mov rcx, qword [rcx + 7]
sar rcx, 1
inc rcx
mov qword [rsi + 0x30], rcx
mov byte [rsi + 0x48], 0
mov rax, qword [rax + 8]
mov rax, qword [rax + 7]
sar rax, 1
cmp rcx, rax
jge 0x1401a9b51
mov rcx, rsi
xor edx, edx
call fcn.1401a86c0
mov ecx, eax
and ecx, 0xffffffdf
add ecx, 0xffffffa5
cmp ecx, 0xffffffe5
ja 0x1401a9d60
test byte [rsi + 0x4c], 8
jne 0x1401a9e37
mov rcx, r15
mov dx, 0x5c
jmp 0x1401a9344
mov dword [rsi + 0x28], 0x200000
mov rax, qword [rax + 8]
mov rax, qword [rax + 7]
sar rax, 1
inc rax
mov qword [rsi + 0x30], rax
mov byte [rsi + 0x48], 0
mov edx, 2
mov rcx, rsi
lea r8, [rsp + 0x48]
call fcn.1401ab270
test al, al
je 0x1401a9ba1
movzx edx, word [rsp + 0x48]
jmp 0x1401a9baf
mov dx, 0x78
test byte [rsi + 0x4c], 8
jne 0x1401a9e37
mov rcx, r15
jmp 0x1401a9344
lea rdx, [rax + 0x10]
mov qword [rcx], rdx
add qword [rcx + 0x10], 0x10
mov qword [r13 + 0x10], rax
mov rcx, rsi
mov rdx, r14
mov r8, rbx
call fcn.1401aab00
test al, al
je 0x1401a9e73
cmp dword [rsp + 0x34], 0x50
sete r8b
mov qword [rsp + 0x20], rbx
mov rdx, r13
mov r9, r14
call fcn.1401aad70
test al, al
je 0x1401a9e73
mov rdx, qword [rsi]
mov ecx, 0x28
call fcn.1401113c0
mov rbx, rax
mov eax, dword [r15 + 0xc]
lea rcx, [0x1403262f0]
mov qword [rbx], rcx
mov qword [rbx + 8], r13
mov word [rbx + 0x10], 0
mov dword [rbx + 0x18], eax
mov qword [rbx + 0x20], 0
cmp qword [r13], 0
jne 0x1401a9c60
mov edx, 1
mov rcx, r13
call fcn.1400fb350
mov rax, qword [r13]
mov rcx, qword [r13 + 0x10]
movabs rdx, 0x10ffff00000000
mov qword [rcx + rax*8 - 8], rdx
xor byte [rbx + 0x20], 1
mov rcx, r15
mov rdx, rbx
call fcn.1401a7e70
test al, al
lea r14, [0x140327a60]
mov rcx, r15
je 0x1401a9d1e
call fcn.1401a7a80
mov rdx, qword [r15 + 0x20]
inc rdx
mov rcx, r12
call fcn.1400fb350
mov rax, qword [r15 + 0x20]
mov rcx, qword [r15 + 0x30]
mov qword [rcx + rax*8 - 8], rbx
jmp 0x1401a9d26
mov dword [rsi + 0x28], 0x200000
mov rax, qword [rax + 8]
mov rax, qword [rax + 7]
sar rax, 1
inc rax
mov qword [rsi + 0x30], rax
mov byte [rsi + 0x48], 0
mov rcx, r15
mov dx, reloc.WS2_32.dll_listen
jmp 0x1401a9344
mov dword [rsi + 0x28], 0x200000
mov rax, qword [rax + 8]
mov rax, qword [rax + 7]
sar rax, 1
inc rax
mov qword [rsi + 0x30], rax
mov byte [rsi + 0x48], 0
mov rcx, r15
mov dx, 9
jmp 0x1401a9344
mov dword [rsi + 0x28], 0x200000
mov rax, qword [rax + 8]
mov rax, qword [rax + 7]
sar rax, 1
inc rax
mov qword [rsi + 0x30], rax
mov byte [rsi + 0x48], 0
mov rcx, r15
mov dx, 0xa
jmp 0x1401a9344
mov rdx, rbx
call fcn.1401a79a0
mov r13, qword [rsp + 0x38]
jmp 0x1401a98a0
mov dword [rsi + 0x28], 0x200000
mov rax, qword [rax + 8]
mov rax, qword [rax + 7]
sar rax, 1
inc rax
mov qword [rsi + 0x30], rax
mov byte [rsi + 0x48], 0
mov rcx, rsi
mov rdx, r15
mov r8, r13
call fcn.1401ab6e0
jmp 0x1401a98a0
mov rcx, qword [rsi + 0x20]
mov rdx, qword [rsi + 0x30]
inc rdx
mov qword [rsi + 0x30], rdx
mov r8, qword [rcx + 8]
mov r8, qword [r8 + 7]
sar r8, 1
cmp rdx, r8
jge 0x1401a9d94
mov rcx, rsi
mov dl, 1
mov ebx, eax
call fcn.1401a86c0
mov ecx, eax
mov eax, ebx
mov dword [rsi + 0x28], ecx
jmp 0x1401a9db1
mov dword [rsi + 0x28], 0x200000
mov rcx, qword [rcx + 8]
mov rcx, qword [rcx + 7]
sar rcx, 1
inc rcx
mov qword [rsi + 0x30], rcx
mov byte [rsi + 0x48], 0
and eax, 0x1f
jmp 0x1401a933f
cmp qword [r13], 0
jne 0x1401a9e64
mov rcx, r15
call fcn.1401a80b0
mov rsi, rax
mov rcx, qword [rsp + 0x78]
xor rcx, rsp
call fcn.140265fa0
mov rax, rsi
movaps xmm6, xmmword [rsp + 0x80]
add rsp, 0x98
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.1401a88a0
lea rdx, str._at_end_of_pattern
mov rcx, rsi
call fcn.1401a88a0
lea rdx, str.invalid_quantifier.
mov rcx, rsi
call fcn.1401a88a0
lea rdx, str.Lone_quantifier_brackets
mov rcx, rsi
call fcn.1401a88a0
lea rdx, str.Invalid_identity_escape_in_Unicode_pattern
mov rcx, rsi
call fcn.1401a88a0
lea rdx, str.numbers_out_of_order_in__quantifier.
mov rcx, rsi
call fcn.1401a88a0
lea rdx, str.Unmatched__
mov rcx, rsi
call fcn.1401a88a0
lea rdx, str.Unterminated_group
mov rcx, rsi
call fcn.1401a88a0
lea rdx, str.Invalid_property_name
mov rcx, rsi
call fcn.1401a88a0
lea rdx, str.Invalid_decimal_escape
mov rcx, rsi
call fcn.1401a88a0
int3