Function at 0x18015c890
Capabilities:
Access peb ldr_data

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbx
sub rsp, 0x80
mov rcx, qword [rcx]
mov rax, qword [rcx]
mov qword [rcx], 0
test rax, rax
je 0x18015cc15
mov rdi, qword [rax]
mov eax, dword [0x180247064]
mov rcx, qword gs:[0x58]
mov rax, qword [rcx + rax*8]
cmp qword [rax + 0xb0], 0
jne 0x18015c8dd
call fcn.18004cac0
lea rax, [0x1802345c0]
mov qword [rsp + 0x20], rax
xorps xmm0, xmm0
movups xmmword [rsp + 0x28], xmm0
mov qword [rsp + 0x38], 0
mov eax, dword [0x180247064]
mov rcx, qword gs:[0x58]
mov rax, qword [rcx + rax*8]
movups xmm0, xmmword [rax + 0xb8]
inc qword [rax + 0xb8]
movups xmmword [rsp + 0x40], xmm0
lea rdx, [0x180234ac8]
lea r8, [0x18015cc30]
lea rsi, [rsp + 0x20]
mov rcx, rsi
call fcn.18015cc90
lea rdx, [0x180234600]
lea r8, [0x18015cfe0]
mov rcx, rsi
call fcn.18015cc90
lea rdx, [0x1802346c8]
lea r8, [0x18015d300]
mov rcx, rsi
call fcn.18015cc90
lea rdx, [0x180234af0]
lea r8, [0x18015d4c0]
mov rcx, rsi
call fcn.18015cc90
lea rdx, [0x1802345d8]
lea r8, [0x18015d680]
mov rcx, rsi
call fcn.18015cc90
lea rdx, [0x1802346f0]
lea r8, [0x18015dac0]
mov rcx, rsi
call fcn.18015cc90
lea rdx, [0x180234b18]
lea r8, [0x18015e110]
mov rcx, rsi
call fcn.18015cc90
lea rdx, [0x1802346a0]
lea r8, [0x18015f150]
mov rcx, rsi
call fcn.18015cc90
lea rdx, [0x180234650]
lea r8, [0x18015f5b0]
mov rcx, rsi
call fcn.18015cc90
lea rdx, [0x180234628]
lea r8, [0x18015fc10]
mov rcx, rsi
call fcn.18015cc90
lea rdx, [0x180234b40]
lea r8, [0x1801609d0]
mov rcx, rsi
call fcn.18015cc90
lea rdx, [0x180234678]
lea r8, [0x180162060]
mov rcx, rsi
call fcn.18015cc90
lea rdx, [0x180234b68]
lea r8, [0x180162340]
mov rcx, rsi
call fcn.18015cc90
lea rdx, [0x180234b90]
lea r8, [0x1801630f0]
mov rcx, rsi
call fcn.18015cc90
lea rdx, [0x180234bc0]
lea r8, [0x180163bf0]
mov rcx, rsi
call fcn.18015cc90
lea rdx, [0x180234bf0]
lea r8, [0x180164010]
mov rcx, rsi
call fcn.18015cc90
lea rdx, [0x180234c20]
lea r8, [0x180164280]
mov rcx, rsi
call fcn.18015cc90
lea rdx, [0x1802347a0]
lea r8, [0x180164490]
mov rcx, rsi
call fcn.18015cc90
lea rdx, [0x1802347c8]
lea r8, [0x1801648a0]
mov rcx, rsi
call fcn.18015cc90
lea rdx, [0x1802347f0]
lea r8, [0x180164a90]
mov rcx, rsi
call fcn.18015cc90
movdqu xmm0, xmmword [rsp + 0x20]
movups xmm1, xmmword [rsp + 0x30]
movups xmm2, xmmword [rsp + 0x40]
movaps xmmword [rsp + 0x70], xmm2
movaps xmmword [rsp + 0x60], xmm1
movdqa xmmword [rsp + 0x50], xmm0
mov rsi, qword [rdi]
mov rbx, qword [rdi + 8]
mov r14, qword [rdi + 0x18]
movups xmmword [rdi + 0x20], xmm2
movdqu xmmword [rdi], xmm0
movups xmmword [rdi + 0x10], xmm1
test rsi, rsi
je 0x18015cc01
test rbx, rbx
je 0x18015cc01
test r14, r14
je 0x18015cbcf
movdqa xmm0, xmmword [rsi]
pmovmskb r13d, xmm0
not r13d
lea rdi, [rsi + 0x10]
mov r15, qword [sym.imp.KERNEL32.dll_HeapFree]
mov r12, rsi
jmp 0x18015cb55
test r14, r14
je 0x18015cbcf
test r13w, r13w
je 0x18015cb70
lea eax, [r13 - 1]
and eax, r13d
jmp 0x18015cb9b
movdqa xmm0, xmmword [rdi]
pmovmskb r13d, xmm0
add r12, 0xfffffffffffffd80
add rdi, 0x10
cmp r13w, 0xffff
je 0x18015cb70
mov ecx, 0xfffffffe
sub ecx, r13d
not r13d
mov eax, r13d
and eax, ecx
mov ecx, r13d
tzcnt ecx, ecx
mov r13d, eax
dec r14
neg rcx
lea rax, [rcx + rcx*4]
mov r8, qword [r12 + rax*8 - 0x28]
test r8, r8
je 0x18015cb50
cmp qword [r12 + rax*8 - 0x20], 0
je 0x18015cb50
mov rcx, qword [0x180246f98]
xor edx, edx
call r15
jmp 0x18015cb50
lea rax, [rbx + 1]
mov ecx, 0x28
mul rcx
add rax, 0xf
and rax, 0xfffffffffffffff0
add rbx, rax
cmp rbx, 0xffffffffffffffef
je 0x18015cc01
sub rsi, rax
mov rcx, qword [0x180246f98]
xor edx, edx
mov r8, rsi
call qword [sym.imp.KERNEL32.dll_HeapFree]
nop
add rsp, 0x80
pop rbx
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
lea rcx, [0x1802343c7]
lea r8, str._rustc_8c74a5d27c644a0f7a22bb2fa8dd3ff8257bc220library_std_src_synconce.rs
mov edx, 0x2b
call fcn.18019ad80
ud2