Function at 0x14005a030
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.14002dcb0
mov rbx, rax
test rax, rax
jne 0x14005a05d
add rsp, 0x108
pop rbp
pop rbx
ret
cmp byte [rax + 0x23], 0
jne 0x14005a067
mov rbx, qword [rax + 0x10]
movzx r9d, byte [rbp + 1]
cmp r9b, 1
jbe 0x14005a09c
mov rax, qword [rbp + 8]
mov rdx, qword [rax + 0x38]
test rdx, rdx
je 0x14005a09c
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 0x14005a1b2
mov r12, qword [rbp + 8]
mov rax, qword [r12 + 0x30]
test rax, rax
je 0x14005a1b2
cmp qword [rax], rsi
je 0x14005a1b2
mov rdi, qword [r12 + 0x30]
add r12, 0x20
mov r14, qword [rdi + 8]
movzx ecx, byte [r14 + 0x23]
test cl, cl
jne 0x14005a103
mov rax, qword [r14 + 0x10]
movzx edx, byte [rax + 0x23]
jmp 0x14005a106
movzx edx, cl
cmp dl, 3
jne 0x14005a137
movzx eax, byte [rbx + 0x23]
cmp al, 2
jne 0x14005a11d
mov eax, 1
jmp 0x14005ae19
test al, al
jne 0x14005a125
mov rbx, qword [rbx + 0x10]
xor r8d, r8d
xor edx, edx
mov rcx, rbx
call fcn.1400afbe0
jmp 0x14005ae19
test cl, cl
jne 0x14005a146
mov rax, qword [r14 + 0x10]
movzx r8d, byte [rax + 0x21]
jmp 0x14005a14b
movzx r8d, byte [r14 + 0x21]
test r8b, 1
je 0x14005a161
mov rdx, r14
mov rcx, rbx
call fcn.1400aff70
jmp 0x14005ae19
cmp qword [rdi + 0x18], rsi
jne 0x14005a1b5
movzx eax, word [r12 + 2]
cmp word [rdi + 0x12], ax
jne 0x14005a1b5
cmp dl, 1
jne 0x14005a1ab
mov rax, qword [0x140112488]
cmp byte [rax + 0x134], sil
je 0x14005a19b
test cl, cl
jne 0x14005a192
mov rax, qword [r14 + 0x10]
jmp 0x14005a195
mov rax, r14
test byte [rax + 0x21], 8
je 0x14005a1ab
mov rdx, r14
mov rcx, rbx
call fcn.1400af3a0
jmp 0x14005ae19
mov qword [rsp + 0x38], r14
jmp 0x14005a1bd
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 0x14005a29a
movzx eax, byte [rbx + 0x23]
test al, al
jne 0x14005a1f4
mov rax, qword [rbx + 0x10]
movzx eax, byte [rax + 0x23]
cmp al, 2
je 0x14005a29a
mov rcx, qword [r12 + 0x10]
mov rdx, qword [rcx]
test rdx, rdx
je 0x14005a29a
nop dword [rax]
mov rax, qword [rcx + 8]
test r15b, r15b
je 0x14005a262
cmp byte [rax + 0x23], sil
jne 0x14005a223
mov rax, qword [rax + 0x10]
cmp rax, rbx
jne 0x14005a287
xor r15b, r15b
test dil, dil
je 0x14005a29a
test r15b, r15b
jne 0x14005a29a
xor r9d, r9d
or r8, 0xffffffffffffffff
xor edx, edx
mov rcx, rbp
call fcn.140089260
cmp eax, 1
jne 0x14005aae4
mov edx, eax
mov rcx, rbp
call fcn.14002d9d0
lea rbp, [rax + 1]
jmp 0x14005a45c
cmp byte [rax + 0x23], sil
jne 0x14005a26c
mov rax, qword [rax + 0x10]
cmp rax, rbx
jne 0x14005a287
mov dil, 1
mov byte [rsp + 0x128], dil
cmp rdx, qword [r12 + 8]
jne 0x14005a235
movzx r15d, dil
mov rdx, qword [rcx + 0x18]
add rcx, 0x18
test rdx, rdx
jne 0x14005a210
jmp 0x14005a22b
cmp r9b, 2
jb 0x14005ab9a
test r14, r14
je 0x14005a375
movzx ecx, byte [r14 + 0x23]
test ecx, ecx
je 0x14005a361
dec ecx
je 0x14005a2fd
dec ecx
je 0x14005a2d9
dec ecx
je 0x14005a345
mov rdx, qword [r14 + 0x28]
xor ecx, ecx
call qword [r14 + reloc.OLEAUT32.dll_SafeArrayGetElement]
lea rbp, [rax + 1]
jmp 0x14005a45c
lea rcx, [0x140119da8]
xor edx, edx
call fcn.140005f20
mov r13d, 0xffffffff
cmp rax, r13
cmove rax, rsi
lea rbp, [rax + 1]
jmp 0x14005a45c
mov rcx, r14
call fcn.140001130
cmp dword [0x1401178a8], esi
jne 0x14005a351
cmp qword [r14 + 0x10], rsi
jne 0x14005a351
mov rcx, qword [r14 + 0x28]
lea rdx, [rsp + 0x130]
xor r8d, r8d
call qword [sym.imp.KERNEL32.dll_GetEnvironmentVariableW]
test eax, eax
je 0x14005a33e
dec eax
mov qword [0x14011ace8], rsi
lea rbp, [rax + 1]
jmp 0x14005a45c
mov qword [0x14011ace8], r14
mov rax, rsi
lea rbp, [rax + 1]
jmp 0x14005a45c
mov rax, qword [r14 + 0x10]
shr rax, 1
lea rbp, [rax + 1]
jmp 0x14005a45c
mov rcx, qword [r14 + 0x10]
xor edx, edx
call fcn.1400b0690
lea rbp, [rax + 1]
jmp 0x14005a45c
mov rax, qword [rbp + 8]
movzx ecx, word [rax + 0x22]
inc ecx
movsxd rbp, ecx
test r12, r12
je 0x14005a45c
mov r12, qword [r12 + 0x10]
cmp qword [r12], rsi
je 0x14005a45c
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 0x14005a440
dec ecx
je 0x14005a3eb
dec ecx
je 0x14005a3d4
dec ecx
je 0x14005a42c
mov rdx, qword [rdi + 0x28]
xor ecx, ecx
call qword [rdi + reloc.OLEAUT32.dll_SafeArrayGetElement]
jmp 0x14005a44b
lea rcx, [0x140119da8]
xor edx, edx
call fcn.140005f20
cmp rax, r13
cmove rax, rsi
jmp 0x14005a44b
mov rcx, rdi
call fcn.140001130
cmp dword [0x1401178a8], esi
jne 0x14005a431
cmp qword [rdi + 0x10], rsi
jne 0x14005a431
mov rcx, qword [rdi + 0x28]
lea rdx, [rsp + 0x138]
xor r8d, r8d
call qword [sym.imp.KERNEL32.dll_GetEnvironmentVariableW]
test eax, eax
je 0x14005a425
mov qword [0x14011ace8], rsi
dec eax
jmp 0x14005a44b
mov qword [0x14011ace8], rdi
mov rax, rsi
jmp 0x14005a44b
mov rax, qword [rdi + 0x10]
shr rax, 1
jmp 0x14005a44b
mov rcx, qword [rdi + 0x10]
xor edx, edx
call fcn.1400b0690
add r12, 0x18
add rbp, rax
cmp qword [r12], rsi
jne 0x14005a3a0
cmp rbp, 2
jb 0x14005ab9a
test r15b, r15b
je 0x14005a4b8
cmp byte [rbx + 0x23], sil
jne 0x14005a477
mov rax, qword [rbx + 0x10]
jmp 0x14005a47a
mov rax, rbx
cmp byte [rax + 0x23], 2
jne 0x14005a488
mov eax, dword [0x140119dd0]
jmp 0x14005a48c
mov rax, qword [rax + 0x18]
shr rax, 1
cmp rbp, rax
jbe 0x14005a81e
mov rcx, qword [rsp + 0x120]
lea r9, [rsp + 0x30]
mov r8, rbp
xor edx, edx
call fcn.140089260
cmp eax, 1
jne 0x14005aae4
cmp byte [rsp + 0x128], sil
je 0x14005a81e
movzx edx, byte [rbx + 0x23]
mov r13, qword [0x140117658]
test dl, dl
jne 0x14005a4f2
mov rcx, qword [rbx + 0x10]
xor r9d, r9d
or r8, 0xffffffffffffffff
mov rdx, r13
mov byte [rsp + 0x20], 1
call fcn.1400b0240
jmp 0x14005a806
mov r8b, 1
lea r12, [0x1400e245c]
test r13, r13
jne 0x14005a50c
xor r8b, r8b
mov r14, rsi
mov r13, r12
jmp 0x14005a52e
cmp qword [rbx + 8], r13
jne 0x14005a51b
mov r14, qword [rbx + 0x10]
shr r14, 1
jmp 0x14005a52e
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 0x14005a54b
mov rdx, r14
mov rcx, r13
call fcn.140006140
jmp 0x14005a806
mov r9, qword [0x140112460]
cmp rbp, r9
jbe 0x14005a569
cmp rbp, qword [rbx + 0x18]
jbe 0x14005a569
lea rdx, str.Memory_limit_reached__see_MaxMem_in_the_help_file_.
jmp 0x14005a7f7
cmp rax, 2
jae 0x14005a589
test r8b, r8b
mov rcx, rbx
setne sil
xor r8d, r8d
lea edx, [rsi + 3]
call fcn.1400b08f0
jmp 0x14005a748
movzx eax, byte [rbx + 0x21]
test al, 2
je 0x14005a5a6
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 0x14005a723
movzx r10d, byte [rbx + 0x20]
movzx eax, r10b
cmp r10b, 1
jbe 0x14005a5df
cmp al, 2
je 0x14005a61c
mov rdi, qword [rsp + 0x128]
mov rax, qword [rsp + 0x128]
jmp 0x14005a717
mov edi, 0x80
cmp rbp, rdi
ja 0x14005a61c
cmp rbp, 8
ja 0x14005a5f6
mov edi, 8
jmp 0x14005a602
mov eax, reloc.OLEAUT32.dll_SafeArrayGetDim
cmp rbp, rax
cmovbe rdi, rax
mov rcx, rdi
call fcn.1400a93d0
test rax, rax
je 0x14005a80e
mov byte [rbx + 0x20], 1
jmp 0x14005a717
cmp rbp, 0x20
jae 0x14005a62c
mov edi, SafeArrayAllocDescriptor
jmp 0x14005a6d6
mov edi, 0x208
cmp rbp, rdi
jb 0x14005a6d6
cmp rbp, 0x50000
jae 0x14005a692
pxor xmm0, xmm0
cvtsi2sd xmm0, rbp
test rbp, rbp
jns 0x14005a659
addsd xmm0, qword [0x140100db8]
mulsd xmm0, qword [0x140100df0]
movsd xmm1, qword [0x140100de8]
xor ecx, ecx
comisd xmm0, xmm1
jbe 0x14005a688
subsd xmm0, xmm1
comisd xmm0, xmm1
jae 0x14005a688
movabs rax, 0x8000000000000000
mov rcx, rax
cvttsd2si rdi, xmm0
add rdi, rcx
jmp 0x14005a6d6
cmp rbp, 0x320000
jae 0x14005a6a4
lea rdi, [rbp + 0x8000]
jmp 0x14005a6d6
cmp rbp, 0xc80000
jae 0x14005a6cf
movabs rax, 0x47ae147ae147ae15
mov rdi, rbp
mul rbp
sub rdi, rdx
shr rdi, 1
add rdi, rdx
shr rdi, 6
add rdi, rbp
jmp 0x14005a6d6
lea rdi, [rbp + 0x20000]
cmp rdi, r9
cmova rdi, r9
cmp r10b, 2
jne 0x14005a6f6
test r8, r8
je 0x14005a6f6
mov rcx, qword [rbx + 8]
mov bpl, 1
call fcn.1400ca100
jmp 0x14005a6f9
xor bpl, bpl
test rdi, rdi
js 0x14005a7cf
mov rcx, rdi
call fcn.1400c9664
test rax, rax
je 0x14005a7cf
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 0x14005a738
lea r8, [r14 + r14]
mov rdx, r13
call fcn.1400ca2c0
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 0x14005ae07
xor r8d, r8d
mov edx, esi
mov rcx, rbx
call fcn.140001820
mov rdi, rax
cmp word [rax], 0
je 0x14005ae07
mov rcx, rbx
call fcn.14001c4b0
mov rcx, rdi
mov rdx, rax
call fcn.14001bdd0
mov rcx, rdi
mov rdx, rax
call fcn.14001be50
mov rcx, rbx
mov rdx, rax
call fcn.14001c460
cmp byte [rbx + 0x23], 0
jne 0x14005a7ae
mov rbx, qword [rbx + 0x10]
cmp byte [rbx + 0x23], 2
jne 0x14005a815
cmp qword [0x140119dc0], 0
je 0x14005a815
lea rcx, [0x140119da8]
call fcn.1400062c0
jmp 0x14005ae07
test bpl, bpl
je 0x14005a7e5
lea rax, [0x140119108]
mov qword [rbx + 0x18], rsi
mov qword [rbx + 8], rax
jmp 0x14005a7ec
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.1400404c0
test eax, eax
jne 0x14005a748
xor eax, eax
jmp 0x14005ae09
and byte [rbx + 0x21], 0x86
jmp 0x14005ae07
test r15b, r15b
jne 0x14005aafb
movzx ecx, byte [rbx + 0x23]
lea r13, [rbp - 1]
test cl, cl
jne 0x14005a84e
mov rcx, qword [rbx + 0x10]
xor r9d, r9d
mov r8, r13
xor edx, edx
mov byte [rsp + 0x20], 1
call fcn.1400b0240
jmp 0x14005aadd
mov r12b, 1
movzx edx, r12b
cmp r13, 0xffffffffffffffff
jne 0x14005a862
xor dl, dl
mov r13, rsi
jmp 0x14005a865
xor r12b, r12b
lea rax, [r13 + 1]
lea rbp, [rax + rax]
cmp cl, 2
jne 0x14005a8a6
test r12b, r12b
je 0x14005a88b
lea rcx, [0x1400e245c]
mov rdx, r13
call fcn.140006140
jmp 0x14005aadd
lea rcx, [0x140119da8]
mov rdx, rax
call fcn.140006200
test rax, rax
setne sil
jmp 0x14005aadf
mov r8, qword [0x140112460]
cmp rbp, r8
jbe 0x14005a8c4
cmp rbp, qword [rbx + 0x18]
jbe 0x14005a8c4
lea rdx, str.Memory_limit_reached__see_MaxMem_in_the_help_file_.
jmp 0x14005aaca
cmp rax, 2
jae 0x14005a8e3
test dl, dl
mov rcx, rbx
setne sil
xor r8d, r8d
lea edx, [rsi + 3]
call fcn.1400b08f0
jmp 0x14005aafb
movzx eax, byte [rbx + 0x21]
test al, 2
je 0x14005a900
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 0x14005aa75
movzx r10d, byte [rbx + 0x20]
movzx eax, r10b
cmp r10b, 1
jbe 0x14005a939
cmp al, 2
je 0x14005a976
mov rdi, qword [rsp + 0x128]
mov rax, qword [rsp + 0x128]
jmp 0x14005aa69
mov edi, 0x80
cmp rbp, rdi
ja 0x14005a976
cmp rbp, 8
ja 0x14005a950
mov edi, 8
jmp 0x14005a95c
mov eax, reloc.OLEAUT32.dll_SafeArrayGetDim
cmp rbp, rax
cmovbe rdi, rax
mov rcx, rdi
call fcn.1400a93d0
test rax, rax
je 0x14005aae4
mov byte [rbx + 0x20], 1
jmp 0x14005aa69
cmp rbp, 0x20
jae 0x14005a986
mov edi, SafeArrayAllocDescriptor
jmp 0x14005aa30
mov edi, 0x208
cmp rbp, rdi
jb 0x14005aa30
cmp rbp, 0x50000
jae 0x14005a9ec
pxor xmm0, xmm0
cvtsi2sd xmm0, rbp
test rbp, rbp
jns 0x14005a9b3
addsd xmm0, qword [0x140100db8]
mulsd xmm0, qword [0x140100df0]
movsd xmm1, qword [0x140100de8]
xor ecx, ecx
comisd xmm0, xmm1
jbe 0x14005a9e2
subsd xmm0, xmm1
comisd xmm0, xmm1
jae 0x14005a9e2
movabs rax, 0x8000000000000000
mov rcx, rax
cvttsd2si rdi, xmm0
add rdi, rcx
jmp 0x14005aa30
cmp rbp, 0x320000
jae 0x14005a9fe
lea rdi, [rbp + 0x8000]
jmp 0x14005aa30
cmp rbp, 0xc80000
jae 0x14005aa29
movabs rax, 0x47ae147ae147ae15
mov rdi, rbp
mul rbp
sub rdi, rdx
shr rdi, 1
add rdi, rdx
shr rdi, 6
add rdi, rbp
jmp 0x14005aa30
lea rdi, [rbp + 0x20000]
cmp rdi, r8
cmova rdi, r8
cmp r10b, 2
jne 0x14005aa50
test r9, r9
je 0x14005aa50
mov rcx, qword [rbx + 8]
mov bpl, 1
call fcn.1400ca100
jmp 0x14005aa53
xor bpl, bpl
test rdi, rdi
js 0x14005aaa2
mov rcx, rdi
call fcn.1400c9664
test rax, rax
je 0x14005aaa2
mov byte [rbx + 0x20], 2
and byte [rbx + 0x21], 0x7f
mov qword [rbx + 8], rax
mov qword [rbx + 0x18], rdi
test r12b, r12b
je 0x14005aaeb
mov rcx, qword [rbx + 8]
lea r12, [0x1400e245c]
cmp rcx, r12
je 0x14005aa97
lea r8, [r13 + r13]
mov rdx, r12
call fcn.1400ca2c0
mov rax, qword [rbx + 8]
mov word [rax + r13*2], si
jmp 0x14005aaf2
test bpl, bpl
je 0x14005aab8
lea rax, [0x140119108]
mov qword [rbx + 0x18], rsi
mov qword [rbx + 8], rax
jmp 0x14005aabf
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.1400404c0
mov esi, eax
cmp esi, 1
je 0x14005aafb
xor eax, eax
jmp 0x14005ae09
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.140089c40
mov rdx, rax
test rax, rax
je 0x14005aae4
mov rax, qword [0x140112488]
sub rdx, rdi
sar rdx, 1
dec rdx
cmp byte [rax + 0x134], 0
je 0x14005ab5d
mov rcx, rdi
call fcn.14001bdd0
mov rcx, rdi
mov rdx, rax
call fcn.14001be50
mov rdx, rax
mov rcx, rbx
call fcn.14001c460
cmp byte [rbx + 0x23], 0
jne 0x14005ab6f
mov rbx, qword [rbx + 0x10]
cmp byte [rbx + 0x23], 2
jne 0x14005a815
cmp qword [0x140119dc0], 0
je 0x14005a815
lea rcx, [0x140119da8]
call fcn.1400062c0
mov esi, eax
jmp 0x14005ae07
movzx eax, byte [rbx + 0x23]
test al, al
jne 0x14005abc5
mov rcx, qword [rbx + 0x10]
lea rdx, [0x1400e245c]
xor r9d, r9d
or r8, 0xffffffffffffffff
mov byte [rsp + 0x20], 1
call fcn.1400b0240
mov esi, eax
jmp 0x14005ae07
lea r12, [0x1400e245c]
cmp qword [rbx + 8], r12
jne 0x14005abdb
mov r13, qword [rbx + 0x10]
shr r13, 1
jmp 0x14005abde
mov r13, rsi
lea rcx, [r13 + 1]
lea rbp, [rcx + rcx]
cmp al, 2
jne 0x14005abfc
mov rdx, r13
mov rcx, r12
call fcn.140006140
mov esi, eax
jmp 0x14005ae07
mov r8, qword [0x140112460]
cmp rbp, r8
jbe 0x14005ac2b
cmp rbp, qword [rbx + 0x18]
jbe 0x14005ac2b
lea rdx, str.Memory_limit_reached__see_MaxMem_in_the_help_file_.
lea rcx, [0x140119150]
mov r8, r12
call fcn.1400404c0
mov esi, eax
jmp 0x14005ae07
cmp rcx, 2
jae 0x14005ac45
xor r8d, r8d
mov rcx, rbx
lea edx, [r8 + 4]
call fcn.1400b08f0
jmp 0x14005ae02
movzx eax, byte [rbx + 0x21]
test al, 2
je 0x14005ac62
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 0x14005addb
movzx r10d, byte [rbx + 0x20]
movzx eax, r10b
cmp r10b, 1
jbe 0x14005ac9b
cmp al, 2
je 0x14005acd8
mov rdi, qword [rsp + 0x128]
mov rax, qword [rsp + 0x128]
jmp 0x14005adcf
mov edi, 0x80
cmp rbp, rdi
ja 0x14005acd8
cmp rbp, 8
ja 0x14005acb2
mov edi, 8
jmp 0x14005acbe
mov eax, reloc.OLEAUT32.dll_SafeArrayGetDim
cmp rbp, rax
cmovbe rdi, rax
mov rcx, rdi
call fcn.1400a93d0
test rax, rax
je 0x14005ae07
mov byte [rbx + 0x20], 1
jmp 0x14005adcf
cmp rbp, 0x20
jae 0x14005ace8
mov edi, SafeArrayAllocDescriptor
jmp 0x14005ad92
mov edi, 0x208
cmp rbp, rdi
jb 0x14005ad92
cmp rbp, 0x50000
jae 0x14005ad4e
pxor xmm0, xmm0
cvtsi2sd xmm0, rbp
test rbp, rbp
jns 0x14005ad15
addsd xmm0, qword [0x140100db8]
mulsd xmm0, qword [0x140100df0]
movsd xmm1, qword [0x140100de8]
xor ecx, ecx
comisd xmm0, xmm1
jbe 0x14005ad44
subsd xmm0, xmm1
comisd xmm0, xmm1
jae 0x14005ad44
movabs rax, 0x8000000000000000
mov rcx, rax
cvttsd2si rdi, xmm0
add rdi, rcx
jmp 0x14005ad92
cmp rbp, 0x320000
jae 0x14005ad60
lea rdi, [rbp + 0x8000]
jmp 0x14005ad92
cmp rbp, 0xc80000
jae 0x14005ad8b
movabs rax, 0x47ae147ae147ae15
mov rdi, rbp
mul rbp
sub rdi, rdx
shr rdi, 1
add rdi, rdx
shr rdi, 6
add rdi, rbp
jmp 0x14005ad92
lea rdi, [rbp + 0x20000]
cmp rdi, r8
cmova rdi, r8
cmp r10b, 2
jne 0x14005adb2
test r9, r9
je 0x14005adb2
mov rcx, qword [rbx + 8]
mov bpl, 1
call fcn.1400ca100
jmp 0x14005adb5
xor bpl, bpl
test rdi, rdi
js 0x14005ae43
mov rcx, rdi
call fcn.1400c9664
test rax, rax
je 0x14005ae43
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 0x14005adf1
lea r8, [r13 + r13]
mov rdx, r12
call fcn.1400ca2c0
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 0x14005ae59
lea rax, [0x140119108]
mov qword [rbx + 0x18], rsi
mov qword [rbx + 8], rax
jmp 0x14005ae60
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.1400404c0
mov esi, eax
jmp 0x14005ae07