Function at 0x140069ff0
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 + 0x248], rdx
cmp byte [rcx + 0x48], 2
je 0x14006b549
mov r15, rcx
lea rdi, [rcx + 0x38]
mov r13, qword [rdi]
lea rbx, [r13 + 0x10]
mov rcx, rbx
call sub.kernel32.dll_AcquireSRWLockExclusive
movzx eax, byte [r13 + 0x18]
test al, al
jne 0x14006b549
mov ebp, dword [r15 + 0x40]
mov rcx, qword [r13 + 0x180]
cmp rcx, rbp
jbe 0x14006b549
mov rdx, qword [r13 + 0x178]
test rdx, rdx
je 0x14006b549
imul rsi, rbp, 0x130
cmp dword [rdx + rsi], 2
je 0x14006b549
mov r12d, dword [r15 + 0x44]
lea rax, [rdx + rsi]
cmp dword [rax + 0x114], r12d
jne 0x14006b549
cmp qword [rax + 0x18], 0
je 0x14006a326
mov qword [rsp + 0x238], rbx
mov qword [rsp + 0x240], rdi
mov rcx, qword [rax + 0x20]
cmp qword [r13 + 0x30], rcx
jbe 0x14006b549
mov r11, r15
mov r8, qword [rax + 0x28]
imul r15, rcx, 0xf0
add r15, qword [r13 + 0x28]
mov r9, qword [r13 + 0x40]
mov rdx, qword [r15]
mov r10, qword [r15 + 8]
mov qword [rsp + 0x228], r10
mov r10, qword [r15 + 0x10]
mov qword [rsp + 0x230], r10
mov r10, qword [r15 + 0x18]
mov qword [rsp + 0x220], r10
movzx r14d, byte [r15 + 0x20]
movzx r10d, byte [r15 + 0x21]
mov byte [rsp + 0x2d], r10b
movzx r10d, word [r15 + 0x22]
mov word [rsp + 0x2e], r10w
mov r10d, dword [r15 + 0x24]
mov dword [rsp + 0x3c], r10d
mov r10d, dword [r15 + 0x28]
mov dword [rsp + 0x30], r10d
mov r10d, dword [r15 + 0x2c]
mov qword [rsp + 0xe8], r10
mov r10, qword [r15 + 0x40]
mov qword [rsp + 0x290], r10
movups xmm0, xmmword [r15 + 0x30]
movaps xmmword [rsp + 0x280], xmm0
movups xmm0, xmmword [r15 + 0x48]
movups xmm1, xmmword [r15 + 0x58]
movups xmm2, xmmword [r15 + 0x68]
movups xmm3, xmmword [r15 + 0x78]
movaps xmmword [rsp + 0x410], xmm3
movaps xmmword [rsp + 0x400], xmm2
movaps xmmword [rsp + 0x3f0], xmm1
movaps xmmword [rsp + 0x3e0], xmm0
mov r10, qword [r15 + 0xe8]
mov qword [rsp + 0xc0], r10
lea rdi, [r15 + 0x30]
movups xmm0, xmmword [r15 + 0xd8]
movaps xmmword [rsp + 0xb0], xmm0
movups xmm0, xmmword [r15 + 0xc8]
movaps xmmword [rsp + 0xa0], xmm0
movups xmm0, xmmword [r15 + 0x88]
movups xmm1, xmmword [r15 + 0x98]
movups xmm2, xmmword [r15 + 0xa8]
movups xmm3, xmmword [r15 + 0xb8]
movaps xmmword [rsp + 0x90], xmm3
movaps xmmword [rsp + 0x80], xmm2
movaps xmmword [rsp + 0x70], xmm1
movaps xmmword [rsp + 0x60], xmm0
mov qword [r15], 2
mov qword [r15 + 8], r9
lea rbx, [r15 + 0x48]
cmp rdx, 2
je 0x14006b449
mov r9, qword [rdi + 0x10]
mov qword [rsp + 0x390], r9
movups xmm0, xmmword [rdi]
movaps xmmword [rsp + 0x380], xmm0
movups xmm0, xmmword [rbx]
movups xmm1, xmmword [rbx + 0x10]
movups xmm2, xmmword [rbx + 0x20]
movups xmm3, xmmword [rbx + 0x30]
movaps xmmword [rsp + 0x3d0], xmm3
movaps xmmword [rsp + 0x3c0], xmm2
movaps xmmword [rsp + 0x3b0], xmm1
movaps xmmword [rsp + 0x3a0], xmm0
dec qword [r13 + 0x38]
mov qword [r13 + 0x40], rcx
cmp rcx, r8
jne 0x14006a26c
test rdx, rdx
mov rdi, qword [rsp + 0x240]
mov rbx, qword [rsp + 0x238]
jne 0x14006b549
mov r15, r11
mov qword [rax + 0x18], 0
jmp 0x14006a29c
test rdx, rdx
mov rdi, qword [rsp + 0x240]
mov rbx, qword [rsp + 0x238]
je 0x14006b549
mov r15, r11
mov qword [rax + 0x18], 1
mov rcx, qword [rsp + 0x228]
mov qword [rax + 0x20], rcx
mov rax, qword [rsp + 0x390]
mov qword [rsp + 0x370], rax
movaps xmm0, xmmword [rsp + 0x380]
movaps xmmword [rsp + 0x360], xmm0
movaps xmm0, xmmword [rsp + 0x3a0]
movaps xmm1, xmmword [rsp + 0x3b0]
movaps xmm2, xmmword [rsp + 0x3c0]
movaps xmm3, xmmword [rsp + 0x3d0]
movaps xmmword [rsp + 0x2a0], xmm0
movaps xmmword [rsp + 0x2b0], xmm1
movaps xmmword [rsp + 0x2c0], xmm2
movaps xmmword [rsp + 0x2d0], xmm3
mov rax, qword [rsp + 0x230]
cmp rax, 3
je 0x14006a442
cmp rax, 6
jne 0x14006b549
mov rdx, qword [r13 + 0x178]
mov rcx, qword [r13 + 0x180]
cmp rcx, rbp
jbe 0x14006b549
test rdx, rdx
je 0x14006b549
cmp dword [rdx + rsi], 2
je 0x14006b549
add rdx, rsi
cmp dword [rdx + 0x114], r12d
jne 0x14006b549
add rdx, 0x50
lea rcx, [rsp + 0x60]
call fcn.140024900
movzx r14d, byte [rsp + 0x60]
cmp r14b, 3
jne 0x14006a40a
cmp byte [rsp + 0x61], 0
je 0x14006a4ef
mov r14, rbx
mov qword [rsp + 0x30], r15
mov rax, qword [rsp + 0x248]
mov rax, qword [rax]
mov rdx, qword [rax]
mov rcx, qword [rax + 8]
call qword [rdx]
cmp qword [r13 + 0x180], rbp
jbe 0x14006b549
mov rbx, qword [r13 + 0x178]
test rbx, rbx
je 0x14006b549
cmp dword [rbx + rsi], 2
je 0x14006b549
add rbx, rsi
cmp dword [rbx + 0x114], r12d
jne 0x14006b549
mov rdi, rax
mov r15, rdx
mov rax, qword [rbx + 0xa8]
test rax, rax
je 0x14006a3ea
mov rcx, qword [rbx + 0xb0]
call qword [rax + 0x18]
mov qword [rbx + 0xa8], rdi
mov qword [rbx + 0xb0], r15
mov rcx, r14
call fcn.1401168fc
mov r15, qword [rsp + 0x30]
jmp 0x14006a4c6
movzx esi, byte [rsp + 0x61]
mov r12d, dword [rsp + 0x64]
mov eax, dword [rsp + 0x68]
mov dword [rsp + 0x30], eax
mov ebp, dword [rsp + 0x6c]
movups xmm0, xmmword [rsp + 0x70]
movaps xmmword [rsp + 0xf0], xmm0
mov rax, qword [rsp + 0x80]
mov qword [rsp + 0x100], rax
jmp 0x14006a534
mov rax, qword [rsp + 0x370]
mov qword [rsp + 0x100], rax
movaps xmm0, xmmword [rsp + 0x360]
movaps xmmword [rsp + 0xf0], xmm0
movaps xmm0, xmmword [rsp + 0x2a0]
movaps xmm1, xmmword [rsp + 0x2b0]
movaps xmm2, xmmword [rsp + 0x2c0]
movaps xmm3, xmmword [rsp + 0x2d0]
movaps xmmword [rsp + 0x450], xmm0
movaps xmmword [rsp + 0x460], xmm1
movaps xmmword [rsp + 0x470], xmm2
movaps xmmword [rsp + 0x480], xmm3
mov rcx, rbx
call fcn.1401168fc
mov rbp, qword [rsp + 0x220]
cmp rbp, 3
je 0x14006a59a
cmp rbp, 4
jne 0x14006a5bc
cmp dword [r15], 2
je 0x14006b549
mov rcx, r15
mov rdx, qword [rsp + 0x248]
call fcn.140087a40
test al, al
je 0x14006b3de
mov al, 1
jmp 0x14006b3e0
cmp qword [r13 + 0x180], rbp
jbe 0x14006b549
mov rax, qword [r13 + 0x178]
test rax, rax
je 0x14006b549
cmp dword [rax + rsi], 2
je 0x14006b549
add rax, rsi
cmp dword [rax + 0x114], r12d
jne 0x14006b549
mov sil, 1
mov dword [rsp + 0x30], 1
xor r14d, r14d
mov rcx, rbx
call fcn.1401168fc
test r14b, r14b
je 0x14006a5b1
movzx ecx, r14b
mov eax, dword [rsp + 0x30]
shl rbp, 0x20
or rax, rbp
cmp ecx, 1
jne 0x14006a576
mov rcx, qword [rsp + 0x100]
mov qword [rsp + 0x70], rcx
movaps xmm0, xmmword [rsp + 0xf0]
movaps xmmword [rsp + 0x60], xmm0
mov cl, 1
jmp 0x14006a694
movabs rcx, 0x8000000000000000
cmp rax, rcx
jne 0x14006a674
movzx eax, sil
shl rax, 0x20
or rax, 3
jmp 0x14006a692
movzx esi, byte [rsp + 0x2d]
mov r12d, dword [rsp + 0x3c]
mov rbp, qword [rsp + 0xe8]
test r14b, r14b
jne 0x14006a541
mov eax, dword [rsp + 0x30]
xor ecx, ecx
jmp 0x14006a694
movaps xmm0, xmmword [rsp + 0x450]
movaps xmm1, xmmword [rsp + 0x460]
movaps xmm2, xmmword [rsp + 0x470]
movaps xmm3, xmmword [rsp + 0x480]
movups xmmword [rsp + 0x170], xmm3
movups xmmword [rsp + 0x160], xmm2
movups xmmword [rsp + 0x150], xmm1
movups xmmword [rsp + 0x140], xmm0
mov byte [rsp + 0x118], r14b
movzx eax, byte [rsp + 0x2d]
mov byte [rsp + 0x119], al
movzx eax, word [rsp + 0x2e]
mov word [rsp + 0x11a], ax
mov eax, dword [rsp + 0x3c]
mov dword [rsp + 0x11c], eax
mov eax, dword [rsp + 0x30]
mov dword [rsp + 0x120], eax
mov rax, qword [rsp + 0xe8]
mov dword [rsp + 0x124], eax
movaps xmm0, xmmword [rsp + 0xf0]
movups xmmword [rsp + 0x128], xmm0
mov rax, qword [rsp + 0x100]
mov qword [rsp + 0x138], rax
lea rcx, [rsp + 0x180]
mov rdx, rdi
call fcn.140026430
jmp 0x14006a6d2
mov qword [rsp + 0x60], rax
movaps xmm0, xmmword [rsp + 0xf0]
movups xmmword [rsp + 0x68], xmm0
lea rdx, [rsp + 0x60]
mov ecx, esi
call fcn.14002af50
mov cl, 4
mov byte [rsp + 0x118], cl
mov byte [rsp + 0x119], sil
mov dword [rsp + 0x11c], r12d
mov qword [rsp + 0x120], rax
movaps xmm0, xmmword [rsp + 0x60]
movups xmmword [rsp + 0x128], xmm0
mov rax, qword [rsp + 0x70]
mov qword [rsp + 0x138], rax
mov ebp, 3
lea rax, [r15 + 0x18]
mov rcx, qword [rsp + 0x138]
mov qword [rsp + 0x270], rcx
movzx ecx, byte [rsp + 0x118]
movzx edx, byte [rsp + 0x119]
movzx r8d, word [rsp + 0x11a]
mov r9d, dword [rsp + 0x11c]
mov r10, qword [rsp + 0x120]
movups xmm0, xmmword [rsp + 0x128]
movaps xmmword [rsp + 0x260], xmm0
mov byte [rsp + 0x250], cl
mov byte [rsp + 0x251], dl
mov word [rsp + 0x252], r8w
mov dword [rsp + 0x254], r9d
mov qword [rsp + 0x258], r10
movups xmm0, xmmword [rsp + 0x140]
movaps xmmword [rsp + 0x490], xmm0
movups xmm0, xmmword [rsp + 0x150]
movaps xmmword [rsp + 0x4a0], xmm0
movups xmm0, xmmword [rsp + 0x160]
movaps xmmword [rsp + 0x4b0], xmm0
movups xmm0, xmmword [rsp + 0x170]
movaps xmmword [rsp + 0x4c0], xmm0
movups xmm0, xmmword [rsp + 0x180]
movaps xmmword [rsp + 0x4d0], xmm0
movups xmm0, xmmword [rax]
movups xmm1, xmmword [rax + 0x10]
movaps xmmword [rsp + 0x40], xmm0
movaps xmmword [rsp + 0x50], xmm1
mov rcx, rdi
call fcn.1400264d0
lock dec qword [r13]
jne 0x14006a7be
mov rcx, qword [rdi]
call fcn.1400a24e0
mov byte [r15 + 0x48], 2
cmp rbp, 3
jne 0x14006a866
mov rax, qword [rsp + 0x270]
mov qword [rsp + 0x130], rax
movaps xmm0, xmmword [rsp + 0x250]
movaps xmm1, xmmword [rsp + 0x260]
movaps xmmword [rsp + 0x120], xmm1
movaps xmmword [rsp + 0x110], xmm0
mov rbx, qword [rsp + 0x40]
mov rcx, rbx
call fcn.14003ad40
test rax, rax
je 0x14006a9a5
mov rdi, rax
movzx eax, byte [rsp + 0x110]
lea rcx, [rax - 2]
cmp rcx, 2
jb 0x14006af45
test rax, rax
je 0x14006af45
cmp eax, 1
jne 0x14006a9d7
lea rcx, [rsp + 0x130]
mov rax, qword [rsp + 0x118]
mov rdx, qword [rsp + 0x120]
mov r8, qword [rsp + 0x128]
call qword [rax + 0x10]
jmp 0x14006af45
mov qword [rsp + 0x60], rbp
movaps xmm0, xmmword [rsp + 0x250]
movaps xmm1, xmmword [rsp + 0x260]
movups xmmword [rsp + 0x68], xmm0
movups xmmword [rsp + 0x78], xmm1
mov rax, qword [rsp + 0x270]
mov qword [rsp + 0x88], rax
movaps xmm0, xmmword [rsp + 0x490]
movaps xmm1, xmmword [rsp + 0x4a0]
movaps xmm2, xmmword [rsp + 0x4b0]
movaps xmm3, xmmword [rsp + 0x4c0]
movups xmmword [rsp + 0x90], xmm0
movups xmmword [rsp + 0xa0], xmm1
movups xmmword [rsp + 0xb0], xmm2
movups xmmword [rsp + 0xc0], xmm3
movaps xmm0, xmmword [rsp + 0x4d0]
movups xmmword [rsp + 0xd0], xmm0
mov r13, qword [rsp + 0x40]
test r13, r13
je 0x14006aaa8
lea rdi, [r13 + 0x10]
mov rcx, rdi
call sub.kernel32.dll_AcquireSRWLockExclusive
movzx eax, byte [r13 + 0x18]
test al, al
jne 0x14006b549
cmp dword [r13 + 0x58], 0x3b9aca00
je 0x14006aaa0
mov qword [rsp + 0x110], 0
lea rcx, [rsp + 0x110]
call sub.kernel32.dll_QueryPerformanceCounter
test eax, eax
je 0x14006b54b
mov rbx, qword [rsp + 0x110]
mov rcx, qword [0x140206100]
test rcx, rcx
jne 0x14006a988
mov qword [rsp + 0x110], 0
lea rcx, [rsp + 0x110]
call sub.kernel32.dll_QueryPerformanceFrequency
test eax, eax
je 0x14006b54b
mov rcx, qword [rsp + 0x110]
mov qword [0x140206100], rcx
test rcx, rcx
je 0x14006b549
mov rax, rbx
or rax, rcx
shr rax, 0x20
je 0x14006aa45
mov rax, rbx
xor edx, edx
div rcx
jmp 0x14006aa4b
lea rcx, [rsp + 0x250]
call fcn.14003e950
mov rdi, rax
test rbx, rbx
je 0x14006af65
lock dec qword [rbx]
jne 0x14006af65
lea rcx, [rsp + 0x40]
call fcn.1400a1d30
jmp 0x14006af65
mov rax, qword [rsp + 0x118]
mov ecx, eax
and ecx, 3
lea rdx, [rcx - 2]
cmp rdx, 2
jb 0x14006af45
test rcx, rcx
je 0x14006af45
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 0x14006aa2f
cmp qword [rsi + 0x10], 0x11
jb 0x14006aa1e
mov r14, qword [r14 - 8]
mov rcx, qword [0x140206128]
xor edx, edx
mov r8, r14
call sub.kernel32.dll_HeapFree
mov rcx, qword [0x140206128]
xor edx, edx
mov r8, rbx
call sub.kernel32.dll_HeapFree
jmp 0x14006af45
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 0x14006aa6f
xor edx, edx
div rcx
mov rcx, rax
jmp 0x14006aa75
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.1401168fc
mov r12, r15
lea rcx, [rsp + 0x60]
call fcn.14003a260
mov r15, rax
mov rdi, rdx
movups xmm0, xmmword [rsp + 0x48]
movaps xmmword [rsp + 0x2a0], xmm0
mov rax, qword [rsp + 0x58]
mov qword [rsp + 0x2b0], rax
movzx eax, word [rsp + 0xc8]
mov word [rsp + 0x2b8], ax
mov rbx, qword [rsp + 0x2a0]
cmp eax, 0xc8
jne 0x14006abf9
test rbx, rbx
je 0x14006abf9
mov r14, qword [rsp + 0x48]
mov rax, qword [rsp + 0x50]
mov qword [rsp + 0x398], rax
mov rbx, qword [rsp + 0x58]
test r15, r15
je 0x14006adbe
test rdi, rdi
je 0x14006adbe
lea r15, [rsp + 0x48]
mov rcx, r15
mov edx, 2
call fcn.1400a5ab0
mov byte [rsp + 0x110], 2
mov dword [rsp + 0x114], 2
lea rcx, [rsp + 0x110]
call fcn.14003e950
mov rdi, rax
mov rcx, r15
call fcn.1400264d0
lock dec qword [r14]
je 0x14006b0ba
lock dec qword [rbx]
je 0x14006b0cc
cmp qword [rsp + 0xb0], 0
mov r15, r12
je 0x14006ab9f
mov r8, qword [rsp + 0xa8]
mov rcx, qword [0x140206128]
xor edx, edx
call sub.kernel32.dll_HeapFree
mov rsi, qword [rsp + 0x88]
test rsi, rsi
je 0x14006ae6e
mov rbx, qword [rsp + 0x80]
add rbx, 0x30
jmp 0x14006abdf
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 0x14006ae6e
mov rax, qword [rbx + 0x10]
test rax, rax
je 0x14006abc0
lea rcx, [rbx + 0x28]
mov rdx, qword [rbx + 0x18]
mov r8, qword [rbx + 0x20]
call qword [rax + 0x10]
jmp 0x14006abc0
movups xmm0, xmmword [rsp + 0xc0]
movaps xmmword [rsp + 0x440], xmm0
movups xmm0, xmmword [rsp + 0xb0]
movaps xmmword [rsp + 0x430], xmm0
movups xmm0, xmmword [rsp + 0xa0]
movaps xmmword [rsp + 0x420], xmm0
movups xmm0, xmmword [rsp + 0x60]
movups xmm1, xmmword [rsp + 0x70]
movups xmm2, xmmword [rsp + 0x80]
movups xmm3, xmmword [rsp + 0x90]
movaps xmmword [rsp + 0x410], xmm3
movaps xmmword [rsp + 0x400], xmm2
movaps xmmword [rsp + 0x3f0], xmm1
movaps xmmword [rsp + 0x3e0], xmm0
movups xmm0, xmmword [rsp + 0xd0]
movaps xmmword [rsp + 0x110], xmm0
mov qword [rsp + 0x280], r13
lea rcx, [rsp + 0x110]
call fcn.14002d9c0
xor esi, esi
test al, al
cmove rsi, r13
test r13, r13
je 0x14006acaf
test al, al
je 0x14006acaf
lock dec qword [r13]
jne 0x14006acad
lea rcx, [rsp + 0x280]
call fcn.1400a1d30
xor esi, esi
test r15, r15
je 0x14006acba
cmp rdi, 0xfffffffffffffffe
jb 0x14006acd2
lea rcx, [rsp + 0x110]
call fcn.14002d9c0
movzx eax, al
lea rdi, [rax*2 - 2]
movaps xmm0, xmmword [rsp + 0x110]
movaps xmmword [rsp + 0x2e0], xmm0
movaps xmm0, xmmword [rsp + 0x3e0]
movaps xmm1, xmmword [rsp + 0x3f0]
movaps xmm2, xmmword [rsp + 0x400]
movaps xmm3, xmmword [rsp + 0x410]
movaps xmmword [rsp + 0x2f0], xmm0
movaps xmmword [rsp + 0x300], xmm1
movaps xmmword [rsp + 0x310], xmm2
movaps xmmword [rsp + 0x320], xmm3
movaps xmm0, xmmword [rsp + 0x420]
movaps xmmword [rsp + 0x330], xmm0
movaps xmm0, xmmword [rsp + 0x430]
movaps xmmword [rsp + 0x340], xmm0
movaps xmm0, xmmword [rsp + 0x440]
movaps xmmword [rsp + 0x350], xmm0
mov r14d, 2
test rbx, rbx
mov r15, r12
je 0x14006ada3
lea rcx, [rsp + 0x2a0]
call fcn.1400264d0
mov rax, qword [rsp + 0x2a0]
lock dec qword [rax]
jne 0x14006ad88
mov rcx, qword [rsp + 0x2a0]
call fcn.1400a24e0
mov rax, qword [rsp + 0x2b0]
lock dec qword [rax]
jne 0x14006ada3
mov rcx, qword [rsp + 0x2b0]
call case.0x14009eb80.13
xor eax, eax
mov rcx, qword [r15]
mov qword [r15], 2
cmp rcx, 2
jne 0x14006b311
jmp 0x14006b549
movups xmm0, xmmword [rsp + 0xc0]
movaps xmmword [rsp + 0x170], xmm0
movups xmm0, xmmword [rsp + 0xb0]
movaps xmmword [rsp + 0x160], xmm0
movups xmm0, xmmword [rsp + 0xa0]
movaps xmmword [rsp + 0x150], xmm0
movups xmm0, xmmword [rsp + 0x60]
movups xmm1, xmmword [rsp + 0x70]
movups xmm2, xmmword [rsp + 0x80]
movups xmm3, xmmword [rsp + 0x90]
movaps xmmword [rsp + 0x140], xmm3
movaps xmmword [rsp + 0x130], xmm2
movaps xmmword [rsp + 0x120], xmm1
movaps xmmword [rsp + 0x110], xmm0
movups xmm0, xmmword [rsp + 0xd0]
movaps xmmword [rsp + 0x450], xmm0
xorps xmm0, xmm0
movaps xmmword [rsp + 0x180], xmm0
mov qword [rsp + 0x1a8], 0
movzx eax, byte [0x140206138]
mov rcx, qword [0x140206128]
test rcx, rcx
je 0x14006b0eb
mov r15, r12
jmp 0x14006b106
cmp qword [rsp + 0x78], 0
je 0x14006ae8c
mov r8, qword [rsp + 0x80]
mov rcx, qword [0x140206128]
xor edx, edx
call sub.kernel32.dll_HeapFree
mov rsi, qword [rsp + 0xa0]
test rsi, rsi
je 0x14006aecb
mov rbx, qword [rsp + 0x98]
add rbx, 0x38
nop word cs:[rax + rax]
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 0x14006aeb0
cmp qword [rsp + 0x90], 0
je 0x14006aeec
mov r8, qword [rsp + 0x98]
mov rcx, qword [0x140206128]
xor edx, edx
call sub.kernel32.dll_HeapFree
mov rbx, qword [rsp + 0xc0]
test rbx, rbx
je 0x14006af12
mov rcx, rbx
call fcn.140025f20
mov rcx, qword [0x140206128]
xor edx, edx
mov r8, rbx
call sub.kernel32.dll_HeapFree
lea rbx, [rsp + 0xd0]
mov rcx, rbx
call fcn.14002da60
mov rcx, rbx
call fcn.1400264d0
mov rax, qword [rsp + 0xd0]
lock dec qword [rax]
jne 0x14006af45
mov rcx, qword [rsp + 0xd0]
call fcn.1400a24e0
mov rax, qword [rsp + 0x40]
test rax, rax
je 0x14006af5f
lock dec qword [rax]
jne 0x14006af5f
lea rcx, [rsp + 0x40]
call fcn.1400a1d30
cmp rbp, 3
jne 0x14006af9e
mov rsi, qword [rsp + 0x48]
test rsi, rsi
je 0x14006af9e
lea rcx, [rsp + 0x48]
call fcn.1400264d0
lock dec qword [rsi]
jne 0x14006af89
mov rcx, qword [rsp + 0x48]
call fcn.1400a24e0
mov rax, qword [rsp + 0x58]
lock dec qword [rax]
jne 0x14006af9e
mov rcx, qword [rsp + 0x58]
call case.0x14009eb80.13
mov rax, qword [r15]
mov qword [r15], 2
cmp rax, 2
je 0x14006b549
mov qword [rsp + 0x60], rax
movups xmm0, xmmword [r15 + 8]
movups xmmword [rsp + 0x68], xmm0
mov qword [rsp + 0x110], rdi
mov qword [rsp + 0x118], 3
movaps xmm0, xmmword [rsp + 0x2f0]
movaps xmm1, xmmword [rsp + 0x300]
movaps xmm2, xmmword [rsp + 0x310]
movaps xmm3, xmmword [rsp + 0x320]
movups xmmword [rsp + 0x120], xmm0
movups xmmword [rsp + 0x130], xmm1
movups xmmword [rsp + 0x140], xmm2
movups xmmword [rsp + 0x150], xmm3
movaps xmm0, xmmword [rsp + 0x330]
movups xmmword [rsp + 0x160], xmm0
movaps xmm0, xmmword [rsp + 0x340]
movups xmmword [rsp + 0x170], xmm0
movaps xmm0, xmmword [rsp + 0x350]
movups xmmword [rsp + 0x180], xmm0
movaps xmm0, xmmword [rsp + 0x2e0]
movups xmmword [rsp + 0x1a8], xmm0
mov rax, qword [rsp + 0x530]
mov qword [rsp + 0x210], rax
movups xmm0, xmmword [rsp + 0x520]
movups xmmword [rsp + 0x200], xmm0
movups xmm0, xmmword [rsp + 0x4e0]
movups xmm1, xmmword [rsp + 0x4f0]
movups xmm2, xmmword [rsp + 0x500]
movups xmm3, xmmword [rsp + 0x510]
movups xmmword [rsp + 0x1f0], xmm3
movups xmmword [rsp + 0x1e0], xmm2
movups xmmword [rsp + 0x1d0], xmm1
movups xmmword [rsp + 0x1c0], xmm0
jmp 0x14006b3cc
mov rcx, r14
call fcn.1400a24e0
lock dec qword [rbx]
jne 0x14006ab7b
mov rcx, rbx
call case.0x14009eb80.13
cmp qword [rsp + 0xb0], 0
mov r15, r12
jne 0x14006ab89
jmp 0x14006ab9f
call sub.kernel32.dll_GetProcessHeap
test rax, rax
je 0x14006b549
mov rcx, rax
mov r15, r12
mov qword [0x140206128], rax
mov r8d, 0x70
xor edx, edx
call sub.kernel32.dll_HeapAlloc
test rax, rax
je 0x14006b549
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 0x14006b549
mov rax, qword [rsp + 0x398]
mov qword [rsp + 0xf0], rax
movaps xmm1, xmmword [rsp + 0x450]
movaps xmmword [rsp + 0x380], xmm1
movaps xmmword [rsp + 0x360], xmm0
movaps xmmword [rsp + 0x280], xmm0
movzx eax, byte [0x140206138]
mov rcx, qword [0x140206128]
test rcx, rcx
jne 0x14006b19a
call sub.kernel32.dll_GetProcessHeap
test rax, rax
je 0x14006b549
mov rcx, rax
mov qword [0x140206128], rax
mov r8d, 0x50
xor edx, edx
call sub.kernel32.dll_HeapAlloc
test rax, rax
je 0x14006b549
mov qword [rax], r14
mov rcx, qword [rsp + 0xf0]
mov qword [rax + 8], rcx
mov qword [rax + 0x10], rbx
movaps xmm0, xmmword [rsp + 0x380]
movups xmmword [rax + 0x18], xmm0
lea rcx, [0x1401cb8a0]
mov qword [rax + 0x28], rcx
lea rdx, str.corrupt_deflate_stream
mov qword [rax + 0x30], rdx
movaps xmm0, xmmword [rsp + 0x360]
movups xmmword [rax + 0x38], xmm0
mov qword [rax + 0x48], r13
mov qword [rsp + 0x3b0], rcx
mov qword [rsp + 0x3b8], rdx
movaps xmm0, xmmword [rsp + 0x280]
movups xmmword [rsp + 0x3c0], xmm0
mov qword [rsp + 0x3a0], rax
lea rax, [0x1401cb6c8]
mov qword [rsp + 0x3a8], rax
lea rdx, [rsp + 0x3a0]
mov rcx, rdi
call fcn.14003fd80
lea rcx, [rsp + 0x170]
mov edx, 1
mov r8, rdi
call fcn.14005ac00
test rax, 0xfffffffffffffffd
jne 0x14006b3f4
movaps xmm0, xmmword [rsp + 0x170]
movaps xmmword [rsp + 0x350], xmm0
movaps xmm0, xmmword [rsp + 0x160]
movaps xmmword [rsp + 0x340], xmm0
movaps xmm0, xmmword [rsp + 0x150]
movaps xmmword [rsp + 0x330], xmm0
movaps xmm0, xmmword [rsp + 0x110]
movaps xmm1, xmmword [rsp + 0x120]
movaps xmm2, xmmword [rsp + 0x130]
movaps xmm3, xmmword [rsp + 0x140]
movaps xmmword [rsp + 0x320], xmm3
movaps xmmword [rsp + 0x310], xmm2
movaps xmmword [rsp + 0x300], xmm1
movaps xmmword [rsp + 0x2f0], xmm0
mov r14, qword [rsp + 0x180]
mov rsi, qword [rsp + 0x188]
mov rdi, qword [rsp + 0x190]
movups xmm0, xmmword [rsp + 0x198]
movaps xmmword [rsp + 0x2e0], xmm0
mov rax, qword [rsp + 0x1a8]
mov rcx, qword [r15]
mov qword [r15], 2
cmp rcx, 2
je 0x14006b549
mov qword [rsp + 0x60], rcx
movups xmm0, xmmword [r15 + 8]
movups xmmword [rsp + 0x68], xmm0
movaps xmm0, xmmword [rsp + 0x350]
movups xmmword [rsp + 0x180], xmm0
movaps xmm0, xmmword [rsp + 0x340]
movups xmmword [rsp + 0x170], xmm0
movaps xmm0, xmmword [rsp + 0x330]
movups xmmword [rsp + 0x160], xmm0
movaps xmm0, xmmword [rsp + 0x2f0]
movaps xmm1, xmmword [rsp + 0x300]
movaps xmm2, xmmword [rsp + 0x310]
movaps xmm3, xmmword [rsp + 0x320]
movups xmmword [rsp + 0x150], xmm3
movups xmmword [rsp + 0x140], xmm2
movups xmmword [rsp + 0x130], xmm1
movups xmmword [rsp + 0x120], xmm0
mov qword [rsp + 0x190], r14
mov qword [rsp + 0x198], rsi
mov qword [rsp + 0x1a0], rdi
movaps xmm0, xmmword [rsp + 0x2e0]
movups xmmword [rsp + 0x1a8], xmm0
mov qword [rsp + 0x1b8], rax
mov qword [rsp + 0x118], 4
lea rcx, [rsp + 0x60]
lea rdx, [rsp + 0x110]
call fcn.140072ff0
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 0x14006b25d
mov rax, qword [rdi + 0x30]
nop word cs:[rax + rax]
mov rcx, rax
or rcx, 4
lock cmpxchg qword [rdi + 0x30], rcx
jne 0x14006b410
and eax, 0xa
cmp eax, 8
jne 0x14006b432
mov rax, qword [rdi + 0x10]
mov rcx, qword [rdi + 0x18]
call qword [rax + 0x10]
lock dec qword [rdi]
jne 0x14006b25d
mov rcx, rdi
call fcn.1400a2030
jmp 0x14006b25d
lea rsi, [r15 + 0x88]
mov rcx, r15
call fcn.140022f90
mov qword [r15], 2
mov rax, qword [rsp + 0x228]
mov qword [r15 + 8], rax
mov rax, qword [rsp + 0x230]
mov qword [r15 + 0x10], rax
mov rax, qword [rsp + 0x220]
mov qword [r15 + 0x18], rax
mov byte [r15 + 0x20], r14b
movzx eax, byte [rsp + 0x2d]
mov byte [r15 + 0x21], al
movzx eax, word [rsp + 0x2e]
mov word [r15 + 0x22], ax
mov eax, dword [rsp + 0x3c]
mov dword [r15 + 0x24], eax
mov eax, dword [rsp + 0x30]
mov dword [r15 + 0x28], eax
mov rax, qword [rsp + 0xe8]
mov dword [r15 + 0x2c], eax
mov rax, qword [rsp + 0x290]
mov qword [rdi + 0x10], rax
movaps xmm0, xmmword [rsp + 0x280]
movups xmmword [rdi], xmm0
movaps xmm0, xmmword [rsp + 0x3e0]
movaps xmm1, xmmword [rsp + 0x3f0]
movaps xmm2, xmmword [rsp + 0x400]
movaps xmm3, xmmword [rsp + 0x410]
movups xmmword [rbx + 0x30], xmm3
movups xmmword [rbx + 0x20], xmm2
movups xmmword [rbx + 0x10], xmm1
movups xmmword [rbx], xmm0
mov rax, qword [rsp + 0xc0]
mov qword [rsi + 0x60], rax
movaps xmm0, xmmword [rsp + 0xb0]
movups xmmword [rsi + 0x50], xmm0
movaps xmm0, xmmword [rsp + 0xa0]
movups xmmword [rsi + 0x40], xmm0
movaps xmm0, xmmword [rsp + 0x60]
movaps xmm1, xmmword [rsp + 0x70]
movaps xmm2, xmmword [rsp + 0x80]
movaps xmm3, xmmword [rsp + 0x90]
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