Function at 0x140059b60
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.14002d780
mov rbx, rax
test rax, rax
jne 0x140059b8d
add rsp, 0x108
pop rbp
pop rbx
ret
cmp byte [rax + 0x23], 0
jne 0x140059b97
mov rbx, qword [rax + 0x10]
movzx r9d, byte [rbp + 1]
cmp r9b, 1
jbe 0x140059bcc
mov rax, qword [rbp + 8]
mov rdx, qword [rax + 0x38]
test rdx, rdx
je 0x140059bcc
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 0x140059ce2
mov r12, qword [rbp + 8]
mov rax, qword [r12 + 0x30]
test rax, rax
je 0x140059ce2
cmp qword [rax], rsi
je 0x140059ce2
mov rdi, qword [r12 + 0x30]
add r12, 0x20
mov r14, qword [rdi + 8]
movzx ecx, byte [r14 + 0x23]
test cl, cl
jne 0x140059c33
mov rax, qword [r14 + 0x10]
movzx edx, byte [rax + 0x23]
jmp 0x140059c36
movzx edx, cl
cmp dl, 3
jne 0x140059c67
movzx eax, byte [rbx + 0x23]
cmp al, 2
jne 0x140059c4d
mov eax, 1
jmp 0x14005a949
test al, al
jne 0x140059c55
mov rbx, qword [rbx + 0x10]
xor r8d, r8d
xor edx, edx
mov rcx, rbx
call fcn.1400af3b0
jmp 0x14005a949
test cl, cl
jne 0x140059c76
mov rax, qword [r14 + 0x10]
movzx r8d, byte [rax + 0x21]
jmp 0x140059c7b
movzx r8d, byte [r14 + 0x21]
test r8b, 1
je 0x140059c91
mov rdx, r14
mov rcx, rbx
call fcn.1400af740
jmp 0x14005a949
cmp qword [rdi + 0x18], rsi
jne 0x140059ce5
movzx eax, word [r12 + 2]
cmp word [rdi + 0x12], ax
jne 0x140059ce5
cmp dl, 1
jne 0x140059cdb
mov rax, qword [0x140111488]
cmp byte [rax + 0x134], sil
je 0x140059ccb
test cl, cl
jne 0x140059cc2
mov rax, qword [r14 + 0x10]
jmp 0x140059cc5
mov rax, r14
test byte [rax + 0x21], 8
je 0x140059cdb
mov rdx, r14
mov rcx, rbx
call fcn.1400aeb70
jmp 0x14005a949
mov qword [rsp + 0x38], r14
jmp 0x140059ced
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 0x140059dca
movzx eax, byte [rbx + 0x23]
test al, al
jne 0x140059d24
mov rax, qword [rbx + 0x10]
movzx eax, byte [rax + 0x23]
cmp al, 2
je 0x140059dca
mov rcx, qword [r12 + 0x10]
mov rdx, qword [rcx]
test rdx, rdx
je 0x140059dca
nop dword [rax]
mov rax, qword [rcx + 8]
test r15b, r15b
je 0x140059d92
cmp byte [rax + 0x23], sil
jne 0x140059d53
mov rax, qword [rax + 0x10]
cmp rax, rbx
jne 0x140059db7
xor r15b, r15b
test dil, dil
je 0x140059dca
test r15b, r15b
jne 0x140059dca
xor r9d, r9d
or r8, 0xffffffffffffffff
xor edx, edx
mov rcx, rbp
call fcn.140088b00
cmp eax, 1
jne 0x14005a614
mov edx, eax
mov rcx, rbp
call fcn.14002d4a0
lea rbp, [rax + 1]
jmp 0x140059f8c
cmp byte [rax + 0x23], sil
jne 0x140059d9c
mov rax, qword [rax + 0x10]
cmp rax, rbx
jne 0x140059db7
mov dil, 1
mov byte [rsp + 0x128], dil
cmp rdx, qword [r12 + 8]
jne 0x140059d65
movzx r15d, dil
mov rdx, qword [rcx + 0x18]
add rcx, 0x18
test rdx, rdx
jne 0x140059d40
jmp 0x140059d5b
cmp r9b, 2
jb 0x14005a6ca
test r14, r14
je 0x140059ea5
movzx ecx, byte [r14 + 0x23]
test ecx, ecx
je 0x140059e91
dec ecx
je 0x140059e2d
dec ecx
je 0x140059e09
dec ecx
je 0x140059e75
mov rdx, qword [r14 + 0x28]
xor ecx, ecx
call qword [r14 + reloc.OLEAUT32.dll_SafeArrayGetElement]
lea rbp, [rax + 1]
jmp 0x140059f8c
lea rcx, [0x140118e30]
xor edx, edx
call fcn.140005e00
mov r13d, 0xffffffff
cmp rax, r13
cmove rax, rsi
lea rbp, [rax + 1]
jmp 0x140059f8c
mov rcx, r14
call fcn.140001130
cmp dword [0x140116940], esi
jne 0x140059e81
cmp qword [r14 + 0x10], rsi
jne 0x140059e81
mov rcx, qword [r14 + 0x28]
lea rdx, [rsp + 0x130]
xor r8d, r8d
call qword [sym.imp.KERNEL32.dll_GetEnvironmentVariableW]
test eax, eax
je 0x140059e6e
dec eax
mov qword [0x140119d78], rsi
lea rbp, [rax + 1]
jmp 0x140059f8c
mov qword [0x140119d78], r14
mov rax, rsi
lea rbp, [rax + 1]
jmp 0x140059f8c
mov rax, qword [r14 + 0x10]
shr rax, 1
lea rbp, [rax + 1]
jmp 0x140059f8c
mov rcx, qword [r14 + 0x10]
xor edx, edx
call fcn.1400afe60
lea rbp, [rax + 1]
jmp 0x140059f8c
mov rax, qword [rbp + 8]
movzx ecx, word [rax + 0x22]
inc ecx
movsxd rbp, ecx
test r12, r12
je 0x140059f8c
mov r12, qword [r12 + 0x10]
cmp qword [r12], rsi
je 0x140059f8c
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 0x140059f70
dec ecx
je 0x140059f1b
dec ecx
je 0x140059f04
dec ecx
je 0x140059f5c
mov rdx, qword [rdi + 0x28]
xor ecx, ecx
call qword [rdi + reloc.OLEAUT32.dll_SafeArrayGetElement]
jmp 0x140059f7b
lea rcx, [0x140118e30]
xor edx, edx
call fcn.140005e00
cmp rax, r13
cmove rax, rsi
jmp 0x140059f7b
mov rcx, rdi
call fcn.140001130
cmp dword [0x140116940], esi
jne 0x140059f61
cmp qword [rdi + 0x10], rsi
jne 0x140059f61
mov rcx, qword [rdi + 0x28]
lea rdx, [rsp + 0x138]
xor r8d, r8d
call qword [sym.imp.KERNEL32.dll_GetEnvironmentVariableW]
test eax, eax
je 0x140059f55
mov qword [0x140119d78], rsi
dec eax
jmp 0x140059f7b
mov qword [0x140119d78], rdi
mov rax, rsi
jmp 0x140059f7b
mov rax, qword [rdi + 0x10]
shr rax, 1
jmp 0x140059f7b
mov rcx, qword [rdi + 0x10]
xor edx, edx
call fcn.1400afe60
add r12, 0x18
add rbp, rax
cmp qword [r12], rsi
jne 0x140059ed0
cmp rbp, 2
jb 0x14005a6ca
test r15b, r15b
je 0x140059fe8
cmp byte [rbx + 0x23], sil
jne 0x140059fa7
mov rax, qword [rbx + 0x10]
jmp 0x140059faa
mov rax, rbx
cmp byte [rax + 0x23], 2
jne 0x140059fb8
mov eax, dword [0x140118e58]
jmp 0x140059fbc
mov rax, qword [rax + 0x18]
shr rax, 1
cmp rbp, rax
jbe 0x14005a34e
mov rcx, qword [rsp + 0x120]
lea r9, [rsp + 0x30]
mov r8, rbp
xor edx, edx
call fcn.140088b00
cmp eax, 1
jne 0x14005a614
cmp byte [rsp + 0x128], sil
je 0x14005a34e
movzx edx, byte [rbx + 0x23]
mov r13, qword [0x1401166f8]
test dl, dl
jne 0x14005a022
mov rcx, qword [rbx + 0x10]
xor r9d, r9d
or r8, 0xffffffffffffffff
mov rdx, r13
mov byte [rsp + 0x20], 1
call fcn.1400afa10
jmp 0x14005a336
mov r8b, 1
lea r12, [0x1400e146c]
test r13, r13
jne 0x14005a03c
xor r8b, r8b
mov r14, rsi
mov r13, r12
jmp 0x14005a05e
cmp qword [rbx + 8], r13
jne 0x14005a04b
mov r14, qword [rbx + 0x10]
shr r14, 1
jmp 0x14005a05e
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 0x14005a07b
mov rdx, r14
mov rcx, r13
call fcn.140006020
jmp 0x14005a336
mov r9, qword [0x140111460]
cmp rbp, r9
jbe 0x14005a099
cmp rbp, qword [rbx + 0x18]
jbe 0x14005a099
lea rdx, str.Memory_limit_reached__see_MaxMem_in_the_help_file_.
jmp 0x14005a327
cmp rax, 2
jae 0x14005a0b9
test r8b, r8b
mov rcx, rbx
setne sil
xor r8d, r8d
lea edx, [rsi + 3]
call fcn.1400b00c0
jmp 0x14005a278
movzx eax, byte [rbx + 0x21]
test al, 2
je 0x14005a0d6
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 [0x140111460]
mov r8, qword [rbx + 0x18]
and byte [rbx + 0x21], 0x82
cmp rbp, r8
jbe 0x14005a253
movzx r10d, byte [rbx + 0x20]
movzx eax, r10b
cmp r10b, 1
jbe 0x14005a10f
cmp al, 2
je 0x14005a14c
mov rdi, qword [rsp + 0x128]
mov rax, qword [rsp + 0x128]
jmp 0x14005a247
mov edi, 0x80
cmp rbp, rdi
ja 0x14005a14c
cmp rbp, 8
ja 0x14005a126
mov edi, 8
jmp 0x14005a132
mov eax, reloc.OLEAUT32.dll_SafeArrayGetDim
cmp rbp, rax
cmovbe rdi, rax
mov rcx, rdi
call fcn.1400a8cb0
test rax, rax
je 0x14005a33e
mov byte [rbx + 0x20], 1
jmp 0x14005a247
cmp rbp, 0x20
jae 0x14005a15c
mov edi, SafeArrayAllocDescriptor
jmp 0x14005a206
mov edi, 0x208
cmp rbp, rdi
jb 0x14005a206
cmp rbp, 0x50000
jae 0x14005a1c2
pxor xmm0, xmm0
cvtsi2sd xmm0, rbp
test rbp, rbp
jns 0x14005a189
addsd xmm0, qword [0x1400ffd58]
mulsd xmm0, qword [0x1400ffd90]
movsd xmm1, qword [0x1400ffd88]
xor ecx, ecx
comisd xmm0, xmm1
jbe 0x14005a1b8
subsd xmm0, xmm1
comisd xmm0, xmm1
jae 0x14005a1b8
movabs rax, 0x8000000000000000
mov rcx, rax
cvttsd2si rdi, xmm0
add rdi, rcx
jmp 0x14005a206
cmp rbp, 0x320000
jae 0x14005a1d4
lea rdi, [rbp + 0x8000]
jmp 0x14005a206
cmp rbp, 0xc80000
jae 0x14005a1ff
movabs rax, 0x47ae147ae147ae15
mov rdi, rbp
mul rbp
sub rdi, rdx
shr rdi, 1
add rdi, rdx
shr rdi, 6
add rdi, rbp
jmp 0x14005a206
lea rdi, [rbp + 0x20000]
cmp rdi, r9
cmova rdi, r9
cmp r10b, 2
jne 0x14005a226
test r8, r8
je 0x14005a226
mov rcx, qword [rbx + 8]
mov bpl, 1
call fcn.1400c98d0
jmp 0x14005a229
xor bpl, bpl
test rdi, rdi
js 0x14005a2ff
mov rcx, rdi
call fcn.1400c8e34
test rax, rax
je 0x14005a2ff
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 0x14005a268
lea r8, [r14 + r14]
mov rdx, r13
call fcn.1400c9a90
mov rax, qword [rbx + 8]
lea rcx, [r14 + r14]
mov word [rcx + rax], si
mov qword [rbx + 0x10], rcx
mov rax, qword [0x140111488]
mov esi, 1
cmp byte [rax + 0x134], 0
je 0x14005a937
xor r8d, r8d
mov edx, esi
mov rcx, rbx
call fcn.140001820
mov rdi, rax
cmp word [rax], 0
je 0x14005a937
mov rcx, rbx
call fcn.14001be50
mov rcx, rdi
mov rdx, rax
call fcn.14001b770
mov rcx, rdi
mov rdx, rax
call fcn.14001b870
mov rcx, rbx
mov rdx, rax
call fcn.14001be00
cmp byte [rbx + 0x23], 0
jne 0x14005a2de
mov rbx, qword [rbx + 0x10]
cmp byte [rbx + 0x23], 2
jne 0x14005a345
cmp qword [0x140118e48], 0
je 0x14005a345
lea rcx, [0x140118e30]
call fcn.1400061a0
jmp 0x14005a937
test bpl, bpl
je 0x14005a315
lea rax, [0x140118198]
mov qword [rbx + 0x18], rsi
mov qword [rbx + 8], rax
jmp 0x14005a31c
mov rax, qword [rbx + 8]
mov word [rax], si
mov qword [rbx + 0x10], rsi
lea rdx, str.Out_of_memory.
lea rcx, [0x1401181e0]
mov r8, r12
call fcn.14003ffa0
test eax, eax
jne 0x14005a278
xor eax, eax
jmp 0x14005a939
and byte [rbx + 0x21], 0x86
jmp 0x14005a937
test r15b, r15b
jne 0x14005a62b
movzx ecx, byte [rbx + 0x23]
lea r13, [rbp - 1]
test cl, cl
jne 0x14005a37e
mov rcx, qword [rbx + 0x10]
xor r9d, r9d
mov r8, r13
xor edx, edx
mov byte [rsp + 0x20], 1
call fcn.1400afa10
jmp 0x14005a60d
mov r12b, 1
movzx edx, r12b
cmp r13, 0xffffffffffffffff
jne 0x14005a392
xor dl, dl
mov r13, rsi
jmp 0x14005a395
xor r12b, r12b
lea rax, [r13 + 1]
lea rbp, [rax + rax]
cmp cl, 2
jne 0x14005a3d6
test r12b, r12b
je 0x14005a3bb
lea rcx, [0x1400e146c]
mov rdx, r13
call fcn.140006020
jmp 0x14005a60d
lea rcx, [0x140118e30]
mov rdx, rax
call fcn.1400060e0
test rax, rax
setne sil
jmp 0x14005a60f
mov r8, qword [0x140111460]
cmp rbp, r8
jbe 0x14005a3f4
cmp rbp, qword [rbx + 0x18]
jbe 0x14005a3f4
lea rdx, str.Memory_limit_reached__see_MaxMem_in_the_help_file_.
jmp 0x14005a5fa
cmp rax, 2
jae 0x14005a413
test dl, dl
mov rcx, rbx
setne sil
xor r8d, r8d
lea edx, [rsi + 3]
call fcn.1400b00c0
jmp 0x14005a62b
movzx eax, byte [rbx + 0x21]
test al, 2
je 0x14005a430
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 [0x140111460]
mov r9, qword [rbx + 0x18]
and byte [rbx + 0x21], 0x82
cmp rbp, r9
jbe 0x14005a5a5
movzx r10d, byte [rbx + 0x20]
movzx eax, r10b
cmp r10b, 1
jbe 0x14005a469
cmp al, 2
je 0x14005a4a6
mov rdi, qword [rsp + 0x128]
mov rax, qword [rsp + 0x128]
jmp 0x14005a599
mov edi, 0x80
cmp rbp, rdi
ja 0x14005a4a6
cmp rbp, 8
ja 0x14005a480
mov edi, 8
jmp 0x14005a48c
mov eax, reloc.OLEAUT32.dll_SafeArrayGetDim
cmp rbp, rax
cmovbe rdi, rax
mov rcx, rdi
call fcn.1400a8cb0
test rax, rax
je 0x14005a614
mov byte [rbx + 0x20], 1
jmp 0x14005a599
cmp rbp, 0x20
jae 0x14005a4b6
mov edi, SafeArrayAllocDescriptor
jmp 0x14005a560
mov edi, 0x208
cmp rbp, rdi
jb 0x14005a560
cmp rbp, 0x50000
jae 0x14005a51c
pxor xmm0, xmm0
cvtsi2sd xmm0, rbp
test rbp, rbp
jns 0x14005a4e3
addsd xmm0, qword [0x1400ffd58]
mulsd xmm0, qword [0x1400ffd90]
movsd xmm1, qword [0x1400ffd88]
xor ecx, ecx
comisd xmm0, xmm1
jbe 0x14005a512
subsd xmm0, xmm1
comisd xmm0, xmm1
jae 0x14005a512
movabs rax, 0x8000000000000000
mov rcx, rax
cvttsd2si rdi, xmm0
add rdi, rcx
jmp 0x14005a560
cmp rbp, 0x320000
jae 0x14005a52e
lea rdi, [rbp + 0x8000]
jmp 0x14005a560
cmp rbp, 0xc80000
jae 0x14005a559
movabs rax, 0x47ae147ae147ae15
mov rdi, rbp
mul rbp
sub rdi, rdx
shr rdi, 1
add rdi, rdx
shr rdi, 6
add rdi, rbp
jmp 0x14005a560
lea rdi, [rbp + 0x20000]
cmp rdi, r8
cmova rdi, r8
cmp r10b, 2
jne 0x14005a580
test r9, r9
je 0x14005a580
mov rcx, qword [rbx + 8]
mov bpl, 1
call fcn.1400c98d0
jmp 0x14005a583
xor bpl, bpl
test rdi, rdi
js 0x14005a5d2
mov rcx, rdi
call fcn.1400c8e34
test rax, rax
je 0x14005a5d2
mov byte [rbx + 0x20], 2
and byte [rbx + 0x21], 0x7f
mov qword [rbx + 8], rax
mov qword [rbx + 0x18], rdi
test r12b, r12b
je 0x14005a61b
mov rcx, qword [rbx + 8]
lea r12, [0x1400e146c]
cmp rcx, r12
je 0x14005a5c7
lea r8, [r13 + r13]
mov rdx, r12
call fcn.1400c9a90
mov rax, qword [rbx + 8]
mov word [rax + r13*2], si
jmp 0x14005a622
test bpl, bpl
je 0x14005a5e8
lea rax, [0x140118198]
mov qword [rbx + 0x18], rsi
mov qword [rbx + 8], rax
jmp 0x14005a5ef
mov rax, qword [rbx + 8]
mov word [rax], si
mov qword [rbx + 0x10], rsi
lea rdx, str.Out_of_memory.
lea r8, [0x1400e146c]
lea rcx, [0x1401181e0]
call fcn.14003ffa0
mov esi, eax
cmp esi, 1
je 0x14005a62b
xor eax, eax
jmp 0x14005a939
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.1400894e0
mov rdx, rax
test rax, rax
je 0x14005a614
mov rax, qword [0x140111488]
sub rdx, rdi
sar rdx, 1
dec rdx
cmp byte [rax + 0x134], 0
je 0x14005a68d
mov rcx, rdi
call fcn.14001b770
mov rcx, rdi
mov rdx, rax
call fcn.14001b870
mov rdx, rax
mov rcx, rbx
call fcn.14001be00
cmp byte [rbx + 0x23], 0
jne 0x14005a69f
mov rbx, qword [rbx + 0x10]
cmp byte [rbx + 0x23], 2
jne 0x14005a345
cmp qword [0x140118e48], 0
je 0x14005a345
lea rcx, [0x140118e30]
call fcn.1400061a0
mov esi, eax
jmp 0x14005a937
movzx eax, byte [rbx + 0x23]
test al, al
jne 0x14005a6f5
mov rcx, qword [rbx + 0x10]
lea rdx, [0x1400e146c]
xor r9d, r9d
or r8, 0xffffffffffffffff
mov byte [rsp + 0x20], 1
call fcn.1400afa10
mov esi, eax
jmp 0x14005a937
lea r12, [0x1400e146c]
cmp qword [rbx + 8], r12
jne 0x14005a70b
mov r13, qword [rbx + 0x10]
shr r13, 1
jmp 0x14005a70e
mov r13, rsi
lea rcx, [r13 + 1]
lea rbp, [rcx + rcx]
cmp al, 2
jne 0x14005a72c
mov rdx, r13
mov rcx, r12
call fcn.140006020
mov esi, eax
jmp 0x14005a937
mov r8, qword [0x140111460]
cmp rbp, r8
jbe 0x14005a75b
cmp rbp, qword [rbx + 0x18]
jbe 0x14005a75b
lea rdx, str.Memory_limit_reached__see_MaxMem_in_the_help_file_.
lea rcx, [0x1401181e0]
mov r8, r12
call fcn.14003ffa0
mov esi, eax
jmp 0x14005a937
cmp rcx, 2
jae 0x14005a775
xor r8d, r8d
mov rcx, rbx
lea edx, [r8 + 4]
call fcn.1400b00c0
jmp 0x14005a932
movzx eax, byte [rbx + 0x21]
test al, 2
je 0x14005a792
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 [0x140111460]
mov r9, qword [rbx + 0x18]
and byte [rbx + 0x21], 0x82
cmp rbp, r9
jbe 0x14005a90b
movzx r10d, byte [rbx + 0x20]
movzx eax, r10b
cmp r10b, 1
jbe 0x14005a7cb
cmp al, 2
je 0x14005a808
mov rdi, qword [rsp + 0x128]
mov rax, qword [rsp + 0x128]
jmp 0x14005a8ff
mov edi, 0x80
cmp rbp, rdi
ja 0x14005a808
cmp rbp, 8
ja 0x14005a7e2
mov edi, 8
jmp 0x14005a7ee
mov eax, reloc.OLEAUT32.dll_SafeArrayGetDim
cmp rbp, rax
cmovbe rdi, rax
mov rcx, rdi
call fcn.1400a8cb0
test rax, rax
je 0x14005a937
mov byte [rbx + 0x20], 1
jmp 0x14005a8ff
cmp rbp, 0x20
jae 0x14005a818
mov edi, SafeArrayAllocDescriptor
jmp 0x14005a8c2
mov edi, 0x208
cmp rbp, rdi
jb 0x14005a8c2
cmp rbp, 0x50000
jae 0x14005a87e
pxor xmm0, xmm0
cvtsi2sd xmm0, rbp
test rbp, rbp
jns 0x14005a845
addsd xmm0, qword [0x1400ffd58]
mulsd xmm0, qword [0x1400ffd90]
movsd xmm1, qword [0x1400ffd88]
xor ecx, ecx
comisd xmm0, xmm1
jbe 0x14005a874
subsd xmm0, xmm1
comisd xmm0, xmm1
jae 0x14005a874
movabs rax, 0x8000000000000000
mov rcx, rax
cvttsd2si rdi, xmm0
add rdi, rcx
jmp 0x14005a8c2
cmp rbp, 0x320000
jae 0x14005a890
lea rdi, [rbp + 0x8000]
jmp 0x14005a8c2
cmp rbp, 0xc80000
jae 0x14005a8bb
movabs rax, 0x47ae147ae147ae15
mov rdi, rbp
mul rbp
sub rdi, rdx
shr rdi, 1
add rdi, rdx
shr rdi, 6
add rdi, rbp
jmp 0x14005a8c2
lea rdi, [rbp + 0x20000]
cmp rdi, r8
cmova rdi, r8
cmp r10b, 2
jne 0x14005a8e2
test r9, r9
je 0x14005a8e2
mov rcx, qword [rbx + 8]
mov bpl, 1
call fcn.1400c98d0
jmp 0x14005a8e5
xor bpl, bpl
test rdi, rdi
js 0x14005a973
mov rcx, rdi
call fcn.1400c8e34
test rax, rax
je 0x14005a973
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 0x14005a921
lea r8, [r13 + r13]
mov rdx, r12
call fcn.1400c9a90
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 0x14005a989
lea rax, [0x140118198]
mov qword [rbx + 0x18], rsi
mov qword [rbx + 8], rax
jmp 0x14005a990
mov rax, qword [rbx + 8]
mov word [rax], si
lea rdx, str.Out_of_memory.
lea rcx, [0x1401181e0]
mov r8, r12
mov qword [rbx + 0x10], rsi
call fcn.14003ffa0
mov esi, eax
jmp 0x14005a937