Function at 0x14005cb00
Capabilities:
Check if file exists
Get file attributes
Set current directory

Disassembly:
mov qword [rsp + 0x10], rdx
mov qword [rsp + 8], rcx
push rbp
push rbx
push rsi
push r13
push r14
lea rbp, [rsp - 0x21a50]
mov eax, 0x21b50
call fcn.1401110b0
sub rsp, rax
cmp dword [0x14016fa48], 4
mov r13, qword [0x14016f6f0]
mov rsi, r9
mov r10, r8
mov rbx, rdx
mov r14, rcx
mov qword [rsp + 0x58], r13
jl 0x14005cb77
lea rcx, [0x140137f50]
call fcn.1400dd2e0
lea r9, [0x1401295d4]
xor r8d, r8d
mov rdx, rax
mov rcx, r14
call fcn.14003d490
add rsp, 0x21b50
pop r14
pop r13
pop rsi
pop rbx
pop rbp
ret
mov qword [rsp + 0x21b90], rdi
mov qword [rsp + 0x21b48], r12
mov qword [rsp + 0x21b40], r15
xor r15d, r15d
mov word [rbp + 0x1a30], r15w
test r8, r8
je 0x14005ccc0
cmp word [r8], r15w
je 0x14005ccc0
or rcx, 0xffffffffffffffff
xor eax, eax
mov rdi, r8
repne scasw ax, word [rdi]
not rcx
dec rcx
cmp rcx, 0x104
jb 0x14005cbdd
lea rdx, [rbp + 0x20]
mov r8d, 0x104
mov rcx, r10
call qword [sym.imp.KERNEL32.dll_GetShortPathNameW]
jmp 0x14005cbf7
lea rcx, [rbp + 0x20]
mov r8d, 0x103
mov rdx, r10
call fcn.14010a074
mov word [rbp + 0x226], r15w
lea rdx, [0x140137fd0]
lea rcx, [rbp + 0x20]
mov r8d, 3
call fcn.14010a798
lea rcx, [rbp + 0x20]
test eax, eax
sete r12b
test r12b, r12b
je 0x14005cc54
mov edx, 0x7d
call fcn.140109434
test rax, rax
je 0x14005ccc5
cmp word [rax + 2], r15w
je 0x14005ccc5
or rcx, 0xffffffffffffffff
xor eax, eax
lea rdi, [rbp + 0x20]
repne scasw ax, word [rdi]
not rcx
cmp word [rbp + rcx*2 + 0x1c], 0x5c
jne 0x14005cc63
jmp 0x14005ccc5
call qword [sym.imp.KERNEL32.dll_GetFileAttributesW]
cmp eax, 0xffffffff
je 0x14005cc63
test al, 0x10
jne 0x14005ccc5
lea rcx, [rbp + 0x20]
mov edx, 0x5c
call fcn.14010a5e8
mov rdi, rax
test rax, rax
je 0x14005cc9d
lea rdx, [rax + 2]
lea rcx, [rbp + 0x1a30]
mov r8d, 0xfffe
call fcn.14010a074
mov word [rbp + 0x21a2c], r15w
mov word [rdi], r15w
jmp 0x14005ccc5
test r12b, r12b
jne 0x14005ccc5
lea rdx, [rbp + 0x20]
lea rcx, [rbp + 0x1a30]
mov r8d, 0xfffe
call fcn.14010a074
mov word [rbp + 0x21a2c], r15w
mov word [rbp + 0x20], r15w
test rsi, rsi
je 0x14005ccef
cmp word [rsi], r15w
je 0x14005ccef
lea rcx, [rbp + 0x1230]
mov r8d, 0x3ff
mov rdx, rsi
call fcn.14010a074
mov word [rbp + 0x1a2e], r15w
jmp 0x14005cd0e
mov r9, qword [0x140171e70]
lea r8, str.Select_File____s
lea rcx, [rbp + 0x1230]
mov edx, 0x400
call fcn.1400e6100
mov rdi, qword [rbp + 0x21aa0]
mov word [rbp + 0xa30], r15w
mov word [rbp + 0x230], r15w
cmp word [rdi], r15w
je 0x14005cd8b
mov edx, 0x28
mov rcx, rdi
call fcn.140109434
mov r8d, 0x3ff
lea rcx, [rbp + 0x230]
test rax, rax
je 0x14005cdd4
lea rdx, [rax + 2]
call fcn.14010a074
lea rcx, [rbp + 0x230]
mov edx, 0x29
mov word [rbp + 0xa2e], r15w
call fcn.14010a5e8
test rax, rax
je 0x14005cd7b
mov word [rax], r15w
jmp 0x14005cde4
mov word [rbp + 0x230], r15w
mov word [rbp + 0xa30], r15w
lea rcx, [rbp - 0x78]
xor edx, edx
mov r8d, SysStringByteLen
call fcn.14010ec60
mov rcx, qword [0x140169c00]
mov dword [rbp - 0x80], 0x98
add rcx, 0x68
call fcn.140082750
test rax, rax
je 0x14005d009
mov rax, qword [0x140169c00]
mov rcx, qword [rax + 0x68]
mov rax, qword [rcx + 8]
mov qword [rbp - 0x78], rax
jmp 0x14005d00d
mov rdx, rdi
call fcn.14010a074
mov word [rbp + 0xa2e], r15w
cmp word [rbp + 0x230], r15w
je 0x14005cd83
or rcx, 0xffffffffffffffff
xor eax, eax
lea rdi, [rbp + 0x230]
repne scasw ax, word [rdi]
or ebx, 0xffffffff
mov rsi, r15
not rcx
mov qword [rsp + 0x68], rax
dec rcx
mov r13, rcx
cmp rcx, 0x1388
jb 0x14005cfb7
mov edi, eax
lea r12, [rbp + 0x230]
nop dword [rax + rax]
lea rdx, [0x14012fa70]
mov rcx, r12
call fcn.140109454
mov r14, rax
test rax, rax
je 0x14005cede
inc edi
dec ebx
mov dword [rsp + 0x60], edi
mov rdi, rax
sub rdi, r12
sar rdi, 1
lea rcx, [rdi + r15]
mov qword [rsp + 0x70], rcx
cmp rcx, qword [rsp + 0x68]
jb 0x14005ceb4
lea rdx, [rbp + 0x230]
movsxd rcx, ecx
movsxd r9, r13d
sub rax, rdx
mov edx, dword [rsp + 0x60]
mov r8d, ebx
sar rax, 1
cdqe
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], rcx
or rcx, 0xffffffffffffffff
call fcn.1400e6de0
mov rcx, rsi
lea rdx, [rax + rax]
mov qword [rsp + 0x68], rax
call fcn.1401099a4
test rax, rax
je 0x14005cf19
mov rsi, rax
test rdi, rdi
je 0x14005cece
lea r8, [rdi + rdi]
lea rcx, [rsi + r15*2]
mov rdx, r12
call fcn.140109100
mov r15, qword [rsp + 0x70]
mov edi, dword [rsp + 0x60]
lea r12, [r14 + 2]
test ebx, ebx
jne 0x14005ce30
test edi, edi
je 0x14005cf26
lea rcx, [rbp + 0x230]
mov rax, r12
sub rax, rcx
sar rax, 1
sub r13, rax
je 0x14005cf97
lea rdi, [r13 + r15]
cmp rdi, qword [rsp + 0x68]
jb 0x14005cf83
lea rdx, [rdi + rdi + 2]
mov rcx, rsi
call fcn.1401099a4
test rax, rax
jne 0x14005cf80
test rsi, rsi
je 0x14005cf26
mov rcx, rsi
call fcn.140108f48
mov r14, qword [rbp + 0x21a80]
mov r9, qword [rbp + 0x21aa0]
xor r15d, r15d
lea rax, [rbp + 0x230]
mov qword [rsp + 0x40], r15
mov qword [rsp + 0x38], r15
mov qword [rsp + 0x30], r15
mov qword [rsp + 0x28], rax
lea r8, str._s_c_s_cAll_Files__.__c._c
lea rcx, [rbp + 0xa30]
mov edx, 0x400
mov qword [rsp + 0x20], r15
call fcn.1400e6100
mov rbx, qword [rbp + 0x21a88]
mov r13, qword [rsp + 0x58]
jmp 0x14005cd8b
mov rsi, rax
lea r8, [r13 + r13]
lea rcx, [rsi + r15*2]
mov rdx, r12
call fcn.140109100
mov r15, rdi
xor eax, eax
lea r8, [r15 + r15 + 2]
lea rcx, [rbp + 0x230]
mov rdx, rsi
mov word [rsi + r15*2], ax
call fcn.140109100
jmp 0x14005cf1e
lea rdi, [rbp + 0x230]
nop
lea rdx, [0x14012fa70]
mov rcx, rdi
call fcn.140109454
mov rdi, rax
test rax, rax
je 0x14005cf2d
lea rcx, [rbp + 0x230]
mov r8, r13
lea rdx, [rdi + 2]
sub rax, rcx
mov rcx, rdi
sar rax, 1
sub r8, rax
add r8, r8
call fcn.140109100
dec r13
dec ebx
jne 0x14005cfc0
jmp 0x14005cf2d
mov qword [rbp - 0x78], r15
cmp word [rbp + 0xa30], 0
movzx edi, word [rbx]
lea rax, [rbp + 0x1230]
mov qword [rbp - 0x28], rax
lea rcx, str.All_Files__._
lea rax, [rbp + 0xa30]
cmove rax, rcx
cmp word [rbp + 0x20], 0
mov dword [rbp - 0x48], 0xfffe
mov qword [rbp - 0x68], rax
lea rax, [rbp + 0x1a30]
mov qword [rbp - 0x50], rax
lea rax, [rbp + 0x20]
cmove rax, r15
xor r12b, r12b
xor sil, sil
mov byte [rsp + 0x50], r12b
mov qword [rbp - 0x30], rax
test edi, 0xffffff80
jne 0x14005d082
mov edx, 2
mov ecx, edi
call fcn.140109968
test eax, eax
je 0x14005d082
and edi, 0xffffffdf
movzx eax, di
cmp eax, 0x4d
je 0x14005d094
cmp eax, 0x53
jne 0x14005d0a0
mov sil, 1
jmp 0x14005d09c
mov r12b, 1
mov byte [rsp + 0x50], r12b
add rbx, 2
mov rcx, rbx
call fcn.140013c70
mov ecx, reloc.OLEAUT32.dll_SafeArrayGetDim
test al, al
je 0x14005d0c0
mov r8d, ecx
xor edx, edx
mov rcx, rbx
call fcn.140109ef0
jmp 0x14005d0c8
mov rcx, rbx
call fcn.14010998c
mov edx, eax
mov ecx, 0x180004
mov eax, 0x80004
test dl, 0x20
cmovne eax, ecx
mov dword [rbp - 0x20], eax
test dl, 0x10
je 0x14005d0e8
or eax, 2
mov dword [rbp - 0x20], eax
test dl, 8
je 0x14005d0f4
bts eax, 0xd
mov dword [rbp - 0x20], eax
test r12b, r12b
jne 0x14005d0fe
test dl, 4
je 0x14005d105
bts eax, 9
mov dword [rbp - 0x20], eax
test dl, 2
je 0x14005d111
bts eax, 0xb
mov dword [rbp - 0x20], eax
test dl, 1
je 0x14005d11d
bts eax, 0xc
mov dword [rbp - 0x20], eax
call fcn.1400ed7d0
mov rcx, qword [0x14016f860]
xor r9d, r9d
lea edx, [r9 + 0x44]
mov r8d, 0x403
movzx ebx, al
call qword [sym.imp.USER32.dll_PostMessageW]
inc dword [0x14016fa48]
test sil, sil
jne 0x14005d164
mov ecx, dword [rbp - 0x20]
test cl, 2
je 0x14005d158
bt ecx, 0xd
jae 0x14005d164
lea rcx, [rbp - 0x80]
call qword [sym.imp.COMDLG32.dll_GetOpenFileNameW]
jmp 0x14005d16e
lea rcx, [rbp - 0x80]
call qword [sym.imp.COMDLG32.dll_GetSaveFileNameW]
dec dword [0x14016fa48]
mov rcx, qword [0x140169c00]
test bl, bl
mov edi, eax
sete al
mov byte [rcx + 0x12e], bl
mov byte [rcx + 0x12c], al
mov rdx, qword [0x140169c30]
test rdx, rdx
je 0x14005d1c1
mov rdx, qword [rdx]
lea rcx, [0x1401295d4]
test rdx, rdx
mov rax, rcx
cmovne rax, rdx
cmp word [rax], 0
je 0x14005d1c1
test rdx, rdx
cmovne rcx, rdx
call qword [sym.imp.KERNEL32.dll_SetCurrentDirectoryW]
test edi, edi
jne 0x14005d4c9
mov rcx, r13
call fcn.140023100
cmp eax, 1
je 0x14005d1dd
xor eax, eax
jmp 0x14005db75
call qword [sym.imp.COMDLG32.dll_CommDlgExtendedError]
test eax, eax
je 0x14005d1f9
mov dl, 1
mov rcx, r14
call fcn.14003ca30
mov r14d, eax
jmp 0x14005db72
mov rdi, qword [0x1401703d0]
movzx eax, byte [rdi + 0x23]
test al, al
jne 0x14005d22c
mov rcx, qword [rdi + 0x10]
lea rdx, [0x14012e7cc]
xor r9d, r9d
or r8, 0xffffffffffffffff
mov byte [rsp + 0x20], 1
call fcn.1400e9bc0
mov r14d, eax
jmp 0x14005db72
lea r13, [0x14012e7cc]
mov r14d, 1
cmp qword [rdi + 8], r13
jne 0x14005d248
mov r12, qword [rdi + 0x10]
shr r12, 1
jmp 0x14005d24b
mov r12, r14
lea rdx, [r12 + 1]
lea rsi, [rdx + rdx]
cmp al, 2
jne 0x14005d26b
mov rdx, r12
mov rcx, r13
call fcn.140005910
mov r14d, eax
jmp 0x14005db72
mov rcx, qword [0x140169b08]
cmp rsi, rcx
jbe 0x14005d2a7
cmp rsi, qword [rdi + 0x18]
jbe 0x14005d2a7
lea rcx, [0x14014bd60]
call fcn.1400dd2e0
lea r8, [0x1401295d4]
lea rcx, [0x1401712e0]
mov rdx, rax
call fcn.1400a5580
mov r14d, eax
jmp 0x14005db72
cmp rdx, 2
jae 0x14005d2c1
xor r8d, r8d
mov rcx, rdi
lea edx, [r8 + 4]
call fcn.1400ea290
jmp 0x14005db72
movzx eax, byte [rdi + 0x21]
test al, 2
je 0x14005d2de
mov rcx, qword [rdi]
and al, 0x3d
mov byte [rdi + 0x21], al
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_SafeArrayGetDim]
mov rcx, qword [0x140169b08]
mov r8, qword [rdi + 0x18]
and byte [rdi + 0x21], 0x82
cmp rsi, r8
jbe 0x14005d45a
movzx r9d, byte [rdi + 0x20]
movzx eax, r9b
cmp r9b, r14b
jbe 0x14005d310
cmp al, 2
je 0x14005d355
mov rbx, qword [rsp + 0x58]
mov rax, qword [rsp + 0x58]
jmp 0x14005d44e
cmp rsi, 0x80
ja 0x14005d355
cmp rsi, 8
ja 0x14005d326
mov ebx, 8
jmp 0x14005d337
mov ebx, 0x80
cmp rsi, 0x10
mov eax, reloc.OLEAUT32.dll_SafeArrayGetDim
cmovbe ebx, eax
mov rcx, rbx
call fcn.1400dc2b0
test rax, rax
jne 0x14005d34c
mov r14d, r15d
jmp 0x14005db72
mov byte [rdi + 0x20], r14b
jmp 0x14005d44e
cmp rsi, 0x20
jae 0x14005d365
mov ebx, SafeArrayAllocDescriptor
jmp 0x14005d414
cmp rsi, 0x208
jae 0x14005d378
mov ebx, 0x208
jmp 0x14005d414
cmp rsi, 0x50000
jae 0x14005d3d0
pxor xmm0, xmm0
cvtsi2sd xmm0, rsi
test rsi, rsi
jns 0x14005d397
addsd xmm0, qword [0x140152fd8]
mulsd xmm0, qword [0x140153040]
movsd xmm1, qword [0x140153038]
xor eax, eax
comisd xmm0, xmm1
jbe 0x14005d3c6
subsd xmm0, xmm1
comisd xmm0, xmm1
jae 0x14005d3c6
movabs rdx, 0x8000000000000000
mov rax, rdx
cvttsd2si rbx, xmm0
add rbx, rax
jmp 0x14005d414
cmp rsi, 0x320000
jae 0x14005d3e2
lea rbx, [rsi + 0x8000]
jmp 0x14005d414
cmp rsi, 0xc80000
jae 0x14005d40d
movabs rax, 0x47ae147ae147ae15
mov rbx, rsi
mul rsi
sub rbx, rdx
shr rbx, 1
add rbx, rdx
shr rbx, 6
add rbx, rsi
jmp 0x14005d414
lea rbx, [rsi + 0x20000]
cmp rbx, rcx
cmova rbx, rcx
cmp r9b, 2
jne 0x14005d435
test r8, r8
je 0x14005d435
mov rcx, qword [rdi + 8]
movzx esi, r14b
call fcn.140108f48
jmp 0x14005d438
xor sil, sil
test rbx, rbx
js 0x14005d485
mov rcx, rbx
call fcn.1401084ac
test rax, rax
je 0x14005d485
mov byte [rdi + 0x20], 2
and byte [rdi + 0x21], 0x7f
mov qword [rdi + 8], rax
mov qword [rdi + 0x18], rbx
mov rcx, qword [rdi + 8]
cmp rcx, r13
je 0x14005d46f
lea r8, [r12 + r12]
mov rdx, r13
call fcn.140109100
mov rax, qword [rdi + 8]
lea rcx, [r12 + r12]
mov word [rcx + rax], r15w
mov qword [rdi + 0x10], rcx
jmp 0x14005db72
test sil, sil
je 0x14005d49b
lea rax, [0x140171290]
mov qword [rdi + 0x18], r15
mov qword [rdi + 8], rax
jmp 0x14005d4a3
mov rax, qword [rdi + 8]
mov word [rax], r15w
lea r8, [0x1401295d4]
lea rdx, str.Out_of_memory.
lea rcx, [0x1401712e0]
mov qword [rdi + 0x10], r15
call fcn.1400a5580
mov r14d, eax
jmp 0x14005db72
mov rdi, qword [0x1401703d0]
mov ebx, 8
movaps xmmword [rsp + 0x21b30], xmm6
movzx eax, byte [rdi + 0x23]
movsd xmm6, qword [0x140153038]
movabs rdx, 0x8000000000000000
lea r14d, [rbx - 7]
movabs r9, 0x47ae147ae147ae15
lea r15, [0x140171290]
test al, al
jne 0x14005d52d
mov rcx, qword [rdi + 0x10]
lea rdx, [0x1401296b4]
xor r9d, r9d
or r8, 0xffffffffffffffff
mov byte [rsp + 0x20], r14b
call fcn.1400e9bc0
jmp 0x14005d784
lea rsi, [0x1401296b4]
cmp qword [rdi + 8], rsi
jne 0x14005d543
mov r15, qword [rdi + 0x10]
shr r15, 1
jmp 0x14005d546
mov r15, r14
lea rcx, [r15 + 1]
lea r12, [rcx + rcx]
cmp al, 2
jne 0x14005d562
mov rdx, r15
mov rcx, rsi
call fcn.140005910
jmp 0x14005d777
cmp r12, qword [0x140169b08]
jbe 0x14005d598
cmp r12, qword [rdi + 0x18]
jbe 0x14005d598
lea rcx, [0x14014bd60]
call fcn.1400dd2e0
lea r8, [0x1401295d4]
lea rcx, [0x1401712e0]
mov rdx, rax
call fcn.1400a5580
jmp 0x14005d777
cmp rcx, 2
jae 0x14005d5b2
xor r8d, r8d
mov rcx, rdi
lea edx, [r8 + 4]
call fcn.1400ea290
jmp 0x14005d777
movzx eax, byte [rdi + 0x21]
test al, 2
je 0x14005d5dc
mov rcx, qword [rdi]
and al, 0x3d
mov byte [rdi + 0x21], al
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_SafeArrayGetDim]
movabs rdx, 0x8000000000000000
movabs r9, 0x47ae147ae147ae15
mov rcx, qword [rdi + 0x18]
and byte [rdi + 0x21], 0x82
cmp r12, rcx
jbe 0x14005d750
movzx r8d, byte [rdi + 0x20]
movzx eax, r8b
cmp r8b, r14b
jbe 0x14005d60e
cmp al, 2
je 0x14005d64c
mov rsi, qword [rsp + 0x58]
mov rax, qword [rsp + 0x58]
jmp 0x14005d73d
cmp r12, 0x80
ja 0x14005d64c
cmp r12, rbx
ja 0x14005d621
mov rsi, rbx
jmp 0x14005d632
mov esi, 0x80
cmp r12, 0x10
mov eax, reloc.OLEAUT32.dll_SafeArrayGetDim
cmovbe esi, eax
mov rcx, rsi
call fcn.1400dc2b0
test rax, rax
je 0x14005d777
mov byte [rdi + 0x20], r14b
jmp 0x14005d73d
cmp r12, 0x20
jae 0x14005d65c
mov esi, SafeArrayAllocDescriptor
jmp 0x14005d6f4
cmp r12, 0x208
jae 0x14005d66f
mov esi, 0x208
jmp 0x14005d6f4
cmp r12, 0x50000
jae 0x14005d6b5
pxor xmm0, xmm0
cvtsi2sd xmm0, r12
test r12, r12
jns 0x14005d68e
addsd xmm0, qword [0x140152fd8]
mulsd xmm0, qword [0x140153040]
xor eax, eax
comisd xmm0, xmm6
jbe 0x14005d6ab
subsd xmm0, xmm6
comisd xmm0, xmm6
jae 0x14005d6ab
mov rax, rdx
cvttsd2si rsi, xmm0
add rsi, rax
jmp 0x14005d6f4
cmp r12, 0x320000
jae 0x14005d6c8
lea rsi, [r12 + 0x8000]
jmp 0x14005d6f4
cmp r12, 0xc80000
jae 0x14005d6ec
mov rax, r9
mov rsi, r12
mul r12
sub rsi, rdx
shr rsi, 1
add rsi, rdx
shr rsi, 6
add rsi, r12
jmp 0x14005d6f4
lea rsi, [r12 + 0x20000]
mov rax, qword [0x140169b08]
cmp rsi, rax
cmova rsi, rax
cmp r8b, 2
jne 0x14005d71c
test rcx, rcx
je 0x14005d71c
mov rcx, qword [rdi + 8]
movzx r12d, r14b
call fcn.140108f48
jmp 0x14005d71f
xor r12b, r12b
test rsi, rsi
js 0x14005d832
mov rcx, rsi
call fcn.1401084ac
test rax, rax
je 0x14005d832
mov byte [rdi + 0x20], 2
and byte [rdi + 0x21], 0x7f
mov qword [rdi + 0x18], rsi
mov qword [rdi + 8], rax
lea rsi, [0x1401296b4]
mov rcx, qword [rdi + 8]
cmp rcx, rsi
je 0x14005d765
lea r8, [r15 + r15]
mov rdx, rsi
call fcn.140109100
mov rax, qword [rdi + 8]
lea rcx, [r15 + r15]
xor edx, edx
mov word [rcx + rax], dx
mov qword [rdi + 0x10], rcx
lea r15, [0x140171290]
movzx r12d, byte [rsp + 0x50]
test dword [rbp - 0x20], 0x200
je 0x14005d8d4
test r12b, r12b
je 0x14005d8a6
or rcx, 0xffffffffffffffff
xor eax, eax
lea rdi, [rbp + 0x1a30]
repne scasw ax, word [rdi]
not rcx
cmp word [rbp + rcx*2 + 0x1a30], ax
jne 0x14005d878
mov r12d, 0x5c
lea rcx, [rbp + 0x1a30]
mov edx, r12d
call fcn.14010a5e8
mov rsi, rax
test rax, rax
je 0x14005d8d4
mov ecx, 0xa
mov word [rax], cx
lea rax, [rbp + 0x1a30]
mov rcx, rsi
sub rcx, rax
and rcx, 0xfffffffffffffffe
cmp rcx, 4
jne 0x14005d8d4
cmp word [rsi - 2], 0x3a
jne 0x14005d8d4
or rcx, 0xffffffffffffffff
xor eax, eax
mov rdi, rsi
repne scasw ax, word [rdi]
mov rdx, rsi
not rcx
lea r8, [rcx + rcx]
lea rcx, [rsi + 2]
call fcn.140109100
mov word [rsi], r12w
jmp 0x14005d8d4
lea r15, [0x140171290]
test r12b, r12b
je 0x14005d84a
xor eax, eax
mov qword [rdi + 8], r15
mov qword [rdi + 0x18], rax
jmp 0x14005d855
mov rax, qword [rdi + 8]
xor ecx, ecx
mov word [rax], cx
xor eax, eax
lea r8, [0x1401295d4]
lea rdx, str.Out_of_memory.
lea rcx, [0x1401712e0]
mov qword [rdi + 0x10], rax
call fcn.1400a5580
jmp 0x14005d77e
lea rax, [rbp + 0x1a30]
mov ecx, 0xa
cmp word [rax], 0
je 0x14005d89a
nop word [rax + rax]
add rax, 2
cmp word [rax], 0
jne 0x14005d890
cmp word [rax + 2], 0
je 0x14005d8d4
mov word [rax], cx
jmp 0x14005d884
lea rax, [rbp + 0x1a30]
mov ecx, 0xa
cmp word [rax], 0
je 0x14005d8ca
nop dword [rax + rax]
add rax, 2
cmp word [rax], 0
jne 0x14005d8c0
cmp word [rax + 2], 0
mov word [rax], cx
jne 0x14005d8b2
movzx edx, byte [r13 + 0x23]
test dl, dl
jne 0x14005d901
mov rcx, qword [r13 + 0x10]
lea rdx, [rbp + 0x1a30]
xor r9d, r9d
or r8, 0xffffffffffffffff
mov byte [rsp + 0x20], r14b
call fcn.1400e9bc0
mov r14d, eax
jmp 0x14005db6a
lea rax, [rbp + 0x1a30]
cmp qword [r13 + 8], rax
jne 0x14005d917
mov rsi, qword [r13 + 0x10]
shr rsi, 1
jmp 0x14005d92e
or rcx, 0xffffffffffffffff
lea rdi, [rbp + 0x1a30]
xor eax, eax
repne scasw ax, word [rdi]
not rcx
lea rsi, [rcx - 1]
lea rax, [rsi + 1]
lea rdi, [rax + rax]
cmp dl, 2
jne 0x14005d952
lea rcx, [rbp + 0x1a30]
mov rdx, rsi
call fcn.140005910
mov r14d, eax
jmp 0x14005db6a
cmp rdi, qword [0x140169b08]
jbe 0x14005d98b
cmp rdi, qword [r13 + 0x18]
jbe 0x14005d98b
lea rcx, [0x14014bd60]
call fcn.1400dd2e0
lea r8, [0x1401295d4]
lea rcx, [0x1401712e0]
mov rdx, rax
call fcn.1400a5580
mov r14d, eax
jmp 0x14005db6a
cmp rax, 2
jae 0x14005d9a5
xor r8d, r8d
mov rcx, r13
lea edx, [r8 + 4]
call fcn.1400ea290
jmp 0x14005db6a
movzx eax, byte [r13 + 0x21]
test al, 2
je 0x14005d9be
mov rcx, qword [r13]
and al, 0x3d
mov byte [r13 + 0x21], al
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_SafeArrayGetDim]
mov rcx, qword [r13 + 0x18]
and byte [r13 + 0x21], 0x82
cmp rdi, rcx
jbe 0x14005db38
movzx r8d, byte [r13 + 0x20]
movzx eax, r8b
cmp r8b, r14b
jbe 0x14005d9f1
cmp al, 2
je 0x14005da2e
mov rbx, qword [rsp + 0x58]
mov rax, qword [rsp + 0x58]
jmp 0x14005db2b
cmp rdi, 0x80
ja 0x14005da2e
cmp rdi, rbx
jbe 0x14005da10
mov ebx, 0x80
cmp rdi, 0x10
mov eax, reloc.OLEAUT32.dll_SafeArrayGetDim
cmovbe ebx, eax
mov rcx, rbx
call fcn.1400dc2b0
test rax, rax
jne 0x14005da25
mov r14d, eax
jmp 0x14005db6a
mov byte [r13 + 0x20], r14b
jmp 0x14005db2b
cmp rdi, 0x20
jae 0x14005da3e
mov ebx, SafeArrayAllocDescriptor
jmp 0x14005dae5
cmp rdi, 0x208
jae 0x14005da51
mov ebx, 0x208
jmp 0x14005dae5
cmp rdi, 0x50000
jae 0x14005daa1
pxor xmm0, xmm0
cvtsi2sd xmm0, rdi
test rdi, rdi
jns 0x14005da70
addsd xmm0, qword [0x140152fd8]
mulsd xmm0, qword [0x140153040]
xor eax, eax
comisd xmm0, xmm6
jbe 0x14005da97
subsd xmm0, xmm6
comisd xmm0, xmm6
jae 0x14005da97
movabs rdx, 0x8000000000000000
mov rax, rdx
cvttsd2si rbx, xmm0
add rbx, rax
jmp 0x14005dae5
cmp rdi, 0x320000
jae 0x14005dab3
lea rbx, [rdi + 0x8000]
jmp 0x14005dae5
cmp rdi, 0xc80000
jae 0x14005dade
movabs rax, 0x47ae147ae147ae15
mov rbx, rdi
mul rdi
sub rbx, rdx
shr rbx, 1
add rbx, rdx
shr rbx, 6
add rbx, rdi
jmp 0x14005dae5
lea rbx, [rdi + 0x20000]
mov rax, qword [0x140169b08]
cmp rbx, rax
cmova rbx, rax
cmp r8b, 2
jne 0x14005db0d
test rcx, rcx
je 0x14005db0d
mov rcx, qword [r13 + 8]
movzx edi, r14b
call fcn.140108f48
jmp 0x14005db10
xor dil, dil
test rbx, rbx
js 0x14005db9c
mov rcx, rbx
call fcn.1401084ac
test rax, rax
je 0x14005db9c
mov byte [r13 + 0x20], 2
and byte [r13 + 0x21], 0x7f
mov qword [r13 + 8], rax
mov qword [r13 + 0x18], rbx
mov rcx, qword [r13 + 8]
lea rax, [rbp + 0x1a30]
cmp rcx, rax
je 0x14005db58
lea r8, [rsi + rsi]
lea rdx, [rbp + 0x1a30]
call fcn.140109100
mov rax, qword [r13 + 8]
lea rcx, [rsi + rsi]
xor edx, edx
mov word [rcx + rax], dx
mov qword [r13 + 0x10], rcx
movaps xmm6, xmmword [rsp + 0x21b30]
mov eax, r14d
mov r12, qword [rsp + 0x21b48]
mov rdi, qword [rsp + 0x21b90]
mov r15, qword [rsp + 0x21b40]
add rsp, 0x21b50
pop r14
pop r13
pop rsi
pop rbx
pop rbp
ret
test dil, dil
je 0x14005dbad
xor eax, eax
mov qword [r13 + 8], r15
mov qword [r13 + 0x18], rax
jmp 0x14005dbb8
mov rax, qword [r13 + 8]
xor ecx, ecx
mov word [rax], cx
xor eax, eax
lea r8, [0x1401295d4]
lea rdx, str.Out_of_memory.
lea rcx, [0x1401712e0]
mov qword [r13 + 0x10], rax
call fcn.1400a5580
mov r14d, eax
jmp 0x14005db6a