Function at 0x140071080
Capabilities:
Check if file exists
Get file attributes
Set current directory

Disassembly:
mov qword [rsp + 0x10], rdx
mov qword [rsp + 8], rcx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
mov eax, 0x21930
call fcn.1400e0a90
sub rsp, rax
lea rbp, [rsp + 0x50]
cmp dword [0x14012aca0], 4
mov r15, qword [0x14012a950]
mov qword [rbp + 0x21930], rbx
movaps xmmword [rbp + 0x218d0], xmm6
mov qword [rbp + 8], r15
mov r13, r9
mov rbx, r8
mov r12, rdx
mov r14, rcx
jl 0x1400710f0
lea r9, [0x1400f1524]
lea rdx, [0x1400fedb0]
xor r8d, r8d
call fcn.14004e200
jmp 0x140072070
xor esi, esi
mov word [rbp + 0x18d0], si
mov qword [rbp + 0x18], rsi
lea edx, [rsi + 0x5c]
test rbx, rbx
je 0x140071217
cmp word [r8], si
je 0x140071217
or rcx, 0xffffffffffffffff
xor eax, eax
mov rdi, rbx
repne scasw ax, word [rdi]
not rcx
lea rdi, [rcx - 1]
mov rcx, rbx
call fcn.1400d77bc
mov rsi, rax
test rax, rax
je 0x14007113d
cmp word [rax + 2], 0
je 0x1400711ba
lea rdx, [0x1400fee20]
mov r8d, 3
mov rcx, rbx
call fcn.1400d9598
test eax, eax
jne 0x14007116a
cmp rdi, 0x28
jne 0x14007117c
cmp word [rbx + 0x4e], 0x7d
jne 0x14007117c
test rsi, rsi
je 0x1400711ba
jmp 0x14007117c
mov rcx, rbx
call qword [sym.imp.KERNEL32.DLL_GetFileAttributesW]
cmp eax, 0xffffffff
je 0x14007117c
test al, 0x10
jne 0x1400711ba
mov r8d, 0xfffe
lea rcx, [rbp + 0x18d0]
test rsi, rsi
jne 0x14007119f
mov rdx, rbx
call fcn.1400da5b4
mov word [rbp + 0x218cc], si
jmp 0x140071217
lea rdx, [rsi + 2]
call fcn.1400da5b4
xor eax, eax
mov rdi, rsi
sub rdi, rbx
mov word [rbp + 0x218cc], ax
sar rdi, 1
lea rsi, [rdi + rdi]
mov qword [rbp + 0x18], rbx
cmp word [rsi + rbx], 0
je 0x140071215
cmp rdi, 0x8000
jae 0x140071242
lea rax, [rsi + 2]
lea rcx, [rax + 0xf]
cmp rcx, rax
ja 0x1400711e9
movabs rcx, 0xffffffffffffff0
and rcx, 0xfffffffffffffff0
mov rax, rcx
call fcn.1400e0a90
sub rsp, rcx
mov r8, rsi
lea rdi, [rsp + 0x50]
mov rdx, rbx
mov rcx, rdi
call fcn.1400d7a30
xor eax, eax
mov qword [rbp + 0x18], rdi
mov word [rsi + rdi], ax
xor esi, esi
test r13, r13
je 0x14007124a
cmp word [r13], 0
je 0x14007124a
lea rcx, [rbp + 0x10d0]
mov r8d, 0x3ff
mov rdx, r13
call fcn.1400da5b4
mov word [rbp + 0x18ce], si
jmp 0x140071269
xor esi, esi
mov qword [rbp + 0x18], rsi
jmp 0x140071217
mov r9, qword [0x14012d150]
lea r8, [0x1400fee28]
lea rcx, [rbp + 0x10d0]
mov edx, 0x400
call fcn.1400b9310
mov rdi, qword [rbp + 0x21940]
mov word [rbp + 0x8d0], si
mov word [rbp + 0xd0], si
cmp word [rdi], 0
je 0x1400712e0
mov edx, 0x28
mov rcx, rdi
call fcn.1400d7d64
mov r8d, 0x3ff
lea rcx, [rbp + 0xd0]
test rax, rax
je 0x140071329
lea rdx, [rax + 2]
call fcn.1400da5b4
lea rcx, [rbp + 0xd0]
mov edx, 0x29
mov word [rbp + 0x8ce], si
call fcn.1400d77bc
test rax, rax
je 0x1400712d2
mov word [rax], si
jmp 0x140071338
mov word [rbp + 0xd0], si
mov word [rbp + 0x8d0], si
lea rcx, [rbp + 0x38]
xor edx, edx
mov r8d, SysStringByteLen
call fcn.1400ddb90
mov rcx, qword [0x1401255c8]
mov dword [rbp + 0x30], 0x98
add rcx, 0x68
call fcn.140098250
test rax, rax
je 0x140071559
mov rax, qword [0x1401255c8]
mov rcx, qword [rax + 0x68]
mov rax, qword [rcx + 8]
mov qword [rbp + 0x38], rax
jmp 0x14007155d
mov rdx, rdi
call fcn.1400da5b4
mov word [rbp + 0x8ce], si
cmp word [rbp + 0xd0], 0
je 0x1400712d9
xor eax, eax
or rcx, 0xffffffffffffffff
lea rdi, [rbp + 0xd0]
repne scasw ax, word [rdi]
or ebx, 0xffffffff
mov r15d, eax
not rcx
mov qword [rbp + 0x20], rax
dec rcx
mov r14, rcx
cmp rcx, 0x1388
jb 0x1400714fb
mov edi, eax
lea r12, [rbp + 0xd0]
nop dword [rax + rax]
lea rdx, [0x1400fc874]
mov rcx, r12
call fcn.1400d8b38
mov r13, rax
test rax, rax
je 0x140071427
inc edi
dec ebx
mov dword [rbp + 0x10], edi
mov rdi, rax
sub rdi, r12
sar rdi, 1
lea rcx, [rdi + r15]
mov qword [rbp + 0x28], rcx
cmp rcx, qword [rbp + 0x20]
jb 0x1400713ff
lea rdx, [rbp + 0xd0]
movsxd rcx, ecx
movsxd r9, r14d
sub rax, rdx
mov edx, dword [rbp + 0x10]
mov r8d, ebx
sar rax, 1
cdqe
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], rcx
or rcx, 0xffffffffffffffff
call fcn.1400b9ff0
mov rcx, rsi
lea rdx, [rax + rax]
mov qword [rbp + 0x20], rax
call fcn.1400d7008
test rax, rax
je 0x140071460
mov rsi, rax
test rdi, rdi
je 0x140071418
lea r8, [rdi + rdi]
lea rcx, [rsi + r15*2]
mov rdx, r12
call fcn.1400d7a30
mov r15, qword [rbp + 0x28]
mov edi, dword [rbp + 0x10]
lea r12, [r13 + 2]
test ebx, ebx
jne 0x140071380
test edi, edi
je 0x14007146d
lea rcx, [rbp + 0xd0]
mov rax, r12
sub rax, rcx
sar rax, 1
sub r14, rax
je 0x1400714db
lea rdi, [r14 + r15]
cmp rdi, qword [rbp + 0x20]
jb 0x1400714c8
lea rdx, [rdi + rdi + 2]
mov rcx, rsi
call fcn.1400d7008
test rax, rax
jne 0x1400714c5
test rsi, rsi
je 0x14007146d
mov rcx, rsi
call fcn.1400d6fc8
mov r12, qword [rbp + 0x21928]
mov r9, qword [rbp + 0x21940]
xor esi, esi
lea rax, [rbp + 0xd0]
mov qword [rsp + 0x40], rsi
mov qword [rsp + 0x38], rsi
mov qword [rsp + 0x30], rsi
mov qword [rsp + 0x28], rax
lea r8, [0x1400fee50]
lea rcx, [rbp + 0x8d0]
mov edx, 0x400
mov qword [rsp + 0x20], rsi
call fcn.1400b9310
mov r15, qword [rbp + 8]
mov r14, qword [rbp + 0x21920]
jmp 0x1400712e0
mov rsi, rax
lea r8, [r14 + r14]
lea rcx, [rsi + r15*2]
mov rdx, r12
call fcn.1400d7a30
mov r15, rdi
xor eax, eax
lea r8, [r15 + r15 + 2]
lea rcx, [rbp + 0xd0]
mov rdx, rsi
mov word [rsi + r15*2], ax
call fcn.1400d7a30
jmp 0x140071465
lea rdi, [rbp + 0xd0]
nop word [rax + rax]
lea rdx, [0x1400fc874]
mov rcx, rdi
call fcn.1400d8b38
mov rdi, rax
test rax, rax
je 0x140071474
lea rcx, [rbp + 0xd0]
mov r8, r14
lea rdx, [rdi + 2]
sub rax, rcx
mov rcx, rdi
sar rax, 1
sub r8, rax
add r8, r8
call fcn.1400d7a30
dec r14
dec ebx
jne 0x140071510
jmp 0x140071474
mov qword [rbp + 0x38], rsi
cmp word [rbp + 0x8d0], 0
movzx edi, word [r12]
lea rax, [rbp + 0x10d0]
mov qword [rbp + 0x88], rax
lea rcx, [0x1400fee90]
lea rax, [rbp + 0x8d0]
cmove rax, rcx
xor r13b, r13b
xor sil, sil
mov qword [rbp + 0x48], rax
lea rax, [rbp + 0x18d0]
mov dword [rbp + 0x68], 0xfffe
mov qword [rbp + 0x60], rax
mov rax, qword [rbp + 0x18]
mov byte [rbp], r13b
mov qword [rbp + 0x80], rax
test edi, 0xffffff80
jne 0x1400715d0
mov edx, 2
mov ecx, edi
call fcn.1400d79f4
test eax, eax
je 0x1400715d0
and edi, 0xffffffdf
movzx eax, di
cmp eax, 0x4d
je 0x1400715e2
cmp eax, 0x53
jne 0x1400715ed
mov sil, 1
jmp 0x1400715e9
mov r13b, 1
mov byte [rbp], r13b
add r12, 2
mov rcx, r12
call fcn.1400057c0
mov ecx, reloc.OLEAUT32.DLL_SafeArrayGetDim
test al, al
je 0x14007160d
mov r8d, ecx
xor edx, edx
mov rcx, r12
call fcn.1400d91d0
jmp 0x140071615
mov rcx, r12
call fcn.1400d6ef0
mov edx, eax
mov ecx, 0x180004
mov eax, 0x80004
test dl, 0x20
cmovne eax, ecx
mov dword [rbp + 0x90], eax
test dl, 0x10
je 0x14007163b
or eax, 2
mov dword [rbp + 0x90], eax
test dl, 8
je 0x14007164a
bts eax, 0xd
mov dword [rbp + 0x90], eax
test r13b, r13b
jne 0x140071654
test dl, 4
je 0x14007165e
bts eax, 9
mov dword [rbp + 0x90], eax
test dl, 2
je 0x14007166d
bts eax, 0xb
mov dword [rbp + 0x90], eax
test dl, 1
je 0x14007167c
bts eax, 0xc
mov dword [rbp + 0x90], eax
call fcn.1400c10e0
mov rcx, qword [0x14012aab8]
xor r9d, r9d
lea edx, [r9 + 0x44]
mov r8d, 0x403
movzx ebx, al
call qword [sym.imp.USER32.DLL_PostMessageW]
inc dword [0x14012aca0]
test sil, sil
jne 0x1400716c6
mov ecx, dword [rbp + 0x90]
test cl, 2
je 0x1400716ba
bt ecx, 0xd
jae 0x1400716c6
lea rcx, [rbp + 0x30]
call qword [sym.imp.COMDLG32.DLL_GetOpenFileNameW]
jmp 0x1400716d0
lea rcx, [rbp + 0x30]
call qword [sym.imp.COMDLG32.DLL_GetSaveFileNameW]
dec dword [0x14012aca0]
mov rcx, qword [0x1401255c8]
test bl, bl
mov edi, eax
sete al
mov byte [rcx + 0x12e], bl
mov byte [rcx + 0x12c], al
mov rdx, qword [0x140127148]
test rdx, rdx
je 0x140071723
mov rdx, qword [rdx]
lea rcx, [0x1400f1524]
test rdx, rdx
mov rax, rcx
cmovne rax, rdx
cmp word [rax], 0
je 0x140071723
test rdx, rdx
cmovne rcx, rdx
call qword [sym.imp.KERNEL32.DLL_SetCurrentDirectoryW]
test edi, edi
jne 0x1400719f1
mov rcx, r15
call fcn.1400243d0
cmp eax, 1
je 0x14007173f
xor eax, eax
jmp 0x140072070
call qword [sym.imp.COMDLG32.DLL_CommDlgExtendedError]
test eax, eax
je 0x14007175b
mov dl, 1
mov rcx, r14
call fcn.14004ced0
mov r14d, eax
jmp 0x14007206d
mov rdi, qword [0x14012b628]
movzx eax, byte [rdi + 0x23]
test al, al
jne 0x14007178e
mov rcx, qword [rdi + 0x10]
lea rdx, [0x1400f566c]
xor r9d, r9d
or r8, 0xffffffffffffffff
mov byte [rsp + 0x20], 1
call fcn.1400bd640
mov r14d, eax
jmp 0x14007206d
lea r13, [0x1400f566c]
mov r14d, 1
cmp qword [rdi + 8], r13
jne 0x1400717aa
mov r12, qword [rdi + 0x10]
shr r12, 1
jmp 0x1400717ad
mov r12, r14
lea rdx, [r12 + 1]
lea rsi, [rdx + rdx]
cmp al, 2
jne 0x1400717cd
mov rdx, r12
mov rcx, r13
call fcn.140006da0
mov r14d, eax
jmp 0x14007206d
mov rcx, qword [0x1401255a0]
cmp rsi, rcx
jbe 0x1400717e3
cmp rsi, qword [rdi + 0x18]
ja 0x140071e71
cmp rdx, 2
jae 0x1400717fd
xor r8d, r8d
mov rcx, rdi
lea edx, [r8 + 4]
call fcn.1400bdcf0
jmp 0x14007206d
movzx eax, byte [rdi + 0x21]
test al, 2
je 0x14007181a
mov rcx, qword [rdi]
and al, 0x3d
mov byte [rdi + 0x21], al
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.DLL_SafeArrayGetDim]
mov rcx, qword [0x1401255a0]
mov r8, qword [rdi + 0x18]
and byte [rdi + 0x21], 0x82
cmp rsi, r8
jbe 0x140071990
movzx r9d, byte [rdi + 0x20]
movzx eax, r9b
cmp r9b, r14b
jbe 0x14007184a
cmp al, 2
je 0x14007188b
mov rbx, qword [rbp + 8]
mov rax, qword [rbp + 8]
jmp 0x140071984
cmp rsi, 0x80
ja 0x14007188b
cmp rsi, 8
ja 0x140071860
mov ebx, 8
jmp 0x140071871
mov ebx, 0x80
cmp rsi, 0x10
mov eax, reloc.OLEAUT32.DLL_SafeArrayGetDim
cmovbe ebx, eax
mov rcx, rbx
call fcn.1400b60a0
test rax, rax
je 0x140071f22
mov byte [rdi + 0x20], r14b
jmp 0x140071984
cmp rsi, 0x20
jae 0x14007189b
mov ebx, SafeArrayAllocDescriptor
jmp 0x14007194a
cmp rsi, 0x208
jae 0x1400718ae
mov ebx, 0x208
jmp 0x14007194a
cmp rsi, 0x50000
jae 0x140071906
pxor xmm0, xmm0
cvtsi2sd xmm0, rsi
test rsi, rsi
jns 0x1400718cd
addsd xmm0, qword [0x140112018]
mulsd xmm0, qword [0x140112050]
movsd xmm1, qword [0x140112048]
xor eax, eax
comisd xmm0, xmm1
jbe 0x1400718fc
subsd xmm0, xmm1
comisd xmm0, xmm1
jae 0x1400718fc
movabs rdx, 0x8000000000000000
mov rax, rdx
cvttsd2si rbx, xmm0
add rbx, rax
jmp 0x14007194a
cmp rsi, 0x320000
jae 0x140071918
lea rbx, [rsi + 0x8000]
jmp 0x14007194a
cmp rsi, 0xc80000
jae 0x140071943
movabs rax, 0x47ae147ae147ae15
mov rbx, rsi
mul rsi
sub rbx, rdx
shr rbx, 1
add rbx, rdx
shr rbx, 6
add rbx, rsi
jmp 0x14007194a
lea rbx, [rsi + 0x20000]
cmp rbx, rcx
cmova rbx, rcx
cmp r9b, 2
jne 0x14007196b
test r8, r8
je 0x14007196b
mov rcx, qword [rdi + 8]
movzx esi, r14b
call fcn.1400d6fc8
jmp 0x14007196e
xor sil, sil
test rbx, rbx
js 0x1400719bc
mov rcx, rbx
call fcn.1400d6f08
test rax, rax
je 0x1400719bc
mov byte [rdi + 0x20], 2
and byte [rdi + 0x21], 0x7f
mov qword [rdi + 8], rax
mov qword [rdi + 0x18], rbx
mov rcx, qword [rdi + 8]
cmp rcx, r13
je 0x1400719a5
lea r8, [r12 + r12]
mov rdx, r13
call fcn.1400d7a30
mov rax, qword [rdi + 8]
lea rcx, [r12 + r12]
xor edx, edx
mov word [rcx + rax], dx
mov qword [rdi + 0x10], rcx
jmp 0x14007206d
test sil, sil
je 0x1400719dd
xor eax, eax
mov qword [rdi + 0x18], rax
lea rax, [0x14012c4b8]
mov qword [rdi + 8], rax
xor eax, eax
mov qword [rdi + 0x10], rax
jmp 0x1400720b1
mov rax, qword [rdi + 8]
xor ecx, ecx
mov word [rax], cx
xor eax, eax
mov qword [rdi + 0x10], rax
jmp 0x1400720b1
mov rdi, qword [0x14012b628]
movsd xmm6, qword [0x140112048]
mov ebx, 8
movzx eax, byte [rdi + 0x23]
movabs rdx, 0x8000000000000000
movabs r9, 0x47ae147ae147ae15
lea r14d, [rbx - 7]
lea r12, [0x14012c4b8]
test al, al
jne 0x140071a4d
mov rcx, qword [rdi + 0x10]
lea rdx, [0x1400f1614]
xor r9d, r9d
or r8, 0xffffffffffffffff
mov byte [rsp + 0x20], r14b
call fcn.1400bd640
jmp 0x140071c9b
lea rsi, [0x1400f1614]
cmp qword [rdi + 8], rsi
jne 0x140071a63
mov r13, qword [rdi + 0x10]
shr r13, 1
jmp 0x140071a66
mov r13, r14
lea rcx, [r13 + 1]
lea r12, [rcx + rcx]
cmp al, 2
jne 0x140071a82
mov rdx, r13
mov rcx, rsi
call fcn.140006da0
jmp 0x140071c8f
cmp r12, qword [0x1401255a0]
jbe 0x140071ab0
cmp r12, qword [rdi + 0x18]
jbe 0x140071ab0
lea r8, [0x1400f1524]
lea rdx, [0x140110420]
lea rcx, [0x14012c5c0]
call fcn.14004e590
jmp 0x140071c8f
cmp rcx, 2
jae 0x140071aca
xor r8d, r8d
mov rcx, rdi
lea edx, [r8 + 4]
call fcn.1400bdcf0
jmp 0x140071c8f
movzx eax, byte [rdi + 0x21]
test al, 2
je 0x140071af4
mov rcx, qword [rdi]
and al, 0x3d
mov byte [rdi + 0x21], al
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.DLL_SafeArrayGetDim]
movabs rdx, 0x8000000000000000
movabs r9, 0x47ae147ae147ae15
mov rcx, qword [rdi + 0x18]
and byte [rdi + 0x21], 0x82
cmp r12, rcx
jbe 0x140071c66
movzx r8d, byte [rdi + 0x20]
movzx eax, r8b
cmp r8b, r14b
jbe 0x140071b24
cmp al, 2
je 0x140071b62
mov rsi, qword [rbp + 8]
mov rax, qword [rbp + 8]
jmp 0x140071c53
cmp r12, 0x80
ja 0x140071b62
cmp r12, rbx
ja 0x140071b37
mov rsi, rbx
jmp 0x140071b48
mov esi, 0x80
cmp r12, 0x10
mov eax, reloc.OLEAUT32.DLL_SafeArrayGetDim
cmovbe esi, eax
mov rcx, rsi
call fcn.1400b60a0
test rax, rax
je 0x140071c8f
mov byte [rdi + 0x20], r14b
jmp 0x140071c53
cmp r12, 0x20
jae 0x140071b72
mov esi, SafeArrayAllocDescriptor
jmp 0x140071c0a
cmp r12, 0x208
jae 0x140071b85
mov esi, 0x208
jmp 0x140071c0a
cmp r12, 0x50000
jae 0x140071bcb
pxor xmm0, xmm0
cvtsi2sd xmm0, r12
test r12, r12
jns 0x140071ba4
addsd xmm0, qword [0x140112018]
mulsd xmm0, qword [0x140112050]
xor eax, eax
comisd xmm0, xmm6
jbe 0x140071bc1
subsd xmm0, xmm6
comisd xmm0, xmm6
jae 0x140071bc1
mov rax, rdx
cvttsd2si rsi, xmm0
add rsi, rax
jmp 0x140071c0a
cmp r12, 0x320000
jae 0x140071bde
lea rsi, [r12 + 0x8000]
jmp 0x140071c0a
cmp r12, 0xc80000
jae 0x140071c02
mov rax, r9
mov rsi, r12
mul r12
sub rsi, rdx
shr rsi, 1
add rsi, rdx
shr rsi, 6
add rsi, r12
jmp 0x140071c0a
lea rsi, [r12 + 0x20000]
mov rax, qword [0x1401255a0]
cmp rsi, rax
cmova rsi, rax
cmp r8b, 2
jne 0x140071c32
test rcx, rcx
je 0x140071c32
mov rcx, qword [rdi + 8]
movzx r12d, r14b
call fcn.1400d6fc8
jmp 0x140071c35
xor r12b, r12b
test rsi, rsi
js 0x140071d4c
mov rcx, rsi
call fcn.1400d6f08
test rax, rax
je 0x140071d4c
mov byte [rdi + 0x20], 2
and byte [rdi + 0x21], 0x7f
mov qword [rdi + 0x18], rsi
mov qword [rdi + 8], rax
lea rsi, [0x1400f1614]
mov rcx, qword [rdi + 8]
cmp rcx, rsi
je 0x140071c7c
lea r8, [r13 + r13]
mov rdx, rsi
call fcn.1400d7a30
mov rax, qword [rdi + 8]
lea rcx, [r13 + r13]
xor edx, edx
mov word [rcx + rax], dx
mov qword [rdi + 0x10], rcx
lea r12, [0x14012c4b8]
movzx r13d, byte [rbp]
test dword [rbp + 0x90], 0x200
je 0x140071de4
test r13b, r13b
je 0x140071dbc
or rcx, 0xffffffffffffffff
xor eax, eax
lea rdi, [rbp + 0x18d0]
repne scasw ax, word [rdi]
not rcx
cmp word [rbp + rcx*2 + 0x18d0], ax
jne 0x140071d92
mov r13d, 0x5c
lea rcx, [rbp + 0x18d0]
mov edx, r13d
call fcn.1400d77bc
mov rsi, rax
test rax, rax
je 0x140071de4
mov ecx, 0xa
mov word [rax], cx
lea rax, [rbp + 0x18d0]
mov rcx, rsi
sub rcx, rax
and rcx, 0xfffffffffffffffe
cmp rcx, 4
jne 0x140071de4
cmp word [rsi - 2], 0x3a
jne 0x140071de4
or rcx, 0xffffffffffffffff
xor eax, eax
mov rdi, rsi
repne scasw ax, word [rdi]
mov rdx, rsi
not rcx
lea r8, [rcx + rcx]
lea rcx, [rsi + 2]
call fcn.1400d7a30
mov word [rsi], r13w
jmp 0x140071de4
test r12b, r12b
lea r12, [0x14012c4b8]
je 0x140071d64
xor eax, eax
mov qword [rdi + 8], r12
mov qword [rdi + 0x18], rax
jmp 0x140071d6f
mov rax, qword [rdi + 8]
xor ecx, ecx
mov word [rax], cx
xor eax, eax
lea r8, [0x1400f1524]
lea rdx, [0x1400f5a40]
lea rcx, [0x14012c5c0]
mov qword [rdi + 0x10], rax
call fcn.14004e590
jmp 0x140071c96
lea rax, [rbp + 0x18d0]
mov ecx, 0xa
nop
cmp word [rax], 0
je 0x140071db0
add rax, 2
cmp word [rax], 0
jne 0x140071da6
cmp word [rax + 2], 0
je 0x140071de4
mov word [rax], cx
jmp 0x140071da0
lea rax, [rbp + 0x18d0]
mov ecx, 0xa
cmp word [rax], 0
je 0x140071dda
nop
add rax, 2
cmp word [rax], 0
jne 0x140071dd0
cmp word [rax + 2], 0
mov word [rax], cx
jne 0x140071dc8
movzx edx, byte [r15 + 0x23]
test dl, dl
jne 0x140071e11
mov rcx, qword [r15 + 0x10]
lea rdx, [rbp + 0x18d0]
xor r9d, r9d
or r8, 0xffffffffffffffff
mov byte [rsp + 0x20], r14b
call fcn.1400bd640
mov r14d, eax
jmp 0x14007206d
lea rax, [rbp + 0x18d0]
cmp qword [r15 + 8], rax
jne 0x140071e27
mov rsi, qword [r15 + 0x10]
shr rsi, 1
jmp 0x140071e3e
or rcx, 0xffffffffffffffff
lea rdi, [rbp + 0x18d0]
xor eax, eax
repne scasw ax, word [rdi]
not rcx
lea rsi, [rcx - 1]
lea rax, [rsi + 1]
lea rdi, [rax + rax]
cmp dl, 2
jne 0x140071e62
lea rcx, [rbp + 0x18d0]
mov rdx, rsi
call fcn.140006da0
mov r14d, eax
jmp 0x14007206d
cmp rdi, qword [0x1401255a0]
jbe 0x140071e93
cmp rdi, qword [r15 + 0x18]
jbe 0x140071e93
lea r8, [0x1400f1524]
lea rdx, [0x140110420]
lea rcx, [0x14012c5c0]
call fcn.14004e590
mov r14d, eax
jmp 0x14007206d
cmp rax, 2
jae 0x140071ead
xor r8d, r8d
mov rcx, r15
lea edx, [r8 + 4]
call fcn.1400bdcf0
jmp 0x14007206d
movzx eax, byte [r15 + 0x21]
test al, 2
je 0x140071ec5
mov rcx, qword [r15]
and al, 0x3d
mov byte [r15 + 0x21], al
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.DLL_SafeArrayGetDim]
mov rcx, qword [r15 + 0x18]
and byte [r15 + 0x21], 0x82
cmp rdi, rcx
jbe 0x14007203b
movzx r8d, byte [r15 + 0x20]
movzx eax, r8b
cmp r8b, r14b
jbe 0x140071ef6
cmp al, 2
je 0x140071f35
mov rbx, qword [rbp + 8]
mov rax, qword [rbp + 8]
jmp 0x14007202e
cmp rdi, 0x80
ja 0x140071f35
cmp rdi, rbx
jbe 0x140071f15
mov ebx, 0x80
cmp rdi, 0x10
mov eax, reloc.OLEAUT32.DLL_SafeArrayGetDim
cmovbe ebx, eax
mov rcx, rbx
call fcn.1400b60a0
test rax, rax
jne 0x140071f2c
xor eax, eax
mov r14d, eax
jmp 0x14007206d
mov byte [r15 + 0x20], r14b
jmp 0x14007202e
cmp rdi, 0x20
jae 0x140071f45
mov ebx, SafeArrayAllocDescriptor
jmp 0x140071fec
cmp rdi, 0x208
jae 0x140071f58
mov ebx, 0x208
jmp 0x140071fec
cmp rdi, 0x50000
jae 0x140071fa8
pxor xmm0, xmm0
cvtsi2sd xmm0, rdi
test rdi, rdi
jns 0x140071f77
addsd xmm0, qword [0x140112018]
mulsd xmm0, qword [0x140112050]
xor eax, eax
comisd xmm0, xmm6
jbe 0x140071f9e
subsd xmm0, xmm6
comisd xmm0, xmm6
jae 0x140071f9e
movabs rdx, 0x8000000000000000
mov rax, rdx
cvttsd2si rbx, xmm0
add rbx, rax
jmp 0x140071fec
cmp rdi, 0x320000
jae 0x140071fba
lea rbx, [rdi + 0x8000]
jmp 0x140071fec
cmp rdi, 0xc80000
jae 0x140071fe5
movabs rax, 0x47ae147ae147ae15
mov rbx, rdi
mul rdi
sub rbx, rdx
shr rbx, 1
add rbx, rdx
shr rbx, 6
add rbx, rdi
jmp 0x140071fec
lea rbx, [rdi + 0x20000]
mov rax, qword [0x1401255a0]
cmp rbx, rax
cmova rbx, rax
cmp r8b, 2
jne 0x140072014
test rcx, rcx
je 0x140072014
mov rcx, qword [r15 + 8]
movzx edi, r14b
call fcn.1400d6fc8
jmp 0x140072017
xor dil, dil
test rbx, rbx
js 0x140072091
mov rcx, rbx
call fcn.1400d6f08
test rax, rax
je 0x140072091
mov byte [r15 + 0x20], 2
and byte [r15 + 0x21], 0x7f
mov qword [r15 + 8], rax
mov qword [r15 + 0x18], rbx
mov rcx, qword [r15 + 8]
lea rax, [rbp + 0x18d0]
cmp rcx, rax
je 0x14007205b
lea r8, [rsi + rsi]
lea rdx, [rbp + 0x18d0]
call fcn.1400d7a30
mov rax, qword [r15 + 8]
lea rcx, [rsi + rsi]
xor edx, edx
mov word [rcx + rax], dx
mov qword [r15 + 0x10], rcx
mov eax, r14d
mov rbx, qword [rbp + 0x21930]
movaps xmm6, xmmword [rbp + 0x218d0]
lea rsp, [rbp + 0x218e0]
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
test dil, dil
je 0x1400720a2
xor eax, eax
mov qword [r15 + 8], r12
mov qword [r15 + 0x18], rax
jmp 0x1400720ad
mov rax, qword [r15 + 8]
xor ecx, ecx
mov word [rax], cx
xor eax, eax
mov qword [r15 + 0x10], rax
lea r8, [0x1400f1524]
lea rdx, [0x1400f5a40]
lea rcx, [0x14012c5c0]
call fcn.14004e590
mov r14d, eax
jmp 0x14007206d