Function at 0x140148cf0
Capabilities:
Resolve function by parsing pe exports

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x538
mov qword [rsp + 0x208], rdx
cmp byte [rcx + 0x48], 2
je 0x14014a229
mov r15, rcx
lea rbx, [rcx + 0x38]
mov r13, qword [rbx]
lea r14, [r13 + 0x10]
mov rcx, r14
call sub.kernel32.dll_AcquireSRWLockExclusive
movzx eax, byte [r13 + 0x18]
test al, al
jne 0x14014a229
mov ebp, dword [r15 + 0x40]
mov rcx, qword [r13 + 0x1c8]
cmp rcx, rbp
jbe 0x14014a229
mov rdx, qword [r13 + 0x1b8]
test rdx, rdx
je 0x14014a229
imul rsi, rbp, 0x130
cmp dword [rdx + rsi], 2
je 0x14014a229
mov r12d, dword [r15 + 0x44]
lea rax, [rdx + rsi]
cmp dword [rax + 0x114], r12d
jne 0x14014a229
cmp qword [rax + 0x18], 0
je 0x140149003
mov qword [rsp + 0x200], r14
mov qword [rsp + 0xd8], rbx
mov rcx, qword [rax + 0x20]
cmp qword [r13 + 0x50], rcx
jbe 0x14014a229
mov r11, r15
mov r8, qword [rax + 0x28]
imul r15, rcx, 0xf0
add r15, qword [r13 + 0x40]
mov r9, qword [r13 + 0x60]
mov rdx, qword [r15]
mov r10, qword [r15 + 8]
mov qword [rsp + 0x1f8], r10
mov rbx, qword [r15 + 0x10]
mov r10, qword [r15 + 0x18]
mov qword [rsp + 0x1f0], r10
movzx edi, byte [r15 + 0x20]
movzx r10d, byte [r15 + 0x21]
mov byte [rsp + 0x25], r10b
movzx r10d, word [r15 + 0x22]
mov word [rsp + 0x26], r10w
mov r10d, dword [r15 + 0x24]
mov dword [rsp + 0x2c], r10d
mov r10d, dword [r15 + 0x28]
mov dword [rsp + 0x28], r10d
movups xmm0, xmmword [r15 + 0x78]
movups xmmword [rsp + 0x28c], xmm0
movups xmm0, xmmword [r15 + 0x6c]
movaps xmmword [rsp + 0x280], xmm0
movups xmm0, xmmword [r15 + 0x5c]
movaps xmmword [rsp + 0x270], xmm0
movups xmm0, xmmword [r15 + 0x4c]
movaps xmmword [rsp + 0x260], xmm0
movups xmm0, xmmword [r15 + 0x3c]
movaps xmmword [rsp + 0x250], xmm0
movups xmm0, xmmword [r15 + 0x2c]
movaps xmmword [rsp + 0x240], xmm0
mov r10, qword [r15 + 0xe8]
mov qword [rsp + 0xb0], r10
movups xmm0, xmmword [r15 + 0xd8]
movaps xmmword [rsp + 0xa0], xmm0
movups xmm0, xmmword [r15 + 0xc8]
movaps xmmword [rsp + 0x90], xmm0
movups xmm0, xmmword [r15 + 0x88]
movups xmm1, xmmword [r15 + 0x98]
movups xmm2, xmmword [r15 + 0xa8]
movups xmm3, xmmword [r15 + 0xb8]
movaps xmmword [rsp + 0x80], xmm3
movaps xmmword [rsp + 0x70], xmm2
movaps xmmword [rsp + 0x60], xmm1
movaps xmmword [rsp + 0x50], xmm0
mov qword [r15], 2
mov qword [r15 + 8], r9
lea r14, [r15 + 0x2c]
cmp rdx, 2
je 0x14014a139
movups xmm0, xmmword [r14 + 0x4c]
movups xmmword [rsp + 0x45c], xmm0
movups xmm0, xmmword [r14 + 0x40]
movaps xmmword [rsp + 0x450], xmm0
movups xmm0, xmmword [r14]
movups xmm1, xmmword [r14 + 0x10]
movups xmm2, xmmword [r14 + 0x20]
movups xmm3, xmmword [r14 + 0x30]
movaps xmmword [rsp + 0x440], xmm3
movaps xmmword [rsp + 0x430], xmm2
movaps xmmword [rsp + 0x420], xmm1
movaps xmmword [rsp + 0x410], xmm0
dec qword [r13 + 0x58]
mov qword [r13 + 0x60], rcx
cmp rcx, r8
jne 0x140148f51
test rdx, rdx
mov r14, qword [rsp + 0x200]
jne 0x14014a229
mov r15, r11
mov qword [rax + 0x18], 0
jmp 0x140148f79
test rdx, rdx
mov r14, qword [rsp + 0x200]
je 0x14014a229
mov r15, r11
mov qword [rax + 0x18], 1
mov rcx, qword [rsp + 0x1f8]
mov qword [rax + 0x20], rcx
movups xmm0, xmmword [rsp + 0x45c]
movups xmmword [rsp + 0x39c], xmm0
movaps xmm0, xmmword [rsp + 0x450]
movaps xmmword [rsp + 0x390], xmm0
movaps xmm0, xmmword [rsp + 0x410]
movaps xmm1, xmmword [rsp + 0x420]
movaps xmm2, xmmword [rsp + 0x430]
movaps xmm3, xmmword [rsp + 0x440]
movaps xmmword [rsp + 0x380], xmm3
movaps xmmword [rsp + 0x370], xmm2
movaps xmmword [rsp + 0x360], xmm1
movaps xmmword [rsp + 0x350], xmm0
cmp rbx, 3
je 0x14014911c
cmp rbx, 6
jne 0x14014a229
mov rdx, qword [r13 + 0x1b8]
mov rcx, qword [r13 + 0x1c8]
mov rbx, qword [rsp + 0xd8]
cmp rcx, rbp
jbe 0x14014a229
test rdx, rdx
je 0x14014a229
cmp dword [rdx + rsi], 2
je 0x14014a229
add rdx, rsi
cmp dword [rdx + 0x114], r12d
jne 0x14014a229
add rdx, 0x50
lea rcx, [rsp + 0x50]
call fcn.1400559a0
movzx edi, byte [rsp + 0x50]
cmp dil, 3
mov qword [rsp + 0xd0], r15
jne 0x1401490e9
cmp byte [rsp + 0x51], 0
je 0x1401491d6
mov rax, qword [rsp + 0x208]
mov rax, qword [rax]
mov rdx, qword [rax]
mov rcx, qword [rax + 8]
call qword [rdx]
cmp qword [r13 + 0x1c8], rbp
jbe 0x14014a229
mov rbx, qword [r13 + 0x1b8]
test rbx, rbx
je 0x14014a229
cmp dword [rbx + rsi], 2
je 0x14014a229
add rbx, rsi
cmp dword [rbx + 0x114], r12d
jne 0x14014a229
mov rdi, rax
mov r15, rdx
mov rax, qword [rbx + 0xa8]
test rax, rax
je 0x1401490c6
mov rcx, qword [rbx + 0xb0]
call qword [rax + 0x18]
mov qword [rbx + 0xa8], rdi
mov qword [rbx + 0xb0], r15
mov rcx, r14
call fcn.1401f2d54
mov r15, qword [rsp + 0xd0]
jmp 0x1401491ad
movzx esi, byte [rsp + 0x51]
movzx r15d, word [rsp + 0x52]
mov r12d, dword [rsp + 0x54]
mov ebp, dword [rsp + 0x58]
movups xmm0, xmmword [rsp + 0x5c]
movaps xmmword [rsp + 0x3b0], xmm0
movups xmm0, xmmword [rsp + 0x68]
movups xmmword [rsp + 0x3bc], xmm0
jmp 0x140149217
movups xmm0, xmmword [rsp + 0x39c]
movups xmmword [rsp + 0x3fc], xmm0
movaps xmm0, xmmword [rsp + 0x390]
movaps xmmword [rsp + 0x3f0], xmm0
movaps xmm0, xmmword [rsp + 0x350]
movaps xmm1, xmmword [rsp + 0x360]
movaps xmm2, xmmword [rsp + 0x370]
movaps xmm3, xmmword [rsp + 0x380]
movaps xmmword [rsp + 0x3e0], xmm3
movaps xmmword [rsp + 0x3d0], xmm2
movaps xmmword [rsp + 0x3c0], xmm1
movaps xmmword [rsp + 0x3b0], xmm0
mov rcx, r14
call fcn.1401f2d54
mov rbp, qword [rsp + 0x1f0]
cmp rbp, 3
je 0x1401492bc
cmp rbp, 4
mov rbx, qword [rsp + 0xd8]
movzx ecx, word [rsp + 0x26]
jne 0x1401492e5
cmp dword [r15], 2
je 0x14014a229
mov rcx, r15
mov rdx, qword [rsp + 0x208]
call fcn.140191cb0
test al, al
je 0x14014a0cb
mov al, 1
jmp 0x14014a0cd
cmp qword [r13 + 0x1c8], rbp
jbe 0x14014a229
mov rax, qword [r13 + 0x1b8]
test rax, rax
je 0x14014a229
cmp dword [rax + rsi], 2
je 0x14014a229
add rax, rsi
cmp dword [rax + 0x114], r12d
jne 0x14014a229
mov sil, 1
mov ebp, 1
xor edi, edi
mov rcx, r14
call fcn.1401f2d54
mov byte [rsp + 0x50], dil
mov byte [rsp + 0x51], sil
mov word [rsp + 0x52], r15w
mov dword [rsp + 0x54], r12d
mov dword [rsp + 0x58], ebp
movaps xmm0, xmmword [rsp + 0x3b0]
movups xmmword [rsp + 0x5c], xmm0
movups xmm0, xmmword [rsp + 0x3bc]
movups xmmword [rsp + 0x68], xmm0
test dil, dil
je 0x14014928e
movzx eax, dil
cmp eax, 1
mov r15, qword [rsp + 0xd0]
jne 0x14014929f
mov rax, qword [rsp + 0x58]
movups xmm0, xmmword [rsp + 0x60]
movaps xmmword [rsp + 0x240], xmm0
mov rcx, qword [rsp + 0x70]
mov qword [rsp + 0x250], rcx
mov cl, 1
jmp 0x140149397
mov eax, ebp
xor ecx, ecx
mov r15, qword [rsp + 0xd0]
jmp 0x140149397
cmp qword [rsp + 0x58], 0
je 0x140149389
lea rdx, [rsp + 0x58]
mov ecx, esi
call fcn.14004ac20
jmp 0x140149395
mov qword [rsp + 0xd0], r15
mov rbx, qword [rsp + 0xd8]
movzx esi, byte [rsp + 0x25]
mov r12d, dword [rsp + 0x2c]
mov ebp, dword [rsp + 0x28]
movzx r15d, word [rsp + 0x26]
jmp 0x14014921f
movups xmm0, xmmword [rsp + 0x3fc]
movups xmmword [rsp + 0x140], xmm0
movups xmm0, xmmword [rsp + 0x3ec]
movups xmmword [rsp + 0x130], xmm0
movups xmm0, xmmword [rsp + 0x3dc]
movups xmmword [rsp + 0x120], xmm0
movups xmm0, xmmword [rsp + 0x3cc]
movups xmmword [rsp + 0x110], xmm0
mov byte [rsp + 0xe8], dil
movzx eax, byte [rsp + 0x25]
mov byte [rsp + 0xe9], al
mov word [rsp + 0xea], cx
mov eax, dword [rsp + 0x2c]
mov dword [rsp + 0xec], eax
mov eax, dword [rsp + 0x28]
mov dword [rsp + 0xf0], eax
movaps xmm0, xmmword [rsp + 0x3b0]
movups xmmword [rsp + 0xf4], xmm0
movups xmm0, xmmword [rsp + 0x3bc]
movups xmmword [rsp + 0x100], xmm0
lea rcx, [rsp + 0x150]
mov rdx, rbx
call fcn.14004b1d0
jmp 0x1401493db
movzx eax, sil
shl rax, 0x20
or rax, 3
mov cl, 4
mov byte [rsp + 0xe8], cl
mov byte [rsp + 0xe9], sil
mov dword [rsp + 0xec], r12d
mov qword [rsp + 0xf0], rax
movaps xmm0, xmmword [rsp + 0x240]
movups xmmword [rsp + 0xf8], xmm0
mov rax, qword [rsp + 0x250]
mov qword [rsp + 0x108], rax
mov ebp, 3
lea rax, [r15 + 0x18]
mov rcx, qword [rsp + 0x108]
mov qword [rsp + 0x230], rcx
movzx ecx, byte [rsp + 0xe8]
movzx edx, byte [rsp + 0xe9]
movzx r8d, word [rsp + 0xea]
mov r9d, dword [rsp + 0xec]
mov r10, qword [rsp + 0xf0]
movups xmm0, xmmword [rsp + 0xf8]
movaps xmmword [rsp + 0x220], xmm0
mov byte [rsp + 0x210], cl
mov byte [rsp + 0x211], dl
mov word [rsp + 0x212], r8w
mov dword [rsp + 0x214], r9d
mov qword [rsp + 0x218], r10
movups xmm0, xmmword [rsp + 0x110]
movaps xmmword [rsp + 0x470], xmm0
movups xmm0, xmmword [rsp + 0x120]
movaps xmmword [rsp + 0x480], xmm0
movups xmm0, xmmword [rsp + 0x130]
movaps xmmword [rsp + 0x490], xmm0
movups xmm0, xmmword [rsp + 0x140]
movaps xmmword [rsp + 0x4a0], xmm0
movups xmm0, xmmword [rsp + 0x150]
movaps xmmword [rsp + 0x4b0], xmm0
movups xmm0, xmmword [rax]
movups xmm1, xmmword [rax + 0x10]
movaps xmmword [rsp + 0x30], xmm0
movaps xmmword [rsp + 0x40], xmm1
mov rcx, rbx
call fcn.14004b270
lock dec qword [r13]
jne 0x1401494c7
mov rcx, qword [rbx]
call fcn.140062b90
mov byte [r15 + 0x48], 2
cmp rbp, 3
jne 0x14014956f
mov rax, qword [rsp + 0x230]
mov qword [rsp + 0x100], rax
movaps xmm0, xmmword [rsp + 0x210]
movaps xmm1, xmmword [rsp + 0x220]
movaps xmmword [rsp + 0xf0], xmm1
movaps xmmword [rsp + 0xe0], xmm0
mov rbx, qword [rsp + 0x30]
mov rcx, rbx
call fcn.140068e60
test rax, rax
je 0x1401496ab
mov rdi, rax
movzx eax, byte [rsp + 0xe0]
lea rcx, [rax - 2]
cmp rcx, 2
jb 0x140149c35
test rax, rax
je 0x140149c35
cmp eax, 1
jne 0x1401496dd
lea rcx, [rsp + 0x100]
mov rax, qword [rsp + 0xe8]
mov rdx, qword [rsp + 0xf0]
mov r8, qword [rsp + 0xf8]
call qword [rax + 0x10]
jmp 0x140149c35
mov qword [rsp + 0x50], rbp
movaps xmm0, xmmword [rsp + 0x210]
movaps xmm1, xmmword [rsp + 0x220]
movups xmmword [rsp + 0x58], xmm0
movups xmmword [rsp + 0x68], xmm1
mov rax, qword [rsp + 0x230]
mov qword [rsp + 0x78], rax
movaps xmm0, xmmword [rsp + 0x470]
movaps xmm1, xmmword [rsp + 0x480]
movaps xmm2, xmmword [rsp + 0x490]
movaps xmm3, xmmword [rsp + 0x4a0]
movups xmmword [rsp + 0x80], xmm0
movups xmmword [rsp + 0x90], xmm1
movups xmmword [rsp + 0xa0], xmm2
movups xmmword [rsp + 0xb0], xmm3
movaps xmm0, xmmword [rsp + 0x4b0]
movups xmmword [rsp + 0xc0], xmm0
mov r13, qword [rsp + 0x30]
test r13, r13
je 0x1401497ae
lea rdi, [r13 + 0x10]
mov rcx, rdi
call sub.kernel32.dll_AcquireSRWLockExclusive
movzx eax, byte [r13 + 0x18]
test al, al
jne 0x14014a229
cmp dword [r13 + 0x58], 0x3b9aca00
je 0x1401497a6
mov qword [rsp + 0xe0], 0
lea rcx, [rsp + 0xe0]
call sub.kernel32.dll_QueryPerformanceCounter
test eax, eax
je 0x14014a22d
mov rbx, qword [rsp + 0xe0]
mov rcx, qword [0x1402d9130]
test rcx, rcx
jne 0x14014968e
mov qword [rsp + 0xe0], 0
lea rcx, [rsp + 0xe0]
call sub.kernel32.dll_QueryPerformanceFrequency
test eax, eax
je 0x14014a22d
mov rcx, qword [rsp + 0xe0]
mov qword [0x1402d9130], rcx
test rcx, rcx
je 0x14014a229
mov rax, rbx
or rax, rcx
shr rax, 0x20
je 0x14014974b
mov rax, rbx
xor edx, edx
div rcx
jmp 0x140149751
lea rcx, [rsp + 0x210]
call fcn.140066ae0
mov rdi, rax
test rbx, rbx
je 0x140149c55
lock dec qword [rbx]
jne 0x140149c55
lea rcx, [rsp + 0x30]
call fcn.14014bfd0
jmp 0x140149c55
mov rax, qword [rsp + 0xe8]
mov ecx, eax
and ecx, 3
lea rdx, [rcx - 2]
cmp rdx, 2
jb 0x140149c35
test rcx, rcx
je 0x140149c35
lea rbx, [rax - 1]
mov r14, qword [rax - 1]
mov rsi, qword [rax + 7]
mov rcx, r14
call qword [rsi]
cmp qword [rsi + 8], 0
je 0x140149735
cmp qword [rsi + 0x10], 0x11
jb 0x140149724
mov r14, qword [r14 - 8]
mov rcx, qword [0x1402d9150]
xor edx, edx
mov r8, r14
call sub.kernel32.dll_HeapFree
mov rcx, qword [0x1402d9150]
xor edx, edx
mov r8, rbx
call sub.kernel32.dll_HeapFree
jmp 0x140149c35
mov eax, ebx
xor edx, edx
div ecx
imul r8, rax, 0x3b9aca00
imul rax, rdx, 0x3b9aca00
mov rdx, rax
or rdx, rcx
shr rdx, 0x20
je 0x140149775
xor edx, edx
div rcx
mov rcx, rax
jmp 0x14014977b
xor edx, edx
div ecx
mov ecx, eax
add rcx, r8
mov rax, rcx
shr rax, 9
movabs rdx, 0x44b82fa09b5a53
mul rdx
shr rdx, 0xb
imul eax, edx, 0x3b9aca00
sub ecx, eax
mov qword [r13 + 0x50], rdx
mov dword [r13 + 0x58], ecx
mov rcx, rdi
call fcn.1401f2d54
mov r12, r15
lea rcx, [rsp + 0x50]
call fcn.1400655f0
mov r15, rax
mov rdi, rdx
movups xmm0, xmmword [rsp + 0x38]
movaps xmmword [rsp + 0x350], xmm0
mov rax, qword [rsp + 0x48]
mov qword [rsp + 0x360], rax
movzx eax, word [rsp + 0xb8]
mov word [rsp + 0x368], ax
mov rbx, qword [rsp + 0x350]
cmp eax, 0xc8
jne 0x1401498f9
test rbx, rbx
je 0x1401498f9
mov r14, qword [rsp + 0x38]
mov rax, qword [rsp + 0x40]
mov qword [rsp + 0x340], rax
mov rbx, qword [rsp + 0x48]
test r15, r15
je 0x140149abb
test rdi, rdi
je 0x140149abb
lea r15, [rsp + 0x38]
mov rcx, r15
mov edx, 2
call fcn.14019a280
mov byte [rsp + 0xe0], 2
mov dword [rsp + 0xe4], 2
lea rcx, [rsp + 0xe0]
call fcn.140066ae0
mov rdi, rax
mov rcx, r15
call fcn.14004b270
lock dec qword [r14]
je 0x140149daa
lock dec qword [rbx]
je 0x140149dbc
cmp qword [rsp + 0x70], 0
mov r15, r12
je 0x14014989f
mov r8, qword [rsp + 0x68]
mov rcx, qword [0x1402d9150]
xor edx, edx
call sub.kernel32.dll_HeapFree
mov rsi, qword [rsp + 0x88]
test rsi, rsi
je 0x140149b68
mov rbx, qword [rsp + 0x78]
add rbx, 0x30
jmp 0x1401498df
mov rax, qword [rbx - 0x18]
mov rdx, qword [rbx - 0x10]
mov r8, qword [rbx - 8]
mov rcx, rbx
call qword [rax + 0x10]
add rbx, 0x68
dec rsi
je 0x140149b68
mov rax, qword [rbx + 0x10]
test rax, rax
je 0x1401498c0
lea rcx, [rbx + 0x28]
mov rdx, qword [rbx + 0x18]
mov r8, qword [rbx + 0x20]
call qword [rax + 0x10]
jmp 0x1401498c0
movups xmm0, xmmword [rsp + 0xb0]
movaps xmmword [rsp + 0x2a0], xmm0
movups xmm0, xmmword [rsp + 0xa0]
movaps xmmword [rsp + 0x290], xmm0
movups xmm0, xmmword [rsp + 0x90]
movaps xmmword [rsp + 0x280], xmm0
movups xmm0, xmmword [rsp + 0x50]
movups xmm1, xmmword [rsp + 0x60]
movups xmm2, xmmword [rsp + 0x70]
movups xmm3, xmmword [rsp + 0x80]
movaps xmmword [rsp + 0x270], xmm3
movaps xmmword [rsp + 0x260], xmm2
movaps xmmword [rsp + 0x250], xmm1
movaps xmmword [rsp + 0x240], xmm0
movups xmm0, xmmword [rsp + 0xc0]
movaps xmmword [rsp + 0xe0], xmm0
mov qword [rsp + 0x330], r13
lea rcx, [rsp + 0xe0]
call fcn.140057790
xor esi, esi
test al, al
cmove rsi, r13
test r13, r13
je 0x1401499ac
test al, al
je 0x1401499ac
lock dec qword [r13]
jne 0x1401499aa
lea rcx, [rsp + 0x330]
call fcn.14014bfd0
xor esi, esi
test r15, r15
je 0x1401499b7
cmp rdi, 0xfffffffffffffffe
jb 0x1401499cf
lea rcx, [rsp + 0xe0]
call fcn.140057790
movzx eax, al
lea rdi, [rax*2 - 2]
movaps xmm0, xmmword [rsp + 0xe0]
movaps xmmword [rsp + 0x2b0], xmm0
movaps xmm0, xmmword [rsp + 0x240]
movaps xmm1, xmmword [rsp + 0x250]
movaps xmm2, xmmword [rsp + 0x260]
movaps xmm3, xmmword [rsp + 0x270]
movaps xmmword [rsp + 0x2c0], xmm0
movaps xmmword [rsp + 0x2d0], xmm1
movaps xmmword [rsp + 0x2e0], xmm2
movaps xmmword [rsp + 0x2f0], xmm3
movaps xmm0, xmmword [rsp + 0x280]
movaps xmmword [rsp + 0x300], xmm0
movaps xmm0, xmmword [rsp + 0x290]
movaps xmmword [rsp + 0x310], xmm0
movaps xmm0, xmmword [rsp + 0x2a0]
movaps xmmword [rsp + 0x320], xmm0
mov r14d, 2
test rbx, rbx
mov r15, r12
je 0x140149aa0
lea rcx, [rsp + 0x350]
call fcn.14004b270
mov rax, qword [rsp + 0x350]
lock dec qword [rax]
jne 0x140149a85
mov rcx, qword [rsp + 0x350]
call fcn.140062b90
mov rax, qword [rsp + 0x360]
lock dec qword [rax]
jne 0x140149aa0
mov rcx, qword [rsp + 0x360]
call case.0x14013fc1f.13
xor eax, eax
mov rcx, qword [r15]
mov qword [r15], 2
cmp rcx, 2
jne 0x140149ffe
jmp 0x14014a229
movups xmm0, xmmword [rsp + 0xb0]
movaps xmmword [rsp + 0x140], xmm0
movups xmm0, xmmword [rsp + 0xa0]
movaps xmmword [rsp + 0x130], xmm0
movups xmm0, xmmword [rsp + 0x90]
movaps xmmword [rsp + 0x120], xmm0
movups xmm0, xmmword [rsp + 0x50]
movups xmm1, xmmword [rsp + 0x60]
movups xmm2, xmmword [rsp + 0x70]
movups xmm3, xmmword [rsp + 0x80]
movaps xmmword [rsp + 0x110], xmm3
movaps xmmword [rsp + 0x100], xmm2
movaps xmmword [rsp + 0xf0], xmm1
movaps xmmword [rsp + 0xe0], xmm0
movups xmm0, xmmword [rsp + 0xc0]
movaps xmmword [rsp + 0x3b0], xmm0
xorps xmm0, xmm0
movaps xmmword [rsp + 0x150], xmm0
mov qword [rsp + 0x178], 0
movzx eax, byte [0x1402d9160]
mov rcx, qword [0x1402d9150]
test rcx, rcx
je 0x140149dd8
mov r15, r12
jmp 0x140149df3
cmp qword [rsp + 0x80], 0
je 0x140149b86
mov r8, qword [rsp + 0x78]
mov rcx, qword [0x1402d9150]
xor edx, edx
call sub.kernel32.dll_HeapFree
mov rsi, qword [rsp + 0xa0]
test rsi, rsi
je 0x140149bbb
mov rbx, qword [rsp + 0x90]
add rbx, 0x38
nop
mov rax, qword [rbx - 0x18]
mov rdx, qword [rbx - 0x10]
mov r8, qword [rbx - 8]
mov rcx, rbx
call qword [rax + 0x10]
add rbx, 0x48
dec rsi
jne 0x140149ba0
cmp qword [rsp + 0x98], 0
je 0x140149bdc
mov r8, qword [rsp + 0x90]
mov rcx, qword [0x1402d9150]
xor edx, edx
call sub.kernel32.dll_HeapFree
mov rbx, qword [rsp + 0xb0]
test rbx, rbx
je 0x140149c02
mov rcx, rbx
call fcn.140053e30
mov rcx, qword [0x1402d9150]
xor edx, edx
mov r8, rbx
call sub.kernel32.dll_HeapFree
lea rbx, [rsp + 0xc0]
mov rcx, rbx
call fcn.140057830
mov rcx, rbx
call fcn.14004b270
mov rax, qword [rsp + 0xc0]
lock dec qword [rax]
jne 0x140149c35
mov rcx, qword [rsp + 0xc0]
call fcn.140062b90
mov rax, qword [rsp + 0x30]
test rax, rax
je 0x140149c4f
lock dec qword [rax]
jne 0x140149c4f
lea rcx, [rsp + 0x30]
call fcn.14014bfd0
cmp rbp, 3
jne 0x140149c8e
mov rsi, qword [rsp + 0x38]
test rsi, rsi
je 0x140149c8e
lea rcx, [rsp + 0x38]
call fcn.14004b270
lock dec qword [rsi]
jne 0x140149c79
mov rcx, qword [rsp + 0x38]
call fcn.140062b90
mov rax, qword [rsp + 0x48]
lock dec qword [rax]
jne 0x140149c8e
mov rcx, qword [rsp + 0x48]
call case.0x14013fc1f.13
mov rax, qword [r15]
mov qword [r15], 2
cmp rax, 2
je 0x14014a229
mov qword [rsp + 0x50], rax
movups xmm0, xmmword [r15 + 8]
movups xmmword [rsp + 0x58], xmm0
mov qword [rsp + 0xe0], rdi
mov qword [rsp + 0xe8], 3
movaps xmm0, xmmword [rsp + 0x2c0]
movaps xmm1, xmmword [rsp + 0x2d0]
movaps xmm2, xmmword [rsp + 0x2e0]
movaps xmm3, xmmword [rsp + 0x2f0]
movups xmmword [rsp + 0xf0], xmm0
movups xmmword [rsp + 0x100], xmm1
movups xmmword [rsp + 0x110], xmm2
movups xmmword [rsp + 0x120], xmm3
movaps xmm0, xmmword [rsp + 0x300]
movups xmmword [rsp + 0x130], xmm0
movaps xmm0, xmmword [rsp + 0x310]
movups xmmword [rsp + 0x140], xmm0
movaps xmm0, xmmword [rsp + 0x320]
movups xmmword [rsp + 0x150], xmm0
movaps xmm0, xmmword [rsp + 0x2b0]
movups xmmword [rsp + 0x178], xmm0
mov rax, qword [rsp + 0x530]
mov qword [rsp + 0x1e0], rax
movups xmm0, xmmword [rsp + 0x520]
movups xmmword [rsp + 0x1d0], xmm0
movups xmm0, xmmword [rsp + 0x4e0]
movups xmm1, xmmword [rsp + 0x4f0]
movups xmm2, xmmword [rsp + 0x500]
movups xmm3, xmmword [rsp + 0x510]
movups xmmword [rsp + 0x1c0], xmm3
movups xmmword [rsp + 0x1b0], xmm2
movups xmmword [rsp + 0x1a0], xmm1
movups xmmword [rsp + 0x190], xmm0
jmp 0x14014a0b9
mov rcx, r14
call fcn.140062b90
lock dec qword [rbx]
jne 0x140149881
mov rcx, rbx
call case.0x14013fc1f.13
cmp qword [rsp + 0x70], 0
mov r15, r12
jne 0x14014988c
jmp 0x14014989f
call sub.kernel32.dll_GetProcessHeap
test rax, rax
je 0x14014a229
mov rcx, rax
mov r15, r12
mov qword [0x1402d9150], rax
mov r8d, 0x70
xor edx, edx
call sub.kernel32.dll_HeapAlloc
test rax, rax
je 0x14014a229
mov rdi, rax
mov qword [rax], 1
mov qword [rax + 8], 1
xorps xmm0, xmm0
movups xmmword [rax + 0x30], xmm0
lock inc qword [rax]
jle 0x14014a229
mov rax, qword [rsp + 0x340]
mov qword [rsp + 0x348], rax
movaps xmm1, xmmword [rsp + 0x3b0]
movaps xmmword [rsp + 0x4d0], xmm1
movaps xmmword [rsp + 0x4c0], xmm0
movaps xmmword [rsp + 0x330], xmm0
movzx eax, byte [0x1402d9160]
mov rcx, qword [0x1402d9150]
test rcx, rcx
jne 0x140149e87
call sub.kernel32.dll_GetProcessHeap
test rax, rax
je 0x14014a229
mov rcx, rax
mov qword [0x1402d9150], rax
mov r8d, 0x50
xor edx, edx
call sub.kernel32.dll_HeapAlloc
test rax, rax
je 0x14014a229
mov qword [rax], r14
mov rcx, qword [rsp + 0x348]
mov qword [rax + 8], rcx
mov qword [rax + 0x10], rbx
movaps xmm0, xmmword [rsp + 0x4d0]
movups xmmword [rax + 0x18], xmm0
lea rcx, [0x14029fee8]
mov qword [rax + 0x28], rcx
lea rdx, str.combase.dll
mov qword [rax + 0x30], rdx
movaps xmm0, xmmword [rsp + 0x4c0]
movups xmmword [rax + 0x38], xmm0
mov qword [rax + 0x48], r13
mov qword [rsp + 0x420], rcx
mov qword [rsp + 0x428], rdx
movaps xmm0, xmmword [rsp + 0x330]
movups xmmword [rsp + 0x430], xmm0
mov qword [rsp + 0x410], rax
lea rax, [0x1402a1018]
mov qword [rsp + 0x418], rax
lea rdx, [rsp + 0x410]
mov rcx, rdi
call fcn.140065200
lea rcx, [rsp + 0x140]
mov edx, 1
mov r8, rdi
call fcn.1401a28a0
test rax, 0xfffffffffffffffd
jne 0x14014a0e1
movaps xmm0, xmmword [rsp + 0x140]
movaps xmmword [rsp + 0x320], xmm0
movaps xmm0, xmmword [rsp + 0x130]
movaps xmmword [rsp + 0x310], xmm0
movaps xmm0, xmmword [rsp + 0x120]
movaps xmmword [rsp + 0x300], xmm0
movaps xmm0, xmmword [rsp + 0xe0]
movaps xmm1, xmmword [rsp + 0xf0]
movaps xmm2, xmmword [rsp + 0x100]
movaps xmm3, xmmword [rsp + 0x110]
movaps xmmword [rsp + 0x2f0], xmm3
movaps xmmword [rsp + 0x2e0], xmm2
movaps xmmword [rsp + 0x2d0], xmm1
movaps xmmword [rsp + 0x2c0], xmm0
mov r14, qword [rsp + 0x150]
mov rsi, qword [rsp + 0x158]
mov rdi, qword [rsp + 0x160]
movups xmm0, xmmword [rsp + 0x168]
movaps xmmword [rsp + 0x2b0], xmm0
mov rax, qword [rsp + 0x178]
mov rcx, qword [r15]
mov qword [r15], 2
cmp rcx, 2
je 0x14014a229
mov qword [rsp + 0x50], rcx
movups xmm0, xmmword [r15 + 8]
movups xmmword [rsp + 0x58], xmm0
movaps xmm0, xmmword [rsp + 0x320]
movups xmmword [rsp + 0x150], xmm0
movaps xmm0, xmmword [rsp + 0x310]
movups xmmword [rsp + 0x140], xmm0
movaps xmm0, xmmword [rsp + 0x300]
movups xmmword [rsp + 0x130], xmm0
movaps xmm0, xmmword [rsp + 0x2c0]
movaps xmm1, xmmword [rsp + 0x2d0]
movaps xmm2, xmmword [rsp + 0x2e0]
movaps xmm3, xmmword [rsp + 0x2f0]
movups xmmword [rsp + 0x120], xmm3
movups xmmword [rsp + 0x110], xmm2
movups xmmword [rsp + 0x100], xmm1
movups xmmword [rsp + 0xf0], xmm0
mov qword [rsp + 0x160], r14
mov qword [rsp + 0x168], rsi
mov qword [rsp + 0x170], rdi
movaps xmm0, xmmword [rsp + 0x2b0]
movups xmmword [rsp + 0x178], xmm0
mov qword [rsp + 0x188], rax
mov qword [rsp + 0xe8], 4
lea rcx, [rsp + 0x50]
lea rdx, [rsp + 0xe0]
call fcn.140191f70
xor eax, eax
add rsp, 0x538
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
mov rdi, rdx
test rdx, rdx
je 0x140149f4a
mov rax, qword [rdi + 0x30]
nop word cs:[rax + rax]
mov rcx, rax
or rcx, 4
lock cmpxchg qword [rdi + 0x30], rcx
jne 0x14014a100
and eax, 0xa
cmp eax, 8
jne 0x14014a122
mov rax, qword [rdi + 0x10]
mov rcx, qword [rdi + 0x18]
call qword [rax + 0x10]
lock dec qword [rdi]
jne 0x140149f4a
mov rcx, rdi
call fcn.14014d940
jmp 0x140149f4a
lea rsi, [r15 + 0x88]
mov rcx, r15
call fcn.140054b30
mov qword [r15], 2
mov rax, qword [rsp + 0x1f8]
mov qword [r15 + 8], rax
mov qword [r15 + 0x10], rbx
mov rax, qword [rsp + 0x1f0]
mov qword [r15 + 0x18], rax
mov byte [r15 + 0x20], dil
movzx eax, byte [rsp + 0x25]
mov byte [r15 + 0x21], al
movzx eax, word [rsp + 0x26]
mov word [r15 + 0x22], ax
mov eax, dword [rsp + 0x2c]
mov dword [r15 + 0x24], eax
mov eax, dword [rsp + 0x28]
mov dword [r15 + 0x28], eax
movups xmm0, xmmword [rsp + 0x28c]
movups xmmword [r14 + 0x4c], xmm0
movaps xmm0, xmmword [rsp + 0x280]
movups xmmword [r14 + 0x40], xmm0
movaps xmm0, xmmword [rsp + 0x240]
movaps xmm1, xmmword [rsp + 0x250]
movaps xmm2, xmmword [rsp + 0x260]
movaps xmm3, xmmword [rsp + 0x270]
movups xmmword [r14 + 0x30], xmm3
movups xmmword [r14 + 0x20], xmm2
movups xmmword [r14 + 0x10], xmm1
movups xmmword [r14], xmm0
mov rax, qword [rsp + 0xb0]
mov qword [rsi + 0x60], rax
movaps xmm0, xmmword [rsp + 0xa0]
movups xmmword [rsi + 0x50], xmm0
movaps xmm0, xmmword [rsp + 0x90]
movups xmmword [rsi + 0x40], xmm0
movaps xmm0, xmmword [rsp + 0x50]
movaps xmm1, xmmword [rsp + 0x60]
movaps xmm2, xmmword [rsp + 0x70]
movaps xmm3, xmmword [rsp + 0x80]
movups xmmword [rsi + 0x30], xmm3
movups xmmword [rsi + 0x20], xmm2
movups xmmword [rsi + 0x10], xmm1
movups xmmword [rsi], xmm0
ud2
call sub.kernel32.dll_GetLastError
ud2