Function at 0x14005a160
Capabilities:
Query environment variable

Disassembly:
mov qword [rsp + 8], rcx
push rbx
push rbp
sub rsp, 0x108
mov r8b, 1
xor edx, edx
mov rbp, rcx
call fcn.14002dd50
mov rbx, rax
test rax, rax
jne 0x14005a18d
add rsp, 0x108
pop rbp
pop rbx
ret
cmp byte [rax + 0x23], 0
jne 0x14005a197
mov rbx, qword [rax + 0x10]
movzx r9d, byte [rbp + 1]
cmp r9b, 1
jbe 0x14005a1cc
mov rax, qword [rbp + 8]
mov rdx, qword [rax + 0x38]
test rdx, rdx
je 0x14005a1cc
mov rdx, qword [rdx]
mov r8b, reloc.OLEAUT32.dll_SafeArrayGetElement
mov rcx, rbx
call fcn.140001090
mov eax, 1
add rsp, 0x108
pop rbp
pop rbx
ret
mov qword [rsp + 0x100], rsi
mov qword [rsp + 0xf8], rdi
xor esi, esi
mov qword [rsp + 0xf0], r12
mov qword [rsp + 0xe0], r14
cmp r9b, 2
jb 0x14005a2e2
mov r12, qword [rbp + 8]
mov rax, qword [r12 + 0x30]
test rax, rax
je 0x14005a2e2
cmp qword [rax], rsi
je 0x14005a2e2
mov rdi, qword [r12 + 0x30]
add r12, 0x20
mov r14, qword [rdi + 8]
movzx ecx, byte [r14 + 0x23]
test cl, cl
jne 0x14005a233
mov rax, qword [r14 + 0x10]
movzx edx, byte [rax + 0x23]
jmp 0x14005a236
movzx edx, cl
cmp dl, 3
jne 0x14005a267
movzx eax, byte [rbx + 0x23]
cmp al, 2
jne 0x14005a24d
mov eax, 1
jmp 0x14005af49
test al, al
jne 0x14005a255
mov rbx, qword [rbx + 0x10]
xor r8d, r8d
xor edx, edx
mov rcx, rbx
call fcn.1400afec0
jmp 0x14005af49
test cl, cl
jne 0x14005a276
mov rax, qword [r14 + 0x10]
movzx r8d, byte [rax + 0x21]
jmp 0x14005a27b
movzx r8d, byte [r14 + 0x21]
test r8b, 1
je 0x14005a291
mov rdx, r14
mov rcx, rbx
call fcn.1400b0250
jmp 0x14005af49
cmp qword [rdi + 0x18], rsi
jne 0x14005a2e5
movzx eax, word [r12 + 2]
cmp word [rdi + 0x12], ax
jne 0x14005a2e5
cmp dl, 1
jne 0x14005a2db
mov rax, qword [0x140112488]
cmp byte [rax + 0x134], sil
je 0x14005a2cb
test cl, cl
jne 0x14005a2c2
mov rax, qword [r14 + 0x10]
jmp 0x14005a2c5
mov rax, r14
test byte [rax + 0x21], 8
je 0x14005a2db
mov rdx, r14
mov rcx, rbx
call fcn.1400af680
jmp 0x14005af49
mov qword [rsp + 0x38], r14
jmp 0x14005a2ed
mov r12, rsi
mov qword [rsp + 0x38], rsi
mov r14, rsi
xor dil, dil
mov qword [rsp + 0xe8], r13
mov qword [rsp + 0xd8], r15
xor r15b, r15b
mov byte [rsp + 0x128], dil
test r12, r12
je 0x14005a3ca
movzx eax, byte [rbx + 0x23]
test al, al
jne 0x14005a324
mov rax, qword [rbx + 0x10]
movzx eax, byte [rax + 0x23]
cmp al, 2
je 0x14005a3ca
mov rcx, qword [r12 + 0x10]
mov rdx, qword [rcx]
test rdx, rdx
je 0x14005a3ca
nop dword [rax]
mov rax, qword [rcx + 8]
test r15b, r15b
je 0x14005a392
cmp byte [rax + 0x23], sil
jne 0x14005a353
mov rax, qword [rax + 0x10]
cmp rax, rbx
jne 0x14005a3b7
xor r15b, r15b
test dil, dil
je 0x14005a3ca
test r15b, r15b
jne 0x14005a3ca
xor r9d, r9d
or r8, 0xffffffffffffffff
xor edx, edx
mov rcx, rbp
call fcn.1400894f0
cmp eax, 1
jne 0x14005ac14
mov edx, eax
mov rcx, rbp
call fcn.14002da70
lea rbp, [rax + 1]
jmp 0x14005a58c
cmp byte [rax + 0x23], sil
jne 0x14005a39c
mov rax, qword [rax + 0x10]
cmp rax, rbx
jne 0x14005a3b7
mov dil, 1
mov byte [rsp + 0x128], dil
cmp rdx, qword [r12 + 8]
jne 0x14005a365
movzx r15d, dil
mov rdx, qword [rcx + 0x18]
add rcx, 0x18
test rdx, rdx
jne 0x14005a340
jmp 0x14005a35b
cmp r9b, 2
jb 0x14005acca
test r14, r14
je 0x14005a4a5
movzx ecx, byte [r14 + 0x23]
test ecx, ecx
je 0x14005a491
dec ecx
je 0x14005a42d
dec ecx
je 0x14005a409
dec ecx
je 0x14005a475
mov rdx, qword [r14 + 0x28]
xor ecx, ecx
call qword [r14 + reloc.OLEAUT32.dll_SafeArrayGetElement]
lea rbp, [rax + 1]
jmp 0x14005a58c
lea rcx, [0x140119da8]
xor edx, edx
call fcn.140005f30
mov r13d, 0xffffffff
cmp rax, r13
cmove rax, rsi
lea rbp, [rax + 1]
jmp 0x14005a58c
mov rcx, r14
call fcn.140001130
cmp dword [0x1401178a8], esi
jne 0x14005a481
cmp qword [r14 + 0x10], rsi
jne 0x14005a481
mov rcx, qword [r14 + 0x28]
lea rdx, [rsp + 0x130]
xor r8d, r8d
call qword [sym.imp.KERNEL32.dll_GetEnvironmentVariableW]
test eax, eax
je 0x14005a46e
dec eax
mov qword [0x14011ace8], rsi
lea rbp, [rax + 1]
jmp 0x14005a58c
mov qword [0x14011ace8], r14
mov rax, rsi
lea rbp, [rax + 1]
jmp 0x14005a58c
mov rax, qword [r14 + 0x10]
shr rax, 1
lea rbp, [rax + 1]
jmp 0x14005a58c
mov rcx, qword [r14 + 0x10]
xor edx, edx
call fcn.1400b0970
lea rbp, [rax + 1]
jmp 0x14005a58c
mov rax, qword [rbp + 8]
movzx ecx, word [rax + 0x22]
inc ecx
movsxd rbp, ecx
test r12, r12
je 0x14005a58c
mov r12, qword [r12 + 0x10]
cmp qword [r12], rsi
je 0x14005a58c
mov r13d, 0xffffffff
mov rdi, qword [r12 + 8]
movzx eax, word [r12 + 0x12]
movzx ecx, byte [rdi + 0x23]
sub rbp, rax
test ecx, ecx
je 0x14005a570
dec ecx
je 0x14005a51b
dec ecx
je 0x14005a504
dec ecx
je 0x14005a55c
mov rdx, qword [rdi + 0x28]
xor ecx, ecx
call qword [rdi + reloc.OLEAUT32.dll_SafeArrayGetElement]
jmp 0x14005a57b
lea rcx, [0x140119da8]
xor edx, edx
call fcn.140005f30
cmp rax, r13
cmove rax, rsi
jmp 0x14005a57b
mov rcx, rdi
call fcn.140001130
cmp dword [0x1401178a8], esi
jne 0x14005a561
cmp qword [rdi + 0x10], rsi
jne 0x14005a561
mov rcx, qword [rdi + 0x28]
lea rdx, [rsp + 0x138]
xor r8d, r8d
call qword [sym.imp.KERNEL32.dll_GetEnvironmentVariableW]
test eax, eax
je 0x14005a555
mov qword [0x14011ace8], rsi
dec eax
jmp 0x14005a57b
mov qword [0x14011ace8], rdi
mov rax, rsi
jmp 0x14005a57b
mov rax, qword [rdi + 0x10]
shr rax, 1
jmp 0x14005a57b
mov rcx, qword [rdi + 0x10]
xor edx, edx
call fcn.1400b0970
add r12, 0x18
add rbp, rax
cmp qword [r12], rsi
jne 0x14005a4d0
cmp rbp, 2
jb 0x14005acca
test r15b, r15b
je 0x14005a5e8
cmp byte [rbx + 0x23], sil
jne 0x14005a5a7
mov rax, qword [rbx + 0x10]
jmp 0x14005a5aa
mov rax, rbx
cmp byte [rax + 0x23], 2
jne 0x14005a5b8
mov eax, dword [0x140119dd0]
jmp 0x14005a5bc
mov rax, qword [rax + 0x18]
shr rax, 1
cmp rbp, rax
jbe 0x14005a94e
mov rcx, qword [rsp + 0x120]
lea r9, [rsp + 0x30]
mov r8, rbp
xor edx, edx
call fcn.1400894f0
cmp eax, 1
jne 0x14005ac14
cmp byte [rsp + 0x128], sil
je 0x14005a94e
movzx edx, byte [rbx + 0x23]
mov r13, qword [0x140117658]
test dl, dl
jne 0x14005a622
mov rcx, qword [rbx + 0x10]
xor r9d, r9d
or r8, 0xffffffffffffffff
mov rdx, r13
mov byte [rsp + 0x20], 1
call fcn.1400b0520
jmp 0x14005a936
mov r8b, 1
lea r12, [0x1400e245c]
test r13, r13
jne 0x14005a63c
xor r8b, r8b
mov r14, rsi
mov r13, r12
jmp 0x14005a65e
cmp qword [rbx + 8], r13
jne 0x14005a64b
mov r14, qword [rbx + 0x10]
shr r14, 1
jmp 0x14005a65e
or rcx, 0xffffffffffffffff
xor eax, eax
mov rdi, r13
repne scasw ax, word [rdi]
not rcx
lea r14, [rcx - 1]
lea rax, [r14 + 1]
lea rbp, [rax + rax]
cmp dl, 2
jne 0x14005a67b
mov rdx, r14
mov rcx, r13
call fcn.140006150
jmp 0x14005a936
mov r9, qword [0x140112460]
cmp rbp, r9
jbe 0x14005a699
cmp rbp, qword [rbx + 0x18]
jbe 0x14005a699
lea rdx, str.Memory_limit_reached__see_MaxMem_in_the_help_file_.
jmp 0x14005a927
cmp rax, 2
jae 0x14005a6b9
test r8b, r8b
mov rcx, rbx
setne sil
xor r8d, r8d
lea edx, [rsi + 3]
call fcn.1400b0bd0
jmp 0x14005a878
movzx eax, byte [rbx + 0x21]
test al, 2
je 0x14005a6d6
mov rcx, qword [rbx]
and al, 0x3d
mov byte [rbx + 0x21], al
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_SafeArrayGetDim]
mov r9, qword [0x140112460]
mov r8, qword [rbx + 0x18]
and byte [rbx + 0x21], 0x82
cmp rbp, r8
jbe 0x14005a853
movzx r10d, byte [rbx + 0x20]
movzx eax, r10b
cmp r10b, 1
jbe 0x14005a70f
cmp al, 2
je 0x14005a74c
mov rdi, qword [rsp + 0x128]
mov rax, qword [rsp + 0x128]
jmp 0x14005a847
mov edi, 0x80
cmp rbp, rdi
ja 0x14005a74c
cmp rbp, 8
ja 0x14005a726
mov edi, 8
jmp 0x14005a732
mov eax, reloc.OLEAUT32.dll_SafeArrayGetDim
cmp rbp, rax
cmovbe rdi, rax
mov rcx, rdi
call fcn.1400a96a0
test rax, rax
je 0x14005a93e
mov byte [rbx + 0x20], 1
jmp 0x14005a847
cmp rbp, 0x20
jae 0x14005a75c
mov edi, SafeArrayAllocDescriptor
jmp 0x14005a806
mov edi, 0x208
cmp rbp, rdi
jb 0x14005a806
cmp rbp, 0x50000
jae 0x14005a7c2
pxor xmm0, xmm0
cvtsi2sd xmm0, rbp
test rbp, rbp
jns 0x14005a789
addsd xmm0, qword [0x140100db8]
mulsd xmm0, qword [0x140100df0]
movsd xmm1, qword [0x140100de8]
xor ecx, ecx
comisd xmm0, xmm1
jbe 0x14005a7b8
subsd xmm0, xmm1
comisd xmm0, xmm1
jae 0x14005a7b8
movabs rax, 0x8000000000000000
mov rcx, rax
cvttsd2si rdi, xmm0
add rdi, rcx
jmp 0x14005a806
cmp rbp, 0x320000
jae 0x14005a7d4
lea rdi, [rbp + 0x8000]
jmp 0x14005a806
cmp rbp, 0xc80000
jae 0x14005a7ff
movabs rax, 0x47ae147ae147ae15
mov rdi, rbp
mul rbp
sub rdi, rdx
shr rdi, 1
add rdi, rdx
shr rdi, 6
add rdi, rbp
jmp 0x14005a806
lea rdi, [rbp + 0x20000]
cmp rdi, r9
cmova rdi, r9
cmp r10b, 2
jne 0x14005a826
test r8, r8
je 0x14005a826
mov rcx, qword [rbx + 8]
mov bpl, 1
call fcn.1400ca3e0
jmp 0x14005a829
xor bpl, bpl
test rdi, rdi
js 0x14005a8ff
mov rcx, rdi
call fcn.1400c9944
test rax, rax
je 0x14005a8ff
mov byte [rbx + 0x20], 2
and byte [rbx + 0x21], 0x7f
mov qword [rbx + 8], rax
mov qword [rbx + 0x18], rdi
mov rcx, qword [rbx + 8]
cmp rcx, r13
je 0x14005a868
lea r8, [r14 + r14]
mov rdx, r13
call fcn.1400ca5a0
mov rax, qword [rbx + 8]
lea rcx, [r14 + r14]
mov word [rcx + rax], si
mov qword [rbx + 0x10], rcx
mov rax, qword [0x140112488]
mov esi, 1
cmp byte [rax + 0x134], 0
je 0x14005af37
xor r8d, r8d
mov edx, esi
mov rcx, rbx
call fcn.140001820
mov rdi, rax
cmp word [rax], 0
je 0x14005af37
mov rcx, rbx
call fcn.14001c550
mov rcx, rdi
mov rdx, rax
call fcn.14001be70
mov rcx, rdi
mov rdx, rax
call fcn.14001bf70
mov rcx, rbx
mov rdx, rax
call fcn.14001c500
cmp byte [rbx + 0x23], 0
jne 0x14005a8de
mov rbx, qword [rbx + 0x10]
cmp byte [rbx + 0x23], 2
jne 0x14005a945
cmp qword [0x140119dc0], 0
je 0x14005a945
lea rcx, [0x140119da8]
call fcn.1400062d0
jmp 0x14005af37
test bpl, bpl
je 0x14005a915
lea rax, [0x140119108]
mov qword [rbx + 0x18], rsi
mov qword [rbx + 8], rax
jmp 0x14005a91c
mov rax, qword [rbx + 8]
mov word [rax], si
mov qword [rbx + 0x10], rsi
lea rdx, str.Out_of_memory.
lea rcx, [0x140119150]
mov r8, r12
call fcn.140040520
test eax, eax
jne 0x14005a878
xor eax, eax
jmp 0x14005af39
and byte [rbx + 0x21], 0x86
jmp 0x14005af37
test r15b, r15b
jne 0x14005ac2b
movzx ecx, byte [rbx + 0x23]
lea r13, [rbp - 1]
test cl, cl
jne 0x14005a97e
mov rcx, qword [rbx + 0x10]
xor r9d, r9d
mov r8, r13
xor edx, edx
mov byte [rsp + 0x20], 1
call fcn.1400b0520
jmp 0x14005ac0d
mov r12b, 1
movzx edx, r12b
cmp r13, 0xffffffffffffffff
jne 0x14005a992
xor dl, dl
mov r13, rsi
jmp 0x14005a995
xor r12b, r12b
lea rax, [r13 + 1]
lea rbp, [rax + rax]
cmp cl, 2
jne 0x14005a9d6
test r12b, r12b
je 0x14005a9bb
lea rcx, [0x1400e245c]
mov rdx, r13
call fcn.140006150
jmp 0x14005ac0d
lea rcx, [0x140119da8]
mov rdx, rax
call fcn.140006210
test rax, rax
setne sil
jmp 0x14005ac0f
mov r8, qword [0x140112460]
cmp rbp, r8
jbe 0x14005a9f4
cmp rbp, qword [rbx + 0x18]
jbe 0x14005a9f4
lea rdx, str.Memory_limit_reached__see_MaxMem_in_the_help_file_.
jmp 0x14005abfa
cmp rax, 2
jae 0x14005aa13
test dl, dl
mov rcx, rbx
setne sil
xor r8d, r8d
lea edx, [rsi + 3]
call fcn.1400b0bd0
jmp 0x14005ac2b
movzx eax, byte [rbx + 0x21]
test al, 2
je 0x14005aa30
mov rcx, qword [rbx]
and al, 0x3d
mov byte [rbx + 0x21], al
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_SafeArrayGetDim]
mov r8, qword [0x140112460]
mov r9, qword [rbx + 0x18]
and byte [rbx + 0x21], 0x82
cmp rbp, r9
jbe 0x14005aba5
movzx r10d, byte [rbx + 0x20]
movzx eax, r10b
cmp r10b, 1
jbe 0x14005aa69
cmp al, 2
je 0x14005aaa6
mov rdi, qword [rsp + 0x128]
mov rax, qword [rsp + 0x128]
jmp 0x14005ab99
mov edi, 0x80
cmp rbp, rdi
ja 0x14005aaa6
cmp rbp, 8
ja 0x14005aa80
mov edi, 8
jmp 0x14005aa8c
mov eax, reloc.OLEAUT32.dll_SafeArrayGetDim
cmp rbp, rax
cmovbe rdi, rax
mov rcx, rdi
call fcn.1400a96a0
test rax, rax
je 0x14005ac14
mov byte [rbx + 0x20], 1
jmp 0x14005ab99
cmp rbp, 0x20
jae 0x14005aab6
mov edi, SafeArrayAllocDescriptor
jmp 0x14005ab60
mov edi, 0x208
cmp rbp, rdi
jb 0x14005ab60
cmp rbp, 0x50000
jae 0x14005ab1c
pxor xmm0, xmm0
cvtsi2sd xmm0, rbp
test rbp, rbp
jns 0x14005aae3
addsd xmm0, qword [0x140100db8]
mulsd xmm0, qword [0x140100df0]
movsd xmm1, qword [0x140100de8]
xor ecx, ecx
comisd xmm0, xmm1
jbe 0x14005ab12
subsd xmm0, xmm1
comisd xmm0, xmm1
jae 0x14005ab12
movabs rax, 0x8000000000000000
mov rcx, rax
cvttsd2si rdi, xmm0
add rdi, rcx
jmp 0x14005ab60
cmp rbp, 0x320000
jae 0x14005ab2e
lea rdi, [rbp + 0x8000]
jmp 0x14005ab60
cmp rbp, 0xc80000
jae 0x14005ab59
movabs rax, 0x47ae147ae147ae15
mov rdi, rbp
mul rbp
sub rdi, rdx
shr rdi, 1
add rdi, rdx
shr rdi, 6
add rdi, rbp
jmp 0x14005ab60
lea rdi, [rbp + 0x20000]
cmp rdi, r8
cmova rdi, r8
cmp r10b, 2
jne 0x14005ab80
test r9, r9
je 0x14005ab80
mov rcx, qword [rbx + 8]
mov bpl, 1
call fcn.1400ca3e0
jmp 0x14005ab83
xor bpl, bpl
test rdi, rdi
js 0x14005abd2
mov rcx, rdi
call fcn.1400c9944
test rax, rax
je 0x14005abd2
mov byte [rbx + 0x20], 2
and byte [rbx + 0x21], 0x7f
mov qword [rbx + 8], rax
mov qword [rbx + 0x18], rdi
test r12b, r12b
je 0x14005ac1b
mov rcx, qword [rbx + 8]
lea r12, [0x1400e245c]
cmp rcx, r12
je 0x14005abc7
lea r8, [r13 + r13]
mov rdx, r12
call fcn.1400ca5a0
mov rax, qword [rbx + 8]
mov word [rax + r13*2], si
jmp 0x14005ac22
test bpl, bpl
je 0x14005abe8
lea rax, [0x140119108]
mov qword [rbx + 0x18], rsi
mov qword [rbx + 8], rax
jmp 0x14005abef
mov rax, qword [rbx + 8]
mov word [rax], si
mov qword [rbx + 0x10], rsi
lea rdx, str.Out_of_memory.
lea r8, [0x1400e245c]
lea rcx, [0x140119150]
call fcn.140040520
mov esi, eax
cmp esi, 1
je 0x14005ac2b
xor eax, eax
jmp 0x14005af39
mov rax, qword [rbx + 8]
mov word [rax], si
lea rax, [r13 + r13]
mov qword [rbx + 0x10], rax
mov esi, 1
xor r8d, r8d
mov rcx, rbx
mov edx, esi
call fcn.140001820
mov rcx, qword [rsp + 0x120]
mov r9, r14
mov rdx, rax
mov r8d, esi
mov rdi, rax
call fcn.140089ed0
mov rdx, rax
test rax, rax
je 0x14005ac14
mov rax, qword [0x140112488]
sub rdx, rdi
sar rdx, 1
dec rdx
cmp byte [rax + 0x134], 0
je 0x14005ac8d
mov rcx, rdi
call fcn.14001be70
mov rcx, rdi
mov rdx, rax
call fcn.14001bf70
mov rdx, rax
mov rcx, rbx
call fcn.14001c500
cmp byte [rbx + 0x23], 0
jne 0x14005ac9f
mov rbx, qword [rbx + 0x10]
cmp byte [rbx + 0x23], 2
jne 0x14005a945
cmp qword [0x140119dc0], 0
je 0x14005a945
lea rcx, [0x140119da8]
call fcn.1400062d0
mov esi, eax
jmp 0x14005af37
movzx eax, byte [rbx + 0x23]
test al, al
jne 0x14005acf5
mov rcx, qword [rbx + 0x10]
lea rdx, [0x1400e245c]
xor r9d, r9d
or r8, 0xffffffffffffffff
mov byte [rsp + 0x20], 1
call fcn.1400b0520
mov esi, eax
jmp 0x14005af37
lea r12, [0x1400e245c]
cmp qword [rbx + 8], r12
jne 0x14005ad0b
mov r13, qword [rbx + 0x10]
shr r13, 1
jmp 0x14005ad0e
mov r13, rsi
lea rcx, [r13 + 1]
lea rbp, [rcx + rcx]
cmp al, 2
jne 0x14005ad2c
mov rdx, r13
mov rcx, r12
call fcn.140006150
mov esi, eax
jmp 0x14005af37
mov r8, qword [0x140112460]
cmp rbp, r8
jbe 0x14005ad5b
cmp rbp, qword [rbx + 0x18]
jbe 0x14005ad5b
lea rdx, str.Memory_limit_reached__see_MaxMem_in_the_help_file_.
lea rcx, [0x140119150]
mov r8, r12
call fcn.140040520
mov esi, eax
jmp 0x14005af37
cmp rcx, 2
jae 0x14005ad75
xor r8d, r8d
mov rcx, rbx
lea edx, [r8 + 4]
call fcn.1400b0bd0
jmp 0x14005af32
movzx eax, byte [rbx + 0x21]
test al, 2
je 0x14005ad92
mov rcx, qword [rbx]
and al, 0x3d
mov byte [rbx + 0x21], al
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_SafeArrayGetDim]
mov r8, qword [0x140112460]
mov r9, qword [rbx + 0x18]
and byte [rbx + 0x21], 0x82
cmp rbp, r9
jbe 0x14005af0b
movzx r10d, byte [rbx + 0x20]
movzx eax, r10b
cmp r10b, 1
jbe 0x14005adcb
cmp al, 2
je 0x14005ae08
mov rdi, qword [rsp + 0x128]
mov rax, qword [rsp + 0x128]
jmp 0x14005aeff
mov edi, 0x80
cmp rbp, rdi
ja 0x14005ae08
cmp rbp, 8
ja 0x14005ade2
mov edi, 8
jmp 0x14005adee
mov eax, reloc.OLEAUT32.dll_SafeArrayGetDim
cmp rbp, rax
cmovbe rdi, rax
mov rcx, rdi
call fcn.1400a96a0
test rax, rax
je 0x14005af37
mov byte [rbx + 0x20], 1
jmp 0x14005aeff
cmp rbp, 0x20
jae 0x14005ae18
mov edi, SafeArrayAllocDescriptor
jmp 0x14005aec2
mov edi, 0x208
cmp rbp, rdi
jb 0x14005aec2
cmp rbp, 0x50000
jae 0x14005ae7e
pxor xmm0, xmm0
cvtsi2sd xmm0, rbp
test rbp, rbp
jns 0x14005ae45
addsd xmm0, qword [0x140100db8]
mulsd xmm0, qword [0x140100df0]
movsd xmm1, qword [0x140100de8]
xor ecx, ecx
comisd xmm0, xmm1
jbe 0x14005ae74
subsd xmm0, xmm1
comisd xmm0, xmm1
jae 0x14005ae74
movabs rax, 0x8000000000000000
mov rcx, rax
cvttsd2si rdi, xmm0
add rdi, rcx
jmp 0x14005aec2
cmp rbp, 0x320000
jae 0x14005ae90
lea rdi, [rbp + 0x8000]
jmp 0x14005aec2
cmp rbp, 0xc80000
jae 0x14005aebb
movabs rax, 0x47ae147ae147ae15
mov rdi, rbp
mul rbp
sub rdi, rdx
shr rdi, 1
add rdi, rdx
shr rdi, 6
add rdi, rbp
jmp 0x14005aec2
lea rdi, [rbp + 0x20000]
cmp rdi, r8
cmova rdi, r8
cmp r10b, 2
jne 0x14005aee2
test r9, r9
je 0x14005aee2
mov rcx, qword [rbx + 8]
mov bpl, 1
call fcn.1400ca3e0
jmp 0x14005aee5
xor bpl, bpl
test rdi, rdi
js 0x14005af73
mov rcx, rdi
call fcn.1400c9944
test rax, rax
je 0x14005af73
mov byte [rbx + 0x20], 2
and byte [rbx + 0x21], 0x7f
mov qword [rbx + 8], rax
mov qword [rbx + 0x18], rdi
mov rcx, qword [rbx + 8]
cmp rcx, r12
je 0x14005af21
lea r8, [r13 + r13]
mov rdx, r12
call fcn.1400ca5a0
mov rax, qword [rbx + 8]
lea rcx, [r13 + r13]
mov word [rcx + rax], si
mov qword [rbx + 0x10], rcx
mov esi, 1
mov eax, esi
mov r13, qword [rsp + 0xe8]
mov r15, qword [rsp + 0xd8]
mov r12, qword [rsp + 0xf0]
mov rdi, qword [rsp + 0xf8]
mov rsi, qword [rsp + 0x100]
mov r14, qword [rsp + 0xe0]
add rsp, 0x108
pop rbp
pop rbx
ret
test bpl, bpl
je 0x14005af89
lea rax, [0x140119108]
mov qword [rbx + 0x18], rsi
mov qword [rbx + 8], rax
jmp 0x14005af90
mov rax, qword [rbx + 8]
mov word [rax], si
lea rdx, str.Out_of_memory.
lea rcx, [0x140119150]
mov r8, r12
mov qword [rbx + 0x10], rsi
call fcn.140040520
mov esi, eax
jmp 0x14005af37