Function at 0x14005a2b0
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.14002dce0
mov rbx, rax
test rax, rax
jne 0x14005a2dd
add rsp, 0x108
pop rbp
pop rbx
ret
cmp byte [rax + 0x23], 0
jne 0x14005a2e7
mov rbx, qword [rax + 0x10]
movzx r9d, byte [rbp + 1]
cmp r9b, 1
jbe 0x14005a31c
mov rax, qword [rbp + 8]
mov rdx, qword [rax + 0x38]
test rdx, rdx
je 0x14005a31c
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 0x14005a432
mov r12, qword [rbp + 8]
mov rax, qword [r12 + 0x30]
test rax, rax
je 0x14005a432
cmp qword [rax], rsi
je 0x14005a432
mov rdi, qword [r12 + 0x30]
add r12, 0x20
mov r14, qword [rdi + 8]
movzx ecx, byte [r14 + 0x23]
test cl, cl
jne 0x14005a383
mov rax, qword [r14 + 0x10]
movzx edx, byte [rax + 0x23]
jmp 0x14005a386
movzx edx, cl
cmp dl, 3
jne 0x14005a3b7
movzx eax, byte [rbx + 0x23]
cmp al, 2
jne 0x14005a39d
mov eax, 1
jmp 0x14005b099
test al, al
jne 0x14005a3a5
mov rbx, qword [rbx + 0x10]
xor r8d, r8d
xor edx, edx
mov rcx, rbx
call fcn.1400b0d10
jmp 0x14005b099
test cl, cl
jne 0x14005a3c6
mov rax, qword [r14 + 0x10]
movzx r8d, byte [rax + 0x21]
jmp 0x14005a3cb
movzx r8d, byte [r14 + 0x21]
test r8b, 1
je 0x14005a3e1
mov rdx, r14
mov rcx, rbx
call fcn.1400b10a0
jmp 0x14005b099
cmp qword [rdi + 0x18], rsi
jne 0x14005a435
movzx eax, word [r12 + 2]
cmp word [rdi + 0x12], ax
jne 0x14005a435
cmp dl, 1
jne 0x14005a42b
mov rax, qword [0x1401144a8]
cmp byte [rax + 0x134], sil
je 0x14005a41b
test cl, cl
jne 0x14005a412
mov rax, qword [r14 + 0x10]
jmp 0x14005a415
mov rax, r14
test byte [rax + 0x21], 8
je 0x14005a42b
mov rdx, r14
mov rcx, rbx
call fcn.1400b04d0
jmp 0x14005b099
mov qword [rsp + 0x38], r14
jmp 0x14005a43d
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 0x14005a51a
movzx eax, byte [rbx + 0x23]
test al, al
jne 0x14005a474
mov rax, qword [rbx + 0x10]
movzx eax, byte [rax + 0x23]
cmp al, 2
je 0x14005a51a
mov rcx, qword [r12 + 0x10]
mov rdx, qword [rcx]
test rdx, rdx
je 0x14005a51a
nop dword [rax]
mov rax, qword [rcx + 8]
test r15b, r15b
je 0x14005a4e2
cmp byte [rax + 0x23], sil
jne 0x14005a4a3
mov rax, qword [rax + 0x10]
cmp rax, rbx
jne 0x14005a507
xor r15b, r15b
test dil, dil
je 0x14005a51a
test r15b, r15b
jne 0x14005a51a
xor r9d, r9d
or r8, 0xffffffffffffffff
xor edx, edx
mov rcx, rbp
call fcn.14008a030
cmp eax, 1
jne 0x14005ad64
mov edx, eax
mov rcx, rbp
call fcn.14002da00
lea rbp, [rax + 1]
jmp 0x14005a6dc
cmp byte [rax + 0x23], sil
jne 0x14005a4ec
mov rax, qword [rax + 0x10]
cmp rax, rbx
jne 0x14005a507
mov dil, 1
mov byte [rsp + 0x128], dil
cmp rdx, qword [r12 + 8]
jne 0x14005a4b5
movzx r15d, dil
mov rdx, qword [rcx + 0x18]
add rcx, 0x18
test rdx, rdx
jne 0x14005a490
jmp 0x14005a4ab
cmp r9b, 2
jb 0x14005ae1a
test r14, r14
je 0x14005a5f5
movzx ecx, byte [r14 + 0x23]
test ecx, ecx
je 0x14005a5e1
dec ecx
je 0x14005a57d
dec ecx
je 0x14005a559
dec ecx
je 0x14005a5c5
mov rdx, qword [r14 + 0x28]
xor ecx, ecx
call qword [r14 + reloc.OLEAUT32.dll_SafeArrayGetElement]
lea rbp, [rax + 1]
jmp 0x14005a6dc
lea rcx, [0x14011be28]
xor edx, edx
call fcn.140005e90
mov r13d, 0xffffffff
cmp rax, r13
cmove rax, rsi
lea rbp, [rax + 1]
jmp 0x14005a6dc
mov rcx, r14
call fcn.140001130
cmp dword [0x140119928], esi
jne 0x14005a5d1
cmp qword [r14 + 0x10], rsi
jne 0x14005a5d1
mov rcx, qword [r14 + 0x28]
lea rdx, [rsp + 0x130]
xor r8d, r8d
call qword [sym.imp.KERNEL32.dll_GetEnvironmentVariableW]
test eax, eax
je 0x14005a5be
dec eax
mov qword [0x14011cd68], rsi
lea rbp, [rax + 1]
jmp 0x14005a6dc
mov qword [0x14011cd68], r14
mov rax, rsi
lea rbp, [rax + 1]
jmp 0x14005a6dc
mov rax, qword [r14 + 0x10]
shr rax, 1
lea rbp, [rax + 1]
jmp 0x14005a6dc
mov rcx, qword [r14 + 0x10]
xor edx, edx
call fcn.1400b17c0
lea rbp, [rax + 1]
jmp 0x14005a6dc
mov rax, qword [rbp + 8]
movzx ecx, word [rax + 0x22]
inc ecx
movsxd rbp, ecx
test r12, r12
je 0x14005a6dc
mov r12, qword [r12 + 0x10]
cmp qword [r12], rsi
je 0x14005a6dc
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 0x14005a6c0
dec ecx
je 0x14005a66b
dec ecx
je 0x14005a654
dec ecx
je 0x14005a6ac
mov rdx, qword [rdi + 0x28]
xor ecx, ecx
call qword [rdi + reloc.OLEAUT32.dll_SafeArrayGetElement]
jmp 0x14005a6cb
lea rcx, [0x14011be28]
xor edx, edx
call fcn.140005e90
cmp rax, r13
cmove rax, rsi
jmp 0x14005a6cb
mov rcx, rdi
call fcn.140001130
cmp dword [0x140119928], esi
jne 0x14005a6b1
cmp qword [rdi + 0x10], rsi
jne 0x14005a6b1
mov rcx, qword [rdi + 0x28]
lea rdx, [rsp + 0x138]
xor r8d, r8d
call qword [sym.imp.KERNEL32.dll_GetEnvironmentVariableW]
test eax, eax
je 0x14005a6a5
mov qword [0x14011cd68], rsi
dec eax
jmp 0x14005a6cb
mov qword [0x14011cd68], rdi
mov rax, rsi
jmp 0x14005a6cb
mov rax, qword [rdi + 0x10]
shr rax, 1
jmp 0x14005a6cb
mov rcx, qword [rdi + 0x10]
xor edx, edx
call fcn.1400b17c0
add r12, 0x18
add rbp, rax
cmp qword [r12], rsi
jne 0x14005a620
cmp rbp, 2
jb 0x14005ae1a
test r15b, r15b
je 0x14005a738
cmp byte [rbx + 0x23], sil
jne 0x14005a6f7
mov rax, qword [rbx + 0x10]
jmp 0x14005a6fa
mov rax, rbx
cmp byte [rax + 0x23], 2
jne 0x14005a708
mov eax, dword [0x14011be50]
jmp 0x14005a70c
mov rax, qword [rax + 0x18]
shr rax, 1
cmp rbp, rax
jbe 0x14005aa9e
mov rcx, qword [rsp + 0x120]
lea r9, [rsp + 0x30]
mov r8, rbp
xor edx, edx
call fcn.14008a030
cmp eax, 1
jne 0x14005ad64
cmp byte [rsp + 0x128], sil
je 0x14005aa9e
movzx edx, byte [rbx + 0x23]
mov r13, qword [0x1401196d8]
test dl, dl
jne 0x14005a772
mov rcx, qword [rbx + 0x10]
xor r9d, r9d
or r8, 0xffffffffffffffff
mov rdx, r13
mov byte [rsp + 0x20], 1
call fcn.1400b1370
jmp 0x14005aa86
mov r8b, 1
lea r12, [0x1400e34fc]
test r13, r13
jne 0x14005a78c
xor r8b, r8b
mov r14, rsi
mov r13, r12
jmp 0x14005a7ae
cmp qword [rbx + 8], r13
jne 0x14005a79b
mov r14, qword [rbx + 0x10]
shr r14, 1
jmp 0x14005a7ae
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 0x14005a7cb
mov rdx, r14
mov rcx, r13
call fcn.1400060b0
jmp 0x14005aa86
mov r9, qword [0x140114480]
cmp rbp, r9
jbe 0x14005a7e9
cmp rbp, qword [rbx + 0x18]
jbe 0x14005a7e9
lea rdx, str.Memory_limit_reached__see_MaxMem_in_the_help_file_.
jmp 0x14005aa77
cmp rax, 2
jae 0x14005a809
test r8b, r8b
mov rcx, rbx
setne sil
xor r8d, r8d
lea edx, [rsi + 3]
call fcn.1400b1a20
jmp 0x14005a9c8
movzx eax, byte [rbx + 0x21]
test al, 2
je 0x14005a826
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 [0x140114480]
mov r8, qword [rbx + 0x18]
and byte [rbx + 0x21], 0x82
cmp rbp, r8
jbe 0x14005a9a3
movzx r10d, byte [rbx + 0x20]
movzx eax, r10b
cmp r10b, 1
jbe 0x14005a85f
cmp al, 2
je 0x14005a89c
mov rdi, qword [rsp + 0x128]
mov rax, qword [rsp + 0x128]
jmp 0x14005a997
mov edi, 0x80
cmp rbp, rdi
ja 0x14005a89c
cmp rbp, 8
ja 0x14005a876
mov edi, 8
jmp 0x14005a882
mov eax, reloc.OLEAUT32.dll_SafeArrayGetDim
cmp rbp, rax
cmovbe rdi, rax
mov rcx, rdi
call fcn.1400aa290
test rax, rax
je 0x14005aa8e
mov byte [rbx + 0x20], 1
jmp 0x14005a997
cmp rbp, 0x20
jae 0x14005a8ac
mov edi, SafeArrayAllocDescriptor
jmp 0x14005a956
mov edi, 0x208
cmp rbp, rdi
jb 0x14005a956
cmp rbp, 0x50000
jae 0x14005a912
pxor xmm0, xmm0
cvtsi2sd xmm0, rbp
test rbp, rbp
jns 0x14005a8d9
addsd xmm0, qword [0x140101e78]
mulsd xmm0, qword [0x140101eb0]
movsd xmm1, qword [0x140101ea8]
xor ecx, ecx
comisd xmm0, xmm1
jbe 0x14005a908
subsd xmm0, xmm1
comisd xmm0, xmm1
jae 0x14005a908
movabs rax, 0x8000000000000000
mov rcx, rax
cvttsd2si rdi, xmm0
add rdi, rcx
jmp 0x14005a956
cmp rbp, 0x320000
jae 0x14005a924
lea rdi, [rbp + 0x8000]
jmp 0x14005a956
cmp rbp, 0xc80000
jae 0x14005a94f
movabs rax, 0x47ae147ae147ae15
mov rdi, rbp
mul rbp
sub rdi, rdx
shr rdi, 1
add rdi, rdx
shr rdi, 6
add rdi, rbp
jmp 0x14005a956
lea rdi, [rbp + 0x20000]
cmp rdi, r9
cmova rdi, r9
cmp r10b, 2
jne 0x14005a976
test r8, r8
je 0x14005a976
mov rcx, qword [rbx + 8]
mov bpl, 1
call fcn.1400cafac
jmp 0x14005a979
xor bpl, bpl
test rdi, rdi
js 0x14005aa4f
mov rcx, rdi
call fcn.1400ca834
test rax, rax
je 0x14005aa4f
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 0x14005a9b8
lea r8, [r14 + r14]
mov rdx, r13
call fcn.1400cb170
mov rax, qword [rbx + 8]
lea rcx, [r14 + r14]
mov word [rcx + rax], si
mov qword [rbx + 0x10], rcx
mov rax, qword [0x1401144a8]
mov esi, 1
cmp byte [rax + 0x134], 0
je 0x14005b087
xor r8d, r8d
mov edx, esi
mov rcx, rbx
call fcn.140001820
mov rdi, rax
cmp word [rax], 0
je 0x14005b087
mov rcx, rbx
call fcn.14001c450
mov rcx, rdi
mov rdx, rax
call fcn.14001bd30
mov rcx, rdi
mov rdx, rax
call fcn.14001be30
mov rcx, rbx
mov rdx, rax
call fcn.14001c400
cmp byte [rbx + 0x23], 0
jne 0x14005aa2e
mov rbx, qword [rbx + 0x10]
cmp byte [rbx + 0x23], 2
jne 0x14005aa95
cmp qword [0x14011be40], 0
je 0x14005aa95
lea rcx, [0x14011be28]
call fcn.140006230
jmp 0x14005b087
test bpl, bpl
je 0x14005aa65
lea rax, [0x14011b188]
mov qword [rbx + 0x18], rsi
mov qword [rbx + 8], rax
jmp 0x14005aa6c
mov rax, qword [rbx + 8]
mov word [rax], si
mov qword [rbx + 0x10], rsi
lea rdx, str.Out_of_memory.
lea rcx, [0x14011b1d0]
mov r8, r12
call fcn.1400405d0
test eax, eax
jne 0x14005a9c8
xor eax, eax
jmp 0x14005b089
and byte [rbx + 0x21], 0x86
jmp 0x14005b087
test r15b, r15b
jne 0x14005ad7b
movzx ecx, byte [rbx + 0x23]
lea r13, [rbp - 1]
test cl, cl
jne 0x14005aace
mov rcx, qword [rbx + 0x10]
xor r9d, r9d
mov r8, r13
xor edx, edx
mov byte [rsp + 0x20], 1
call fcn.1400b1370
jmp 0x14005ad5d
mov r12b, 1
movzx edx, r12b
cmp r13, 0xffffffffffffffff
jne 0x14005aae2
xor dl, dl
mov r13, rsi
jmp 0x14005aae5
xor r12b, r12b
lea rax, [r13 + 1]
lea rbp, [rax + rax]
cmp cl, 2
jne 0x14005ab26
test r12b, r12b
je 0x14005ab0b
lea rcx, [0x1400e34fc]
mov rdx, r13
call fcn.1400060b0
jmp 0x14005ad5d
lea rcx, [0x14011be28]
mov rdx, rax
call fcn.140006170
test rax, rax
setne sil
jmp 0x14005ad5f
mov r8, qword [0x140114480]
cmp rbp, r8
jbe 0x14005ab44
cmp rbp, qword [rbx + 0x18]
jbe 0x14005ab44
lea rdx, str.Memory_limit_reached__see_MaxMem_in_the_help_file_.
jmp 0x14005ad4a
cmp rax, 2
jae 0x14005ab63
test dl, dl
mov rcx, rbx
setne sil
xor r8d, r8d
lea edx, [rsi + 3]
call fcn.1400b1a20
jmp 0x14005ad7b
movzx eax, byte [rbx + 0x21]
test al, 2
je 0x14005ab80
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 [0x140114480]
mov r9, qword [rbx + 0x18]
and byte [rbx + 0x21], 0x82
cmp rbp, r9
jbe 0x14005acf5
movzx r10d, byte [rbx + 0x20]
movzx eax, r10b
cmp r10b, 1
jbe 0x14005abb9
cmp al, 2
je 0x14005abf6
mov rdi, qword [rsp + 0x128]
mov rax, qword [rsp + 0x128]
jmp 0x14005ace9
mov edi, 0x80
cmp rbp, rdi
ja 0x14005abf6
cmp rbp, 8
ja 0x14005abd0
mov edi, 8
jmp 0x14005abdc
mov eax, reloc.OLEAUT32.dll_SafeArrayGetDim
cmp rbp, rax
cmovbe rdi, rax
mov rcx, rdi
call fcn.1400aa290
test rax, rax
je 0x14005ad64
mov byte [rbx + 0x20], 1
jmp 0x14005ace9
cmp rbp, 0x20
jae 0x14005ac06
mov edi, SafeArrayAllocDescriptor
jmp 0x14005acb0
mov edi, 0x208
cmp rbp, rdi
jb 0x14005acb0
cmp rbp, 0x50000
jae 0x14005ac6c
pxor xmm0, xmm0
cvtsi2sd xmm0, rbp
test rbp, rbp
jns 0x14005ac33
addsd xmm0, qword [0x140101e78]
mulsd xmm0, qword [0x140101eb0]
movsd xmm1, qword [0x140101ea8]
xor ecx, ecx
comisd xmm0, xmm1
jbe 0x14005ac62
subsd xmm0, xmm1
comisd xmm0, xmm1
jae 0x14005ac62
movabs rax, 0x8000000000000000
mov rcx, rax
cvttsd2si rdi, xmm0
add rdi, rcx
jmp 0x14005acb0
cmp rbp, 0x320000
jae 0x14005ac7e
lea rdi, [rbp + 0x8000]
jmp 0x14005acb0
cmp rbp, 0xc80000
jae 0x14005aca9
movabs rax, 0x47ae147ae147ae15
mov rdi, rbp
mul rbp
sub rdi, rdx
shr rdi, 1
add rdi, rdx
shr rdi, 6
add rdi, rbp
jmp 0x14005acb0
lea rdi, [rbp + 0x20000]
cmp rdi, r8
cmova rdi, r8
cmp r10b, 2
jne 0x14005acd0
test r9, r9
je 0x14005acd0
mov rcx, qword [rbx + 8]
mov bpl, 1
call fcn.1400cafac
jmp 0x14005acd3
xor bpl, bpl
test rdi, rdi
js 0x14005ad22
mov rcx, rdi
call fcn.1400ca834
test rax, rax
je 0x14005ad22
mov byte [rbx + 0x20], 2
and byte [rbx + 0x21], 0x7f
mov qword [rbx + 8], rax
mov qword [rbx + 0x18], rdi
test r12b, r12b
je 0x14005ad6b
mov rcx, qword [rbx + 8]
lea r12, [0x1400e34fc]
cmp rcx, r12
je 0x14005ad17
lea r8, [r13 + r13]
mov rdx, r12
call fcn.1400cb170
mov rax, qword [rbx + 8]
mov word [rax + r13*2], si
jmp 0x14005ad72
test bpl, bpl
je 0x14005ad38
lea rax, [0x14011b188]
mov qword [rbx + 0x18], rsi
mov qword [rbx + 8], rax
jmp 0x14005ad3f
mov rax, qword [rbx + 8]
mov word [rax], si
mov qword [rbx + 0x10], rsi
lea rdx, str.Out_of_memory.
lea r8, [0x1400e34fc]
lea rcx, [0x14011b1d0]
call fcn.1400405d0
mov esi, eax
cmp esi, 1
je 0x14005ad7b
xor eax, eax
jmp 0x14005b089
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.14008aa30
mov rdx, rax
test rax, rax
je 0x14005ad64
mov rax, qword [0x1401144a8]
sub rdx, rdi
sar rdx, 1
dec rdx
cmp byte [rax + 0x134], 0
je 0x14005addd
mov rcx, rdi
call fcn.14001bd30
mov rcx, rdi
mov rdx, rax
call fcn.14001be30
mov rdx, rax
mov rcx, rbx
call fcn.14001c400
cmp byte [rbx + 0x23], 0
jne 0x14005adef
mov rbx, qword [rbx + 0x10]
cmp byte [rbx + 0x23], 2
jne 0x14005aa95
cmp qword [0x14011be40], 0
je 0x14005aa95
lea rcx, [0x14011be28]
call fcn.140006230
mov esi, eax
jmp 0x14005b087
movzx eax, byte [rbx + 0x23]
test al, al
jne 0x14005ae45
mov rcx, qword [rbx + 0x10]
lea rdx, [0x1400e34fc]
xor r9d, r9d
or r8, 0xffffffffffffffff
mov byte [rsp + 0x20], 1
call fcn.1400b1370
mov esi, eax
jmp 0x14005b087
lea r12, [0x1400e34fc]
cmp qword [rbx + 8], r12
jne 0x14005ae5b
mov r13, qword [rbx + 0x10]
shr r13, 1
jmp 0x14005ae5e
mov r13, rsi
lea rcx, [r13 + 1]
lea rbp, [rcx + rcx]
cmp al, 2
jne 0x14005ae7c
mov rdx, r13
mov rcx, r12
call fcn.1400060b0
mov esi, eax
jmp 0x14005b087
mov r8, qword [0x140114480]
cmp rbp, r8
jbe 0x14005aeab
cmp rbp, qword [rbx + 0x18]
jbe 0x14005aeab
lea rdx, str.Memory_limit_reached__see_MaxMem_in_the_help_file_.
lea rcx, [0x14011b1d0]
mov r8, r12
call fcn.1400405d0
mov esi, eax
jmp 0x14005b087
cmp rcx, 2
jae 0x14005aec5
xor r8d, r8d
mov rcx, rbx
lea edx, [r8 + 4]
call fcn.1400b1a20
jmp 0x14005b082
movzx eax, byte [rbx + 0x21]
test al, 2
je 0x14005aee2
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 [0x140114480]
mov r9, qword [rbx + 0x18]
and byte [rbx + 0x21], 0x82
cmp rbp, r9
jbe 0x14005b05b
movzx r10d, byte [rbx + 0x20]
movzx eax, r10b
cmp r10b, 1
jbe 0x14005af1b
cmp al, 2
je 0x14005af58
mov rdi, qword [rsp + 0x128]
mov rax, qword [rsp + 0x128]
jmp 0x14005b04f
mov edi, 0x80
cmp rbp, rdi
ja 0x14005af58
cmp rbp, 8
ja 0x14005af32
mov edi, 8
jmp 0x14005af3e
mov eax, reloc.OLEAUT32.dll_SafeArrayGetDim
cmp rbp, rax
cmovbe rdi, rax
mov rcx, rdi
call fcn.1400aa290
test rax, rax
je 0x14005b087
mov byte [rbx + 0x20], 1
jmp 0x14005b04f
cmp rbp, 0x20
jae 0x14005af68
mov edi, SafeArrayAllocDescriptor
jmp 0x14005b012
mov edi, 0x208
cmp rbp, rdi
jb 0x14005b012
cmp rbp, 0x50000
jae 0x14005afce
pxor xmm0, xmm0
cvtsi2sd xmm0, rbp
test rbp, rbp
jns 0x14005af95
addsd xmm0, qword [0x140101e78]
mulsd xmm0, qword [0x140101eb0]
movsd xmm1, qword [0x140101ea8]
xor ecx, ecx
comisd xmm0, xmm1
jbe 0x14005afc4
subsd xmm0, xmm1
comisd xmm0, xmm1
jae 0x14005afc4
movabs rax, 0x8000000000000000
mov rcx, rax
cvttsd2si rdi, xmm0
add rdi, rcx
jmp 0x14005b012
cmp rbp, 0x320000
jae 0x14005afe0
lea rdi, [rbp + 0x8000]
jmp 0x14005b012
cmp rbp, 0xc80000
jae 0x14005b00b
movabs rax, 0x47ae147ae147ae15
mov rdi, rbp
mul rbp
sub rdi, rdx
shr rdi, 1
add rdi, rdx
shr rdi, 6
add rdi, rbp
jmp 0x14005b012
lea rdi, [rbp + 0x20000]
cmp rdi, r8
cmova rdi, r8
cmp r10b, 2
jne 0x14005b032
test r9, r9
je 0x14005b032
mov rcx, qword [rbx + 8]
mov bpl, 1
call fcn.1400cafac
jmp 0x14005b035
xor bpl, bpl
test rdi, rdi
js 0x14005b0c3
mov rcx, rdi
call fcn.1400ca834
test rax, rax
je 0x14005b0c3
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 0x14005b071
lea r8, [r13 + r13]
mov rdx, r12
call fcn.1400cb170
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 0x14005b0d9
lea rax, [0x14011b188]
mov qword [rbx + 0x18], rsi
mov qword [rbx + 8], rax
jmp 0x14005b0e0
mov rax, qword [rbx + 8]
mov word [rax], si
lea rdx, str.Out_of_memory.
lea rcx, [0x14011b1d0]
mov r8, r12
mov qword [rbx + 0x10], rsi
call fcn.1400405d0
mov esi, eax
jmp 0x14005b087