Function at 0x1400459d0
Capabilities:
Check mutex on windows

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rsi
mov qword [rsp + 0x18], rdi
mov qword [rsp + 0x20], r12
push r13
push r14
push r15
sub rsp, 0xe30
mov rax, qword [0x1401d6668]
xor rax, rsp
mov qword [rsp + 0xe28], rax
xor esi, esi
cmp dword [0x1401e68c0], esi
jne 0x140046d7d
mov qword [rsp + 0x780], rsi
lea ecx, [rsi + 0x38]
call fcn.140146a90
mov qword [rsp + 0x50], rax
test rax, rax
je 0x140045a60
xorps xmm0, xmm0
xor ecx, ecx
movups xmmword [rax], xmm0
movups xmmword [rax + 0x10], xmm0
movups xmmword [rax + 0x20], xmm0
mov qword [rax + 0x30], rcx
movups xmm0, xmmword [0x140194190]
movaps xmmword [rsp + 0x60], xmm0
lea r8, [rsp + 0x60]
lea edx, [rsi + 1]
mov rcx, rax
call fcn.14009cc10
mov rdi, rax
jmp 0x140045a63
mov rdi, rsi
mov qword [rsp + 0x788], rdi
movdqa xmm0, xmmword [0x14016e780]
movdqu xmmword [rsp + 0x150], xmm0
movdqa xmm1, xmmword [0x14016e790]
movdqu xmmword [rsp + 0x160], xmm1
xorps xmm0, xmm0
movdqu xmmword [rsp + 0xb8], xmm0
lfence
mov ecx, 0x20
call fcn.140020900
mov qword [rsp + 0xb8], rax
lea rbx, [rax + 0x20]
mov qword [rsp + 0xc8], rbx
mov r8d, 0x20
lea rdx, [rsp + 0x150]
mov rcx, rax
call fcn.140139cd0
mov qword [rsp + 0xc0], rbx
lea r8, [rsp + 0xb8]
mov edx, 1
lea rcx, [rsp + 0x250]
call fcn.140045820
mov qword [rsp + 0x788], rsi
mov qword [rsp + 0x90], rdi
mov r8, rax
lea rdx, [rsp + 0x90]
lea rcx, [rsp + 0x8a0]
call fcn.140077300
nop
mov rcx, qword [rsp + 0xb8]
test rcx, rcx
je 0x140045b69
mov rax, qword [rsp + 0xc8]
sub rax, rcx
sar rax, 2
lea rdx, [rax*4]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140045b64
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140046dbb
call fcn.140146acc
lea rdx, [rsp + 0x7b0]
lea rcx, [rsp + 0x8a0]
call fcn.140077450
nop
mov rbx, qword [rsp + 0x7b0]
mov r15, rbx
mov rax, qword [rsp + 0x7b8]
mov qword [rsp + 0x50], rax
lea r12, [0x1401e1ac0]
lea r13, str.Scsi
mov qword [rsp + 0x60], r15
cmp r15, qword [rsp + 0x50]
je 0x140046b9e
xor eax, eax
mov dword [rsp + 0x48], eax
mov word [rsp + 0x4c], ax
mov rcx, qword [r15]
mov rax, qword [rcx]
lea rdx, [rsp + 0x170]
mov rax, qword [rax + 0x10]
call qword [case.0x14005c876.0]
nop
lea rdx, [rsp + 0x48]
mov rcx, rax
call fcn.140046e80
test al, al
sete bl
mov rdx, qword [rsp + 0x188]
cmp rdx, 8
jb 0x140045c33
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x170]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140045c2e
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140046dc1
call fcn.140146acc
test bl, bl
jne 0x140046b8d
mov rdx, qword [r15]
lea rcx, [rsp + 0x850]
call fcn.14009cf80
nop
mov rcx, qword [r15]
mov rax, qword [rcx]
mov r8d, 4
lea rdx, [rsp + 0x190]
mov rax, qword [rax + 0x28]
call qword [case.0x14005c876.0]
nop
lea rdx, [rsp + 0x130]
mov rcx, rax
call fcn.14008bbd0
nop
lea rdx, [rsp + 0x850]
mov rcx, rax
call fcn.140045040
test al, al
sete bl
mov rdx, qword [rsp + 0x148]
cmp rdx, 8
jb 0x140045cd9
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x130]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140045cd4
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140046dc7
call fcn.140146acc
mov qword [rsp + 0x140], rsi
mov qword [rsp + 0x148], 7
mov word [rsp + 0x130], si
mov rcx, qword [rsp + 0x198]
test rcx, rcx
je 0x140045d37
mov rdx, qword [rsp + 0x1a8]
sub rdx, rcx
mov rax, rcx
cmp rdx, 0x1000
jb 0x140045d32
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140046dcd
call fcn.140146acc
test bl, bl
jne 0x140046b73
mov qword [rsp + 0x778], rsi
mov rcx, qword [r15]
mov rax, qword [rcx]
lea rdx, [rsp + 0xf0]
mov rax, qword [rax + 8]
call qword [case.0x14005c876.0]
nop
cmp qword [rax + 0x18], 8
jb 0x140045d6a
mov rax, qword [rax]
mov qword [rsp + 0x30], rsi
mov dword [rsp + 0x28], 0x80
mov dword [rsp + 0x20], 3
xor r9d, r9d
mov edx, 0xc0000000
lea r8d, [r9 + 3]
mov rcx, rax
call fcn.140096e00
mov rdx, rax
lea rcx, [rsp + 0x778]
call fcn.1400904f0
nop
mov rdx, qword [rsp + 0x108]
cmp rdx, 8
jb 0x140045dec
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0xf0]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140045de7
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140046dd3
call fcn.140146acc
mov qword [rsp + 0x100], rsi
mov qword [rsp + 0x108], 7
mov word [rsp + 0xf0], si
lea rcx, [rsp + 0x778]
call fcn.140055cf0
mov rbx, rax
cmp rax, 0xffffffffffffffff
je 0x140046b65
xor edx, edx
mov r8d, 0x408
lea rcx, [rsp + 0xa00]
call fcn.14013a3a0
xor edx, edx
lea rcx, [rsp + 0xa00]
call fcn.14009a260
nop
lea r8, [rsp + 0xa00]
mov rdx, rbx
lea rcx, [rsp + 0x44]
call fcn.140098ea0
mov r14d, eax
mov dword [rsp + 0x40], eax
test eax, 0xffffff7f
je 0x140046b57
mov rcx, qword [r15]
mov rdx, qword [rcx]
mov rax, qword [rdx + 0x28]
mov r8d, reloc.OLEAUT32.dll_SafeArrayDestroy
lea rdx, [rsp + 0x1b0]
call qword [case.0x14005c876.0]
nop
mov rcx, rax
call fcn.14008bb00
mov edi, eax
mov rcx, qword [rsp + 0x1b8]
test rcx, rcx
je 0x140045ed9
mov rdx, qword [rsp + 0x1c8]
sub rdx, rcx
mov rax, rcx
cmp rdx, 0x1000
jb 0x140045ed4
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140046dd9
call fcn.140146acc
test dil, 4
je 0x140045ee9
test r14b, 0x60
jne 0x140046b57
mov dword [rsp + 0x770], 0xffffffff
xor edx, edx
mov r8d, 0x110
lea rcx, [rsp + 0x8f0]
call fcn.14013a3a0
mov rdx, rbx
lea rcx, [rsp + 0x8f0]
call fcn.140091160
nop
xorps xmm0, xmm0
xor eax, eax
movups xmmword [rsp + 0x828], xmm0
movups xmmword [rsp + 0x838], xmm0
mov qword [rsp + 0x848], rax
lea rdx, [rsp + 0x828]
lea rcx, [rsp + 0x8f0]
call fcn.14008e8c0
nop
cmp dword [rsp + 0x828], 0
jne 0x140045f70
lea rcx, [rsp + 0x8f0]
call fcn.1400916a0
shr eax, 0x18
mov dword [rsp + 0x770], eax
jmp 0x140045fda
cmp qword [rsp + 0x780], 0
jne 0x140045faa
mov ecx, 0x18
call fcn.140146a90
test rax, rax
je 0x140045f97
mov qword [rax], rsi
mov qword [rax + 8], rsi
mov qword [rax + 0x10], rsi
jmp 0x140045f9a
mov rax, rsi
mov qword [rsp + 0x780], rax
mov rcx, rax
call fcn.140099ae0
lea rax, [rsp + 0x770]
mov qword [rsp + 0x20], rax
lea r9, [rsp + 0xa00]
mov r8d, r14d
mov rdx, rbx
mov rcx, qword [rsp + 0x780]
call fcn.140099530
test al, al
je 0x140046b3b
xor edx, edx
mov r8d, 0x4e0
lea rcx, [rsp + 0x290]
call fcn.14013a3a0
movsxd rax, dword [0x1401e68c0]
imul r8, rax, 0x4e0
lea r9, [r8 + r12]
mov rax, r9
lea rcx, [rsp + 0x290]
mov edx, 9
movups xmm0, xmmword [rcx]
movups xmmword [rax], xmm0
movups xmm1, xmmword [rcx + 0x10]
movups xmmword [rax + 0x10], xmm1
movups xmm0, xmmword [rcx + 0x20]
movups xmmword [rax + 0x20], xmm0
movups xmm1, xmmword [rcx + 0x30]
movups xmmword [rax + 0x30], xmm1
movups xmm0, xmmword [rcx + 0x40]
movups xmmword [rax + 0x40], xmm0
movups xmm1, xmmword [rcx + 0x50]
movups xmmword [rax + 0x50], xmm1
movups xmm0, xmmword [rcx + 0x60]
movups xmmword [rax + 0x60], xmm0
lea rax, [rax + 0x80]
movups xmm1, xmmword [rcx + 0x70]
movups xmmword [rax - 0x10], xmm1
lea rcx, [rcx + 0x80]
sub rdx, 1
jne 0x140046011
movups xmm0, xmmword [rcx]
movups xmmword [rax], xmm0
movups xmm1, xmmword [rcx + 0x10]
movups xmmword [rax + 0x10], xmm1
movups xmm0, xmmword [rcx + 0x20]
movups xmmword [rax + 0x20], xmm0
movups xmm1, xmmword [rcx + 0x30]
movups xmmword [rax + 0x30], xmm1
movups xmm0, xmmword [rcx + 0x40]
movups xmmword [rax + 0x40], xmm0
movups xmm1, xmmword [rcx + 0x50]
movups xmmword [rax + 0x50], xmm1
mov dword [r9], 0x46696e44
mov dword [r8 + r12 + 4], r14d
lea rcx, [rsp + 0x778]
call fcn.14009c9a0
movsxd rcx, dword [0x1401e68c0]
imul r8, rcx, 0x4e0
mov qword [r8 + r12 + 8], rax
mov eax, dword [rsp + 0x770]
mov dword [r8 + r12 + 0x18], eax
lea rcx, [r8 + 0x1c]
add rcx, r12
lea rax, [rsp + 0xa10]
mov edx, 7
nop dword [rax]
movups xmm0, xmmword [rax]
movups xmmword [rcx], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rcx + 0x10], xmm1
movups xmm0, xmmword [rax + 0x20]
movups xmmword [rcx + 0x20], xmm0
movups xmm1, xmmword [rax + 0x30]
movups xmmword [rcx + 0x30], xmm1
movups xmm0, xmmword [rax + 0x40]
movups xmmword [rcx + 0x40], xmm0
movups xmm1, xmmword [rax + 0x50]
movups xmmword [rcx + 0x50], xmm1
movups xmm0, xmmword [rax + 0x60]
movups xmmword [rcx + 0x60], xmm0
lea rcx, [rcx + 0x80]
movups xmm1, xmmword [rax + 0x70]
movups xmmword [rcx - 0x10], xmm1
lea rax, [rax + 0x80]
sub rdx, 1
jne 0x1400460e0
movups xmm0, xmmword [rax]
movups xmmword [rcx], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rcx + 0x10], xmm1
movups xmm0, xmmword [rax + 0x20]
movups xmmword [rcx + 0x20], xmm0
movups xmm1, xmmword [rax + 0x30]
movups xmmword [rcx + 0x30], xmm1
movups xmm0, xmmword [rax + 0x40]
movups xmmword [rcx + 0x40], xmm0
mov rax, qword [rax + 0x50]
mov qword [rcx + 0x50], rax
lea rcx, [r8 + 0x3f4]
add rcx, r12
lea rdx, [rsp + 0x850]
call fcn.140044ed0
movsxd rax, dword [0x1401e68c0]
imul rcx, rax, 0x4e0
mov eax, dword [rsp + 0x48]
mov dword [rcx + r12 + 0x47c], eax
movzx eax, word [rsp + 0x4c]
mov word [rcx + r12 + 0x480], ax
mov rcx, qword [r15]
mov rax, qword [rcx]
mov r8d, 1
lea rdx, [rsp + 0x110]
mov rax, qword [rax + 0x28]
call qword [case.0x14005c876.0]
nop
lea rdx, [rsp + 0x7c8]
mov rcx, rax
call fcn.14008bbd0
nop
mov rcx, qword [rsp + 0x118]
test rcx, rcx
je 0x140046229
mov rdx, qword [rsp + 0x128]
sub rdx, rcx
mov rax, rcx
cmp rdx, 0x1000
jb 0x14004620c
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140046ddf
call fcn.140146acc
mov qword [rsp + 0x118], rsi
mov qword [rsp + 0x120], rsi
mov qword [rsp + 0x128], rsi
mov qword [rsp + 0xd0], rsi
mov qword [rsp + 0xe0], rsi
mov qword [rsp + 0xe8], 7
mov r8d, 0x3f
cmp qword [rsp + 0x7d8], r8
cmovb r8, qword [rsp + 0x7d8]
lea rdx, [rsp + 0x7c8]
cmp qword [rsp + 0x7e0], 8
cmovae rdx, qword [rsp + 0x7c8]
lea rcx, [rsp + 0xd0]
call fcn.1400284d0
lea r8, [rsp + 0xd0]
cmp qword [rsp + 0xe8], 8
cmovae r8, qword [rsp + 0xd0]
movsxd rax, dword [0x1401e68c0]
imul rcx, rax, 0x4e0
lea rax, [0x1401e1f54]
add rcx, rax
lea rdx, [0x14016e330]
call fcn.1400439f0
mov rdx, qword [rsp + 0xe8]
cmp rdx, 8
jb 0x14004630a
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0xd0]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140046304
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140046de5
call fcn.140146acc
nop
mov rdx, qword [rsp + 0x7e0]
cmp rdx, 8
jb 0x140046353
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x7c8]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14004634d
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140046deb
call fcn.140146acc
nop
jmp 0x14004636f
lea rbx, [0x1401d6a10]
lea rdi, [0x1401e1ebc]
mov rcx, qword [r15]
mov rax, qword [rcx]
mov r8d, 6
lea rdx, [rsp + 0x1d0]
mov rax, qword [rax + 0x28]
call qword [case.0x14005c876.0]
nop
lea rdx, [rsp + 0x7e8]
mov rcx, rax
call fcn.14008bbd0
nop
mov rcx, qword [rsp + 0x1d8]
test rcx, rcx
je 0x1400463ef
mov rdx, qword [rsp + 0x1e8]
sub rdx, rcx
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400463ea
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140046df1
call fcn.140146acc
lea r8, [rsp + 0x7e8]
cmp qword [rsp + 0x800], 8
cmovae r8, qword [rsp + 0x7e8]
movsxd rax, dword [0x1401e68c0]
imul rcx, rax, 0x4e0
add rcx, rdi
lea rdx, [0x14016e330]
call fcn.140043a50
mov rdx, qword [rsp + 0x800]
cmp rdx, 8
jb 0x14004646f
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x7e8]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140046469
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140046df7
call fcn.140146acc
nop
jmp 0x140046492
lea rdi, [0x14016e3a4]
mov rcx, qword [r15]
mov rax, qword [rcx]
mov r8d, 7
lea rdx, [rsp + 0x1f0]
mov rax, qword [rax + 0x28]
call qword [case.0x14005c876.0]
nop
lea rdx, [rsp + 0x808]
mov rcx, rax
call fcn.14008bbd0
nop
mov rcx, qword [rsp + 0x1f8]
test rcx, rcx
je 0x14004650b
mov rdx, qword [rsp + 0x208]
sub rdx, rcx
mov rax, rcx
cmp rdx, 0x1000
jb 0x140046506
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140046dfd
call fcn.140146acc
movsxd rax, dword [0x1401e68c0]
imul rcx, rax, 0x4e0
lea rdx, [rcx + 0x490]
add rdx, r12
lea rax, [rcx + 0x48c]
add rax, r12
lea r9, [rcx + 0x488]
add r9, r12
lea r8, [rcx + 0x484]
add r8, r12
lea rcx, [rsp + 0x808]
cmp qword [rsp + 0x820], 8
cmovae rcx, qword [rsp + 0x808]
mov qword [rsp + 0x28], rdx
mov qword [rsp + 0x20], rax
lea rdx, [0x14016e380]
call fcn.14004cb10
cmp eax, 4
je 0x1400465bd
xorps xmm0, xmm0
movsxd rax, dword [0x1401e68c0]
imul rcx, rax, 0x4e0
movups xmmword [rcx + r12 + 0x484], xmm0
mov rcx, qword [0x1401d6a10]
cmp rcx, rbx
je 0x1400465bd
test byte [rcx + 0x1c], 0x40
je 0x1400465bd
cmp byte [rcx + 0x19], 3
jb 0x1400465bd
mov edx, SafeArrayDestroy
lea r8, [0x14016e100]
mov rcx, qword [rcx + 0x10]
call fcn.140020d80
mov rdx, qword [rsp + 0x820]
cmp rdx, 8
jb 0x140046606
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x808]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140046600
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140046e03
call fcn.140146acc
nop
jmp 0x140046629
cmp r14d, 0x40
jne 0x1400467ea
mov rcx, qword [r15]
mov rax, qword [rcx]
lea edx, [r14 - 0x37]
mov rax, qword [rax + 0x20]
call qword [case.0x14005c876.0]
mov r9, rax
mov rcx, qword [rax]
mov rax, qword [rcx + 0x28]
lea r8d, [r14 - 0x37]
lea rdx, [rsp + 0x210]
mov rcx, r9
call qword [case.0x14005c876.0]
nop
mov rcx, rax
call fcn.14008bb00
mov ebx, eax
mov rcx, qword [rsp + 0x218]
test rcx, rcx
je 0x1400466b3
mov rdx, qword [rsp + 0x228]
sub rdx, rcx
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400466ae
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140046e09
call fcn.140146acc
mov rcx, qword [r15]
mov rax, qword [rcx]
mov edx, 0xa
mov rax, qword [rax + 0x20]
call qword [case.0x14005c876.0]
mov r9, rax
mov rcx, qword [rax]
mov rax, qword [rcx + 0x28]
mov r8d, 0xa
lea rdx, [rsp + 0x230]
mov rcx, r9
call qword [case.0x14005c876.0]
nop
mov rcx, rax
call fcn.14008bb00
mov edi, eax
mov rcx, qword [rsp + 0x238]
test rcx, rcx
je 0x140046736
mov rdx, qword [rsp + 0x248]
sub rdx, rcx
mov rax, rcx
cmp rdx, 0x1000
jb 0x140046731
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140046e0f
call fcn.140146acc
test ebx, ebx
je 0x140046765
sub ebx, 1
je 0x14004675e
sub ebx, 1
je 0x140046757
cmp ebx, 1
je 0x140046750
mov ecx, 1
jmp 0x140046767
mov ecx, 4
jmp 0x140046767
mov ecx, 3
jmp 0x140046767
mov ecx, 2
jmp 0x140046767
mov ecx, esi
movsxd rax, dword [0x1401e68c0]
imul rdx, rax, 0x4e0
mov dword [rdx + r12 + 0x4d4], ecx
cmp edi, 0x10
ja case.0x140046796.3
mov rax, rdi
lea rdi, [0x140000000]
mov ecx, dword [rdi + rax*4 + 0x46e30]
add rcx, rdi
jmp rcx
mov eax, esi
jmp 0x1400467c4
mov eax, 2
jmp 0x1400467c4
mov eax, 3
jmp 0x1400467c4
mov eax, 4
jmp 0x1400467c4
mov eax, 5
jmp 0x1400467c4
mov eax, 6
jmp 0x1400467c4
mov eax, 1
mov dword [rdx + r12 + 0x4d8], eax
jmp 0x1400467e3
lea rdi, [0x14016e3a4]
lea r14, [0x1401d6a10]
lea r9, [rsp + 0xe25]
mov r8d, dword [rsp + 0x770]
dec r9
mov eax, 0xcccccccd
mul r8d
shr edx, 3
movzx eax, dl
shl al, 2
lea ecx, [rax + rdx]
add cl, cl
sub r8b, cl
add r8b, 0x30
mov byte [r9], r8b
mov r8d, edx
test edx, edx
jne 0x140046801
mov qword [rsp + 0x70], rsi
mov r8, rsi
mov qword [rsp + 0x80], rsi
mov ecx, reloc.OLEAUT32.dll_SafeArrayDestroy
mov qword [rsp + 0x88], rcx
mov byte [rsp + 0x70], dl
lea rax, [rsp + 0xe25]
cmp r9, rax
je 0x140046881
lea r8, [rsp + 0xe25]
sub r8, r9
mov rdx, r9
lea rcx, [rsp + 0x70]
call fcn.140020200
mov rcx, qword [rsp + 0x88]
mov r8, qword [rsp + 0x80]
mov rax, rcx
sub rax, r8
cmp rax, 4
jb 0x14004690e
lea rax, [r8 + 4]
mov qword [rsp + 0x80], rax
lea rbx, [rsp + 0x70]
cmp rcx, 0x10
cmovae rbx, qword [rsp + 0x70]
cmp rdi, rbx
jbe 0x1400468cc
lea rax, [rbx + r8]
cmp r13, rax
ja 0x1400468cc
cmp rbx, r13
ja 0x1400468c4
mov rdi, rsi
jmp 0x1400468d1
mov rdi, rbx
sub rdi, r13
jmp 0x1400468d1
mov edi, 4
lea rcx, [rbx + 4]
inc r8
mov rdx, rbx
call fcn.140139cd0
mov r8, rdi
mov rdx, r13
mov rcx, rbx
call fcn.140139cd0
lea rcx, [rbx + rdi]
mov r8d, 4
sub r8, rdi
lea rdx, [r13 + 4]
add rdx, rdi
call fcn.140139cd0
lea rax, [rsp + 0x70]
jmp 0x140046930
mov qword [rsp + 0x28], 4
mov qword [rsp + 0x20], r13
xor r9d, r9d
xor r8d, r8d
lea edx, [r9 + 4]
lea rcx, [rsp + 0x70]
call fcn.140020970
mov qword [rsp + 0x98], rsi
mov qword [rsp + 0xa8], rsi
mov qword [rsp + 0xb0], rsi
movups xmm0, xmmword [rax]
movups xmmword [rsp + 0x98], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rsp + 0xa8], xmm1
mov qword [rax + 0x10], rsi
mov qword [rax + 0x18], reloc.OLEAUT32.dll_SafeArrayDestroy
mov byte [rax], 0
mov r8d, 4
lea rdx, str.:_RO
lea rcx, [rsp + 0x98]
call fcn.140020840
mov qword [rsp + 0x790], rsi
mov qword [rsp + 0x7a0], rsi
mov qword [rsp + 0x7a8], rsi
movups xmm0, xmmword [rax]
movups xmmword [rsp + 0x790], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rsp + 0x7a0], xmm1
mov qword [rax + 0x10], rsi
mov qword [rax + 0x18], reloc.OLEAUT32.dll_SafeArrayDestroy
mov byte [rax], 0
mov rdx, qword [rsp + 0xb0]
cmp rdx, 0x10
jb 0x140046a09
inc rdx
mov rcx, qword [rsp + 0x98]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140046a04
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140046e15
call fcn.140146acc
mov qword [rsp + 0xa8], rsi
mov qword [rsp + 0xb0], reloc.OLEAUT32.dll_SafeArrayDestroy
mov byte [rsp + 0x98], 0
mov rdx, qword [rsp + 0x88]
cmp rdx, 0x10
jb 0x140046a65
inc rdx
mov rcx, qword [rsp + 0x70]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140046a60
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140046e1b
call fcn.140146acc
lea r8, [rsp + 0x790]
cmp qword [rsp + 0x7a8], 0x10
cmovae r8, qword [rsp + 0x790]
xor edx, edx
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_CreateMutexA]
movsxd rcx, dword [0x1401e68c0]
imul rdx, rcx, 0x4e0
mov qword [rdx + r12 + 0x10], rax
call qword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0xb7
jne 0x140046ad6
mov rcx, qword [0x1401d6a10]
cmp rcx, r14
je 0x140046ad6
test byte [rcx + 0x1c], 0x40
je 0x140046ad6
cmp byte [rcx + 0x19], 3
jb 0x140046ad6
mov edx, reloc.OLEAUT32.dll_SafeArrayDestroy
lea r8, [0x14016e100]
mov rcx, qword [rcx + 0x10]
call fcn.140020d80
inc dword [0x1401e68c0]
mov rdx, qword [rsp + 0x7a8]
cmp rdx, 0x10
jb 0x140046b1f
inc rdx
mov rcx, qword [rsp + 0x790]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140046b1a
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140046e21
call fcn.140146acc
mov qword [rsp + 0x7a0], rsi
mov qword [rsp + 0x7a8], 0xf
mov byte [rsp + 0x790], 0
lea rcx, [rsp + 0x828]
call fcn.140023190
nop
lea rcx, [rsp + 0x8f0]
call fcn.14008e710
nop
lea rcx, [rsp + 0xa00]
call fcn.14009a900
nop
lea rcx, [rsp + 0x778]
call fcn.14009c950
nop
lea rcx, [rsp + 0x880]
call fcn.140027af0
lea rcx, [rsp + 0x860]
call fcn.140027af0
add r15, 8
mov rbx, qword [rsp + 0x7b0]
jmp 0x140045ba5
test rbx, rbx
je 0x140046c22
mov rdi, qword [rsp + 0x7b8]
cmp rbx, rdi
je 0x140046bde
mov rcx, qword [rbx]
test rcx, rcx
je 0x140046bcd
mov rax, qword [rcx]
mov edx, 1
mov rax, qword [rax]
call qword [case.0x14005c876.0]
add rbx, 8
cmp rbx, rdi
jne 0x140046bb4
mov rbx, qword [rsp + 0x7b0]
mov rax, qword [rsp + 0x7c0]
sub rax, rbx
sar rax, 3
lea rdx, [rax*8]
mov rax, rbx
cmp rdx, 0x1000
jb 0x140046c1a
add rdx, 0x27
mov rbx, qword [rbx - 8]
sub rax, rbx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140046e27
mov rcx, rbx
call fcn.140146acc
cmp dword [0x1401e68c0], 0
jne 0x140046c57
mov dword [0x1401e1ac0], 0x46696e44
mov dword [0x1401e1ac4], 8
mov qword [0x1401e1ac8], rsi
mov qword [0x1401e1ad0], rsi
mov dword [0x1401e68c0], 1
mov ebx, esi
cmp dword [0x1401e68c0], 0
jle 0x140046c9f
lea rdi, [0x1401e1ac4]
nop dword [rax]
test byte [rdi], 0x77
je 0x140046c8e
movsxd rax, ebx
imul rdx, rax, 0x4e0
add rdx, r12
lea rcx, [0x1401e6a08]
call fcn.140098da0
inc ebx
add rdi, 0x4e0
cmp ebx, dword [0x1401e68c0]
jl 0x140046c70
mov byte [0x1401e6a18], 0
mov rcx, qword [rsp + 0x8e8]
test rcx, rcx
je 0x140046cd6
mov rax, qword [rcx]
lea rdx, [rsp + 0x8b0]
cmp rcx, rdx
setne dl
mov rax, qword [rax + 0x20]
call qword [case.0x14005c876.0]
mov qword [rsp + 0x8e8], rsi
mov rcx, qword [rsp + 0x8a8]
test rcx, rcx
je 0x140046cee
mov edx, 8
call fcn.140146acc
nop
mov rbx, qword [rsp + 0x788]
test rbx, rbx
je 0x140046d5b
mov rcx, qword [rbx + 0x20]
test rcx, rcx
je 0x140046d48
mov rax, qword [rbx + 0x30]
sub rax, rcx
sar rax, 1
lea rdx, [rax + rax]
cmp rdx, 0x1000
jb 0x140046d37
add rdx, 0x27
mov r8, qword [rcx - 8]
sub rcx, r8
lea rax, [rcx - 8]
cmp rax, 0x1f
ja 0x140046db5
mov rcx, r8
call fcn.140146acc
mov qword [rbx + 0x20], rsi
mov qword [rbx + 0x28], rsi
mov qword [rbx + 0x30], rsi
mov edx, 0x38
mov rcx, qword [rsp + 0x788]
call fcn.140146acc
nop
mov rbx, qword [rsp + 0x780]
test rbx, rbx
je 0x140046d7d
mov rcx, rbx
call fcn.140044630
mov edx, 0x18
mov rcx, rbx
call fcn.140146acc
mov eax, dword [0x1401e68c0]
mov rcx, qword [rsp + 0xe28]
xor rcx, rsp
call fcn.140146a70
lea r11, [rsp + 0xe30]
mov rbx, qword [r11 + 0x20]
mov rsi, qword [r11 + 0x28]
mov rdi, qword [r11 + 0x30]
mov r12, qword [r11 + 0x38]
mov rsp, r11
pop r15
pop r14
pop r13
ret
call fcn.140117a1c
nop
call fcn.140117a1c
nop
call fcn.140117a1c
nop
call fcn.140117a1c
nop
call fcn.140117a1c
nop
call fcn.140117a1c
nop
call fcn.140117a1c
nop
call fcn.140117a1c
int3
call fcn.140117a1c
nop
call fcn.140117a1c
nop
call fcn.140117a1c
int3
call fcn.140117a1c
nop
call fcn.140117a1c
int3
call fcn.140117a1c
nop
call fcn.140117a1c
int3
call fcn.140117a1c
nop
call fcn.140117a1c
nop
call fcn.140117a1c
int3
call fcn.140117a1c
nop
call fcn.140117a1c
int3