Function at 0x180139980
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 0x180139d05
mov rdi, qword [rax]
mov eax, dword [0x180221a34]
mov rcx, qword gs:[0x58]
mov rax, qword [rcx + rax*8]
cmp qword [rax + 0xa8], 0
jne 0x1801399cd
call fcn.1801095d0
lea rax, [0x18020ac70]
mov qword [rsp + 0x20], rax
xorps xmm0, xmm0
movups xmmword [rsp + 0x28], xmm0
mov qword [rsp + 0x38], 0
mov eax, dword [0x180221a34]
mov rcx, qword gs:[0x58]
mov rax, qword [rcx + rax*8]
movups xmm0, xmmword [rax + 0xb0]
inc qword [rax + 0xb0]
movups xmmword [rsp + 0x40], xmm0
lea rdx, [0x18020ae40]
lea r8, [0x180139d10]
lea rsi, [rsp + 0x20]
mov rcx, rsi
call fcn.180139d70
lea rdx, [0x18020acb0]
lea r8, [0x18013a0c0]
mov rcx, rsi
call fcn.180139d70
lea rdx, [0x18020ad78]
lea r8, [0x18013a3e0]
mov rcx, rsi
call fcn.180139d70
lea rdx, [0x18020ae68]
lea r8, [0x18013a5a0]
mov rcx, rsi
call fcn.180139d70
lea rdx, [0x18020ac88]
lea r8, [0x18013a760]
mov rcx, rsi
call fcn.180139d70
lea rdx, [0x18020ada0]
lea r8, [0x18013aba0]
mov rcx, rsi
call fcn.180139d70
lea rdx, [0x18020ae90]
lea r8, [0x18013b1f0]
mov rcx, rsi
call fcn.180139d70
lea rdx, [0x18020ad50]
lea r8, [0x18013c230]
mov rcx, rsi
call fcn.180139d70
lea rdx, [0x18020ad00]
lea r8, [0x18013c690]
mov rcx, rsi
call fcn.180139d70
lea rdx, [0x18020acd8]
lea r8, [0x18013ccf0]
mov rcx, rsi
call fcn.180139d70
lea rdx, [0x18020aeb8]
lea r8, [0x18013dab0]
mov rcx, rsi
call fcn.180139d70
lea rdx, [0x18020ad28]
lea r8, [0x18013f140]
mov rcx, rsi
call fcn.180139d70
lea rdx, [0x18020aee0]
lea r8, [0x18013f420]
mov rcx, rsi
call fcn.180139d70
lea rdx, [0x18020af08]
lea r8, [0x1801401b0]
mov rcx, rsi
call fcn.180139d70
lea rdx, [0x18020af38]
lea r8, [0x180140c90]
mov rcx, rsi
call fcn.180139d70
lea rdx, [0x18020af68]
lea r8, [0x1801410b0]
mov rcx, rsi
call fcn.180139d70
lea rdx, [0x18020af98]
lea r8, [0x180141320]
mov rcx, rsi
call fcn.180139d70
lea rdx, [0x18020adc8]
lea r8, [0x180141530]
mov rcx, rsi
call fcn.180139d70
lea rdx, [0x18020adf0]
lea r8, [0x180141940]
mov rcx, rsi
call fcn.180139d70
lea rdx, [0x18020ae18]
lea r8, [0x180141b30]
mov rcx, rsi
call fcn.180139d70
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 0x180139cf1
test rbx, rbx
je 0x180139cf1
test r14, r14
je 0x180139cbf
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 0x180139c45
test r14, r14
je 0x180139cbf
test r13w, r13w
je 0x180139c60
lea eax, [r13 - 1]
and eax, r13d
jmp 0x180139c8b
movdqa xmm0, xmmword [rdi]
pmovmskb r13d, xmm0
add r12, 0xfffffffffffffd80
add rdi, 0x10
cmp r13w, 0xffff
je 0x180139c60
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 0x180139c40
cmp qword [r12 + rax*8 - 0x20], 0
je 0x180139c40
mov rcx, qword [0x1802219b8]
xor edx, edx
call r15
jmp 0x180139c40
lea rax, [rbx + 1]
mov ecx, 0x28
mul rcx
add rax, 0xf
and rax, 0xfffffffffffffff0
add rbx, rax
cmp rbx, 0xffffffffffffffef
je 0x180139cf1
sub rsi, rax
mov rcx, qword [0x1802219b8]
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
ud2