Function at 0x1400457c0
Capabilities:
Check for time delay via gettickcount
Get keyboard layout
Read file on windows
Read pipe
Terminate process

Disassembly:
mov qword [rsp + 8], rcx
push rbp
push rbx
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x8148]
mov eax, 0x8248
call fcn.1401110b0
sub rsp, rax
mov qword [rbp + 0xf0], 0xfffffffffffffffe
movaps xmmword [rsp + 0x8230], xmm6
movaps xmmword [rsp + 0x8220], xmm7
movaps xmmword [rsp + 0x8210], xmm8
mov rdi, rcx
mov dword [rsp + 0x74], 0x103
xor esi, esi
mov qword [rbp - 0x50], rsi
mov dword [rbp - 0x58], esi
mov dword [rbp - 0x6c], esi
xor al, al
mov byte [rsp + 0x70], al
mov eax, esi
mov qword [rbp - 0x48], rax
mov qword [rbp + 0x8198], rax
mov r13d, esi
mov qword [rbp - 0x68], rsi
mov qword [rbp + 0x81a0], rsi
mov r12d, esi
mov qword [rbp - 0x10], rsi
mov qword [rbp - 8], rsi
mov dword [rbp], esi
mov ebx, esi
movzx eax, byte [rcx + 2]
mov r14d, esi
cmp al, 4
cmova r14, qword [0x14016f710]
mov qword [rbp + 8], r14
mov r15d, esi
cmp al, 5
cmova r15, qword [0x14016f718]
mov qword [rbp + 0x10], r15
test r14, r14
je 0x140045885
mov rcx, r14
call fcn.140023100
test r15, r15
je 0x140045892
mov rcx, r15
call fcn.140023100
cmp word [rdi], 0x3e
jne 0x140045d92
lea rcx, [0x14012e788]
call fcn.1400dd2e0
mov rdx, rax
mov rcx, qword [0x14016f7a0]
call fcn.1400e6540
test rax, rax
setne r13b
lea rcx, str.3s.37_5___
call fcn.1400dd2e0
mov rdx, rax
mov rcx, qword [0x14016f7a0]
call fcn.140067d60
test rax, rax
je 0x1400459bf
mov r8d, 0x63
lea rdx, [rax + 0x10]
lea rcx, [rbp + 0x20]
call fcn.14010a074
mov word [rbp + 0xe6], si
lea rdi, [rbp + 0x20]
movzx edx, word [rbp + 0x20]
test dx, dx
je 0x14004593d
nop dword [rax]
lea rcx, [0x14012ed90]
mov eax, SafeArrayAllocDescriptor
nop dword [rax]
cmp dx, ax
je 0x14004593d
add rcx, 2
movzx eax, word [rcx]
test ax, ax
jne 0x140045920
add rdi, 2
movzx edx, word [rdi]
test dx, dx
jne 0x140045910
lea rax, [rbp + 0x20]
movzx ecx, word [rax]
cmp cx, 0x20
je 0x140045950
cmp cx, 9
jne 0x140045956
add rax, 2
jmp 0x140045941
movzx ecx, word [rax]
test cx, cx
je 0x1400459a2
cmp cx, 0x2d
je 0x14004596a
cmp cx, 0x2b
jne 0x14004596e
add rax, 2
cmp word [rax], 0x30
jne 0x1400459a2
movzx ecx, word [rax + 2]
cmp cx, 0x78
je 0x140045984
cmp cx, 0x58
jne 0x1400459a2
movzx ecx, word [rax + 4]
call fcn.140109c84
test eax, eax
je 0x1400459a2
xor edx, edx
lea r8d, [rdx + 0x10]
lea rcx, [rbp + 0x20]
call fcn.14010a4d8
jmp 0x1400459ab
lea rcx, [rbp + 0x20]
call fcn.140109998
mov rdi, rax
imul edi, edi, 0x3e8
mov qword [rbp - 0x58], rdi
mov rdi, qword [rbp + 0x8190]
test r14, r14
je 0x1400459d9
movzx eax, byte [r14 + 0x23]
test al, al
jne 0x1400459d5
mov rax, qword [r14 + 0x10]
movzx eax, byte [rax + 0x23]
cmp al, 2
je 0x1400459f3
test r15, r15
je 0x140045a26
movzx eax, byte [r15 + 0x23]
test al, al
jne 0x1400459ef
mov rax, qword [r15 + 0x10]
movzx eax, byte [rax + 0x23]
cmp al, 2
jne 0x140045a26
test r13b, r13b
je 0x140045a21
lea rcx, [0x140136fc0]
call fcn.1400dd2e0
mov byte [rsp + 0x20], 1
xor r9d, r9d
or r8, 0xffffffffffffffff
mov rdx, rax
mov rcx, qword [0x1401703d0]
call fcn.1400e9bc0
mov esi, eax
jmp 0x1400475bb
mov rax, rsi
cmp byte [rdi + 2], 3
cmova rax, qword [0x14016f708]
test r13b, r13b
sete cl
lea rdx, [rbp + 0x81a0]
mov qword [rsp + 0x60], rdx
lea rdx, [rbp + 0x8198]
mov qword [rsp + 0x58], rdx
mov qword [rsp + 0x50], r14
mov qword [rsp + 0x48], rax
mov byte [rsp + 0x40], 1
mov byte [rsp + 0x38], r13b
lea rax, [rbp - 0x60]
mov qword [rsp + 0x30], rax
mov rax, qword [0x14016f7a0]
mov qword [rsp + 0x28], rax
mov byte [rsp + 0x20], cl
mov r9, qword [0x14016f798]
xor r8d, r8d
mov rdx, qword [0x14016f790]
lea rcx, [0x1401712e0]
call fcn.14003eaa0
test eax, eax
jne 0x140045d7c
test r13b, r13b
je 0x140045d75
mov rdi, qword [0x1401703d0]
movzx eax, byte [rdi + 0x23]
test al, al
jne 0x140045ade
mov byte [rsp + 0x20], 1
xor r9d, r9d
or r8, 0xffffffffffffffff
lea rdx, str.ERROR
mov rcx, qword [rdi + 0x10]
call fcn.1400e9bc0
jmp 0x140045d77
lea r13, str.ERROR
cmp qword [rdi + 8], r13
jne 0x140045af4
mov r12, qword [rdi + 0x10]
shr r12, 1
jmp 0x140045afa
mov r12d, 5
lea rcx, [r12 + 1]
lea rbx, [rcx + rcx]
cmp al, 2
jne 0x140045b17
mov rdx, r12
mov rcx, r13
call fcn.140005910
jmp 0x140045d77
mov r8, qword [0x140169b08]
cmp rbx, r8
jbe 0x140045b50
cmp rbx, qword [rdi + 0x18]
jbe 0x140045b50
lea rcx, [0x14014bd60]
call fcn.1400dd2e0
mov rdx, rax
lea r8, [0x1401295d4]
lea rcx, [0x1401712e0]
call fcn.1400a5580
jmp 0x140045d77
cmp rcx, 2
jae 0x140045b6f
xor r8d, r8d
lea edx, [r8 + 4]
mov rcx, rdi
call fcn.1400ea290
mov eax, 1
jmp 0x140045d77
movzx eax, byte [rdi + 0x21]
test al, 2
je 0x140045b8c
and al, 0x3d
mov byte [rdi + 0x21], al
mov rcx, qword [rdi]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_SafeArrayGetDim]
mov r8, qword [0x140169b08]
and byte [rdi + 0x21], 0x82
mov rcx, qword [rdi + 0x18]
cmp rbx, rcx
jbe 0x140045d49
movzx r9d, byte [rdi + 0x20]
movzx eax, r9b
cmp r9b, 1
jbe 0x140045bc3
cmp al, 2
je 0x140045c07
mov r15, qword [rbp + 0x8190]
mov rax, qword [rbp + 0x8190]
jmp 0x140045cff
cmp rbx, 0x80
ja 0x140045c07
cmp rbx, 8
ja 0x140045bda
mov r15d, 8
jmp 0x140045bed
mov r15d, 0x80
cmp rbx, 0x10
mov eax, reloc.OLEAUT32.dll_SafeArrayGetDim
cmovbe r15d, eax
mov rcx, r15
call fcn.1400dc2b0
test rax, rax
je 0x140045d75
mov byte [rdi + 0x20], 1
jmp 0x140045cff
cmp rbx, 0x20
jae 0x140045c18
mov r15d, SafeArrayAllocDescriptor
jmp 0x140045cc8
cmp rbx, 0x208
jae 0x140045c2c
mov r15d, 0x208
jmp 0x140045cc8
cmp rbx, 0x50000
jae 0x140045c84
pxor xmm0, xmm0
cvtsi2sd xmm0, rbx
test rbx, rbx
jns 0x140045c4b
addsd xmm0, qword [0x140152fd8]
mulsd xmm0, qword [0x140153040]
xor eax, eax
movsd xmm1, qword [0x140153038]
comisd xmm0, xmm1
jbe 0x140045c7a
subsd xmm0, xmm1
comisd xmm0, xmm1
jae 0x140045c7a
movabs rdx, 0x8000000000000000
mov rax, rdx
cvttsd2si r15, xmm0
add r15, rax
jmp 0x140045cc8
cmp rbx, 0x320000
jae 0x140045c96
lea r15, [rbx + 0x8000]
jmp 0x140045cc8
cmp rbx, 0xc80000
jae 0x140045cc1
mov r15, rbx
movabs rax, 0x47ae147ae147ae15
mul rbx
sub r15, rdx
shr r15, 1
add r15, rdx
shr r15, 6
add r15, rbx
jmp 0x140045cc8
lea r15, [rbx + 0x20000]
cmp r15, r8
cmova r15, r8
cmp r9b, 2
jne 0x140045ce7
test rcx, rcx
je 0x140045ce7
mov bl, 1
mov rcx, qword [rdi + 8]
call fcn.140108f48
jmp 0x140045ce9
xor bl, bl
test r15, r15
js 0x140045d0d
mov rcx, r15
call fcn.1401084ac
test rax, rax
je 0x140045d0d
mov byte [rdi + 0x20], 2
mov qword [rdi + 8], rax
mov qword [rdi + 0x18], r15
and byte [rdi + 0x21], 0x7f
jmp 0x140045d49
test bl, bl
je 0x140045d22
mov qword [rdi + 0x18], rsi
lea rax, [0x140171290]
mov qword [rdi + 8], rax
jmp 0x140045d29
mov rax, qword [rdi + 8]
mov word [rax], si
mov qword [rdi + 0x10], rsi
lea r8, [0x1401295d4]
lea rdx, str.Out_of_memory.
lea rcx, [0x1401712e0]
call fcn.1400a5580
jmp 0x140045d77
mov rcx, qword [rdi + 8]
cmp rcx, r13
je 0x140045d5e
lea r8, [r12 + r12]
mov rdx, r13
call fcn.140109100
lea rcx, [r12 + r12]
mov rax, qword [rdi + 8]
mov word [rcx + rax], si
mov qword [rdi + 0x10], rcx
mov eax, 1
jmp 0x140045d77
mov eax, esi
jmp 0x1400475bd
mov rax, qword [rbp + 0x8198]
mov qword [rbp - 0x48], rax
mov rax, qword [rbp + 0x81a0]
mov qword [rbp - 0x68], rax
movzx eax, word [rdi]
mov r14d, 1
cmp ax, 0x5d
jne 0x14004644c
xor ecx, ecx
call qword [sym.imp.USER32.dll_GetKeyboardLayout]
mov r9, rax
xor r8d, r8d
xor edx, edx
mov rcx, qword [0x14016f790]
call fcn.140019df0
mov byte [rbp + 0x81a0], al
test al, al
jne 0x14004639d
xor r8d, r8d
lea rdx, [rbp - 0x38]
mov rcx, qword [0x14016f790]
call fcn.1400712c0
mov dword [rbp - 0x74], eax
test eax, eax
jne 0x1400460be
mov rdi, qword [0x1401703d0]
movzx eax, byte [rdi + 0x23]
test al, al
jne 0x140045e20
mov byte [rsp + 0x20], r14b
xor r9d, r9d
or r8, 0xffffffffffffffff
lea rdx, [0x14012e7cc]
mov rcx, qword [rdi + 0x10]
call fcn.1400e9bc0
mov r14d, eax
jmp 0x1400460b6
lea r13, [0x14012e7cc]
cmp qword [rdi + 8], r13
jne 0x140045e36
mov r12, qword [rdi + 0x10]
shr r12, 1
jmp 0x140045e39
mov r12, r14
lea rdx, [r12 + 1]
lea rbx, [rdx + rdx]
cmp al, 2
jne 0x140045e59
mov rdx, r12
mov rcx, r13
call fcn.140005910
mov r14d, eax
jmp 0x1400460b6
mov rcx, qword [0x140169b08]
cmp rbx, rcx
jbe 0x140045e95
cmp rbx, qword [rdi + 0x18]
jbe 0x140045e95
lea rcx, [0x14014bd60]
call fcn.1400dd2e0
mov rdx, rax
lea r8, [0x1401295d4]
lea rcx, [0x1401712e0]
call fcn.1400a5580
mov r14d, eax
jmp 0x1400460b6
cmp rdx, 2
jae 0x140045eaf
xor r8d, r8d
lea edx, [r8 + 4]
mov rcx, rdi
call fcn.1400ea290
jmp 0x1400460b6
movzx eax, byte [rdi + 0x21]
test al, 2
je 0x140045ecc
and al, 0x3d
mov byte [rdi + 0x21], al
mov rcx, qword [rdi]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_SafeArrayGetDim]
mov rcx, qword [0x140169b08]
and byte [rdi + 0x21], 0x82
mov r8, qword [rdi + 0x18]
cmp rbx, r8
jbe 0x140046091
movzx r9d, byte [rdi + 0x20]
movzx eax, r9b
cmp r9b, r14b
jbe 0x140045f02
cmp al, 2
je 0x140045f4a
mov r15, qword [rbp + 0x8190]
mov rax, qword [rbp + 0x8190]
jmp 0x140046044
cmp rbx, 0x80
ja 0x140045f4a
cmp rbx, 8
ja 0x140045f19
mov r15d, 8
jmp 0x140045f2c
mov r15d, 0x80
cmp rbx, 0x10
mov eax, reloc.OLEAUT32.dll_SafeArrayGetDim
cmovbe r15d, eax
mov rcx, r15
call fcn.1400dc2b0
test rax, rax
jne 0x140045f41
mov r14d, esi
jmp 0x1400460b6
mov byte [rdi + 0x20], r14b
jmp 0x140046044
cmp rbx, 0x20
jae 0x140045f5b
mov r15d, SafeArrayAllocDescriptor
jmp 0x14004600b
cmp rbx, 0x208
jae 0x140045f6f
mov r15d, 0x208
jmp 0x14004600b
cmp rbx, 0x50000
jae 0x140045fc7
pxor xmm0, xmm0
cvtsi2sd xmm0, rbx
test rbx, rbx
jns 0x140045f8e
addsd xmm0, qword [0x140152fd8]
mulsd xmm0, qword [0x140153040]
xor eax, eax
movsd xmm1, qword [0x140153038]
comisd xmm0, xmm1
jbe 0x140045fbd
subsd xmm0, xmm1
comisd xmm0, xmm1
jae 0x140045fbd
movabs rdx, 0x8000000000000000
mov rax, rdx
cvttsd2si r15, xmm0
add r15, rax
jmp 0x14004600b
cmp rbx, 0x320000
jae 0x140045fd9
lea r15, [rbx + 0x8000]
jmp 0x14004600b
cmp rbx, 0xc80000
jae 0x140046004
mov r15, rbx
movabs rax, 0x47ae147ae147ae15
mul rbx
sub r15, rdx
shr r15, 1
add r15, rdx
shr r15, 6
add r15, rbx
jmp 0x14004600b
lea r15, [rbx + 0x20000]
cmp r15, rcx
cmova r15, rcx
cmp r9b, 2
jne 0x14004602c
test r8, r8
je 0x14004602c
movzx ebx, r14b
mov rcx, qword [rdi + 8]
call fcn.140108f48
jmp 0x14004602e
xor bl, bl
test r15, r15
js 0x140046052
mov rcx, r15
call fcn.1401084ac
test rax, rax
je 0x140046052
mov byte [rdi + 0x20], 2
mov qword [rdi + 8], rax
mov qword [rdi + 0x18], r15
and byte [rdi + 0x21], 0x7f
jmp 0x140046091
test bl, bl
je 0x140046067
mov qword [rdi + 0x18], rsi
lea rax, [0x140171290]
mov qword [rdi + 8], rax
jmp 0x14004606e
mov rax, qword [rdi + 8]
mov word [rax], si
mov qword [rdi + 0x10], rsi
lea r8, [0x1401295d4]
lea rdx, str.Out_of_memory.
lea rcx, [0x1401712e0]
call fcn.1400a5580
mov r14d, eax
jmp 0x1400460b6
mov rcx, qword [rdi + 8]
cmp rcx, r13
je 0x1400460a6
lea r8, [r12 + r12]
mov rdx, r13
call fcn.140109100
lea rcx, [r12 + r12]
mov rax, qword [rdi + 8]
mov word [rcx + rax], si
mov qword [rdi + 0x10], rcx
mov eax, r14d
jmp 0x1400475bd
cmp eax, 0xc
jl 0x1400460cc
cmp eax, 0x2b
jle 0x1400463a6
mov rdi, qword [0x1401703d0]
movzx eax, byte [rdi + 0x23]
test al, al
jne 0x1400460ff
mov byte [rsp + 0x20], r14b
xor r9d, r9d
or r8, 0xffffffffffffffff
lea rdx, [0x14012e7cc]
mov rcx, qword [rdi + 0x10]
call fcn.1400e9bc0
mov r14d, eax
jmp 0x140046395
lea r13, [0x14012e7cc]
cmp qword [rdi + 8], r13
jne 0x140046115
mov r12, qword [rdi + 0x10]
shr r12, 1
jmp 0x140046118
mov r12, r14
lea rdx, [r12 + 1]
lea rbx, [rdx + rdx]
cmp al, 2
jne 0x140046138
mov rdx, r12
mov rcx, r13
call fcn.140005910
mov r14d, eax
jmp 0x140046395
mov rcx, qword [0x140169b08]
cmp rbx, rcx
jbe 0x140046174
cmp rbx, qword [rdi + 0x18]
jbe 0x140046174
lea rcx, [0x14014bd60]
call fcn.1400dd2e0
mov rdx, rax
lea r8, [0x1401295d4]
lea rcx, [0x1401712e0]
call fcn.1400a5580
mov r14d, eax
jmp 0x140046395
cmp rdx, 2
jae 0x14004618e
xor r8d, r8d
lea edx, [r8 + 4]
mov rcx, rdi
call fcn.1400ea290
jmp 0x140046395
movzx eax, byte [rdi + 0x21]
test al, 2
je 0x1400461ab
and al, 0x3d
mov byte [rdi + 0x21], al
mov rcx, qword [rdi]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_SafeArrayGetDim]
mov rcx, qword [0x140169b08]
and byte [rdi + 0x21], 0x82
mov r8, qword [rdi + 0x18]
cmp rbx, r8
jbe 0x140046370
movzx r9d, byte [rdi + 0x20]
movzx eax, r9b
cmp r9b, r14b
jbe 0x1400461e1
cmp al, 2
je 0x140046229
mov r15, qword [rbp + 0x8190]
mov rax, qword [rbp + 0x8190]
jmp 0x140046323
cmp rbx, 0x80
ja 0x140046229
cmp rbx, 8
ja 0x1400461f8
mov r15d, 8
jmp 0x14004620b
mov r15d, 0x80
cmp rbx, 0x10
mov eax, reloc.OLEAUT32.dll_SafeArrayGetDim
cmovbe r15d, eax
mov rcx, r15
call fcn.1400dc2b0
test rax, rax
jne 0x140046220
mov r14d, esi
jmp 0x140046395
mov byte [rdi + 0x20], r14b
jmp 0x140046323
cmp rbx, 0x20
jae 0x14004623a
mov r15d, SafeArrayAllocDescriptor
jmp 0x1400462ea
cmp rbx, 0x208
jae 0x14004624e
mov r15d, 0x208
jmp 0x1400462ea
cmp rbx, 0x50000
jae 0x1400462a6
pxor xmm0, xmm0
cvtsi2sd xmm0, rbx
test rbx, rbx
jns 0x14004626d
addsd xmm0, qword [0x140152fd8]
mulsd xmm0, qword [0x140153040]
xor eax, eax
movsd xmm1, qword [0x140153038]
comisd xmm0, xmm1
jbe 0x14004629c
subsd xmm0, xmm1
comisd xmm0, xmm1
jae 0x14004629c
movabs rdx, 0x8000000000000000
mov rax, rdx
cvttsd2si r15, xmm0
add r15, rax
jmp 0x1400462ea
cmp rbx, 0x320000
jae 0x1400462b8
lea r15, [rbx + 0x8000]
jmp 0x1400462ea
cmp rbx, 0xc80000
jae 0x1400462e3
mov r15, rbx
movabs rax, 0x47ae147ae147ae15
mul rbx
sub r15, rdx
shr r15, 1
add r15, rdx
shr r15, 6
add r15, rbx
jmp 0x1400462ea
lea r15, [rbx + 0x20000]
cmp r15, rcx
cmova r15, rcx
cmp r9b, 2
jne 0x14004630b
test r8, r8
je 0x14004630b
movzx ebx, r14b
mov rcx, qword [rdi + 8]
call fcn.140108f48
jmp 0x14004630d
xor bl, bl
test r15, r15
js 0x140046331
mov rcx, r15
call fcn.1401084ac
test rax, rax
je 0x140046331
mov byte [rdi + 0x20], 2
mov qword [rdi + 8], rax
mov qword [rdi + 0x18], r15
and byte [rdi + 0x21], 0x7f
jmp 0x140046370
test bl, bl
je 0x140046346
mov qword [rdi + 0x18], rsi
lea rax, [0x140171290]
mov qword [rdi + 8], rax
jmp 0x14004634d
mov rax, qword [rdi + 8]
mov word [rax], si
mov qword [rdi + 0x10], rsi
lea r8, [0x1401295d4]
lea rdx, str.Out_of_memory.
lea rcx, [0x1401712e0]
call fcn.1400a5580
mov r14d, eax
jmp 0x140046395
mov rcx, qword [rdi + 8]
cmp rcx, r13
je 0x140046385
lea r8, [r12 + r12]
mov rdx, r13
call fcn.140109100
lea rcx, [r12 + r12]
mov rax, qword [rdi + 8]
mov word [rcx + rax], si
mov qword [rdi + 0x10], rcx
mov eax, r14d
jmp 0x1400475bd
mov eax, dword [rbp + 0x8190]
mov dword [rbp - 0x74], eax
mov byte [rbp + 0x8198], bl
mov dword [rbp - 0x70], r14d
mov byte [rbp + 0x81a8], r14b
mov dword [rbp - 0x78], esi
mov r13, qword [0x14016f798]
movzx eax, word [r13]
test ax, ax
je 0x140046439
movsd xmm6, qword [0x140153230]
movzx edi, ax
test edi, 0xffffff80
jne 0x1400463f1
mov edx, 2
mov ecx, edi
call fcn.140109968
test eax, eax
je 0x1400463f1
and edi, 0xffffffdf
movzx eax, di
cmp eax, 0x44
je 0x140046424
cmp eax, 0x4c
je 0x14004641f
cmp eax, 0x54
jne 0x14004642b
mov byte [rbp + 0x81a8], bl
lea rcx, [r13 + 2]
call fcn.1400230c0
mulsd xmm0, xmm6
cvttsd2si ecx, xmm0
mov dword [rbp - 0x78], ecx
jmp 0x14004642b
mov dword [rbp - 0x70], esi
jmp 0x14004642b
mov byte [rbp + 0x8198], r14b
add r13, 2
movzx eax, word [r13]
test ax, ax
jne 0x1400463d3
mov dword [rbp - 0x20], esi
lea rax, [rbp + 0x100]
mov qword [rbp - 0x30], rax
jmp 0x14004650a
mov rdx, qword [0x14016f790]
mov rcx, qword [0x14016f7a0]
cmp ax, 0x3e
je 0x14004646b
cmp ax, 0x5c
je 0x140046471
cmp word [rcx], bx
jne 0x140046476
cmp ax, 0x5c
jne 0x1400464d4
cmp word [rdx], bx
je 0x1400464d4
mov byte [rbp + 0x81a8], bl
cmp ax, 0x5c
cmove rcx, rdx
call fcn.1400230c0
mulsd xmm0, qword [0x140153230]
cvttsd2si ecx, xmm0
mov dword [rbp - 0x78], ecx
movzx r8d, byte [rbp + 0x8190]
mov byte [rbp + 0x81a0], r8b
cmp ecx, r14d
mov ecx, dword [rbp + 0x8190]
mov dword [rbp - 0x74], ecx
movzx ecx, byte [rbp + 0x8190]
mov byte [rbp + 0x8198], cl
mov ecx, dword [rbp + 0x8190]
mov dword [rbp - 0x70], ecx
jge 0x14004650a
mov dword [rbp - 0x78], 0x1f4
jmp 0x14004650a
mov byte [rbp + 0x81a8], r14b
mov dword [rbp - 0x78], esi
movzx eax, byte [rbp + 0x8190]
mov byte [rbp + 0x81a0], al
mov eax, dword [rbp + 0x8190]
mov dword [rbp - 0x74], eax
movzx eax, byte [rbp + 0x8190]
mov byte [rbp + 0x8198], al
mov eax, dword [rbp + 0x8190]
mov dword [rbp - 0x70], eax
lea rdi, [0x1401295d4]
movabs rdx, 0x8000000000000000
mov r15d, 8
movabs r10, 0x47ae147ae147ae15
movsd xmm7, qword [0x140152fd8]
movsd xmm8, qword [0x140153040]
movsd xmm6, qword [0x140153038]
mov rax, qword [rbp + 0x8190]
cmp word [rax], 0x3e
je 0x140046823
mov r13, qword [0x1401703d0]
movzx eax, byte [r13 + 0x23]
test al, al
jne 0x140046586
mov byte [rsp + 0x20], r14b
xor r9d, r9d
or r8, 0xffffffffffffffff
lea rdx, [0x1401296b4]
mov rcx, qword [r13 + 0x10]
call fcn.1400e9bc0
jmp 0x14004681c
lea r8, [0x1401296b4]
cmp qword [r13 + 8], r8
jne 0x14004659c
mov rdi, qword [r13 + 0x10]
shr rdi, 1
jmp 0x14004659f
mov rdi, r14
mov qword [rbp - 0x80], rdi
lea rcx, [rdi + 1]
lea r14, [rcx + rcx]
cmp al, 2
jne 0x1400465bf
mov rdx, rdi
mov rcx, r8
call fcn.140005910
jmp 0x14004680f
mov r8, qword [0x140169b08]
cmp r14, r8
jbe 0x1400465fb
cmp r14, qword [r13 + 0x18]
jbe 0x1400465fb
lea rcx, [0x14014bd60]
call fcn.1400dd2e0
mov rdx, rax
lea rdi, [0x1401295d4]
mov r8, rdi
lea rcx, [0x1401712e0]
call fcn.1400a5580
jmp 0x140046816
cmp rcx, 2
jae 0x140046615
xor r8d, r8d
lea edx, [r8 + 4]
mov rcx, r13
call fcn.1400ea290
jmp 0x14004680f
movzx eax, byte [r13 + 0x21]
test al, 2
je 0x140046649
and al, 0x3d
mov byte [r13 + 0x21], al
mov rcx, qword [r13]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_SafeArrayGetDim]
mov r8, qword [0x140169b08]
movabs rdx, 0x8000000000000000
movabs r10, 0x47ae147ae147ae15
and byte [r13 + 0x21], 0x82
mov r9, qword [r13 + 0x18]
cmp r14, r9
jbe 0x1400467e6
movzx ecx, byte [r13 + 0x20]
movzx eax, cl
cmp cl, 1
jbe 0x14004667f
cmp al, 2
je 0x1400466be
mov rdi, qword [rbp + 0x8190]
mov rax, qword [rbp + 0x8190]
jmp 0x140046793
cmp r14, 0x80
ja 0x1400466be
cmp r14, r15
ja 0x140046692
mov rdi, r15
jmp 0x1400466a3
mov edi, 0x80
cmp r14, 0x10
mov eax, reloc.OLEAUT32.dll_SafeArrayGetDim
cmovbe edi, eax
mov rcx, rdi
call fcn.1400dc2b0
test rax, rax
je 0x14004680f
mov byte [r13 + 0x20], 1
jmp 0x140046793
cmp r14, 0x20
jae 0x1400466ce
mov edi, SafeArrayAllocDescriptor
jmp 0x14004675a
cmp r14, 0x208
jae 0x1400466de
mov edi, 0x208
jmp 0x14004675a
cmp r14, 0x50000
jae 0x14004671d
pxor xmm0, xmm0
cvtsi2sd xmm0, r14
test r14, r14
jns 0x1400466f9
addsd xmm0, xmm7
mulsd xmm0, xmm8
xor eax, eax
comisd xmm0, xmm6
jbe 0x140046713
subsd xmm0, xmm6
comisd xmm0, xmm6
jae 0x140046713
mov rax, rdx
cvttsd2si rdi, xmm0
add rdi, rax
jmp 0x14004675a
cmp r14, 0x320000
jae 0x14004672f
lea rdi, [r14 + 0x8000]
jmp 0x14004675a
cmp r14, 0xc80000
jae 0x140046753
mov rdi, r14
mov rax, r10
mul r14
sub rdi, rdx
shr rdi, 1
add rdi, rdx
shr rdi, 6
add rdi, r14
jmp 0x14004675a
lea rdi, [r14 + 0x20000]
cmp rdi, r8
cmova rdi, r8
cmp cl, 2
jne 0x140046779
test r9, r9
je 0x140046779
mov r14b, 1
mov rcx, qword [r13 + 8]
call fcn.140108f48
jmp 0x14004677c
xor r14b, r14b
test rdi, rdi
js 0x1400467a6
mov rcx, rdi
call fcn.1401084ac
test rax, rax
je 0x1400467a6
mov byte [r13 + 0x20], 2
mov qword [r13 + 8], rax
mov qword [r13 + 0x18], rdi
and byte [r13 + 0x21], 0x7f
mov rdi, qword [rbp - 0x80]
jmp 0x1400467e6
test r14b, r14b
je 0x1400467bc
mov qword [r13 + 0x18], rsi
lea rax, [0x140171290]
mov qword [r13 + 8], rax
jmp 0x1400467c3
mov rax, qword [r13 + 8]
mov word [rax], si
mov qword [r13 + 0x10], rsi
lea rdi, [0x1401295d4]
mov r8, rdi
lea rdx, str.Out_of_memory.
lea rcx, [0x1401712e0]
call fcn.1400a5580
jmp 0x140046816
mov rcx, qword [r13 + 8]
lea rdx, [0x1401296b4]
cmp rcx, rdx
je 0x1400467ff
lea r8, [rdi + rdi]
call fcn.140109100
lea rcx, [rdi + rdi]
mov rax, qword [r13 + 8]
mov word [rcx + rax], si
mov qword [r13 + 0x10], rcx
lea rdi, [0x1401295d4]
mov r14d, 1
mov rax, qword [rbp + 0x8190]
cmp word [rax], 0x5c
jne 0x140046842
mov edx, r14d
mov rcx, qword [rbp + 0x8190]
call fcn.14002b770
cmp eax, 1
mov byte [rsp + 0x78], 1
je 0x140046846
mov byte [rsp + 0x78], bl
mov ecx, esi
mov dword [rsp + 0x7c], ecx
mov edx, 0x4001
lea r14, [rbp + 0x100]
mov rax, qword [rbp + 0x8190]
cmp byte [rax + 2], cl
jbe 0x1400468f0
mov r13, rsi
mov r12, rax
lea rbx, [0x140000000]
test edx, edx
jne 0x140046880
mov qword [rbp + r13 + 0x20], rdi
jmp 0x1400468d7
mov qword [rbp + r13 + 0x20], r14
movsxd rdi, edx
lea r8, [rdi - 1]
mov rdx, qword [r13 + rbx + 0x16f790]
mov rcx, r14
call fcn.14010a074
mov word [r14 + rdi*2 - 2], si
xor eax, eax
or rcx, 0xffffffffffffffff
mov rdi, r14
repne scasw ax, word [rdi]
not rcx
lea r14, [r14 + rcx*2]
lea rcx, [rbp + 0x100]
mov rax, r14
sub rax, rcx
sar rax, 1
mov edx, 0x4001
sub edx, eax
mov ecx, dword [rsp + 0x7c]
lea rdi, [0x1401295d4]
inc ecx
mov dword [rsp + 0x7c], ecx
add r13, r15
movzx eax, byte [r12 + 2]
cmp ecx, eax
jl 0x140046875
mov rbx, rsi
mov r12, rbx
call qword [sym.imp.KERNEL32.dll_GetTickCount]
mov r13d, eax
mov dword [rsp + 0x7c], eax
mov rcx, qword [rbp - 0x60]
mov qword [rbp - 0x80], rcx
mov rdi, qword [0x140169c00]
mov r14d, 1
mov r9, qword [rbp + 0x8190]
lea rdx, [0x140000000]
mov r11, qword [rbp + 0x28]
mov r10, qword [rbp + 0x38]
mov r8, qword [rbp + 0x40]
nop dword [rax]
movzx eax, word [r9]
add eax, 0xffffffc2
cmp eax, 0x3e
ja case.0x140046954.69
cdqe
movzx eax, byte [rdx + rax + 0x47604]
mov ecx, dword [rdx + rax*4 + 0x475e4]
add rcx, rdx
jmp rcx
movzx eax, byte [r9 + 2]
lea r13, [0x1401295d4]
mov rcx, r13
cmp al, 4
cmova rcx, r8
mov r9, r13
cmp al, 3
cmova r9, r10
mov r8, r13
cmp al, r14b
cmova r8, r11
mov rdx, r13
test al, al
cmovne rdx, qword [rbp + 0x20]
mov dword [rsp + 0x40], esi
mov qword [rsp + 0x38], rsi
mov byte [rsp + 0x30], r14b
mov byte [rsp + 0x28], 0
mov qword [rsp + 0x20], rcx
mov rcx, rdi
call fcn.1400eb3f0
test rax, rax
jne 0x140046f08
jmp 0x140046e22
movzx eax, byte [r9 + 2]
lea r13, [0x1401295d4]
mov rcx, r13
cmp al, 4
cmova rcx, r8
mov r9, r13
cmp al, 3
cmova r9, r10
mov r8, r13
cmp al, r14b
cmova r8, r11
mov rdx, r13
test al, al
cmovne rdx, qword [rbp + 0x20]
mov dword [rsp + 0x40], esi
mov qword [rsp + 0x38], rsi
mov byte [rsp + 0x30], 0
mov byte [rsp + 0x28], 0
mov qword [rsp + 0x20], rcx
mov rcx, rdi
call fcn.1400eb3f0
test rax, rax
je 0x140046f38
jmp 0x140046e22
movzx eax, byte [r9 + 2]
lea r13, [0x1401295d4]
mov rcx, r13
cmp al, 4
cmova rcx, r8
mov r9, r13
cmp al, 3
cmova r9, r10
mov r8, r13
cmp al, r14b
cmova r8, r11
mov rdx, r13
test al, al
cmovne rdx, qword [rbp + 0x20]
mov byte [rsp + 0x28], r14b
mov qword [rsp + 0x20], rcx
mov rcx, rdi
call fcn.1400eb1f0
test rax, rax
jne 0x140046f68
jmp 0x140046e22
movzx eax, byte [r9 + 2]
lea rdx, [0x1401295d4]
mov rcx, rdx
cmp al, 4
cmova rcx, r8
mov r9, rdx
cmp al, 3
cmova r9, r10
mov r8, rdx
cmp al, r14b
cmova r8, r11
test al, al
cmovne rdx, qword [rbp + 0x20]
mov byte [rsp + 0x28], r14b
mov qword [rsp + 0x20], rcx
mov rcx, rdi
call fcn.1400eb1f0
test rax, rax
je 0x140046f98
jmp case.0x140046954.69
cmp byte [rsp + 0x78], 0
je 0x140046ad1
call qword [sym.imp.USER32.dll_CountClipboardFormats]
test eax, eax
jne 0x140046fcc
jmp case.0x140046954.69
mov ecx, SafeArrayGetElemsize
call qword [sym.imp.USER32.dll_IsClipboardFormatAvailable]
test eax, eax
jne 0x140046fe8
lea ecx, [rax + 0xf]
call qword [sym.imp.USER32.dll_IsClipboardFormatAvailable]
test eax, eax
jne 0x140046fe8
jmp case.0x140046954.69
movzx eax, byte [rbp + 0x81a0]
test al, al
je 0x140046b21
mov edx, dword [rbp - 0x70]
movzx ecx, al
call fcn.140071680
cmp al, byte [rbp + 0x8198]
je 0x140047004
jmp case.0x140046954.69
mov rax, qword [rbp - 0x30]
mov word [rax], si
mov eax, dword [rbp - 0x74]
test eax, eax
je 0x140046b52
xor r9d, r9d
lea r8, [rbp - 0x30]
mov edx, dword [rbp - 0x38]
mov ecx, eax
call fcn.140071740
ucomisd xmm0, qword [0x140153228]
jp 0x140046b4c
je 0x140046b52
movzx eax, r14b
jmp 0x140046b54
xor eax, eax
cmp al, byte [rbp + 0x8198]
je 0x140047020
jmp case.0x140046954.69
mov r13, qword [rbp - 0x58]
cmp dword [rbp - 0x6c], 0
jne 0x140046b7d
test r13d, r13d
je 0x140046b7d
call qword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [rbp - 0x6c], eax
xor dil, dil
test r13d, r13d
je 0x140046b99
call qword [sym.imp.KERNEL32.dll_GetTickCount]
sub eax, dword [rbp - 0x6c]
movzx edi, dil
cmp r13d, eax
cmovb edi, r14d
movzx r13d, byte [rsp + 0x70]
test r13b, r13b
jne 0x140046ba9
test dil, dil
je 0x140046c08
mov rax, qword [rbp - 0x80]
test rax, rax
je 0x140046bcd
mov edx, dword [rsp + 0x74]
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_TerminateProcess]
mov rcx, qword [rbp - 0x80]
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov qword [rbp - 0x80], rsi
mov rcx, qword [rbp - 0x48]
test rcx, rcx
je 0x140046be0
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov qword [rbp - 0x48], rsi
mov rax, qword [rbp - 0x68]
test rax, rax
je 0x140046bf6
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov qword [rbp - 0x68], rsi
test r13b, r13b
jne 0x1400472d1
test dil, dil
jne 0x1400472a0
cmp qword [rbp + 8], 0
je 0x140046df9
mov r13, qword [rbp - 0x68]
test r13, r13
je 0x140046df9
mov eax, 0x3e8
mov dword [rbp - 0x40], eax
test dil, dil
je 0x140046c39
mov rcx, qword [rbp - 0x58]
cmp ecx, eax
cmovb eax, ecx
mov dword [rbp - 0x40], eax
cmp dword [rsp + 0x74], 0
je 0x140046db0
nop word [rax + rax]
mov edx, eax
mov rdi, qword [rbp - 0x80]
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_WaitForSingleObject]
lea rdx, [rsp + 0x74]
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_GetExitCodeProcess]
mov edx, dword [rsp + 0x74]
cmp edx, 0x103
cmovne edx, esi
mov dword [rsp + 0x74], edx
mov dword [rbp - 0x60], esi
mov qword [rsp + 0x28], rsi
lea rax, [rbp - 0x60]
mov qword [rsp + 0x20], rax
xor r9d, r9d
xor r8d, r8d
xor edx, edx
mov rcx, r13
call qword [sym.imp.KERNEL32.dll_PeekNamedPipe]
test eax, eax
sete r13b
mov byte [rsp + 0x70], r13b
test r13b, r13b
jne 0x140046da3
mov ecx, dword [rbp - 0x60]
test ecx, ecx
je 0x140046da3
nop
test rbx, rbx
jne 0x140046d2e
mov eax, ecx
mov edi, 0x100000
cmp rax, rdi
cmova edi, eax
lea ecx, [rbx + 0x28]
call fcn.140109b60
mov rbx, rax
test rax, rax
je 0x140046d14
mov dword [rax + 0x10], esi
mov qword [rax + 8], rsi
mov qword [rax], rsi
mov dword [rax + 0x18], esi
mov qword [rax + 0x20], rsi
inc dword [rbp]
mov rax, qword [rbp - 8]
test rax, rax
je 0x140046d03
mov qword [rax + 0x20], rbx
mov qword [rbp - 8], rbx
test r12, r12
cmove r12, rbx
mov qword [rbp - 0x10], r12
jmp 0x140046d17
mov rbx, rsi
mov rdx, rdi
mov rcx, rbx
call fcn.14001ad10
test rax, rax
je 0x14004703c
mov ecx, dword [rbp - 0x60]
mov eax, dword [rbx + 0x18]
add eax, ecx
cmp rax, qword [rbx]
jbe 0x140046d3d
mov rbx, rsi
jmp 0x140046cc0
mov eax, ecx
add qword [rbp - 0x50], rax
mov eax, dword [rbx + 0x18]
mov edx, eax
add rdx, qword [rbx + 8]
add eax, ecx
mov dword [rbx + 0x18], eax
mov qword [rsp + 0x20], rsi
lea r9, [rbp - 0x60]
mov r8d, dword [rbp - 0x60]
mov r13, qword [rbp - 0x68]
mov rcx, r13
call qword [sym.imp.KERNEL32.dll_ReadFile]
test eax, eax
sete al
mov byte [rsp + 0x70], al
test al, al
jne 0x140046d9d
mov rdi, qword [rbp - 0x58]
test edi, edi
je 0x140046d8d
call qword [sym.imp.KERNEL32.dll_GetTickCount]
sub eax, dword [rbp - 0x6c]
cmp edi, eax
jb 0x140046d9d
cmp dword [rsp + 0x74], 0
mov eax, dword [rbp - 0x40]
jne 0x140046c50
jmp 0x140046db0
mov rdi, qword [rbp - 0x80]
jmp 0x140046da7
mov r13, qword [rbp - 0x68]
cmp dword [rsp + 0x74], 0
jne 0x140046e14
jmp 0x140046db4
mov rdi, qword [rbp - 0x80]
test rdi, rdi
je 0x140046dc9
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov rdi, rsi
mov qword [rbp - 0x80], rsi
mov rax, qword [rbp - 0x48]
test rax, rax
je 0x140046ddf
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov qword [rbp - 0x48], rsi
mov rcx, r13
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov qword [rbp - 0x68], rsi
cmp qword [rbp - 0x50], 0
jne 0x14004707a
jmp 0x140046e14
mov rdi, qword [rbp - 0x80]
test rdi, rdi
je 0x14004726b
lea rdx, [rsp + 0x74]
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_GetExitCodeProcess]
cmp dword [rsp + 0x74], 0x103
jne 0x14004725b
mov r13d, dword [rsp + 0x7c]
cmp byte [rbp + 0x81a8], 0
jne 0x140046e47
call qword [sym.imp.KERNEL32.dll_GetTickCount]
mov ecx, dword [rbp - 0x78]
add ecx, r13d
sub ecx, eax
cmp ecx, 5
jle 0x140047302
mov edx, r14d
mov ecx, 0x8000012f
call fcn.140001760
mov rdi, qword [0x140169c00]
mov r8, qword [rbp + 0x40]
mov r10, qword [rbp + 0x38]
mov r11, qword [rbp + 0x28]
mov r9, qword [rbp + 0x8190]
lea rdx, [0x140000000]
test al, al
je 0x140046930
cmp byte [rdi + 0x139], 0
je 0x140046930
mov eax, 0x190
movsxd rcx, dword [0x14017048c]
test ecx, ecx
cmovne eax, ecx
dec eax
movsxd rdx, eax
lea rax, [0x140000000]
cmp qword [rax + rdx*8 + 0x170530], r9
jne 0x140046ec6
cmp dword [rax + rdx*4 + 0x16f0b0], r13d
lea rdx, [0x140000000]
je 0x140046930
lea rdx, [0x140000000]
mov qword [rdx + rcx*8 + 0x170530], r9
mov dword [rdx + rcx*4 + 0x16f0b0], r13d
inc ecx
mov dword [0x14017048c], ecx
cmp ecx, 0x190
mov r8, qword [rbp + 0x40]
mov r10, qword [rbp + 0x38]
mov r11, qword [rbp + 0x28]
jl 0x140046930
mov dword [0x14017048c], esi
jmp 0x140046920
mov rax, qword [0x140169c00]
mov ecx, dword [rax + 0x74]
cmp ecx, 0xffffffff
jle 0x140046f20
mov edx, r14d
call fcn.140001760
nop
test r12, r12
je 0x140046f30
mov edx, r14d
mov rcx, r12
call fcn.14001ac70
mov eax, r14d
jmp 0x1400475bd
mov rax, qword [0x140169c00]
mov ecx, dword [rax + 0x74]
cmp ecx, 0xffffffff
jle 0x140046f50
mov edx, r14d
call fcn.140001760
nop
test r12, r12
je 0x140046f30
mov edx, r14d
mov rcx, r12
call fcn.14001ac70
mov eax, r14d
jmp 0x1400475bd
mov rax, qword [0x140169c00]
mov ecx, dword [rax + 0x74]
cmp ecx, 0xffffffff
jle 0x140046f80
mov edx, r14d
call fcn.140001760
nop
test r12, r12
je 0x140046f30
mov edx, r14d
mov rcx, r12
call fcn.14001ac70
mov eax, r14d
jmp 0x1400475bd
mov rax, qword [0x140169c00]
mov ecx, dword [rax + 0x74]
cmp ecx, 0xffffffff
jle 0x140046fb0
mov edx, r14d
call fcn.140001760
nop
test r12, r12
je 0x140046f30
mov edx, r14d
mov rcx, r12
call fcn.14001ac70
mov eax, r14d
jmp 0x1400475bd
test r12, r12
je 0x140046f30
mov edx, r14d
mov rcx, r12
call fcn.14001ac70
mov eax, r14d
jmp 0x1400475bd
test r12, r12
je 0x140046f30
mov edx, r14d
mov rcx, r12
call fcn.14001ac70
mov eax, r14d
jmp 0x1400475bd
test r12, r12
je 0x140046f30
mov edx, r14d
mov rcx, r12
call fcn.14001ac70
mov eax, r14d
jmp 0x1400475bd
test r12, r12
je 0x140046f30
mov edx, r14d
mov rcx, r12
call fcn.14001ac70
mov eax, r14d
jmp 0x1400475bd
lea rcx, [0x140136fe0]
call fcn.1400dd2e0
mov rdx, rax
lea r9, [0x1401295d4]
xor r8d, r8d
mov rcx, qword [rbp + 0x8190]
call fcn.14003d490
mov edi, eax
test r12, r12
je 0x140047073
mov edx, r14d
mov rcx, r12
call fcn.14001ac70
mov eax, edi
jmp 0x1400475bd
mov dword [rbp - 0x20], esi
mov qword [rbp - 0x28], rsi
mov qword [rbp - 0x30], rsi
mov rdi, qword [rbp - 0x50]
lea rdx, [rdi + 2]
test rdx, rdx
je 0x14004721b
mov eax, 0xffffffff
cmp rdx, rax
jae 0x14004721b
mov qword [rbp - 0x30], rdx
add rdx, rdx
xor ecx, ecx
call fcn.1401099a4
mov r14, rax
test rax, rax
jne 0x1400470ce
xor ecx, ecx
call fcn.140108f48
mov qword [rbp - 0x28], rsi
mov qword [rbp - 0x30], rsi
jmp 0x14004721b
mov qword [rbp - 0x28], rax
mov dword [rbp - 0x20], esi
mov word [rax], si
mov r13, rax
mov rbx, r12
test r12, r12
je 0x140047105
mov edi, dword [rbx + 0x18]
mov r8d, edi
mov rdx, qword [rbx + 8]
mov rcx, r13
call fcn.140109100
add r13, rdi
mov rbx, qword [rbx + 0x20]
test rbx, rbx
jne 0x1400470e3
mov rdi, qword [rbp - 0x50]
mov word [r13], 0
test r12, r12
je 0x14004711e
mov edx, 1
mov rcx, r12
call fcn.14001ac70
mov qword [rbp - 0x10], rsi
mov qword [rbp - 8], rsi
lea rcx, [0x140137050]
call fcn.1400dd2e0
mov rdx, rax
mov rcx, qword [0x14016f790]
call fcn.140067d60
test rax, rax
je 0x140047198
mov rcx, r14
mov rdx, r14
lea rdi, [r14 + rdi - 1]
lea r8, [rdi - 2]
cmp r14, rdi
ja 0x140047192
nop word [rax + rax]
cmp rcx, r8
jae 0x140047182
cmp byte [rcx], 0xd
jne 0x140047182
cmp byte [rcx + 1], 0xd
jne 0x140047182
cmp byte [rcx + 2], 0xa
jne 0x140047182
mov byte [rdx], 0xa
inc rdx
add rcx, 3
jmp 0x14004718d
movzx eax, byte [rcx]
mov byte [rdx], al
inc rdx
inc rcx
cmp rcx, rdi
jbe 0x140047160
mov rdi, rdx
sub rdi, r14
mov rcx, qword [rbp + 0x10]
test rcx, rcx
je 0x1400471ac
mov r8b, reloc.OLEAUT32.dll_SafeArrayGetElement
mov rdx, rdi
call fcn.140001370
mov r8, rdi
mov rdx, r14
mov rdi, qword [rbp + 8]
mov rcx, rdi
call fcn.140099a60
mov qword [rbp - 0x28], rsi
mov qword [rbp - 0x30], rsi
mov dword [rbp - 0x20], esi
cmp byte [rdi + 0x23], 0
jne 0x1400471d3
mov rdi, qword [rdi + 0x10]
cmp byte [rdi + 0x23], 2
jne 0x1400471f8
cmp qword [0x140171f48], 0
je 0x1400471f8
lea rcx, [0x140171f30]
call fcn.140005a80
test eax, eax
jne 0x1400471fc
jmp 0x1400475bd
and byte [rdi + 0x21], 0x86
movsxd rdx, dword [rsp + 0x74]
mov r8b, reloc.OLEAUT32.dll_SafeArrayGetElement
mov rcx, qword [0x1401703d0]
call fcn.140001370
nop
mov eax, 1
jmp 0x1400475bd
lea rcx, [0x140137018]
call fcn.1400dd2e0
mov rdx, rax
lea r9, [0x1401295d4]
xor r8d, r8d
mov rcx, qword [rbp + 0x8190]
call fcn.14003d490
mov edi, eax
test r12, r12
je 0x140047254
mov edx, 1
mov rcx, r12
call fcn.14001ac70
mov eax, edi
jmp 0x1400475bd
test rdi, rdi
je 0x14004726f
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_CloseHandle]
jmp 0x14004726f
mov dword [rsp + 0x74], esi
movsxd rdx, dword [rsp + 0x74]
mov r8b, reloc.OLEAUT32.dll_SafeArrayGetElement
mov rcx, qword [0x1401703d0]
call fcn.140001370
nop
test r12, r12
je 0x140046f30
mov edx, r14d
mov rcx, r12
call fcn.14001ac70
mov eax, r14d
jmp 0x1400475bd
mov r8b, reloc.OLEAUT32.dll_SafeArrayGetElement
mov edx, 2
mov rcx, qword [0x1401703d0]
call fcn.140001370
nop
test r12, r12
je 0x140046f30
mov edx, r14d
mov rcx, r12
call fcn.14001ac70
mov eax, r14d
jmp 0x1400475bd
mov r8b, reloc.OLEAUT32.dll_SafeArrayGetElement
mov edx, 3
mov rcx, qword [0x1401703d0]
call fcn.140001370
nop
test r12, r12
je 0x140046f30
mov edx, r14d
mov rcx, r12
call fcn.14001ac70
mov eax, r14d
jmp 0x1400475bd
mov rdi, qword [0x1401703d0]
movzx eax, byte [rdi + 0x23]
test al, al
jne 0x140047334
mov byte [rsp + 0x20], r14b
xor r9d, r9d
or r8, 0xffffffffffffffff
lea rdx, [0x14012e7cc]
mov rcx, qword [rdi + 0x10]
call fcn.1400e9bc0
mov esi, eax
jmp 0x1400475a9
lea r13, [0x14012e7cc]
cmp qword [rdi + 8], r13
jne 0x140047348
mov r14, qword [rdi + 0x10]
shr r14, 1
lea rdx, [r14 + 1]
lea rbx, [rdx + rdx]
cmp al, 2
jne 0x140047366
mov rdx, r14
mov rcx, r13
call fcn.140005910
mov esi, eax
jmp 0x1400475a9
mov rcx, qword [0x140169b08]
cmp rbx, rcx
jbe 0x1400473a1
cmp rbx, qword [rdi + 0x18]
jbe 0x1400473a1
lea rcx, [0x14014bd60]
call fcn.1400dd2e0
mov rdx, rax
lea r8, [0x1401295d4]
lea rcx, [0x1401712e0]
call fcn.1400a5580
mov esi, eax
jmp 0x1400475a9
cmp rdx, 2
jae 0x1400473bb
xor r8d, r8d
lea edx, [r8 + 4]
mov rcx, rdi
call fcn.1400ea290
jmp 0x1400475a4
movzx eax, byte [rdi + 0x21]
test al, 2
je 0x1400473d8
and al, 0x3d
mov byte [rdi + 0x21], al
mov rcx, qword [rdi]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_SafeArrayGetDim]
mov rcx, qword [0x140169b08]
and byte [rdi + 0x21], 0x82
mov r8, qword [rdi + 0x18]
cmp rbx, r8
jbe 0x14004757f
movzx r9d, byte [rdi + 0x20]
movzx eax, r9b
cmp r9b, 1
jbe 0x14004740f
cmp al, 2
je 0x14004744a
mov r15, qword [rbp + 0x8190]
mov rax, qword [rbp + 0x8190]
jmp 0x140047533
cmp rbx, 0x80
ja 0x14004744a
cmp rbx, r15
jbe 0x140047430
mov r15d, 0x80
cmp rbx, 0x10
mov eax, reloc.OLEAUT32.dll_SafeArrayGetDim
cmovbe r15d, eax
mov rcx, r15
call fcn.1400dc2b0
test rax, rax
je 0x1400475a9
mov byte [rdi + 0x20], 1
jmp 0x140047533
cmp rbx, 0x20
jae 0x14004745b
mov r15d, SafeArrayAllocDescriptor
jmp 0x1400474fc
cmp rbx, 0x208
jae 0x14004746f
mov r15d, 0x208
jmp 0x1400474fc
cmp rbx, 0x50000
jae 0x1400474b8
pxor xmm0, xmm0
cvtsi2sd xmm0, rbx
test rbx, rbx
jns 0x14004748a
addsd xmm0, xmm7
mulsd xmm0, xmm8
xor eax, eax
comisd xmm0, xmm6
jbe 0x1400474ae
subsd xmm0, xmm6
comisd xmm0, xmm6
jae 0x1400474ae
movabs rdx, 0x8000000000000000
mov rax, rdx
cvttsd2si r15, xmm0
add r15, rax
jmp 0x1400474fc
cmp rbx, 0x320000
jae 0x1400474ca
lea r15, [rbx + 0x8000]
jmp 0x1400474fc
cmp rbx, 0xc80000
jae 0x1400474f5
mov r15, rbx
movabs rax, 0x47ae147ae147ae15
mul rbx
sub r15, rdx
shr r15, 1
add r15, rdx
shr r15, 6
add r15, rbx
jmp 0x1400474fc
lea r15, [rbx + 0x20000]
cmp r15, rcx
cmova r15, rcx
cmp r9b, 2
jne 0x14004751b
test r8, r8
je 0x14004751b
mov bl, 1
mov rcx, qword [rdi + 8]
call fcn.140108f48
jmp 0x14004751d
xor bl, bl
test r15, r15
js 0x140047541
mov rcx, r15
call fcn.1401084ac
test rax, rax
je 0x140047541
mov byte [rdi + 0x20], 2
mov qword [rdi + 8], rax
mov qword [rdi + 0x18], r15
and byte [rdi + 0x21], 0x7f
jmp 0x14004757f
test bl, bl
je 0x140047556
mov qword [rdi + 0x18], rsi
lea rax, [0x140171290]
mov qword [rdi + 8], rax
jmp 0x14004755d
mov rax, qword [rdi + 8]
mov word [rax], si
mov qword [rdi + 0x10], rsi
lea r8, [0x1401295d4]
lea rdx, str.Out_of_memory.
lea rcx, [0x1401712e0]
call fcn.1400a5580
mov esi, eax
jmp 0x1400475a9
mov rcx, qword [rdi + 8]
cmp rcx, r13
je 0x140047594
lea r8, [r14 + r14]
mov rdx, r13
call fcn.140109100
lea rcx, [r14 + r14]
mov rax, qword [rdi + 8]
mov word [rcx + rax], si
mov qword [rdi + 0x10], rcx
mov esi, 1
test r12, r12
je 0x1400475bb
mov edx, 1
mov rcx, r12
call fcn.14001ac70
mov eax, esi
lea r11, [rsp + 0x8248]
movaps xmm6, xmmword [r11 - 0x18]
movaps xmm7, xmmword [r11 - 0x28]
movaps xmm8, xmmword [r11 - 0x38]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret