Function at 0x1401a5d20
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 [0x140396de8]
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.14010f5a0
mov r15, rax
mov eax, dword [0x14039dea0]
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 r14, [rsp + 0x50]
lea rdi, [0x140318970]
lea r13, [0x1403184a0]
jmp 0x1401a5e73
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 r13d, r13d
mov r12d, 1
xor r9d, r9d
mov rcx, r15
mov rdx, r13
mov r8, r12
call fcn.1401a55d0
test al, al
lea r13, [0x1403184a0]
je 0x1401a7185
lea r12, [r15 + 0x20]
jmp 0x1401a5ee9
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.14010f5a0
mov rbx, rax
mov eax, dword [r15 + 0xc]
mov qword [rbx], r13
mov dword [rbx + 8], ebp
mov dword [rbx + 0xc], eax
mov rcx, r15
call fcn.1401a4e50
mov rdx, qword [r15 + 0x20]
inc rdx
mov rcx, r12
call fcn.1400f9f60
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.0x1401a5eff
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 0x1401a5e79
mov rcx, rsi
mov dl, 1
call fcn.1401a5aa0
mov dword [rsi + 0x28], eax
jmp 0x1401a5e96
mov rax, qword [rsi + 0x20]
mov rax, qword [rax + 8]
mov rax, qword [rax + 7]
sar rax, 1
cmp qword [rsi + 0x30], rax
jge 0x1401a7176
mov rcx, rsi
xor edx, edx
call fcn.1401a5aa0
lea ecx, [rax - 0x30]
cmp ecx, 0x48
ja case.default.0x1401a5f6d
lea rdx, [0x140318ad8]
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 0x1401a60e5
mov rcx, rsi
mov dl, 1
call fcn.1401a5aa0
mov dword [rsi + 0x28], eax
jmp 0x1401a6102
mov rax, qword [rsi + 0x20]
mov rcx, qword [rax + 8]
mov rcx, qword [rcx + 7]
sar rcx, 1
cmp qword [rsi + 0x30], rcx
jge 0x1401a600b
mov rcx, rsi
mov dl, 1
call fcn.1401a5aa0
mov dword [rsi + 0x28], eax
jmp 0x1401a6028
mov rax, qword [rsi + 0x20]
mov rcx, qword [rax + 8]
mov rcx, qword [rcx + 7]
sar rcx, 1
cmp qword [rsi + 0x30], rcx
jge 0x1401a6081
mov rcx, rsi
mov dl, 1
call fcn.1401a5aa0
mov dword [rsi + 0x28], eax
jmp 0x1401a609e
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.14010f5a0
mov rbx, rax
mov eax, dword [r15 + 0xc]
mov qword [rbx], r13
test bpl, 4
jne 0x1401a60ab
mov dword [rbx + 8], 1
mov dword [rbx + 0xc], eax
mov rcx, r15
call fcn.1401a4e50
mov rdx, qword [r15 + 0x20]
inc rdx
mov rcx, r12
call fcn.1400f9f60
mov rax, qword [r15 + 0x20]
mov rcx, qword [r15 + 0x30]
mov qword [rcx + rax*8 - 8], rbx
mov byte [rsi + 0x51], 1
jmp 0x1401a5ee9
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.1401a5310
jmp 0x1401a5ee9
mov dword [rbx + 8], 0
jmp 0x1401a5ec2
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 0x1401a6125
mov rcx, rsi
mov dl, 1
call fcn.1401a5aa0
mov dword [rsi + 0x28], eax
jmp 0x1401a6142
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.14010f5a0
mov rbx, rax
mov eax, dword [r15 + 0xc]
mov qword [rbx], r13
mov dword [rbx + 8], 5
jmp 0x1401a5ec2
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.14010f5a0
mov rbx, rax
mov eax, dword [r15 + 0xc]
mov qword [rbx], r13
mov dword [rbx + 8], 4
jmp 0x1401a5ec2
mov qword [rsp + 0x48], 0
mov rcx, rsi
lea rdx, [rsp + 0x48]
call fcn.1401a8370
test al, al
je 0x1401a6248
mov rdx, qword [rsp + 0x48]
mov rax, r14
jmp 0x1401a6198
mov rax, qword [rax]
test rax, rax
je 0x1401a61aa
cmp dword [rax + 0x10], 1
jne 0x1401a6190
cmp qword [rax + 0x18], rdx
je 0x1401a68c6
jge 0x1401a6190
mov rcx, rsi
call fcn.1401a7480
mov rbx, rax
mov rdx, qword [rsi]
mov ecx, 0x20
call fcn.14010f5a0
mov ecx, dword [r15 + 0xc]
lea rdx, [0x1403185a0]
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 0x1401a6bf5
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 0x1401a621b
mov rcx, rsi
xor edx, edx
call fcn.1401a5aa0
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
cmp rcx, rdx
jge 0x1401a6300
mov rcx, rsi
mov dl, 1
call fcn.1401a5aa0
mov dword [rsi + 0x28], eax
jmp 0x1401a631d
test byte [rsi + 0x4c], 8
jne 0x1401a71a3
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.0x1401a5f6d.48
mov rcx, rsi
xor edx, edx
call fcn.1401a5aa0
mov ecx, eax
and ecx, 0xfffffffe
cmp ecx, 0x38
jne case.0x1401a5f6d.48
mov rcx, r15
mov edx, eax
call fcn.1401a4fd0
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 0x1401a6576
mov rcx, rsi
mov dl, 1
call fcn.1401a5aa0
mov dword [rsi + 0x28], eax
jmp 0x1401a6fd5
mov rax, qword [rsi + 0x20]
mov rcx, qword [rax + 8]
mov rcx, qword [rcx + 7]
sar rcx, 1
cmp qword [rsi + 0x30], rcx
jge 0x1401a661c
mov rcx, rsi
mov dl, 1
call fcn.1401a5aa0
mov dword [rsi + 0x28], eax
test byte [rsi + 0x4c], 8
jne 0x1401a663f
jmp 0x1401a6694
cmp edx, 0x200000
je 0x1401a7126
jmp case.0x1401a5eff.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.14010f5a0
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 0x1401a636e
mov edx, reloc.WS2_32.dll_recv
call fcn.1401c6570
jmp 0x1401a637a
lea rdx, [rax + 0x10]
mov qword [rcx], rdx
add qword [rcx + 0x10], 0x10
mov qword [r13 + 0x10], rax
test byte [rsi + 0x4c], 8
jne 0x1401a6389
xor r8d, r8d
jmp 0x1401a6395
movzx r8d, byte [r15 + 0xc]
and r8b, 2
shr r8b, 1
mov ecx, ebp
mov rdx, r13
call fcn.14019bac0
mov rdx, qword [rsi]
mov ecx, 0x28
call fcn.14010f5a0
mov rbx, rax
mov eax, dword [r15 + 0xc]
lea rcx, [0x140316d70]
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 0x1401a6401
mov edx, 1
mov rcx, r13
call fcn.1400f9f60
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.1401a5240
test al, al
je 0x1401a6efe
mov rcx, r15
call fcn.1401a4e50
mov rdx, qword [r15 + 0x20]
inc rdx
mov rcx, r12
call fcn.1400f9f60
mov rax, qword [r15 + 0x20]
mov rcx, qword [r15 + 0x30]
mov qword [rcx + rax*8 - 8], rbx
jmp 0x1401a6f09
mov rcx, rsi
mov rdx, r14
call fcn.1401a7570
mov r14, rax
mov r15, qword [rax + 8]
jmp 0x1401a5e73
cmp qword [r14], 0
je 0x1401a71c1
mov rax, qword [rsi + 0x20]
mov rcx, qword [rax + 8]
mov rcx, qword [rcx + 7]
sar rcx, 1
cmp qword [rsi + 0x30], rcx
jge 0x1401a684f
mov rcx, rsi
mov dl, 1
call fcn.1401a5aa0
mov dword [rsi + 0x28], eax
jmp 0x1401a686c
mov rcx, rsi
lea rdx, [rsp + 0x48]
mov r8, rdx
call fcn.1401a8c30
test al, al
jne case.0x1401a5eff.42
test byte [rsi + 0x4c], 8
jne 0x1401a7194
mov edx, dword [rsi + 0x28]
mov rcx, r15
call fcn.1401a5170
mov rax, qword [rsi + 0x20]
mov rcx, qword [rax + 8]
mov rcx, qword [rcx + 7]
sar rcx, 1
cmp qword [rsi + 0x30], rcx
jge 0x1401a6576
mov rcx, rsi
mov dl, 1
call fcn.1401a5aa0
mov dword [rsi + 0x28], eax
cmp eax, 0x3e
jle 0x1401a6fe1
nop word cs:[rax + rax]
cmp eax, 0x3f
je 0x1401a6533
cmp eax, 0x7b
jne 0x1401a5e73
mov rcx, rsi
lea rdx, [rsp + 0x48]
lea r8, [rsp + 0x40]
call fcn.1401a8c30
test al, al
je 0x1401a5e73
mov r12, qword [rsp + 0x40]
mov r13, qword [rsp + 0x48]
cmp r12, r13
jl 0x1401a71b2
mov eax, dword [rsi + 0x28]
jmp 0x1401a7072
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 0x1401a5e2d
mov rcx, rsi
mov dl, 1
call fcn.1401a5aa0
mov dword [rsi + 0x28], eax
mov r12d, 1
jmp 0x1401a706f
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 0x1401a6fd5
mov rax, qword [rsi + 0x20]
mov rcx, qword [rax + 8]
mov rcx, qword [rcx + 7]
sar rcx, 1
cmp qword [rsi + 0x30], rcx
jge 0x1401a670e
mov r13, r14
mov rcx, rsi
mov dl, 1
call fcn.1401a5aa0
mov dword [rsi + 0x28], eax
jmp 0x1401a672e
mov rcx, rsi
mov rdx, r15
call fcn.1401a7a10
mov rdx, qword [rax]
mov rcx, rax
call qword [rdx + 0x80]
mov rbx, rax
mov rcx, r15
mov rdx, rax
call fcn.1401a5240
test al, al
je 0x1401a6bef
mov rcx, r15
call fcn.1401a4e50
mov rdx, qword [r15 + 0x20]
inc rdx
mov rcx, r12
call fcn.1400f9f60
mov rax, qword [r15 + 0x20]
mov rcx, qword [r15 + 0x30]
mov qword [rcx + rax*8 - 8], rbx
jmp 0x1401a6fd5
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 0x1401a6694
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 0x1401a6672
mov rcx, rsi
xor edx, edx
call fcn.1401a5aa0
cmp eax, 0x30
jb 0x1401a6694
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 0x1401a6694
mov rcx, rsi
xor edx, edx
call fcn.1401a5aa0
cmp eax, 0x39
jbe 0x1401a71ee
mov rcx, rsi
call fcn.1401a84e0
mov rcx, r15
mov edx, eax
jmp 0x1401a6fd0
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 0x1401a66d7
mov rcx, rsi
xor edx, edx
call fcn.1401a5aa0
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 0x1401a6ad1
mov rcx, rsi
mov dl, 1
call fcn.1401a5aa0
mov dword [rsi + 0x28], eax
test byte [rsi + 0x4c], 8
jne 0x1401a6af8
jmp 0x1401a6fbc
mov r13, r14
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.14010f5a0
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 0x1401a677e
mov edx, reloc.WS2_32.dll_recv
call fcn.1401c6570
jmp 0x1401a678a
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.14019bac0
mov rdx, qword [rsi]
mov ecx, 0x28
call fcn.14010f5a0
mov rbx, rax
mov eax, dword [r15 + 0xc]
lea rcx, [0x140316d70]
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 0x1401a680a
mov edx, 1
mov rcx, r14
call fcn.1400f9f60
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.1401a5240
mov rcx, r15
test al, al
je 0x1401a683f
call fcn.1401a4e50
mov rdx, qword [r15 + 0x20]
inc rdx
mov rcx, r12
call fcn.1400f9f60
mov rax, qword [r15 + 0x20]
mov rcx, qword [r15 + 0x30]
mov qword [rcx + rax*8 - 8], rbx
jmp 0x1401a6847
mov rdx, rbx
call fcn.1401a4d70
mov r14, r13
jmp 0x1401a6f09
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.1401a5480
mov rbx, rax
mov ebp, dword [r14 + 0x10]
cmp ebp, 4
je 0x1401a6be8
mov r12, r14
mov r14, qword [r14 + 0x18]
cmp ebp, 1
jne 0x1401a6ba9
mov r15, r12
mov rdx, qword [r12 + 0x20]
test rdx, rdx
je 0x1401a68ac
mov rcx, rsi
mov r8, r14
call fcn.1401a7310
mov rcx, rsi
mov rdx, r14
call fcn.1401a7480
mov qword [rax + 8], rbx
mov rbx, rax
mov r14, r15
jmp 0x1401a6be8
mov byte [r15 + 8], 1
jmp 0x1401a6fd5
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 0x1401a6c7c
mov rcx, rsi
mov dl, 1
call fcn.1401a5aa0
mov dword [rsi + 0x28], eax
jmp 0x1401a6c99
mov rax, qword [rsi + 0x20]
mov rcx, qword [rax + 8]
mov rcx, qword [rcx + 7]
sar rcx, 1
cmp qword [rsi + 0x30], rcx
jge 0x1401a6cd1
mov rcx, rsi
mov dl, 1
call fcn.1401a5aa0
mov dword [rsi + 0x28], eax
mov rax, qword [rsi + 0x20]
mov rcx, qword [rsi + 0x30]
jmp 0x1401a6cee
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 0x1401a6d2f
mov rcx, rsi
mov dl, 1
call fcn.1401a5aa0
mov dword [rsi + 0x28], eax
jmp 0x1401a6d4c
test byte [rsi + 0x4c], 8
jne 0x1401a6993
movzx eax, byte [rsi + 0x53]
movzx ecx, byte [rsi + 0x52]
or cl, al
jne 0x1401a698b
mov rcx, rsi
call fcn.1401a91f0
movzx eax, byte [rsi + 0x53]
test al, al
je case.0x1401a5f6d.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 0x1401a6f41
mov rcx, rsi
mov dl, 1
call fcn.1401a5aa0
mov dword [rsi + 0x28], eax
jmp 0x1401a6f5e
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 0x1401a6d58
mov rcx, rsi
mov dl, 1
call fcn.1401a5aa0
mov dword [rsi + 0x28], eax
jmp 0x1401a6d75
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 0x1401a6d81
mov rcx, rsi
mov dl, 1
call fcn.1401a5aa0
mov dword [rsi + 0x28], eax
jmp 0x1401a6d9e
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 0x1401a6daa
mov rcx, rsi
mov dl, 1
call fcn.1401a5aa0
mov dword [rsi + 0x28], eax
jmp 0x1401a6dc7
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 0x1401a6dd3
mov rcx, rsi
mov dl, 1
call fcn.1401a5aa0
mov dword [rsi + 0x28], eax
jmp 0x1401a6df0
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 0x1401a6dfc
mov rcx, rsi
mov dl, 1
call fcn.1401a5aa0
mov dword [rsi + 0x28], eax
jmp 0x1401a6e19
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 0x1401a6fbc
mov dword [rsp + 0x34], ebx
mov qword [rsp + 0x38], r14
mov rdx, qword [rsi]
mov ecx, 0x20
call fcn.14010f5a0
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.14010f5a0
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.14010f5a0
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 0x1401a6e3d
mov edx, reloc.WS2_32.dll_recv
call fcn.1401c6570
jmp 0x1401a6e49
mov rdx, qword [rsi]
mov r15, qword [rsi + 0x38]
mov ecx, 0x30
call fcn.14010f5a0
sub r15, r14
cmp ebp, 2
mov ecx, dword [r12 + 0x14]
lea rdx, [0x1403183a0]
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
mov r14, r12
mov r14, qword [r14]
mov r15, qword [r14 + 8]
mov rcx, r15
mov rdx, rbx
call fcn.1401a4d70
jmp 0x1401a6fd5
cmp eax, 0x200000
je 0x1401a7176
mov rax, qword [rsi + 0x20]
mov rcx, qword [rax + 8]
mov rcx, qword [rcx + 7]
sar rcx, 1
cmp qword [rsi + 0x30], rcx
jge 0x1401a6c36
mov rcx, rsi
mov dl, 1
call fcn.1401a5aa0
mov ebx, eax
mov dword [rsi + 0x28], eax
test byte [rsi + 0x4c], 8
jne 0x1401a6c5e
jmp 0x1401a6c6d
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 0x1401a6c6d
mov ecx, ebx
call fcn.1401a5c60
test al, al
je 0x1401a71a3
mov rcx, r15
mov edx, ebx
call fcn.1401a4fd0
jmp 0x1401a64b6
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.1401a8710
test al, al
je 0x1401a6f15
mov ebx, dword [rsp + 0x48]
mov rcx, r15
call fcn.1401a4860
mov rcx, r15
mov edx, ebx
call fcn.1401a5170
mov rcx, r15
call fcn.1401a4860
jmp 0x1401a6fd5
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 0x1401a6d19
mov rcx, rsi
xor edx, edx
call fcn.1401a5aa0
mov ebx, eax
and eax, 0xffffffdf
add eax, 0xffffffa5
cmp eax, 0xffffffe5
ja 0x1401a6f6e
test byte [rsi + 0x4c], 8
jne 0x1401a71a3
mov rcx, r15
mov dx, 0x5c
jmp 0x1401a6fd0
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 0x1401a6fd0
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 0x1401a6fd0
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 0x1401a6fd0
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 0x1401a6fd0
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 0x1401a6fd0
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.1401a85e0
test al, al
je 0x1401a6f2b
movzx edx, word [rsp + 0x48]
jmp 0x1401a6f39
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.1401a7e80
test al, al
je 0x1401a71df
cmp dword [rsp + 0x34], 0x50
sete r8b
mov qword [rsp + 0x20], rbx
mov rdx, r13
mov r9, r14
call fcn.1401a80f0
test al, al
je 0x1401a71df
mov rdx, qword [rsi]
mov ecx, 0x28
call fcn.14010f5a0
mov rbx, rax
mov eax, dword [r15 + 0xc]
lea rcx, [0x140316d70]
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 0x1401a6ee6
mov edx, 1
mov rcx, r13
call fcn.1400f9f60
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.1401a5240
test al, al
mov r14, qword [rsp + 0x38]
jne 0x1401a6414
mov rcx, r15
mov rdx, rbx
call fcn.1401a4d70
lea r13, [0x1403184a0]
jmp 0x1401a6fd5
test byte [rsi + 0x4c], 8
jne 0x1401a71a3
mov rcx, r15
mov dx, 0x75
jmp 0x1401a6fd0
mov dx, 0x78
test byte [rsi + 0x4c], 8
jne 0x1401a71a3
mov rcx, r15
jmp 0x1401a6fd0
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, r14
call fcn.1401a8a50
jmp 0x1401a6fd5
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 0x1401a6f9c
mov rcx, rsi
mov dl, 1
call fcn.1401a5aa0
mov dword [rsi + 0x28], eax
jmp 0x1401a6fb9
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
and ebx, 0x1f
mov rcx, r15
mov edx, ebx
nop word cs:[rax + rax]
call fcn.1401a4fd0
mov eax, dword [rsi + 0x28]
cmp eax, 0x3e
jg 0x1401a64f0
cmp eax, 0x2a
je 0x1401a7035
cmp eax, 0x2b
jne 0x1401a5e73
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 0x1401a70a2
mov rcx, rsi
mov dl, 1
call fcn.1401a5aa0
mov dword [rsi + 0x28], eax
mov r12d, 0x7fffffff
mov r13d, 1
jmp 0x1401a7072
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 0x1401a70d3
mov rcx, rsi
mov dl, 1
call fcn.1401a5aa0
mov dword [rsi + 0x28], eax
mov r12d, 0x7fffffff
xor r13d, r13d
xor r9d, r9d
cmp eax, 0x3f
jne 0x1401a5e56
mov rax, qword [rsi + 0x20]
mov rcx, qword [rax + 8]
mov rcx, qword [rcx + 7]
sar rcx, 1
cmp qword [rsi + 0x30], rcx
jge 0x1401a70fe
mov rcx, rsi
mov dl, 1
call fcn.1401a5aa0
mov dword [rsi + 0x28], eax
jmp 0x1401a711b
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 r13d, 1
mov r12d, 0x7fffffff
jmp 0x1401a5e56
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 r13d, r13d
mov r12d, 0x7fffffff
jmp 0x1401a5e53
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 0x1401a5e56
cmp qword [r14], 0
jne 0x1401a71d0
mov rcx, r15
call fcn.1401a5480
mov rsi, rax
mov rcx, qword [rsp + 0x78]
xor rcx, rsp
call fcn.14025dfe0
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.1401a5c80
lea rdx, str._at_end_of_pattern
mov rcx, rsi
call fcn.1401a5c80
lea rdx, str.invalid_quantifier.
mov rcx, rsi
call fcn.1401a5c80
lea rdx, str.Lone_quantifier_brackets
mov rcx, rsi
call fcn.1401a5c80
lea rdx, str.Invalid_identity_escape_in_Unicode_pattern
mov rcx, rsi
call fcn.1401a5c80
lea rdx, str.numbers_out_of_order_in__quantifier.
mov rcx, rsi
call fcn.1401a5c80
lea rdx, str.Unmatched__
mov rcx, rsi
call fcn.1401a5c80
lea rdx, str.Unterminated_group
mov rcx, rsi
call fcn.1401a5c80
lea rdx, str.Invalid_property_name
mov rcx, rsi
call fcn.1401a5c80
lea rdx, str.Invalid_decimal_escape
mov rcx, rsi
call fcn.1401a5c80
int3