Function at 0x14005a380
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.14002de10
mov rbx, rax
test rax, rax
jne 0x14005a3ad
add rsp, 0x108
pop rbp
pop rbx
ret
cmp byte [rax + 0x23], 0
jne 0x14005a3b7
mov rbx, qword [rax + 0x10]
movzx r9d, byte [rbp + 1]
cmp r9b, 1
jbe 0x14005a3ec
mov rax, qword [rbp + 8]
mov rdx, qword [rax + 0x38]
test rdx, rdx
je 0x14005a3ec
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 0x14005a502
mov r12, qword [rbp + 8]
mov rax, qword [r12 + 0x30]
test rax, rax
je 0x14005a502
cmp qword [rax], rsi
je 0x14005a502
mov rdi, qword [r12 + 0x30]
add r12, 0x20
mov r14, qword [rdi + 8]
movzx ecx, byte [r14 + 0x23]
test cl, cl
jne 0x14005a453
mov rax, qword [r14 + 0x10]
movzx edx, byte [rax + 0x23]
jmp 0x14005a456
movzx edx, cl
cmp dl, 3
jne 0x14005a487
movzx eax, byte [rbx + 0x23]
cmp al, 2
jne 0x14005a46d
mov eax, 1
jmp 0x14005b169
test al, al
jne 0x14005a475
mov rbx, qword [rbx + 0x10]
xor r8d, r8d
xor edx, edx
mov rcx, rbx
call fcn.1400b03b0
jmp 0x14005b169
test cl, cl
jne 0x14005a496
mov rax, qword [r14 + 0x10]
movzx r8d, byte [rax + 0x21]
jmp 0x14005a49b
movzx r8d, byte [r14 + 0x21]
test r8b, 1
je 0x14005a4b1
mov rdx, r14
mov rcx, rbx
call fcn.1400b0740
jmp 0x14005b169
cmp qword [rdi + 0x18], rsi
jne 0x14005a505
movzx eax, word [r12 + 2]
cmp word [rdi + 0x12], ax
jne 0x14005a505
cmp dl, 1
jne 0x14005a4fb
mov rax, qword [0x1401124a8]
cmp byte [rax + 0x134], sil
je 0x14005a4eb
test cl, cl
jne 0x14005a4e2
mov rax, qword [r14 + 0x10]
jmp 0x14005a4e5
mov rax, r14
test byte [rax + 0x21], 8
je 0x14005a4fb
mov rdx, r14
mov rcx, rbx
call fcn.1400afb70
jmp 0x14005b169
mov qword [rsp + 0x38], r14
jmp 0x14005a50d
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 0x14005a5ea
movzx eax, byte [rbx + 0x23]
test al, al
jne 0x14005a544
mov rax, qword [rbx + 0x10]
movzx eax, byte [rax + 0x23]
cmp al, 2
je 0x14005a5ea
mov rcx, qword [r12 + 0x10]
mov rdx, qword [rcx]
test rdx, rdx
je 0x14005a5ea
nop dword [rax]
mov rax, qword [rcx + 8]
test r15b, r15b
je 0x14005a5b2
cmp byte [rax + 0x23], sil
jne 0x14005a573
mov rax, qword [rax + 0x10]
cmp rax, rbx
jne 0x14005a5d7
xor r15b, r15b
test dil, dil
je 0x14005a5ea
test r15b, r15b
jne 0x14005a5ea
xor r9d, r9d
or r8, 0xffffffffffffffff
xor edx, edx
mov rcx, rbp
call fcn.1400896e0
cmp eax, 1
jne 0x14005ae34
mov edx, eax
mov rcx, rbp
call fcn.14002db30
lea rbp, [rax + 1]
jmp 0x14005a7ac
cmp byte [rax + 0x23], sil
jne 0x14005a5bc
mov rax, qword [rax + 0x10]
cmp rax, rbx
jne 0x14005a5d7
mov dil, 1
mov byte [rsp + 0x128], dil
cmp rdx, qword [r12 + 8]
jne 0x14005a585
movzx r15d, dil
mov rdx, qword [rcx + 0x18]
add rcx, 0x18
test rdx, rdx
jne 0x14005a560
jmp 0x14005a57b
cmp r9b, 2
jb 0x14005aeea
test r14, r14
je 0x14005a6c5
movzx ecx, byte [r14 + 0x23]
test ecx, ecx
je 0x14005a6b1
dec ecx
je 0x14005a64d
dec ecx
je 0x14005a629
dec ecx
je 0x14005a695
mov rdx, qword [r14 + 0x28]
xor ecx, ecx
call qword [r14 + reloc.OLEAUT32.dll_SafeArrayGetElement]
lea rbp, [rax + 1]
jmp 0x14005a7ac
lea rcx, [0x140119dc8]
xor edx, edx
call fcn.140005ee0
mov r13d, 0xffffffff
cmp rax, r13
cmove rax, rsi
lea rbp, [rax + 1]
jmp 0x14005a7ac
mov rcx, r14
call fcn.140001130
cmp dword [0x1401178c8], esi
jne 0x14005a6a1
cmp qword [r14 + 0x10], rsi
jne 0x14005a6a1
mov rcx, qword [r14 + 0x28]
lea rdx, [rsp + 0x130]
xor r8d, r8d
call qword [sym.imp.KERNEL32.DLL_GetEnvironmentVariableW]
test eax, eax
je 0x14005a68e
dec eax
mov qword [0x14011ad08], rsi
lea rbp, [rax + 1]
jmp 0x14005a7ac
mov qword [0x14011ad08], r14
mov rax, rsi
lea rbp, [rax + 1]
jmp 0x14005a7ac
mov rax, qword [r14 + 0x10]
shr rax, 1
lea rbp, [rax + 1]
jmp 0x14005a7ac
mov rcx, qword [r14 + 0x10]
xor edx, edx
call fcn.1400b0e60
lea rbp, [rax + 1]
jmp 0x14005a7ac
mov rax, qword [rbp + 8]
movzx ecx, word [rax + 0x22]
inc ecx
movsxd rbp, ecx
test r12, r12
je 0x14005a7ac
mov r12, qword [r12 + 0x10]
cmp qword [r12], rsi
je 0x14005a7ac
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 0x14005a790
dec ecx
je 0x14005a73b
dec ecx
je 0x14005a724
dec ecx
je 0x14005a77c
mov rdx, qword [rdi + 0x28]
xor ecx, ecx
call qword [rdi + reloc.OLEAUT32.dll_SafeArrayGetElement]
jmp 0x14005a79b
lea rcx, [0x140119dc8]
xor edx, edx
call fcn.140005ee0
cmp rax, r13
cmove rax, rsi
jmp 0x14005a79b
mov rcx, rdi
call fcn.140001130
cmp dword [0x1401178c8], esi
jne 0x14005a781
cmp qword [rdi + 0x10], rsi
jne 0x14005a781
mov rcx, qword [rdi + 0x28]
lea rdx, [rsp + 0x138]
xor r8d, r8d
call qword [sym.imp.KERNEL32.DLL_GetEnvironmentVariableW]
test eax, eax
je 0x14005a775
mov qword [0x14011ad08], rsi
dec eax
jmp 0x14005a79b
mov qword [0x14011ad08], rdi
mov rax, rsi
jmp 0x14005a79b
mov rax, qword [rdi + 0x10]
shr rax, 1
jmp 0x14005a79b
mov rcx, qword [rdi + 0x10]
xor edx, edx
call fcn.1400b0e60
add r12, 0x18
add rbp, rax
cmp qword [r12], rsi
jne 0x14005a6f0
cmp rbp, 2
jb 0x14005aeea
test r15b, r15b
je 0x14005a808
cmp byte [rbx + 0x23], sil
jne 0x14005a7c7
mov rax, qword [rbx + 0x10]
jmp 0x14005a7ca
mov rax, rbx
cmp byte [rax + 0x23], 2
jne 0x14005a7d8
mov eax, dword [0x140119df0]
jmp 0x14005a7dc
mov rax, qword [rax + 0x18]
shr rax, 1
cmp rbp, rax
jbe 0x14005ab6e
mov rcx, qword [rsp + 0x120]
lea r9, [rsp + 0x30]
mov r8, rbp
xor edx, edx
call fcn.1400896e0
cmp eax, 1
jne 0x14005ae34
cmp byte [rsp + 0x128], sil
je 0x14005ab6e
movzx edx, byte [rbx + 0x23]
mov r13, qword [0x140117678]
test dl, dl
jne 0x14005a842
mov rcx, qword [rbx + 0x10]
xor r9d, r9d
or r8, 0xffffffffffffffff
mov rdx, r13
mov byte [rsp + 0x20], 1
call fcn.1400b0a10
jmp 0x14005ab56
mov r8b, 1
lea r12, [0x1400e245c]
test r13, r13
jne 0x14005a85c
xor r8b, r8b
mov r14, rsi
mov r13, r12
jmp 0x14005a87e
cmp qword [rbx + 8], r13
jne 0x14005a86b
mov r14, qword [rbx + 0x10]
shr r14, 1
jmp 0x14005a87e
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 0x14005a89b
mov rdx, r14
mov rcx, r13
call fcn.140006100
jmp 0x14005ab56
mov r9, qword [0x140112480]
cmp rbp, r9
jbe 0x14005a8b9
cmp rbp, qword [rbx + 0x18]
jbe 0x14005a8b9
lea rdx, str.Memory_limit_reached__see_MaxMem_in_the_help_file_.
jmp 0x14005ab47
cmp rax, 2
jae 0x14005a8d9
test r8b, r8b
mov rcx, rbx
setne sil
xor r8d, r8d
lea edx, [rsi + 3]
call fcn.1400b10c0
jmp 0x14005aa98
movzx eax, byte [rbx + 0x21]
test al, 2
je 0x14005a8f6
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 [0x140112480]
mov r8, qword [rbx + 0x18]
and byte [rbx + 0x21], 0x82
cmp rbp, r8
jbe 0x14005aa73
movzx r10d, byte [rbx + 0x20]
movzx eax, r10b
cmp r10b, 1
jbe 0x14005a92f
cmp al, 2
je 0x14005a96c
mov rdi, qword [rsp + 0x128]
mov rax, qword [rsp + 0x128]
jmp 0x14005aa67
mov edi, 0x80
cmp rbp, rdi
ja 0x14005a96c
cmp rbp, 8
ja 0x14005a946
mov edi, 8
jmp 0x14005a952
mov eax, reloc.OLEAUT32.dll_SafeArrayGetDim
cmp rbp, rax
cmovbe rdi, rax
mov rcx, rdi
call fcn.1400a9920
test rax, rax
je 0x14005ab5e
mov byte [rbx + 0x20], 1
jmp 0x14005aa67
cmp rbp, 0x20
jae 0x14005a97c
mov edi, SafeArrayAllocDescriptor
jmp 0x14005aa26
mov edi, 0x208
cmp rbp, rdi
jb 0x14005aa26
cmp rbp, 0x50000
jae 0x14005a9e2
pxor xmm0, xmm0
cvtsi2sd xmm0, rbp
test rbp, rbp
jns 0x14005a9a9
addsd xmm0, qword [0x140100e18]
mulsd xmm0, qword [0x140100e50]
movsd xmm1, qword [0x140100e48]
xor ecx, ecx
comisd xmm0, xmm1
jbe 0x14005a9d8
subsd xmm0, xmm1
comisd xmm0, xmm1
jae 0x14005a9d8
movabs rax, 0x8000000000000000
mov rcx, rax
cvttsd2si rdi, xmm0
add rdi, rcx
jmp 0x14005aa26
cmp rbp, 0x320000
jae 0x14005a9f4
lea rdi, [rbp + 0x8000]
jmp 0x14005aa26
cmp rbp, 0xc80000
jae 0x14005aa1f
movabs rax, 0x47ae147ae147ae15
mov rdi, rbp
mul rbp
sub rdi, rdx
shr rdi, 1
add rdi, rdx
shr rdi, 6
add rdi, rbp
jmp 0x14005aa26
lea rdi, [rbp + 0x20000]
cmp rdi, r9
cmova rdi, r9
cmp r10b, 2
jne 0x14005aa46
test r8, r8
je 0x14005aa46
mov rcx, qword [rbx + 8]
mov bpl, 1
call fcn.1400ca970
jmp 0x14005aa49
xor bpl, bpl
test rdi, rdi
js 0x14005ab1f
mov rcx, rdi
call fcn.1400c9ed4
test rax, rax
je 0x14005ab1f
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 0x14005aa88
lea r8, [r14 + r14]
mov rdx, r13
call fcn.1400cab30
mov rax, qword [rbx + 8]
lea rcx, [r14 + r14]
mov word [rcx + rax], si
mov qword [rbx + 0x10], rcx
mov rax, qword [0x1401124a8]
mov esi, 1
cmp byte [rax + 0x134], 0
je 0x14005b157
xor r8d, r8d
mov edx, esi
mov rcx, rbx
call fcn.140001820
mov rdi, rax
cmp word [rax], 0
je 0x14005b157
mov rcx, rbx
call fcn.14001c540
mov rcx, rdi
mov rdx, rax
call fcn.14001be60
mov rcx, rdi
mov rdx, rax
call fcn.14001bf60
mov rcx, rbx
mov rdx, rax
call fcn.14001c4f0
cmp byte [rbx + 0x23], 0
jne 0x14005aafe
mov rbx, qword [rbx + 0x10]
cmp byte [rbx + 0x23], 2
jne 0x14005ab65
cmp qword [0x140119de0], 0
je 0x14005ab65
lea rcx, [0x140119dc8]
call fcn.140006280
jmp 0x14005b157
test bpl, bpl
je 0x14005ab35
lea rax, [0x140119128]
mov qword [rbx + 0x18], rsi
mov qword [rbx + 8], rax
jmp 0x14005ab3c
mov rax, qword [rbx + 8]
mov word [rax], si
mov qword [rbx + 0x10], rsi
lea rdx, str.Out_of_memory.
lea rcx, [0x140119170]
mov r8, r12
call fcn.1400406a0
test eax, eax
jne 0x14005aa98
xor eax, eax
jmp 0x14005b159
and byte [rbx + 0x21], 0x86
jmp 0x14005b157
test r15b, r15b
jne 0x14005ae4b
movzx ecx, byte [rbx + 0x23]
lea r13, [rbp - 1]
test cl, cl
jne 0x14005ab9e
mov rcx, qword [rbx + 0x10]
xor r9d, r9d
mov r8, r13
xor edx, edx
mov byte [rsp + 0x20], 1
call fcn.1400b0a10
jmp 0x14005ae2d
mov r12b, 1
movzx edx, r12b
cmp r13, 0xffffffffffffffff
jne 0x14005abb2
xor dl, dl
mov r13, rsi
jmp 0x14005abb5
xor r12b, r12b
lea rax, [r13 + 1]
lea rbp, [rax + rax]
cmp cl, 2
jne 0x14005abf6
test r12b, r12b
je 0x14005abdb
lea rcx, [0x1400e245c]
mov rdx, r13
call fcn.140006100
jmp 0x14005ae2d
lea rcx, [0x140119dc8]
mov rdx, rax
call fcn.1400061c0
test rax, rax
setne sil
jmp 0x14005ae2f
mov r8, qword [0x140112480]
cmp rbp, r8
jbe 0x14005ac14
cmp rbp, qword [rbx + 0x18]
jbe 0x14005ac14
lea rdx, str.Memory_limit_reached__see_MaxMem_in_the_help_file_.
jmp 0x14005ae1a
cmp rax, 2
jae 0x14005ac33
test dl, dl
mov rcx, rbx
setne sil
xor r8d, r8d
lea edx, [rsi + 3]
call fcn.1400b10c0
jmp 0x14005ae4b
movzx eax, byte [rbx + 0x21]
test al, 2
je 0x14005ac50
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 [0x140112480]
mov r9, qword [rbx + 0x18]
and byte [rbx + 0x21], 0x82
cmp rbp, r9
jbe 0x14005adc5
movzx r10d, byte [rbx + 0x20]
movzx eax, r10b
cmp r10b, 1
jbe 0x14005ac89
cmp al, 2
je 0x14005acc6
mov rdi, qword [rsp + 0x128]
mov rax, qword [rsp + 0x128]
jmp 0x14005adb9
mov edi, 0x80
cmp rbp, rdi
ja 0x14005acc6
cmp rbp, 8
ja 0x14005aca0
mov edi, 8
jmp 0x14005acac
mov eax, reloc.OLEAUT32.dll_SafeArrayGetDim
cmp rbp, rax
cmovbe rdi, rax
mov rcx, rdi
call fcn.1400a9920
test rax, rax
je 0x14005ae34
mov byte [rbx + 0x20], 1
jmp 0x14005adb9
cmp rbp, 0x20
jae 0x14005acd6
mov edi, SafeArrayAllocDescriptor
jmp 0x14005ad80
mov edi, 0x208
cmp rbp, rdi
jb 0x14005ad80
cmp rbp, 0x50000
jae 0x14005ad3c
pxor xmm0, xmm0
cvtsi2sd xmm0, rbp
test rbp, rbp
jns 0x14005ad03
addsd xmm0, qword [0x140100e18]
mulsd xmm0, qword [0x140100e50]
movsd xmm1, qword [0x140100e48]
xor ecx, ecx
comisd xmm0, xmm1
jbe 0x14005ad32
subsd xmm0, xmm1
comisd xmm0, xmm1
jae 0x14005ad32
movabs rax, 0x8000000000000000
mov rcx, rax
cvttsd2si rdi, xmm0
add rdi, rcx
jmp 0x14005ad80
cmp rbp, 0x320000
jae 0x14005ad4e
lea rdi, [rbp + 0x8000]
jmp 0x14005ad80
cmp rbp, 0xc80000
jae 0x14005ad79
movabs rax, 0x47ae147ae147ae15
mov rdi, rbp
mul rbp
sub rdi, rdx
shr rdi, 1
add rdi, rdx
shr rdi, 6
add rdi, rbp
jmp 0x14005ad80
lea rdi, [rbp + 0x20000]
cmp rdi, r8
cmova rdi, r8
cmp r10b, 2
jne 0x14005ada0
test r9, r9
je 0x14005ada0
mov rcx, qword [rbx + 8]
mov bpl, 1
call fcn.1400ca970
jmp 0x14005ada3
xor bpl, bpl
test rdi, rdi
js 0x14005adf2
mov rcx, rdi
call fcn.1400c9ed4
test rax, rax
je 0x14005adf2
mov byte [rbx + 0x20], 2
and byte [rbx + 0x21], 0x7f
mov qword [rbx + 8], rax
mov qword [rbx + 0x18], rdi
test r12b, r12b
je 0x14005ae3b
mov rcx, qword [rbx + 8]
lea r12, [0x1400e245c]
cmp rcx, r12
je 0x14005ade7
lea r8, [r13 + r13]
mov rdx, r12
call fcn.1400cab30
mov rax, qword [rbx + 8]
mov word [rax + r13*2], si
jmp 0x14005ae42
test bpl, bpl
je 0x14005ae08
lea rax, [0x140119128]
mov qword [rbx + 0x18], rsi
mov qword [rbx + 8], rax
jmp 0x14005ae0f
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, [0x140119170]
call fcn.1400406a0
mov esi, eax
cmp esi, 1
je 0x14005ae4b
xor eax, eax
jmp 0x14005b159
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.14008a0e0
mov rdx, rax
test rax, rax
je 0x14005ae34
mov rax, qword [0x1401124a8]
sub rdx, rdi
sar rdx, 1
dec rdx
cmp byte [rax + 0x134], 0
je 0x14005aead
mov rcx, rdi
call fcn.14001be60
mov rcx, rdi
mov rdx, rax
call fcn.14001bf60
mov rdx, rax
mov rcx, rbx
call fcn.14001c4f0
cmp byte [rbx + 0x23], 0
jne 0x14005aebf
mov rbx, qword [rbx + 0x10]
cmp byte [rbx + 0x23], 2
jne 0x14005ab65
cmp qword [0x140119de0], 0
je 0x14005ab65
lea rcx, [0x140119dc8]
call fcn.140006280
mov esi, eax
jmp 0x14005b157
movzx eax, byte [rbx + 0x23]
test al, al
jne 0x14005af15
mov rcx, qword [rbx + 0x10]
lea rdx, [0x1400e245c]
xor r9d, r9d
or r8, 0xffffffffffffffff
mov byte [rsp + 0x20], 1
call fcn.1400b0a10
mov esi, eax
jmp 0x14005b157
lea r12, [0x1400e245c]
cmp qword [rbx + 8], r12
jne 0x14005af2b
mov r13, qword [rbx + 0x10]
shr r13, 1
jmp 0x14005af2e
mov r13, rsi
lea rcx, [r13 + 1]
lea rbp, [rcx + rcx]
cmp al, 2
jne 0x14005af4c
mov rdx, r13
mov rcx, r12
call fcn.140006100
mov esi, eax
jmp 0x14005b157
mov r8, qword [0x140112480]
cmp rbp, r8
jbe 0x14005af7b
cmp rbp, qword [rbx + 0x18]
jbe 0x14005af7b
lea rdx, str.Memory_limit_reached__see_MaxMem_in_the_help_file_.
lea rcx, [0x140119170]
mov r8, r12
call fcn.1400406a0
mov esi, eax
jmp 0x14005b157
cmp rcx, 2
jae 0x14005af95
xor r8d, r8d
mov rcx, rbx
lea edx, [r8 + 4]
call fcn.1400b10c0
jmp 0x14005b152
movzx eax, byte [rbx + 0x21]
test al, 2
je 0x14005afb2
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 [0x140112480]
mov r9, qword [rbx + 0x18]
and byte [rbx + 0x21], 0x82
cmp rbp, r9
jbe 0x14005b12b
movzx r10d, byte [rbx + 0x20]
movzx eax, r10b
cmp r10b, 1
jbe 0x14005afeb
cmp al, 2
je 0x14005b028
mov rdi, qword [rsp + 0x128]
mov rax, qword [rsp + 0x128]
jmp 0x14005b11f
mov edi, 0x80
cmp rbp, rdi
ja 0x14005b028
cmp rbp, 8
ja 0x14005b002
mov edi, 8
jmp 0x14005b00e
mov eax, reloc.OLEAUT32.dll_SafeArrayGetDim
cmp rbp, rax
cmovbe rdi, rax
mov rcx, rdi
call fcn.1400a9920
test rax, rax
je 0x14005b157
mov byte [rbx + 0x20], 1
jmp 0x14005b11f
cmp rbp, 0x20
jae 0x14005b038
mov edi, SafeArrayAllocDescriptor
jmp 0x14005b0e2
mov edi, 0x208
cmp rbp, rdi
jb 0x14005b0e2
cmp rbp, 0x50000
jae 0x14005b09e
pxor xmm0, xmm0
cvtsi2sd xmm0, rbp
test rbp, rbp
jns 0x14005b065
addsd xmm0, qword [0x140100e18]
mulsd xmm0, qword [0x140100e50]
movsd xmm1, qword [0x140100e48]
xor ecx, ecx
comisd xmm0, xmm1
jbe 0x14005b094
subsd xmm0, xmm1
comisd xmm0, xmm1
jae 0x14005b094
movabs rax, 0x8000000000000000
mov rcx, rax
cvttsd2si rdi, xmm0
add rdi, rcx
jmp 0x14005b0e2
cmp rbp, 0x320000
jae 0x14005b0b0
lea rdi, [rbp + 0x8000]
jmp 0x14005b0e2
cmp rbp, 0xc80000
jae 0x14005b0db
movabs rax, 0x47ae147ae147ae15
mov rdi, rbp
mul rbp
sub rdi, rdx
shr rdi, 1
add rdi, rdx
shr rdi, 6
add rdi, rbp
jmp 0x14005b0e2
lea rdi, [rbp + 0x20000]
cmp rdi, r8
cmova rdi, r8
cmp r10b, 2
jne 0x14005b102
test r9, r9
je 0x14005b102
mov rcx, qword [rbx + 8]
mov bpl, 1
call fcn.1400ca970
jmp 0x14005b105
xor bpl, bpl
test rdi, rdi
js 0x14005b193
mov rcx, rdi
call fcn.1400c9ed4
test rax, rax
je 0x14005b193
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 0x14005b141
lea r8, [r13 + r13]
mov rdx, r12
call fcn.1400cab30
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 0x14005b1a9
lea rax, [0x140119128]
mov qword [rbx + 0x18], rsi
mov qword [rbx + 8], rax
jmp 0x14005b1b0
mov rax, qword [rbx + 8]
mov word [rax], si
lea rdx, str.Out_of_memory.
lea rcx, [0x140119170]
mov r8, r12
mov qword [rbx + 0x10], rsi
call fcn.1400406a0
mov esi, eax
jmp 0x14005b157