Function at 0x1400344f0
Capabilities:
Access peb ldr_data

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x198
movdqa xmmword [rsp + 0x180], xmm6
mov qword [rsp + 0x20], r9
mov qword [rsp + 0x58], rdx
mov qword [rsp + 0x30], rcx
mov rax, r8
mov qword [rsp + 0x38], r8
test r8, r8
je 0x1400345c6
mov rax, qword [rsp + 0x30]
cmp qword [rax + 0x28], 0
je 0x1400345a4
mov rcx, qword [rsp + 0x38]
mov rbp, qword [rsp + 0x58]
lea rcx, [rcx*8]
add rcx, rbp
mov qword [rsp + 0xe8], rcx
mov rcx, qword [rsp + 0x20]
lea rcx, [rcx + 0x20]
mov qword [rsp + 0xe0], rcx
mov rcx, qword [rax + 8]
mov qword [rsp + 0xf8], rcx
mov rcx, qword [rax + 0x10]
mov qword [rsp + 0xf0], rcx
mov r13, qword [rax + 0x40]
mov rdx, qword [rax + 0x48]
mov r12, qword [rax + 0x18]
mov r15, qword [rax + 0x30]
pcmpeqd xmm6, xmm6
mov qword [rsp + 0x100], rdx
mov qword [rsp + 0x48], r13
jmp 0x140034ae3
mov rax, qword [rsp + 0x38]
lea rax, [rax*8]
nop word cs:[rax + rax]
add rax, 0xfffffffffffffff8
jne 0x1400345c0
mov rbx, qword [rsp + 0x30]
mov rdi, qword [rbx]
test rdi, rdi
je 0x1400347a9
mov eax, dword [0x140221400]
mov rcx, qword gs:[0x58]
mov rax, qword [rcx + rax*8]
cmp qword [rax + 0x18], 0
jne 0x1400345f9
call fcn.14014c4e0
movups xmm0, xmmword [rdi + 0x40]
movaps xmmword [rsp + 0xa0], xmm0
movups xmm0, xmmword [rdi]
movups xmm1, xmmword [rdi + 0x10]
movdqu xmm2, xmmword [rdi + 0x20]
movups xmm3, xmmword [rdi + 0x30]
movaps xmmword [rsp + 0x90], xmm3
movdqa xmmword [rsp + 0x80], xmm2
movaps xmmword [rsp + 0x70], xmm1
movaps xmmword [rsp + 0x60], xmm0
mov qword [rdi], 0
mov eax, dword [0x140221400]
mov rcx, qword gs:[0x58]
mov rax, qword [rcx + rax*8]
movups xmm0, xmmword [rax + 0x20]
inc qword [rax + 0x20]
movups xmmword [rdi + 8], xmm0
xorps xmm0, xmm0
movups xmmword [rdi + 0x18], xmm0
mov qword [rdi + 0x28], 0
lea rax, [0x1401ef3a0]
mov qword [rdi + 0x30], rax
mov qword [rdi + 0x38], 0
mov qword [rdi + 0x40], 8
mov qword [rdi + 0x48], 0
mov byte [rsp + 0xd0], 4
lea rsi, [rsp + 0x60]
mov rcx, rsi
mov rdx, qword [rsp + 0x58]
mov r8, qword [rsp + 0x38]
mov r9, qword [rsp + 0x20]
call fcn.1400344f0
movaps xmm0, xmmword [rsp + 0x60]
movups xmm1, xmmword [rdi]
movaps xmmword [rsp + 0x60], xmm1
movups xmmword [rdi], xmm0
movaps xmm0, xmmword [rsp + 0x70]
movups xmm1, xmmword [rdi + 0x10]
movaps xmmword [rsp + 0x70], xmm1
movups xmmword [rdi + 0x10], xmm0
movaps xmm0, xmmword [rsp + 0x80]
movups xmm1, xmmword [rdi + 0x20]
movaps xmmword [rsp + 0x80], xmm1
movups xmmword [rdi + 0x20], xmm0
movaps xmm0, xmmword [rsp + 0x90]
movups xmm1, xmmword [rdi + 0x30]
movaps xmmword [rsp + 0x90], xmm1
movups xmmword [rdi + 0x30], xmm0
movdqa xmm0, xmmword [rsp + 0xa0]
movdqu xmm1, xmmword [rdi + 0x40]
movdqa xmmword [rsp + 0xa0], xmm1
movdqu xmmword [rdi + 0x40], xmm0
mov rcx, rsi
call fcn.140034300
cmp byte [rsp + 0xd0], 4
je 0x1400347a9
mov rsi, qword [rsp + 0xc8]
test rsi, rsi
je 0x140034782
mov rdi, qword [rsp + 0xc0]
shl rsi, 5
xor ebx, ebx
mov rbp, qword [sym.imp.KERNEL32.dll_HeapFree]
jmp 0x140034769
add rbx, 0x20
cmp rsi, rbx
je 0x140034782
cmp qword [rdi + rbx], 0
je 0x140034760
mov r8, qword [rdi + rbx + 8]
mov rcx, qword [0x140221370]
xor edx, edx
call rbp
jmp 0x140034760
cmp qword [rsp + 0xb8], 0
mov rbx, qword [rsp + 0x30]
je 0x1400347a9
mov r8, qword [rsp + 0xc0]
mov rcx, qword [0x140221370]
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov rax, qword [rsp + 0x20]
mov rdx, qword [rax + 0x10]
test rdx, rdx
je 0x140034a11
mov r13, qword [rax + 0x18]
lea r15, [r13 + 0x10]
movdqa xmm0, xmmword [r13]
pmovmskb r14d, xmm0
not r14d
lea rax, [rbx + 0x18]
mov qword [rsp + 0x28], rax
pcmpeqd xmm6, xmm6
jmp 0x140034813
mov rcx, qword [rsp + 0x28]
mov rdx, rax
mov r8, r12
lea r9, [rsp + 0x60]
call fcn.1400359b0
nop word cs:[rax + rax]
mov rdx, qword [rsp + 0x50]
test rdx, rdx
mov rbx, qword [rsp + 0x30]
je 0x140034a11
test r14w, r14w
je 0x140034830
test r13, r13
je 0x140034a11
lea eax, [r14 - 1]
and eax, r14d
jmp 0x14003485c
movdqa xmm0, xmmword [r15]
pmovmskb r14d, xmm0
add r13, 0xfffffffffffff900
add r15, 0x10
cmp r14w, 0xffff
je 0x140034830
mov ecx, 0xfffffffe
sub ecx, r14d
not r14d
mov eax, r14d
and eax, ecx
bsf cx, r14w
mov r14d, eax
dec rdx
mov qword [rsp + 0x50], rdx
movzx eax, cx
neg rax
imul rax, rax, 0x70
lea rdx, [rax + r13]
add rdx, 0xffffffffffffff98
mov r12, qword [r13 + rax - 0x70]
lea rcx, [rsp + 0x60]
call fcn.140035360
mov rcx, qword [rbx + 8]
mov rdx, qword [rbx + 0x10]
mov r8, r12
call fcn.140035200
mov rdi, qword [rbx + 0x40]
mov rdx, qword [rbx + 0x48]
mov r9, qword [rbx + 0x18]
mov r10, qword [rbx + 0x30]
mov rcx, rax
shr rcx, 0x39
movd xmm0, ecx
punpcklbw xmm0, xmm0
pshuflw xmm0, xmm0, 0
pshufd xmm0, xmm0, 0
xor r8d, r8d
mov rbx, rax
and rbx, r9
movdqu xmm1, xmmword [r10 + rbx]
movdqa xmm2, xmm0
pcmpeqb xmm2, xmm1
pmovmskb esi, xmm2
nop word cs:[rax + rax]
test si, si
je 0x140034930
bsf cx, si
movzx ecx, cx
add rcx, rbx
and rcx, r9
shl rcx, 3
mov rbp, r10
sub rbp, rcx
mov rcx, qword [rbp - 8]
cmp rdx, rcx
jbe 0x140034fa2
lea ebp, [rsi - 1]
and ebp, esi
imul rcx, rcx, 0x78
mov esi, ebp
cmp qword [rdi + rcx + 8], r12
jne 0x1400348f0
jmp 0x140034950
pcmpeqb xmm1, xmm6
pmovmskb ecx, xmm1
test ecx, ecx
jne 0x1400347e0
add rbx, r8
add rbx, 0x10
add r8, 0x10
jmp 0x1400348cc
mov rax, qword [rdi + rcx + 0x10]
movups xmm0, xmmword [rdi + rcx + 0x68]
lea rdx, [rsp + 0x120]
movups xmmword [rdx + 0x50], xmm0
movups xmm0, xmmword [rdi + rcx + 0x58]
movups xmmword [rdx + 0x40], xmm0
movups xmm0, xmmword [rdi + rcx + 0x48]
movups xmmword [rdx + 0x30], xmm0
movups xmm0, xmmword [rdi + rcx + 0x38]
movups xmmword [rdx + 0x20], xmm0
movups xmm0, xmmword [rdi + rcx + 0x28]
movups xmmword [rdx + 0x10], xmm0
movups xmm0, xmmword [rdi + rcx + 0x18]
movups xmmword [rdx], xmm0
movups xmm0, xmmword [rsp + 0xb0]
movups xmmword [rdi + rcx + 0x60], xmm0
movups xmm0, xmmword [rsp + 0xa0]
movups xmmword [rdi + rcx + 0x50], xmm0
movdqu xmm0, xmmword [rsp + 0x60]
movdqu xmm1, xmmword [rsp + 0x70]
movdqu xmm2, xmmword [rsp + 0x80]
movups xmm3, xmmword [rsp + 0x90]
movups xmmword [rdi + rcx + 0x40], xmm3
movdqu xmmword [rdi + rcx + 0x30], xmm2
movdqu xmmword [rdi + rcx + 0x20], xmm1
movdqu xmmword [rdi + rcx + 0x10], xmm0
mov rdx, qword [rsp + 0xc0]
mov qword [rdi + rcx + 0x70], rdx
mov qword [rsp + 0x118], rax
cmp rax, 2
je 0x140034800
lea rcx, [rsp + 0x118]
call fcn.140034fb0
jmp 0x140034800
movaps xmm6, xmmword [rsp + 0x180]
add rsp, 0x198
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
mov rdi, qword [rsp + 0x20]
movzx ecx, cl
sub qword [rdi + 8], rcx
lea rcx, [rbp - 0x10]
and rcx, r13
mov byte [r9 + rbp], r10b
mov byte [rcx + r9 + 0x10], r10b
inc qword [rdi + 0x10]
mov rcx, qword [rdi + 0x18]
neg rbp
imul rax, rbp, 0x70
mov qword [rcx + rax - 0x70], r14
movups xmm0, xmmword [rsp + 0x118]
movdqu xmm1, xmmword [rsp + 0x128]
movdqu xmm2, xmmword [rsp + 0x138]
movups xmm3, xmmword [rsp + 0x148]
movups xmmword [rcx + rax - 0x68], xmm0
movdqu xmmword [rcx + rax - 0x58], xmm1
movdqu xmmword [rcx + rax - 0x48], xmm2
movups xmmword [rcx + rax - 0x38], xmm3
movups xmm0, xmmword [rsp + 0x158]
movups xmmword [rcx + rax - 0x28], xmm0
movdqu xmm0, xmmword [rsp + 0x168]
movdqu xmmword [rcx + rax - 0x18], xmm0
mov rbp, qword [rsp + 0x178]
mov qword [rcx + rax - 8], rbp
mov r13, qword [rsp + 0x48]
nop word cs:[rax + rax]
mov rbp, qword [rsp + 0x50]
cmp rbp, qword [rsp + 0xe8]
je 0x1400345c6
lea rax, [rbp + 8]
mov qword [rsp + 0x50], rax
mov qword [rsp + 0x28], rbp
mov rbp, qword [rbp]
mov rcx, qword [rsp + 0xf8]
mov rdx, qword [rsp + 0xf0]
mov r8, rbp
call fcn.140035200
mov rdx, qword [rsp + 0x100]
mov rcx, rax
shr rcx, 0x39
movd xmm0, ecx
punpcklbw xmm0, xmm0
pshuflw xmm0, xmm0, 0
pshufd xmm0, xmm0, 0
xor r8d, r8d
and rax, r12
movdqu xmm1, xmmword [r15 + rax]
movdqa xmm2, xmm0
pcmpeqb xmm2, xmm1
pmovmskb esi, xmm2
nop word cs:[rax + rax]
test si, si
je 0x140034b90
bsf cx, si
movzx ecx, cx
add rcx, rax
and rcx, r12
shl rcx, 3
mov rdi, r15
sub rdi, rcx
mov rcx, qword [rdi - 8]
cmp rdx, rcx
jbe 0x140034fa2
lea ebx, [rsi - 1]
and ebx, esi
imul r14, rcx, 0x78
mov esi, ebx
cmp qword [r13 + r14 + 8], rbp
jne 0x140034b50
jmp 0x140034bb0
pcmpeqb xmm1, xmm6
pmovmskb ecx, xmm1
test ecx, ecx
jne 0x140034ad0
add rax, r8
add rax, 0x10
add r8, 0x10
jmp 0x140034b31
lea rdx, [r14 + r13]
add rdx, 0x10
mov rsi, qword [rsp + 0x20]
cmp qword [rsi + 0x10], 0
mov rcx, qword [rsi + 0x20]
mov rax, qword [rsi + 0x28]
mov qword [rsp + 0x110], rcx
mov qword [rsp + 0x108], rax
je 0x140034cb0
mov qword [rsp + 0x40], rdx
mov rdx, rax
mov r8, rbp
call fcn.140035200
mov rcx, rsi
mov r13, qword [rsi]
mov r9, qword [rsi + 0x18]
mov rcx, rax
shr rcx, 0x39
movd xmm0, ecx
punpcklbw xmm0, xmm0
pshuflw xmm0, xmm0, 0
pshufd xmm0, xmm0, 0
lea rcx, [r9 - 0x70]
xor r8d, r8d
and rax, r13
movdqu xmm1, xmmword [r9 + rax]
movdqa xmm2, xmm0
pcmpeqb xmm2, xmm1
pmovmskb edx, xmm2
nop
test dx, dx
je 0x140034c60
bsf bx, dx
movzx ebx, bx
lea edi, [rdx - 1]
and edi, edx
add rbx, rax
and rbx, r13
neg rbx
imul rbx, rbx, 0x70
mov edx, edi
cmp qword [rcx + rbx], rbp
jne 0x140034c30
jmp 0x140034c80
pcmpeqb xmm1, xmm6
pmovmskb edx, xmm1
test edx, edx
jne 0x140034f90
add rax, r8
add rax, 0x10
add r8, 0x10
jmp 0x140034c1a
add rcx, rbx
movzx eax, byte [rcx + 0x68]
mov rdx, qword [rsp + 0x48]
movzx ebx, byte [rdx + r14 + 0x70]
cmp al, 3
je 0x140034cd0
cmp bl, 3
je 0x140034cd0
cmp al, bl
setne al
mov rsi, qword [rsp + 0x28]
mov rdx, qword [rsp + 0x40]
jae 0x140034cf0
jmp 0x140034cfa
mov rax, rsi
mov r13, qword [rsi]
mov rdi, qword [rsi + 0x18]
mov rsi, qword [rsp + 0x28]
jmp 0x140034cfd
cmp bl, 3
mov rsi, qword [rsp + 0x28]
mov rdx, qword [rsp + 0x40]
je 0x140034ce3
cmp al, 3
je 0x140034cfa
cmp bl, 3
setne bl
cmp al, 3
setne al
xor al, bl
add rcx, 8
test al, al
cmovne rdx, rcx
mov rdi, r9
lea rcx, [rsp + 0x118]
call fcn.140035360
mov r14, qword [rsi]
mov rcx, qword [rsp + 0x110]
mov rdx, qword [rsp + 0x108]
mov r8, r14
call fcn.140035200
mov r10, rax
shr r10, 0x39
movd xmm0, r10d
punpcklbw xmm0, xmm0
pshuflw xmm0, xmm0, 0
pshufd xmm0, xmm0, 0
lea rsi, [rdi - 0x70]
xor r8d, r8d
mov rcx, rax
mov r9, rdi
and rcx, r13
movdqu xmm1, xmmword [r9 + rcx]
movdqa xmm2, xmm0
pcmpeqb xmm2, xmm1
pmovmskb ebp, xmm2
nop word cs:[rax + rax]
test bp, bp
je 0x140034da0
bsf bx, bp
movzx ebx, bx
lea edi, [rbp - 1]
and edi, ebp
add rbx, rcx
and rbx, r13
neg rbx
imul rbx, rbx, 0x70
mov ebp, edi
cmp qword [rsi + rbx], r14
jne 0x140034d70
jmp 0x140034dc0
pcmpeqb xmm1, xmm6
pmovmskb ebp, xmm1
test ebp, ebp
jne 0x140034e8b
add rcx, r8
add rcx, 0x10
add r8, 0x10
jmp 0x140034d4c
add rsi, rbx
mov rcx, qword [rsi + 0x68]
mov qword [rsp + 0xc0], rcx
movups xmm0, xmmword [rsi + 0x58]
movaps xmmword [rsp + 0xb0], xmm0
movups xmm0, xmmword [rsi + 0x48]
movaps xmmword [rsp + 0xa0], xmm0
movups xmm0, xmmword [rsi + 8]
movups xmm1, xmmword [rsi + 0x18]
movups xmm2, xmmword [rsi + 0x28]
movups xmm3, xmmword [rsi + 0x38]
movaps xmmword [rsp + 0x90], xmm3
movaps xmmword [rsp + 0x80], xmm2
movaps xmmword [rsp + 0x70], xmm1
movaps xmmword [rsp + 0x60], xmm0
movups xmm0, xmmword [rsp + 0x118]
movdqu xmm1, xmmword [rsp + 0x128]
movdqu xmm2, xmmword [rsp + 0x138]
movups xmm3, xmmword [rsp + 0x148]
movups xmmword [rsi + 8], xmm0
movdqu xmmword [rsi + 0x18], xmm1
movdqu xmmword [rsi + 0x28], xmm2
movups xmmword [rsi + 0x38], xmm3
movups xmm0, xmmword [rsp + 0x158]
movups xmmword [rsi + 0x48], xmm0
movdqu xmm0, xmmword [rsp + 0x168]
movdqu xmmword [rsi + 0x58], xmm0
mov rcx, qword [rsp + 0x178]
mov qword [rsi + 0x68], rcx
cmp qword [rsp + 0x60], 2
mov r13, qword [rsp + 0x48]
je 0x140034ad0
lea rcx, [rsp + 0x60]
call fcn.140034fb0
jmp 0x140034ad0
mov rcx, r13
and rcx, rax
movdqu xmm0, xmmword [r9 + rcx]
pmovmskb ebx, xmm0
test ebx, ebx
jne 0x140034ec8
mov ebp, reloc.WS2_32.dll_recv
nop word cs:[rax + rax]
add rcx, rbp
and rcx, r13
movdqu xmm0, xmmword [r9 + rcx]
pmovmskb ebx, xmm0
add rbp, 0x10
test ebx, ebx
je 0x140034eb0
bsf bp, bx
movzx ebp, bp
add rbp, rcx
and rbp, r13
movzx ecx, byte [r9 + rbp]
test cl, cl
js 0x140034ef3
movdqa xmm0, xmmword [r9]
pmovmskb ecx, xmm0
bsf cx, cx
movzx ebp, cx
movzx ecx, byte [r9 + rbp]
and cl, 1
je 0x140034a2d
mov rdi, qword [rsp + 0x20]
cmp qword [rdi + 8], 0
jne 0x140034a32
mov byte [rsp + 0x28], cl
mov rbx, r10
mov rcx, rdi
mov rdx, qword [rsp + 0xe0]
mov rsi, rax
call fcn.14016d3a0
mov r13, qword [rdi]
mov r9, qword [rdi + 0x18]
and rsi, r13
movdqu xmm0, xmmword [r9 + rsi]
pmovmskb eax, xmm0
test eax, eax
jne 0x140034f5b
mov ecx, reloc.WS2_32.dll_recv
add rsi, rcx
and rsi, r13
movdqu xmm0, xmmword [r9 + rsi]
pmovmskb eax, xmm0
add rcx, 0x10
test eax, eax
je 0x140034f43
mov r10, rbx
bsf ax, ax
movzx ebp, ax
add rbp, rsi
and rbp, r13
cmp byte [r9 + rbp], 0
movzx ecx, byte [rsp + 0x28]
js 0x140034a2d
movdqa xmm0, xmmword [r9]
pmovmskb eax, xmm0
bsf ax, ax
movzx ebp, ax
jmp 0x140034a2d
mov rdi, r9
mov rsi, qword [rsp + 0x28]
mov rdx, qword [rsp + 0x40]
jmp 0x140034cfd
lea r8, str.C:UsersUser.cargo_registry_srcgithub.com_1ecc6299db9ec823indexmap_1.9.3_srcmapcore.rs
call fcn.14016f330
ud2