Function at 0x140031fb0
Capabilities:
Check for time delay via gettickcount
Empty recycle bin quietly
Empty the recycle bin
Encode data using base64
Find taskbar
Move file
Print debug messages
Set environment variable

Disassembly:
mov rax, rsp
mov qword [rax + 0x18], r8
mov dword [rax + 0x10], edx
mov qword [rax + 8], rcx
push rbp
push rbx
push rsi
push rdi
lea rbp, [rax - 0xa28]
sub rsp, 0xb08
mov qword [rbp + 0x158], 0xfffffffffffffffe
movaps xmmword [rax - 0x38], xmm6
movaps xmmword [rax - 0x48], xmm7
movaps xmmword [rax - 0x58], xmm8
movaps xmmword [rax - 0x68], xmm9
movaps xmmword [rax - 0x78], xmm10
movaps xmmword [rax - 0x88], xmm11
lea rax, [rbp + 0xa48]
test r9, r9
cmovne rax, r9
mov qword [rbp - 0x48], rax
xor edi, edi
mov qword [rax], rdi
mov rsi, qword [0x140111488]
mov qword [rbp - 0x70], rsi
mov qword [rsp + 0x68], rcx
lea ebx, [rdi + 1]
test rcx, rcx
je case.0x14003241d.107
movsd xmm10, qword [0x1400ffd58]
xorpd xmm8, xmm8
movsd xmm11, qword [0x1400ffd90]
movsd xmm9, qword [0x1400ffd88]
movzx eax, byte [rbp + 0xa30]
mov dword [rbp - 0x50], eax
cmp dword [0x140118e5c], 0
je 0x140032091
cmp qword [0x140118e40], 0
je 0x14003207e
mov rcx, qword [0x140118e30]
call qword [sym.imp.KERNEL32.dll_GlobalUnlock]
mov qword [0x140118e40], rdi
call qword [sym.imp.USER32.dll_CloseClipboard]
mov dword [0x140118e5c], edi
mov qword [0x140118e30], rdi
call qword [sym.imp.KERNEL32.dll_GetTickCount]
mov edi, eax
mov ecx, eax
sub ecx, dword [0x140118dac]
mov rax, qword [0x140111488]
cmp ecx, dword [rax + 0x118]
jbe 0x1400320e7
xor eax, eax
mov dword [rsp + 0x20], eax
xor r9d, r9d
xor r8d, r8d
xor edx, edx
lea rcx, [rbp + 0x168]
call qword [sym.imp.USER32.dll_PeekMessageW]
test eax, eax
je 0x1400320d9
mov edx, ebx
or ecx, 0xffffffff
call fcn.140001a70
call qword [sym.imp.KERNEL32.dll_GetTickCount]
mov edi, eax
mov dword [0x140118dac], eax
cmp byte [rsi + 0x12c], 0
jne 0x14003211a
cmp byte [rsi + 0x12e], 0
jne 0x14003211a
mov eax, dword [0x140118da0]
cmp eax, 0xffffffff
jle 0x14003211a
mov ecx, dword [rsi + 0x38]
cmp ecx, eax
jle 0x140032114
mov byte [rsi + 0x12c], 1
jmp 0x14003211a
lea eax, [rcx + 1]
mov dword [rsi + 0x38], eax
mov rax, qword [rsi]
mov rdx, qword [0x140118d98]
cmp rax, 0xffffffffffffffff
jle 0x14003212f
cmp rdx, rax
jge 0x140032141
mov eax, dword [rsi + 0x34]
cmp eax, 0xffffffff
jle 0x140032154
sub edi, dword [0x140118da8]
cmp edi, eax
jb 0x140032154
mov edx, ebx
mov ecx, 0xa
call fcn.140001a70
mov rdx, qword [0x140118d98]
cmp byte [rsi + 0x138], 0
je 0x14003217c
nop dword [rax]
mov edx, ebx
mov ecx, 0x8000012f
call fcn.140001a70
cmp byte [rsi + 0x138], 0
jne 0x140032160
mov rdx, qword [0x140118d98]
mov r10, qword [rsp + 0x68]
mov qword [0x140118880], r10
cmp byte [rsi + 0x139], 0
je 0x1400321dd
movsxd rax, dword [0x140117478]
lea rdi, [0x140000000]
mov qword [rdi + rax*8 + 0x117480], r10
call qword [sym.imp.KERNEL32.dll_GetTickCount]
movsxd rcx, dword [0x140117478]
mov dword [rdi + rcx*4 + 0x116000], eax
inc ecx
cmp ecx, 0x190
mov eax, 0
cmovge ecx, eax
mov dword [0x140117478], ecx
mov rdx, qword [0x140118d98]
mov r10, qword [rsp + 0x68]
movzx eax, byte [r10]
cmp al, 1
je 0x140032221
cmp al, 0x6b
je 0x140032221
mov rdi, qword [rbp + 0xa40]
cmp al, 0x72
je 0x140032228
xor r9d, r9d
or r8, 0xffffffffffffffff
mov rdx, rdi
mov rcx, r10
call fcn.140088d10
mov dword [rsp + 0x60], eax
cmp eax, 1
jne 0x14003892e
mov rdx, qword [0x140118d98]
mov r10, qword [rsp + 0x68]
jmp 0x140032228
mov rdi, qword [rbp + 0xa40]
movzx esi, byte [r10]
mov dword [rsp + 0x70], esi
cmp sil, 9
jb 0x1400323ee
cmp sil, 0x20
ja 0x1400323ee
inc rdx
mov qword [0x140118d98], rdx
mov rcx, r10
call fcn.140038e20
mov r10, qword [rsp + 0x68]
cmp eax, 3
jne 0x140032326
mov rax, qword [r10 + 0x20]
cmp byte [rax], 0x75
jne 0x14003229f
nop dword [rax]
lea r9, [rbp - 0x68]
mov r8, rdi
mov edx, 2
mov rcx, qword [rax + 0x20]
call fcn.140031fb0
mov edx, eax
mov dword [rsp + 0x60], eax
mov r10, qword [rsp + 0x68]
mov rax, qword [r10 + 0x20]
mov rcx, qword [rbp - 0x68]
cmp rcx, rax
je 0x140032270
jmp 0x1400322c2
lea r9, [rbp - 0x68]
mov r8, rdi
mov edx, 3
mov rcx, rax
call fcn.140031fb0
mov edx, eax
mov dword [rsp + 0x60], eax
mov rcx, qword [rbp - 0x68]
mov r10, qword [rsp + 0x68]
cmp rcx, r10
je 0x140038587
cmp dword [rbp + 0xa38], 3
je 0x1400385a7
cmp edx, 1
jne 0x1400385a7
test rcx, rcx
je 0x140032301
mov rax, qword [r10 + 0x30]
cmp qword [rcx + 0x30], rax
jne 0x14003859b
mov r10, rcx
mov qword [rsp + 0x68], rcx
jmp 0x140038587
mov r10, qword [r10 + 0x28]
mov qword [rsp + 0x68], r10
mov rsi, qword [rbp - 0x70]
cmp byte [r10], 0x21
jne 0x14003858b
mov r10, qword [r10 + 0x28]
mov qword [rsp + 0x68], r10
jmp 0x14003858b
mov r10, qword [r10 + 0x28]
mov qword [rsp + 0x68], r10
cmp byte [r10], 0x21
jne 0x1400323dc
mov rax, qword [r10 + 0x20]
cmp byte [rax], 0x75
jne 0x14003237f
nop word [rax + rax]
lea r9, [rbp - 0x68]
mov r8, rdi
mov edx, 2
mov rcx, qword [rax + 0x20]
call fcn.140031fb0
mov ebx, eax
mov dword [rsp + 0x60], eax
mov r10, qword [rsp + 0x68]
mov rax, qword [r10 + 0x20]
mov rcx, qword [rbp - 0x68]
cmp rcx, rax
je 0x140032350
jmp 0x1400323a2
lea r9, [rbp - 0x68]
mov r8, rdi
mov edx, 3
mov rcx, rax
call fcn.140031fb0
mov ebx, eax
mov dword [rsp + 0x60], eax
mov rcx, qword [rbp - 0x68]
mov r10, qword [rsp + 0x68]
cmp dword [rbp + 0xa38], 3
je 0x14003859b
cmp ebx, 1
jne 0x14003859b
test rcx, rcx
je 0x140033680
mov rax, qword [r10 + 0x30]
cmp qword [rcx + 0x30], rax
jne 0x1400385b5
mov r10, rcx
mov qword [rsp + 0x68], rcx
jmp 0x140038582
cmp dword [rbp + 0xa38], 3
je case.0x14003241d.107
jmp 0x140038587
movzx eax, sil
add eax, 0xffffffa0
lea r8, [0x140000000]
cmp eax, 0x80
ja case.0x14003241d.112
cdqe
movzx eax, byte [r8 + rax + 0x389a0]
mov ecx, dword [r8 + rax*4 + 0x3895c]
add rcx, r8
jmp rcx
inc rdx
mov qword [0x140118d98], rdx
mov rdx, qword [r10 + 0x28]
test rdx, rdx
je 0x14003244d
mov qword [rbp + 8], rdx
xor eax, eax
mov edi, eax
cmp qword [r10 + 0x10], 1
sete dil
mov rsi, qword [rbp - 0x70]
test edi, edi
je 0x1400324b6
jmp 0x140032499
mov dl, 1
mov rcx, r10
call fcn.140067650
mov rdx, rax
mov qword [rbp + 8], rax
test rax, rax
je 0x1400385f8
mov rsi, qword [rbp - 0x70]
cmp qword [rsi + 0xd8], 0
je 0x1400324b2
mov rax, qword [rax + 0x10]
mov rcx, qword [rax + 0x30]
test rcx, rcx
je 0x140032497
cmp qword [rcx + 0x10], 1
jne 0x14003248e
cmp byte [rcx], 0x75
je 0x1400324b2
mov rcx, qword [rcx + 0x30]
test rcx, rcx
jne 0x140032482
mov edi, ebx
mov rax, qword [rsi + 0xd8]
mov qword [rsi + 0xe0], rax
xor eax, eax
mov qword [rsi + 0xd8], rax
jmp 0x1400324b6
xor eax, eax
mov edi, eax
mov rcx, rdx
call fcn.1400a6530
mov ebx, eax
mov dword [rsp + 0x60], eax
test edi, edi
je 0x1400324df
mov rax, qword [rsi + 0xe0]
mov qword [rsi + 0xd8], rax
xor eax, eax
mov qword [rsi + 0xe0], rax
test ebx, ebx
je case.0x14003241d.107
cmp ebx, 8
je case.0x14003241d.107
cmp dword [rbp + 0xa38], 3
je 0x1400385c6
mov r10, qword [rsp + 0x68]
mov r10, qword [r10 + 0x20]
jmp 0x14003857d
inc rdx
mov qword [0x140118d98], rdx
mov rcx, qword [r10 + 0x28]
mov qword [rbp + 8], rcx
test rcx, rcx
jne 0x140032541
mov dl, 1
mov rcx, r10
call fcn.140067650
mov rcx, rax
mov qword [rbp + 8], rax
test rax, rax
je 0x1400385f8
mov r10, qword [rsp + 0x68]
mov rsi, qword [rbp - 0x70]
mov qword [rsi + 0xe8], rcx
cmp dword [rbp + 0xa38], 3
je 0x1400385d6
mov rdx, qword [rcx + 0x10]
mov rax, qword [rdx + 0x30]
cmp qword [r10 + 0x30], rax
jne 0x1400385d6
mov r10, rdx
mov qword [rsp + 0x68], rdx
jmp 0x14003858b
inc rdx
mov qword [0x140118d98], rdx
mov rdi, qword [rbp + 0xa30]
mov rdi, qword [rdi + 0x10]
test rdi, rdi
jne 0x1400325d3
mov rbx, qword [0x1401166f0]
cmp word [rbx], di
jne 0x1400325a7
xor edx, edx
mov edi, edx
lea ebx, [rdx + 1]
jmp 0x1400325d5
mov rdi, qword [0x140118240]
test rdi, rdi
je 0x14003259e
mov rdx, rbx
mov rcx, qword [rdi + 8]
call fcn.1400c900c
test eax, eax
je 0x1400325ce
mov rdi, qword [rdi + 0x28]
test rdi, rdi
jne 0x1400325b3
jmp 0x14003259e
mov ebx, 1
xor edx, edx
mov esi, ebx
mov dword [rsp + 0x60], ebx
mov ebx, edx
test rdi, rdi
je 0x1400326de
mov rcx, qword [0x1401166f8]
cmp word [rcx], 0
je 0x140032607
lea rdx, [0x1400e4e0c]
call fcn.1400c900c
test eax, eax
jne 0x140032607
mov dl, 1
jmp 0x140032609
xor edx, edx
lea r9, [rbp + 8]
xor r8d, r8d
mov rcx, rdi
call fcn.1400b3da0
mov ebx, eax
mov r8, qword [rbp + 8]
test r8, r8
je 0x1400326de
mov rdx, qword [r8 + 0x10]
mov rcx, qword [rdx + 0x30]
test rcx, rcx
je 0x140032651
mov rdi, qword [rsp + 0x68]
mov rax, qword [rdi + 0x30]
test rax, rax
je 0x1400385df
cmp rcx, rax
je 0x140032651
mov rax, qword [rax + 0x30]
jmp 0x14003263d
mov r9, qword [rbp - 0x70]
mov rcx, qword [r9 + 0xd8]
test rcx, rcx
je 0x14003269c
mov rax, qword [rdx + 0x30]
test rax, rax
je 0x140032685
nop word [rax + rax]
cmp qword [rax + 0x10], 1
jne 0x14003267c
cmp byte [rax], 0x75
je 0x14003269c
mov rax, qword [rax + 0x30]
test rax, rax
jne 0x140032670
mov edi, 1
mov qword [r9 + 0xe0], rcx
xor eax, eax
mov qword [r9 + 0xd8], rax
jmp 0x1400326a0
xor eax, eax
mov edi, eax
mov rcx, r8
call fcn.1400a6530
mov esi, eax
mov dword [rsp + 0x60], eax
test edi, edi
je 0x1400326cd
mov rcx, qword [rbp - 0x70]
mov rax, qword [rcx + 0xe0]
mov qword [rcx + 0xd8], rax
xor eax, eax
mov qword [rcx + 0xe0], rax
test esi, esi
je 0x14003860a
cmp esi, 8
je 0x14003860a
test ebx, ebx
sete dl
mov rcx, qword [rbp + 0xa30]
call fcn.14003ec40
cmp dword [rbp + 0xa38], 3
je 0x1400385ff
jmp 0x1400324fd
mov rdi, qword [r10 + 0x10]
mov rax, rdi
dec rax
je 0x140032757
sub rax, 3
je 0x14003273a
cmp rax, 5
jne 0x140032930
xor r9d, r9d
xor r8d, r8d
mov edx, ebx
mov rcx, qword [0x1401166f8]
call fcn.14001cae0
mov qword [rbp - 0x20], rax
jmp 0x140032954
xor r9d, r9d
xor r8d, r8d
xor edx, edx
mov rcx, qword [0x1401166f0]
call fcn.14001cae0
mov qword [rbp - 0x20], rax
jmp 0x140032977
movzx ecx, byte [r10 + 1]
test ecx, ecx
je 0x1400329fa
dec ecx
je 0x140032790
lea rdx, [0x1400e7be0]
mov rcx, qword [0x1401166f0]
call fcn.1400c900c
test eax, eax
jne 0x140032903
lea edi, [rax + 5]
mov r10, qword [rsp + 0x68]
jmp 0x1400329ff
mov rbx, qword [0x1401166f0]
movzx eax, word [rbx]
cmp ax, 0x20
je 0x1400327a6
cmp ax, 9
jne 0x1400327ac
add rbx, 2
jmp 0x140032797
movzx eax, word [rbx]
test ax, ax
je 0x1400329fa
cmp ax, 0x2d
je 0x1400327c4
cmp ax, 0x2b
jne 0x1400327c8
add rbx, 2
cmp word [rbx], 0x30
jne 0x1400327f8
movzx eax, word [rbx + 2]
cmp ax, 0x78
je 0x1400327de
cmp ax, 0x58
jne 0x1400327f8
movzx ecx, word [rbx + 4]
call fcn.1400ca874
test eax, eax
je 0x1400327f8
mov eax, 1
add rbx, 4
xor edx, edx
jmp 0x1400327fc
xor edx, edx
mov eax, edx
mov esi, edx
mov ecx, edx
mov dword [rbp - 0x80], edx
movzx edi, word [rbx]
cdqe
mov qword [rbp - 0x78], rax
cmp edi, 0x20
je 0x1400328d5
cmp edi, 9
je 0x1400328d3
test edi, edi
je 0x1400328cf
cmp edi, 0x2e
jne 0x140032841
test esi, esi
jne 0x140032903
test rax, rax
jne 0x140032903
lea esi, [rdi - 0x2d]
jmp 0x1400328be
test rax, rax
je 0x14003285d
movzx ecx, di
call fcn.1400cade4
xor edx, edx
mov ecx, edx
test eax, eax
sete cl
test ecx, ecx
je 0x1400328b2
jmp 0x140032865
lea eax, [rdi - 0x30]
cmp eax, 9
jbe 0x1400328b2
movzx ecx, di
call fcn.14000c1f0
cmp ax, 0x45
jne 0x140032903
test esi, esi
je 0x140032903
cmp dword [rbp - 0x80], 0
je 0x140032903
movzx eax, word [rbx + 2]
cmp ax, 0x2d
je 0x140032899
cmp ax, 0x2b
jne 0x14003289d
add rbx, 2
movzx eax, word [rbx + 2]
cmp ax, 0x30
jb 0x140032903
cmp ax, 0x39
ja 0x140032903
mov ecx, dword [rbp - 0x80]
jmp 0x1400328ba
mov ecx, 1
mov dword [rbp - 0x80], ecx
mov rax, qword [rbp - 0x78]
add rbx, 2
movzx edi, word [rbx]
cmp edi, 0x20
je 0x1400328d3
jmp 0x140032815
xor edx, edx
jmp 0x1400328f0
xor edx, edx
movzx eax, word [rbx]
cmp ax, 0x20
je 0x1400328e4
cmp ax, 9
jne 0x1400328ea
add rbx, 2
jmp 0x1400328d5
cmp word [rbx], 0
jne 0x140032903
test ecx, ecx
je 0x140032903
mov eax, edx
test esi, esi
setne al
inc eax
jne 0x1400329f5
xor r9d, r9d
xor r8d, r8d
xor edx, edx
mov rcx, qword [0x1401166f0]
call fcn.14001cae0
mov qword [rbp - 0x20], rax
xor eax, eax
mov edi, eax
cmp qword [rbp - 0x20], rax
setne dil
mov r10, qword [rsp + 0x68]
add rdi, 3
cmp rdi, 3
je 0x1400329b3
cmp rdi, 4
je 0x140032977
cmp rdi, 8
jbe 0x1400329ff
cmp rdi, 0xa
ja 0x1400329ff
mov rcx, qword [0x140116700]
call fcn.14001d640
mov ecx, eax
mov dword [rbp - 0x40], eax
shr eax, 2
and al, 1
mov dword [rbp - 0x50], eax
je 0x1400329a4
and ecx, 0xfffffffb
mov dword [rbp - 0x40], ecx
jmp 0x1400329a4
mov rcx, qword [0x140116700]
call fcn.14001d5d0
mov ecx, eax
mov dword [rbp - 0x40], eax
mov rax, qword [0x140116708]
cmp word [rax], 0x31
jne 0x1400329a0
cmp word [rax + 2], 0
mov byte [rbp - 0x50], 1
je 0x1400329a4
mov byte [rbp - 0x50], 0
test ecx, ecx
je 0x140038611
mov r10, qword [rsp + 0x68]
jmp 0x1400329ff
mov rcx, qword [0x1401166f8]
call fcn.14001d5d0
mov dword [rbp - 0x40], eax
cmp eax, 0
je 0x140038631
mov rax, qword [0x140116700]
cmp word [rax], 0x31
jne 0x1400329ea
cmp word [rax + 2], 0
jne 0x1400329ea
mov byte [rbp - 0x50], 1
mov r10, qword [rsp + 0x68]
jmp 0x1400329ff
mov byte [rbp - 0x50], 0
mov r10, qword [rsp + 0x68]
jmp 0x1400329ff
mov r10, qword [rsp + 0x68]
mov edi, 2
mov byte [rbp + 0xa48], 0
xor r9d, r9d
mov qword [rbp - 0x68], r9
mov rdx, qword [r10 + 0x28]
mov qword [rsp + 0x70], rdx
cmp byte [rdx], 0x6c
jne 0x140032a29
mov rsi, rdx
mov rdx, qword [rdx + 0x20]
mov qword [rsp + 0x70], rdx
jmp 0x140032a2c
mov rsi, r9
mov r8, qword [rbp - 0x70]
mov rax, qword [r8 + 8]
mov qword [rbp - 0x78], rax
mov rax, qword [r8 + 0x10]
mov qword [rbp - 0x30], rax
mov rax, qword [r8 + 0x18]
mov qword [rbp + 0x128], rax
mov rax, qword [r8 + 0x20]
mov qword [rbp + 0x58], rax
mov rax, qword [r8 + 0x28]
mov qword [rbp - 0x58], rax
mov rax, qword [r8 + 8]
cmp rdi, 8
mov ebx, 1
cmovne rax, rbx
mov qword [r8 + 8], rax
lea rax, [rdi - 2]
cmp rax, 8
ja case.default.0x140032a90
lea r11, [0x140000000]
mov eax, dword [r11 + rax*4 + 0x38a24]
add rax, r11
jmp rax
cmp byte [r10 + 1], r9b
jbe 0x140032aab
xor edx, edx
mov rcx, r10
call fcn.14002d7f0
xor cl, cl
mov r10, qword [rsp + 0x68]
jmp 0x140032ab1
mov rax, r9
movzx ecx, bl
mov byte [rsp + 0x30], cl
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], rsi
lea r9, [rbp - 0x68]
lea r8, [rbp + 0xa48]
mov rdx, qword [rbp + 0xa40]
mov rcx, r10
call fcn.14003b7f0
mov ebx, eax
mov dword [rsp + 0x60], eax
mov rdx, qword [rsp + 0x70]
mov r10, qword [rsp + 0x68]
jmp 0x140032f63
lea r9, [rbp - 0x68]
lea r8, [rbp + 0xa48]
mov rdx, qword [rbp + 0xa40]
mov rcx, r10
call fcn.14003b9a0
mov ebx, eax
mov dword [rsp + 0x60], eax
mov rdx, qword [rsp + 0x70]
mov r10, qword [rsp + 0x68]
jmp 0x140032f63
mov qword [rsp + 0x20], rsi
lea r9, [rbp - 0x68]
lea r8, [rbp + 0xa48]
mov rdx, qword [rbp + 0xa40]
mov rcx, r10
call fcn.14003bbc0
mov ebx, eax
mov dword [rsp + 0x60], eax
mov rdx, qword [rsp + 0x70]
mov r10, qword [rsp + 0x68]
jmp 0x140032f63
lea rdx, [0x1400e9318]
mov rcx, qword [0x140116700]
call fcn.1400c900c
test eax, eax
mov rax, qword [0x1401166f8]
je 0x140032bbe
cmp word [rax], 0
jne 0x140032b88
mov dword [rsp + 0x60], ebx
mov rdx, qword [rsp + 0x70]
mov r10, qword [rsp + 0x68]
jmp 0x140032f63
mov qword [rsp + 0x20], rsi
lea r9, [rbp - 0x68]
lea r8, [rbp + 0xa48]
mov rdx, qword [rbp + 0xa40]
mov rcx, qword [rsp + 0x68]
call fcn.14003cdd0
mov ebx, eax
mov dword [rsp + 0x60], eax
mov rdx, qword [rsp + 0x70]
mov r10, qword [rsp + 0x68]
jmp 0x140032f63
cmp word [rax], 0
jne 0x140032bd7
mov dword [rsp + 0x60], ebx
mov rdx, qword [rsp + 0x70]
mov r10, qword [rsp + 0x68]
jmp 0x140032f63
mov qword [rsp + 0x20], rsi
lea r9, [rbp - 0x68]
lea r8, [rbp + 0xa48]
mov rdx, qword [rbp + 0xa40]
mov rcx, qword [rsp + 0x68]
call fcn.14003d240
mov ebx, eax
mov dword [rsp + 0x60], eax
mov rdx, qword [rsp + 0x70]
mov r10, qword [rsp + 0x68]
jmp 0x140032f63
lea rax, vtable.TextStream.0
mov qword [rbp + 0xb0], rax
mov qword [rbp + 0xb8], r9
mov dword [rbp + 0xc0], r9d
mov dword [rbp + 0xc4], 0xffffffff
mov qword [rbp + 0xe0], r9
mov qword [rbp + 0xe8], r9
mov ecx, dword [0x140118fe0]
cmp ecx, 0xffffffff
je 0x140032c7c
mov dword [rbp + 0xc4], ecx
lea rdx, [rbp + 0xc8]
call qword [sym.imp.KERNEL32.dll_GetCPInfo]
movzx ecx, byte [rbp + 0xce]
test eax, eax
mov r9d, 0
cmove ecx, r9d
mov byte [rbp + 0xce], cl
mov r8, qword [rbp - 0x70]
lea rax, vtable.TextFile.0
mov qword [rbp + 0xb0], rax
mov qword [rbp + 0xf0], 0xffffffffffffffff
mov rdx, qword [0x1401166f8]
cmp word [rdx], 0
je 0x140032d86
mov edi, dword [r8 + 0x13c]
btr edi, 0x1f
mov dword [rbp - 0x80], 0x30c
mov dword [rbp + 0xbc], r9d
lea r8, [rbp - 0x80]
lea rcx, [rbp + 0xb0]
call qword [0x1400ea720]
test al, al
je 0x140032d86
mov r8d, edi
lea rdx, [rbp - 0x80]
lea rcx, [rbp + 0xb0]
call fcn.1400a9690
test al, al
je 0x140032d86
mov rax, qword [0x140116700]
mov qword [rsp + 0x30], rax
lea rax, [rbp + 0xb0]
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], rsi
lea r9, [rbp - 0x68]
lea r8, [rbp + 0xa48]
mov rdx, qword [rbp + 0xa40]
mov rcx, qword [rsp + 0x68]
call fcn.14003d680
mov ebx, eax
mov dword [rsp + 0x60], eax
mov r8d, dword [rbp + 0xbc]
test r8d, r8d
je 0x140032d6a
cmp qword [rbp + 0xe0], 0
jne 0x140032d6a
mov rdx, qword [rbp + 0xe8]
lea rcx, [rbp + 0xb0]
mov rax, qword [rbp + 0xb0]
call qword [rax + 0x20]
xor edx, edx
mov dword [rbp + 0xbc], edx
jmp 0x140032d6c
xor edx, edx
mov word [rbp + 0xdc], dx
lea rcx, [rbp + 0xb0]
mov rax, qword [rbp + 0xb0]
call qword [rax + reloc.OLEAUT32.dll_SafeArrayGetDim]
jmp 0x140032d8a
mov dword [rsp + 0x60], ebx
lea rcx, [rbp + 0xb0]
call fcn.14001df90
mov rdx, qword [rsp + 0x70]
mov r10, qword [rsp + 0x68]
jmp 0x140032f63
mov rbx, qword [0x1401166f8]
cmp rdi, 3
cmove rbx, qword [0x1401166f0]
mov dword [rbp - 0x80], 1
mov ecx, 0x204a0
call fcn.1400ca750
mov rdi, rax
test rax, rax
je 0x140032e76
xor eax, eax
mov qword [rdi + 0x20468], rax
mov qword [rdi + 0x20488], rax
lea r9, [rbp - 0x80]
mov r8, rdi
mov rdx, rbx
mov rbx, qword [rsp + 0x68]
mov rcx, rbx
call fcn.14003c120
test al, al
je 0x140032e36
mov qword [rsp + 0x38], rdi
mov eax, dword [rbp - 0x50]
mov byte [rsp + 0x30], al
mov eax, dword [rbp - 0x40]
mov dword [rsp + 0x28], eax
mov qword [rsp + 0x20], rsi
lea r9, [rbp - 0x68]
lea r8, [rbp + 0xa48]
mov rdx, qword [rbp + 0xa40]
mov rcx, rbx
call fcn.14003c3a0
mov ebx, eax
jmp 0x140032e39
mov ebx, dword [rbp - 0x80]
mov dword [rsp + 0x60], ebx
cmp qword [rdi + 0x20488], 0
je 0x140032e53
mov rcx, qword [rdi + 0x20460]
call fcn.1400c9b30
mov rcx, qword [rdi + 0x20468]
call fcn.1400c9b30
mov rcx, rdi
call fcn.1400c9b28
mov rdx, qword [rsp + 0x70]
mov r10, qword [rsp + 0x68]
jmp 0x140032f63
lea r9, [0x1400e14ec]
xor r8d, r8d
lea rdx, [0x1400e4580]
mov rcx, qword [rsp + 0x68]
call fcn.14003fe90
mov ebx, eax
mov dword [rsp + 0x60], eax
mov rdx, qword [rsp + 0x70]
mov r10, qword [rsp + 0x68]
jmp 0x140032f63
lea r9, [rbp - 0x60]
cmp rdi, 4
jne 0x140032ed4
xor r8d, r8d
xor edx, edx
mov rcx, qword [0x1401166f0]
call fcn.14001cae0
mov rdi, rax
mov rax, qword [0x1401166f8]
mov qword [rbp + 0x90], rax
jmp 0x140032ef3
lea r8, [rbp + 0x90]
mov edx, ebx
mov rcx, qword [0x1401166f8]
call fcn.14001cae0
mov rdi, rax
mov rax, qword [rbp + 0x90]
test rdi, rdi
je 0x140032bc4
mov qword [rsp + 0x48], rax
mov qword [rsp + 0x40], rdi
mov rax, qword [rbp - 0x20]
mov qword [rsp + 0x38], rax
mov eax, dword [rbp - 0x50]
mov byte [rsp + 0x30], al
mov eax, dword [rbp - 0x40]
mov dword [rsp + 0x28], eax
mov qword [rsp + 0x20], rsi
lea r9, [rbp - 0x68]
lea r8, [rbp + 0xa48]
mov rdx, qword [rbp + 0xa40]
mov rcx, qword [rsp + 0x68]
call fcn.14003c8c0
mov ebx, eax
mov dword [rsp + 0x60], eax
cmp byte [rbp - 0x60], 0
je 0x140032f53
mov rcx, rdi
call qword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov rdx, qword [rsp + 0x70]
mov r10, qword [rsp + 0x68]
jmp 0x140032f63
mov ebx, dword [rsp + 0x60]
mov rax, qword [rbp - 0x78]
mov rsi, qword [rbp - 0x70]
mov qword [rsi + 8], rax
mov rax, qword [rbp - 0x30]
mov qword [rsi + 0x10], rax
mov rax, qword [rbp + 0x128]
mov qword [rsi + 0x18], rax
mov rax, qword [rbp + 0x58]
mov qword [rsi + 0x20], rax
mov rax, qword [rbp - 0x58]
mov qword [rsi + 0x28], rax
test ebx, ebx
je case.0x14003241d.107
cmp ebx, 7
je case.0x14003241d.107
cmp ebx, 8
je case.0x14003241d.107
cmp byte [rbp + 0xa48], 0
jne 0x140033272
mov rcx, qword [rbp - 0x68]
test rcx, rcx
je 0x140032fd5
mov rax, qword [r10 + 0x30]
cmp qword [rcx + 0x30], rax
jne 0x140038651
jmp 0x14003326a
cmp dword [rbp + 0xa38], 3
je 0x1400385bc
mov r10, rdx
mov qword [rsp + 0x68], rdx
mov ebx, 1
jmp 0x14003858b
mov rdx, qword [rbp - 0x70]
mov edi, dword [rdx + 0x140]
mov dword [rbp - 0x80], edi
cmp sil, 0x70
jne 0x140033064
mov rcx, qword [0x140116640]
mov rdi, qword [rdx + 0x148]
xor eax, eax
mov qword [rdx + 0x148], rax
test rcx, rcx
je 0x14003302d
mov rdx, rdi
call fcn.1400aef50
mov ebx, eax
cmp dword [rdi + 0x10], 6
jne 0x14003303c
mov rcx, qword [rdi]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_SafeArrayGetDim]
mov rcx, qword [rdi + 0x18]
test rcx, rcx
je 0x14003304a
call fcn.1400c9b30
mov rcx, rdi
call fcn.1400c9b28
test ebx, ebx
je 0x1400385f8
mov edi, dword [rbp - 0x80]
mov r10, qword [rsp + 0x68]
jmp 0x140033081
mov ecx, edi
or ecx, 1
mov dword [rdx + 0x140], ecx
mov rax, qword [r10 + 0x28]
cmp byte [rax], 0x71
je 0x140033081
or ecx, 2
mov dword [rdx + 0x140], ecx
xor eax, eax
mov qword [rbp - 0x68], rax
mov rax, qword [r10 + 0x20]
cmp byte [rax], 0x75
jne 0x1400330d3
mov rdi, qword [rbp + 0xa40]
mov esi, 2
nop dword [rax]
lea r9, [rbp - 0x68]
mov r8, rdi
mov edx, esi
mov rcx, qword [rax + 0x20]
call fcn.140031fb0
mov ebx, eax
mov dword [rsp + 0x60], eax
mov r10, qword [rsp + 0x68]
mov rax, qword [r10 + 0x20]
mov rcx, qword [rbp - 0x68]
cmp rcx, rax
je 0x1400330a0
mov esi, dword [rsp + 0x70]
mov edi, dword [rbp - 0x80]
jmp 0x1400330fa
lea r9, [rbp - 0x68]
mov r8, qword [rbp + 0xa40]
mov edx, 3
mov rcx, rax
call fcn.140031fb0
mov ebx, eax
mov dword [rsp + 0x60], eax
mov rcx, qword [rbp - 0x68]
mov r10, qword [rsp + 0x68]
mov r10, qword [r10 + 0x28]
mov qword [rsp + 0x68], r10
cmp sil, 0x6f
jne 0x14003316a
mov rsi, qword [rbp - 0x70]
mov dword [rsi + 0x140], edi
xor al, al
cmp byte [r10], 0x70
jne 0x140033134
mov al, 1
cmp qword [rsi + 0x148], 0
jne 0x140033272
mov r10, qword [r10 + 0x28]
mov qword [rsp + 0x68], r10
cmp byte [r10], 0x71
je 0x140033182
test al, al
jne 0x140033241
cmp qword [rsi + 0x148], 0
je 0x140033241
lea rcx, [rsi + 0x148]
call fcn.140040c40
mov ebx, 1
mov dword [rsp + 0x60], ebx
jmp 0x140033238
cmp sil, 0x70
mov rsi, qword [rbp - 0x70]
jne 0x140033241
cmp byte [r10], 0x71
jne 0x140033241
cmp ebx, 1
jne 0x140033190
test rcx, rcx
je 0x140033272
mov rdi, qword [rsi + 0x148]
xor ecx, ecx
mov qword [rsi + 0x148], rcx
mov rsi, qword [0x140118100]
mov rax, qword [0x140118108]
mov qword [rbp - 0x58], rax
mov qword [0x140118100], rcx
mov qword [0x140118108], rcx
lea r9, [rbp + 0x140]
xor r8d, r8d
lea edx, [rcx + 3]
mov rcx, r10
call fcn.140031fb0
mov ebx, eax
test rsi, rsi
je 0x140033212
mov rcx, qword [0x140118100]
test rcx, rcx
je 0x140033200
call fcn.1400c9b30
cmp qword [0x140118108], 0x400000
jbe 0x140033200
dec dword [0x140118110]
mov qword [0x140118100], rsi
mov rax, qword [rbp - 0x58]
mov qword [0x140118108], rax
cmp ebx, 1
jne 0x14003865a
cmp qword [rbp + 0x140], 0
jne 0x14003865a
mov rsi, qword [rbp - 0x70]
mov qword [rsi + 0x148], rdi
mov ebx, dword [rsp + 0x60]
mov r10, qword [rsp + 0x68]
mov rcx, qword [rbp - 0x68]
cmp dword [rbp + 0xa38], 3
je 0x14003859b
cmp ebx, 1
jne 0x14003859b
test rcx, rcx
je 0x140033272
mov rax, qword [r10 + 0x30]
cmp qword [rcx + 0x30], rax
jne 0x1400385b5
mov r10, rcx
mov qword [rsp + 0x68], rcx
mov ebx, 1
jmp 0x14003858b
xor esi, esi
mov ebx, esi
mov qword [rbp - 0x78], rbx
mov rdi, qword [0x140118100]
mov qword [rsp + 0x70], rdi
mov rax, qword [0x140118108]
mov qword [rbp - 0x80], rax
mov qword [0x140118100], rsi
mov qword [0x140118108], rsi
mov qword [rbp + 0x120], rsi
cmp qword [r10 + 0x10], rbx
jne 0x1400332ca
mov dword [rbp + 0x118], 0x41
mov dword [rsp + 0x60], 1
jmp 0x14003332f
lea rax, [rbp - 0x80]
mov qword [rsp + 0x20], rax
lea r9, [rsp + 0x70]
lea r8, [rbp + 0x108]
xor edx, edx
mov rcx, r10
call fcn.140088200
mov dword [rsp + 0x60], eax
mov rdi, qword [rsp + 0x70]
cmp eax, 1
jne 0x1400335f1
mov r10, qword [rsp + 0x68]
cmp dword [rbp + 0x118], ebx
jne 0x14003332f
cmp qword [rbp + 0x108], rdi
jne 0x14003332f
mov qword [rbp + 0x120], rdi
mov rax, qword [rbp - 0x80]
mov qword [rbp + 0x130], rax
mov rdi, rsi
mov qword [rsp + 0x70], rsi
mov qword [rbp - 0x80], rsi
mov rax, qword [r10 + 0x20]
mov rax, qword [rax + 0x20]
mov qword [rbp - 0x30], rax
cmp byte [rax], 0x74
jne 0x1400335a2
mov esi, dword [rax + 0x10]
test esi, esi
jne 0x140033358
mov rcx, qword [rax + 0x20]
mov qword [rbp - 0x78], rcx
jmp 0x140033588
xor edi, edi
mov ebx, edi
test esi, esi
jle 0x140033588
nop word [rax + rax]
lea rcx, [rbp - 0x80]
mov qword [rsp + 0x20], rcx
lea r9, [rsp + 0x70]
lea r8, [rbp - 0x18]
mov edx, ebx
mov rcx, rax
call fcn.140088200
mov dword [rsp + 0x60], eax
cmp eax, 1
jne 0x14003357c
cmp dword [rbp - 8], 0
jne 0x1400333aa
mov dword [rbp - 8], 5
mov qword [rbp - 0x10], rdi
cmp dword [rbp + 0x118], 0x41
jne 0x140033532
lea rcx, [rbp - 0x18]
call fcn.140077570
mov edx, eax
mov ecx, dword [rbp - 8]
dec edx
je 0x1400334b0
dec edx
je 0x140033449
cmp ecx, 6
je 0x14003343f
cmp ecx, 4
jne 0x1400333f5
mov rcx, qword [rbp - 0x18]
cmp byte [rcx + 0x23], 0
jne 0x1400333eb
mov rax, qword [rcx + 0x10]
jmp 0x1400333ef
mov rax, qword [rbp - 0x18]
test byte [rax + 0x21], 2
jne 0x14003343f
mov ecx, dword [rbp - 8]
test ecx, ecx
je 0x14003342d
dec ecx
je 0x140033424
dec ecx
je 0x140033424
sub ecx, 2
je 0x14003340f
dec ecx
je 0x14003342d
jmp 0x140033424
xor r8d, r8d
lea edx, [r8 + 1]
mov rcx, qword [rbp - 0x18]
call fcn.140001820
mov rdx, rax
jmp 0x140033431
lea rdx, [0x1400e14ec]
jmp 0x140033431
mov rdx, qword [rbp - 0x18]
mov eax, edi
cmp word [rdx], 0
setne al
jmp 0x140033542
mov eax, 1
jmp 0x140033542
dec ecx
je 0x140033496
dec ecx
je 0x14003348f
sub ecx, 2
je 0x14003347f
dec ecx
je 0x140033460
dec ecx
jne 0x140033474
jmp 0x1400334a9
mov rax, qword [rbp - 0x10]
test rax, rax
je 0x140033474
pxor xmm0, xmm0
cvtsi2sd xmm0, qword [rax]
jmp 0x1400334a0
mov rcx, qword [rbp - 0x18]
call fcn.1400cb188
jmp 0x1400334a0
mov edx, 1
mov rcx, qword [rbp - 0x18]
call fcn.14001bde0
jmp 0x1400334a0
movsd xmm0, qword [rbp - 0x18]
jmp 0x1400334a0
pxor xmm0, xmm0
cvtsi2sd xmm0, qword [rbp - 0x18]
ucomisd xmm0, xmm8
jp 0x14003343f
jne 0x14003343f
mov eax, edi
jmp 0x140033542
dec ecx
je 0x140033524
dec ecx
je 0x14003351c
sub ecx, 2
je 0x140033509
dec ecx
je 0x1400334ca
dec ecx
jne 0x1400334d8
mov rcx, rdi
jmp 0x140033528
mov rcx, qword [rbp - 0x10]
test rcx, rcx
je 0x1400334d8
mov rcx, qword [rcx]
jmp 0x140033528
mov rdi, qword [rbp - 0x18]
mov rcx, rdi
call fcn.140014500
mov rcx, rdi
test al, al
je 0x1400334fd
xor edx, edx
lea r8d, [rdx + 0x10]
call fcn.1400cb080
mov rcx, rax
xor edi, edi
jmp 0x140033528
call fcn.1400ca588
mov rcx, rax
xor edi, edi
jmp 0x140033528
mov edx, 1
mov rcx, qword [rbp - 0x18]
call fcn.14001bd40
mov rcx, rax
jmp 0x140033528
cvttsd2si rcx, qword [rbp - 0x18]
jmp 0x140033528
mov rcx, qword [rbp - 0x18]
mov eax, edi
test rcx, rcx
setne al
jmp 0x140033542
lea rdx, [rbp - 0x18]
lea rcx, [rbp + 0x108]
call fcn.140078110
test eax, eax
setne dil
cmp dword [rbp - 8], 6
jne 0x140033558
mov rcx, qword [rbp - 0x18]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_SafeArrayGetDim]
mov rax, qword [rbp - 0x30]
test dil, dil
jne 0x140033572
inc ebx
cmp ebx, esi
mov edi, 0
jl 0x140033370
jmp 0x140033588
mov rcx, qword [rax + 0x20]
mov qword [rbp - 0x78], rcx
jmp 0x140033584
mov qword [rbp - 0x78], rdi
mov rax, qword [rbp - 0x30]
cmp ebx, esi
jl 0x140033599
mov rax, qword [rax + 0x28]
mov qword [rbp - 0x30], rax
cmp byte [rax], 0x74
je 0x140033344
mov rdi, qword [rsp + 0x70]
mov rbx, qword [rbp - 0x78]
cmp dword [rbp + 0x118], 6
jne 0x1400335b8
mov rcx, qword [rbp + 0x108]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_SafeArrayGetDim]
mov rsi, qword [rbp + 0x120]
test rsi, rsi
je 0x1400335ef
test rdi, rdi
je 0x1400335e1
mov rcx, rdi
call fcn.1400c9b30
cmp qword [rbp - 0x80], 0x400000
jbe 0x1400335e1
dec dword [0x140118110]
mov rdi, rsi
mov rax, qword [rbp + 0x130]
mov qword [rbp - 0x80], rax
xor esi, esi
test rdi, rdi
je 0x14003362c
mov rcx, qword [0x140118100]
test rcx, rcx
je 0x14003361a
call fcn.1400c9b30
cmp qword [0x140118108], 0x400000
jbe 0x14003361a
dec dword [0x140118110]
mov qword [0x140118100], rdi
mov rax, qword [rbp - 0x80]
mov qword [0x140118108], rax
test rbx, rbx
je 0x140033655
lea r9, [rbp - 0x68]
mov r8, qword [rbp + 0xa40]
mov edx, 2
mov rcx, rbx
call fcn.140031fb0
mov ebx, eax
mov dword [rsp + 0x60], eax
mov rcx, qword [rbp - 0x68]
jmp 0x140033660
mov rcx, rsi
mov qword [rbp - 0x68], rcx
mov ebx, dword [rsp + 0x60]
cmp ebx, 1
jne 0x14003859b
cmp dword [rbp + 0xa38], 3
je 0x14003859b
mov r10, qword [rsp + 0x68]
jmp 0x1400323b8
mov r10, qword [r10 + 0x28]
jmp 0x14003857d
cmp qword [r10 + 0x10], 1
jne 0x14003369e
mov r10, qword [r10 + 0x28]
mov qword [rsp + 0x68], r10
jmp 0x140038587
lea r9, [rbp - 0x68]
mov r8, rdi
mov edx, 2
mov rcx, qword [r10 + 0x20]
call fcn.140031fb0
mov dword [rsp + 0x60], eax
mov rcx, qword [rbp - 0x68]
mov r10, qword [rsp + 0x68]
cmp rcx, r10
je 0x140038582
cmp dword [rbp + 0xa38], 3
je 0x1400386b7
cmp eax, 1
jne 0x1400386b7
test rcx, rcx
je 0x140033680
mov rax, qword [rcx + 0x30]
cmp qword [r10 + 0x30], rax
jmp 0x1400323c9
inc rdx
mov qword [0x140118d98], rdx
mov rbx, qword [0x140116640]
mov qword [rsp + 0x70], rbx
mov rsi, qword [0x140111488]
mov qword [rbp - 0x58], rsi
movzx edi, byte [r10]
lea eax, [rdi - 1]
cmp eax, 0xe1
ja case.0x140033731.8
cdqe
mov ecx, dword [r8 + rax*4 + 0x38a48]
add rcx, r8
jmp rcx
mov rcx, r10
call fcn.140059de0
jmp 0x140038536
mov rsi, qword [0x1401166f8]
cmp byte [r10 + 1], 1
jbe 0x1400337e7
mov rax, qword [r10 + 8]
cmp byte [rax + 0x21], 0
jne case.0x140033731.3
mov rdx, qword [rax + 0x38]
test rdx, rdx
je 0x14003377c
mov r8b, reloc.OLEAUT32.dll_SafeArrayGetElement
mov rdx, qword [rdx]
mov rcx, rbx
call fcn.140001090
jmp case.0x140033731.3
mov rdx, qword [0x140116648]
test rdx, rdx
je 0x1400337e7
cmp word [rsi], 0
jne 0x1400337e7
movzx eax, byte [rdx + 0x23]
test al, al
jne 0x14003379e
mov rax, qword [rdx + 0x10]
movzx eax, byte [rax + 0x23]
movzx ecx, al
dec ecx
je 0x1400337da
cmp ecx, 2
jne 0x1400337e7
movzx eax, byte [rbx + 0x23]
cmp al, cl
jne 0x1400337c0
mov ebx, 1
mov dword [rsp + 0x60], ebx
jmp 0x14003853c
test al, al
jne 0x1400337c8
mov rbx, qword [rbx + 0x10]
xor r8d, r8d
xor edx, edx
mov rcx, rbx
call fcn.1400af610
jmp 0x140038536
mov rcx, rbx
call fcn.1400aedd0
jmp 0x140038536
movzx edx, byte [rbx + 0x23]
test dl, dl
jne 0x14003380c
mov rdx, rsi
mov rcx, qword [rbx + 0x10]
xor r9d, r9d
or r8, 0xffffffffffffffff
mov byte [rsp + 0x20], 1
call fcn.1400afc70
jmp 0x140038536
mov r8b, 1
lea r11, [0x1400e14ec]
test rsi, rsi
jne 0x140033827
xor r8b, r8b
xor ecx, ecx
mov ebx, ecx
mov rsi, r11
jmp 0x14003384b
cmp qword [rbx + 8], rsi
jne 0x140033836
mov rbx, qword [rbx + 0x10]
shr rbx, 1
jmp 0x140033849
xor eax, eax
or rcx, 0xffffffffffffffff
mov rdi, rsi
repne scasw ax, word [rdi]
not rcx
lea rbx, [rcx - 1]
xor ecx, ecx
lea rax, [rbx + 1]
lea rdi, [rax + rax]
cmp dl, 2
jne 0x140033868
mov rdx, rbx
mov rcx, rsi
call fcn.1400060a0
jmp 0x140038536
mov r9, qword [0x140111460]
mov r10, qword [rsp + 0x70]
cmp rdi, r9
jbe 0x14003389a
cmp rdi, qword [r10 + 0x18]
jbe 0x14003389a
mov r8, r11
lea rdx, [0x1400fddf0]
lea rcx, [0x1401181e0]
call fcn.1400401e0
jmp 0x140038536
cmp rax, 2
jae 0x1400338c4
mov edx, ecx
test r8b, r8b
setne dl
add edx, 3
xor r8d, r8d
mov rcx, r10
call fcn.1400b0320
mov ebx, 1
mov dword [rsp + 0x60], ebx
jmp 0x14003853c
movzx eax, byte [r10 + 0x21]
test al, 2
je 0x1400338e8
and al, 0x3d
mov byte [r10 + 0x21], al
mov rcx, qword [r10]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_SafeArrayGetDim]
mov r9, qword [0x140111460]
mov r10, qword [rsp + 0x70]
and byte [r10 + 0x21], 0x82
mov r8, qword [r10 + 0x18]
cmp rdi, r8
jbe 0x140033ace
movzx ecx, byte [r10 + 0x20]
movzx eax, cl
cmp cl, 1
jbe 0x140033917
cmp al, 2
je 0x140033969
mov rax, qword [rbp + 0x100]
jmp 0x140033a6c
cmp rdi, 0x80
ja 0x140033969
cmp rdi, 8
ja 0x14003392d
mov eax, 8
jmp 0x14003393e
mov eax, 0x80
cmp rdi, 0x10
mov ecx, reloc.OLEAUT32.dll_SafeArrayGetDim
cmovbe eax, ecx
mov qword [rbp + 0x38], rax
mov rcx, rax
call fcn.1400a8f20
mov qword [rbp + 0x100], rax
test rax, rax
je 0x140038536
mov r10, qword [rsp + 0x70]
mov byte [r10 + 0x20], 1
jmp 0x140033a6c
cmp rdi, 0x20
jae 0x14003397a
mov r11d, SafeArrayAllocDescriptor
jmp 0x140033a1f
cmp rdi, 0x208
jae 0x14003398e
mov r11d, 0x208
jmp 0x140033a1f
cmp rdi, 0x50000
jae 0x1400339db
pxor xmm0, xmm0
cvtsi2sd xmm0, rdi
test rdi, rdi
jns 0x1400339aa
addsd xmm0, xmm10
mulsd xmm0, xmm11
xor eax, eax
comisd xmm0, xmm9
jbe 0x1400339d1
subsd xmm0, xmm9
comisd xmm0, xmm9
jae 0x1400339d1
movabs rdx, 0x8000000000000000
mov rax, rdx
cvttsd2si r11, xmm0
add r11, rax
jmp 0x140033a1f
cmp rdi, 0x320000
jae 0x1400339ed
lea r11, [rdi + 0x8000]
jmp 0x140033a1f
cmp rdi, 0xc80000
jae 0x140033a18
mov r11, rdi
movabs rax, 0x47ae147ae147ae15
mul rdi
sub r11, rdx
shr r11, 1
add r11, rdx
shr r11, 6
add r11, rdi
jmp 0x140033a1f
lea r11, [rdi + 0x20000]
cmp r11, r9
cmova r11, r9
mov qword [rbp + 0x38], r11
cmp cl, 2
jne 0x140033a46
test r8, r8
je 0x140033a46
mov dil, 1
mov rcx, qword [r10 + 8]
call fcn.1400c9b30
mov r11, qword [rbp + 0x38]
jmp 0x140033a49
xor dil, dil
test r11, r11
js 0x140033a7f
mov rcx, r11
call fcn.1400c9094
mov qword [rbp + 0x100], rax
test rax, rax
je 0x140033a7f
mov r10, qword [rsp + 0x70]
mov byte [r10 + 0x20], 2
mov qword [r10 + 8], rax
mov rax, qword [rbp + 0x38]
mov qword [r10 + 0x18], rax
and byte [r10 + 0x21], 0x7f
jmp 0x140033ace
xor edx, edx
test dil, dil
je 0x140033a9c
mov rax, qword [rsp + 0x70]
mov qword [rax + 0x18], rdx
lea rcx, [0x140118198]
mov qword [rax + 8], rcx
jmp 0x140033aab
mov rcx, qword [rsp + 0x70]
mov rax, qword [rcx + 8]
mov word [rax], dx
mov rax, rcx
mov qword [rax + 0x10], rdx
lea r8, [0x1400e14ec]
lea rdx, [0x1400e4580]
lea rcx, [0x1401181e0]
call fcn.1400401e0
jmp 0x140038536
mov rcx, qword [r10 + 8]
cmp rcx, rsi
je 0x140033ae8
lea r8, [rbx + rbx]
mov rdx, rsi
call fcn.1400c9cf0
mov r10, qword [rsp + 0x70]
lea rcx, [rbx + rbx]
mov rax, qword [r10 + 8]
xor edx, edx
mov word [rcx + rax], dx
mov qword [r10 + 0x10], rcx
mov ebx, 1
mov dword [rsp + 0x60], ebx
jmp 0x14003853c
mov rax, qword [r10 + 8]
cmp qword [rax + 0x38], 0
je 0x140033b2d
cmp byte [rax + 0x21], 0
jne 0x140033b2d
mov eax, 1
mov dword [rsp + 0x60], eax
mov edi, eax
xor ecx, ecx
mov esi, ecx
jmp 0x140033cab
xor r9d, r9d
mov dword [rsp + 0x60], r9d
mov rbx, qword [0x1401166f8]
mov rcx, qword [0x140116648]
mov qword [rbp - 0x78], rcx
test rcx, rcx
je 0x140033b7c
cmp word [rbx], r9w
jne 0x140033b7c
movzx eax, byte [rcx + 0x23]
test al, al
jne 0x140033b62
mov rax, qword [rcx + 0x10]
movzx eax, byte [rax + 0x23]
cmp al, 1
jne 0x140033b7c
test rcx, rcx
je 0x140033b80
mov edx, 1
call fcn.14001bca0
mov edi, eax
jmp 0x140033c9d
mov qword [rbp - 0x78], r9
movzx eax, word [rbx]
cmp ax, 0x20
je 0x140033b8f
cmp ax, 9
jne 0x140033b95
add rbx, 2
jmp 0x140033b80
movzx eax, word [rbx]
test ax, ax
je 0x140033c9a
cmp ax, 0x2d
je 0x140033bad
cmp ax, 0x2b
jne 0x140033bb1
add rbx, 2
cmp word [rbx], 0x30
jne 0x140033be9
movzx eax, word [rbx + 2]
cmp ax, 0x78
je 0x140033bc7
cmp ax, 0x58
jne 0x140033be9
movzx ecx, word [rbx + 4]
call fcn.1400ca874
test eax, eax
je 0x140033be6
mov r8d, 1
mov ecx, r8d
add rbx, 4
xor r9d, r9d
jmp 0x140033bf2
xor r9d, r9d
mov ecx, r9d
mov r8d, 1
mov esi, r9d
mov edx, r9d
mov dword [rbp - 0x80], edx
movsxd rdi, ecx
movzx eax, word [rbx]
cmp eax, 0x20
je 0x140033c74
cmp eax, 9
je 0x140033c74
test eax, eax
je 0x140033c89
cmp eax, 0x2e
jne 0x140033c2a
test esi, esi
jne 0x140033c9a
test rdi, rdi
jne 0x140033c9a
mov esi, r8d
jmp 0x140033c5a
test rdi, rdi
je 0x140033c4c
movzx ecx, ax
call fcn.1400cade4
xor r9d, r9d
mov ecx, r9d
test eax, eax
sete cl
test ecx, ecx
jne 0x140033c60
lea r8d, [r9 + 1]
jmp 0x140033c54
add eax, 0xffffffd0
cmp eax, 9
ja 0x140033c63
mov edx, r8d
mov dword [rbp - 0x80], edx
add rbx, 2
jmp 0x140033bfe
mov edx, dword [rbp - 0x80]
mov edi, r9d
test edx, edx
je 0x140033c9d
test esi, esi
setne dil
inc edi
jmp 0x140033c9d
movzx eax, word [rbx]
cmp ax, 0x20
je 0x140033c83
cmp ax, 9
jne 0x140033c89
add rbx, 2
jmp 0x140033c74
test edx, edx
je 0x140033c9a
mov edi, r9d
test esi, esi
setne dil
inc edi
jmp 0x140033c9d
mov edi, r9d
mov rsi, qword [rbp - 0x78]
mov rbx, qword [rsp + 0x70]
mov eax, 1
mov edx, eax
mov rcx, rbx
call fcn.14001bca0
mov ebx, eax
mov rax, qword [0x140116700]
movzx ecx, word [rax]
test cx, cx
je 0x1400343da
call fcn.14000c1f0
movzx edx, ax
lea rcx, [0x1400e9400]
call fcn.1400ca024
test rax, rax
je 0x1400343da
test edi, edi
je case.0x140033731.3
cmp dword [rsp + 0x60], 0
je 0x140033d0e
mov r10, qword [rsp + 0x68]
mov rax, qword [r10 + 8]
mov rcx, qword [rax + 0x38]
pxor xmm6, xmm6
cvtsi2sd xmm6, qword [rcx]
jmp 0x140033d2f
test rsi, rsi
je 0x140033d1f
xor edx, edx
mov rcx, rsi
call fcn.14001bde0
jmp 0x140033d2b
mov rcx, qword [0x1401166f8]
call fcn.14001bba0
movapd xmm6, xmm0
xor r8d, r8d
mov edi, 1
mov edx, edi
mov rsi, qword [rsp + 0x70]
mov rcx, rsi
call fcn.140001820
cmp word [rax], 0
je 0x140034034
xor r8d, r8d
mov edx, edi
mov rcx, rsi
call fcn.140001820
xor r8d, r8d
lea rdx, [rbp + 0x148]
mov rcx, rax
call fcn.1400ab7b0
lea rdx, [rbp - 0x28]
lea rcx, [rbp + 0x148]
call qword [sym.imp.KERNEL32.dll_SystemTimeToFileTime]
test eax, eax
jne 0x140034052
movzx ecx, byte [rsi + 0x23]
test cl, cl
jne 0x140033db1
mov byte [rsp + 0x20], dil
xor r9d, r9d
or r8, 0xffffffffffffffff
lea rdx, [0x1400e14ec]
mov rcx, qword [rsi + 0x10]
call fcn.1400afc70
jmp 0x140038536
lea r8, [0x1400e14ec]
cmp qword [rsi + 8], r8
jne 0x140033dc7
mov rbx, qword [rsi + 0x10]
shr rbx, 1
jmp 0x140033dcb
xor eax, eax
mov ebx, eax
lea rax, [rbx + 1]
lea rdi, [rax + rax]
cmp cl, 2
jne 0x140033de8
mov rdx, rbx
mov rcx, r8
call fcn.1400060a0
jmp 0x140038536
mov r9, qword [0x140111460]
cmp rdi, r9
jbe 0x140033dfe
cmp rdi, qword [rsi + 0x18]
ja 0x140033882
cmp rax, 2
jae 0x140033e22
mov edx, 4
mov rcx, rsi
xor r8d, r8d
call fcn.1400b0320
mov ebx, 1
mov dword [rsp + 0x60], ebx
jmp 0x14003853c
movzx eax, byte [rsi + 0x21]
test al, 2
je 0x140033e3f
and al, 0x3d
mov byte [rsi + 0x21], al
mov rcx, qword [rsi]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_SafeArrayGetDim]
mov r9, qword [0x140111460]
and byte [rsi + 0x21], 0x82
mov r8, qword [rsi + 0x18]
cmp rdi, r8
jbe 0x140033ff8
movzx ecx, byte [rsi + 0x20]
movzx eax, cl
cmp cl, 1
jbe 0x140033e69
cmp al, 2
je 0x140033eb2
mov rax, qword [rbp + 0x78]
jmp 0x140033fac
cmp rdi, 0x80
ja 0x140033eb2
cmp rdi, 8
ja 0x140033e7f
mov eax, 8
jmp 0x140033e90
mov eax, 0x80
cmp rdi, 0x10
mov ecx, reloc.OLEAUT32.dll_SafeArrayGetDim
cmovbe eax, ecx
mov qword [rbp + 0x20], rax
mov rcx, rax
call fcn.1400a8f20
mov qword [rbp + 0x78], rax
test rax, rax
je 0x140038536
mov byte [rsi + 0x20], 1
jmp 0x140033fac
cmp rdi, 0x20
jae 0x140033ec3
mov r10d, SafeArrayAllocDescriptor
jmp 0x140033f68
cmp rdi, 0x208
jae 0x140033ed7
mov r10d, 0x208
jmp 0x140033f68
cmp rdi, 0x50000
jae 0x140033f24
pxor xmm0, xmm0
cvtsi2sd xmm0, rdi
test rdi, rdi
jns 0x140033ef3
addsd xmm0, xmm10
mulsd xmm0, xmm11
xor eax, eax
comisd xmm0, xmm9
jbe 0x140033f1a
subsd xmm0, xmm9
comisd xmm0, xmm9
jae 0x140033f1a
movabs rdx, 0x8000000000000000
mov rax, rdx
cvttsd2si r10, xmm0
add r10, rax
jmp 0x140033f68
cmp rdi, 0x320000
jae 0x140033f36
lea r10, [rdi + 0x8000]
jmp 0x140033f68
cmp rdi, 0xc80000
jae 0x140033f61
mov r10, rdi
movabs rax, 0x47ae147ae147ae15
mul rdi
sub r10, rdx
shr r10, 1
add r10, rdx
shr r10, 6
add r10, rdi
jmp 0x140033f68
lea r10, [rdi + 0x20000]
cmp r10, r9
cmova r10, r9
mov qword [rbp + 0x20], r10
cmp cl, 2
jne 0x140033f8f
test r8, r8
je 0x140033f8f
mov dil, 1
mov rcx, qword [rsi + 8]
call fcn.1400c9b30
mov r10, qword [rbp + 0x20]
jmp 0x140033f92
xor dil, dil
test r10, r10
js 0x140033fb6
mov rcx, r10
call fcn.1400c9094
mov qword [rbp + 0x78], rax
test rax, rax
je 0x140033fb6
mov byte [rsi + 0x20], 2
mov qword [rsi + 8], rax
mov rax, qword [rbp + 0x20]
jmp 0x140033ff0
test dil, dil
je 0x140033fce
xor eax, eax
mov qword [rsi + 0x18], rax
lea rcx, [0x140118198]
mov qword [rsi + 8], rcx
jmp 0x140033fd9
mov rax, qword [rsi + 8]
xor ecx, ecx
mov word [rax], cx
xor eax, eax
mov qword [rsi + 0x10], rax
lea r8, [0x1400e14ec]
lea rdx, [0x1400e4580]
jmp 0x140033889
mov qword [rsi + 0x18], rax
and byte [rsi + 0x21], 0x7f
mov rcx, qword [rsi + 8]
lea rax, [0x1400e14ec]
cmp rcx, rax
je 0x140034014
lea r8, [rbx + rbx]
mov rdx, rax
call fcn.1400c9cf0
lea rcx, [rbx + rbx]
mov rax, qword [rsi + 8]
xor edx, edx
mov word [rcx + rax], dx
mov qword [rsi + 0x10], rcx
mov ebx, 1
mov dword [rsp + 0x60], ebx
jmp 0x14003853c
lea rcx, [rbp + 0x138]
call qword [sym.imp.KERNEL32.dll_GetSystemTimeAsFileTime]
lea rdx, [rbp - 0x28]
lea rcx, [rbp + 0x138]
call qword [sym.imp.KERNEL32.dll_FileTimeToLocalFileTime]
mov rax, qword [0x140116700]
movzx ecx, word [rax]
call fcn.14000c1f0
movzx edx, ax
cmp edx, 0x44
je 0x140034096
cmp edx, 0x48
je 0x14003408c
cmp edx, 0x4d
je 0x140034082
cmp edx, 0x53
jne 0x14003409e
mulsd xmm6, qword [0x140100188]
jmp 0x14003409e
mulsd xmm6, qword [0x140100180]
jmp 0x14003409e
mulsd xmm6, qword [0x140100178]
jmp 0x14003409e
mulsd xmm6, qword [0x140100170]
mov eax, dword [rbp - 0x28]
mov dword [rbp + 0x48], eax
mov eax, dword [rbp - 0x24]
mov dword [rbp + 0x4c], eax
xor eax, eax
comisd xmm6, xmm9
jbe 0x1400340cc
subsd xmm6, xmm9
comisd xmm6, xmm9
jae 0x1400340cc
movabs rcx, 0x8000000000000000
mov rax, rcx
cvttsd2si rcx, xmm6
add rcx, rax
mov rax, qword [rbp + 0x48]
add rax, rcx
mov qword [rbp + 0x48], rax
mov ecx, dword [rbp + 0x48]
mov dword [rbp - 0x28], ecx
shr rax, 0x20
mov dword [rbp - 0x24], eax
mov rax, qword [rbp - 0x28]
mov qword [rbp - 0x58], rax
lea rdx, [rbp + 0x60]
lea rcx, [rbp - 0x58]
call qword [sym.imp.KERNEL32.dll_FileTimeToSystemTime]
test eax, eax
je 0x140034145
movzx eax, word [rbp + 0x6c]
movzx ecx, word [rbp + 0x6a]
movzx edx, word [rbp + 0x68]
movzx edi, word [rbp + 0x66]
movzx r9d, word [rbp + 0x62]
movzx r8d, word [rbp + 0x60]
mov dword [rsp + 0x38], eax
mov dword [rsp + 0x30], ecx
mov dword [rsp + 0x28], edx
mov dword [rsp + 0x20], edi
lea rdx, [0x1400ff6c8]
lea rcx, [rbp + 0x1a0]
call fcn.1400c96bc
jmp 0x14003414e
xor eax, eax
mov word [rbp + 0x1a0], ax
movzx edx, byte [rsi + 0x23]
test dl, dl
jne 0x140034177
mov byte [rsp + 0x20], 1
xor r9d, r9d
or r8, 0xffffffffffffffff
lea rdx, [rbp + 0x1a0]
mov rcx, qword [rsi + 0x10]
call fcn.1400afc70
jmp 0x140038536
lea rax, [rbp + 0x1a0]
cmp qword [rsi + 8], rax
jne 0x14003418d
mov rbx, qword [rsi + 0x10]
shr rbx, 1
jmp 0x1400341a6
xor eax, eax
or rcx, 0xffffffffffffffff
lea rdi, [rbp + 0x1a0]
repne scasw ax, word [rdi]
not rcx
dec rcx
mov rbx, rcx
lea rax, [rbx + 1]
lea rdi, [rax + rax]
cmp dl, 2
jne 0x1400341c7
mov rdx, rbx
lea rcx, [rbp + 0x1a0]
call fcn.1400060a0
jmp 0x140038536
mov r9, qword [0x140111460]
cmp rdi, r9
jbe 0x1400341e5
cmp rdi, qword [rsi + 0x18]
jbe 0x1400341e5
lea r8, [0x1400e14ec]
jmp 0x140033882
cmp rax, 2
jb 0x140033e04
movzx eax, byte [rsi + 0x21]
test al, 2
je 0x14003420c
and al, 0x3d
mov byte [rsi + 0x21], al
mov rcx, qword [rsi]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_SafeArrayGetDim]
mov r9, qword [0x140111460]
and byte [rsi + 0x21], 0x82
mov r8, qword [rsi + 0x18]
cmp rdi, r8
jbe 0x14003439a
movzx ecx, byte [rsi + 0x20]
movzx eax, cl
cmp cl, 1
jbe 0x140034239
cmp al, 2
je 0x140034285
mov rax, qword [rbp + 0x88]
jmp 0x14003438a
cmp rdi, 0x80
ja 0x140034285
cmp rdi, 8
ja 0x14003424f
mov eax, 8
jmp 0x140034260
mov eax, 0x80
cmp rdi, 0x10
mov ecx, reloc.OLEAUT32.dll_SafeArrayGetDim
cmovbe eax, ecx
mov qword [rbp + 0x28], rax
mov rcx, rax
call fcn.1400a8f20
mov qword [rbp + 0x88], rax
test rax, rax
je 0x140038536
mov byte [rsi + 0x20], 1
jmp 0x14003438a
cmp rdi, 0x20
jae 0x140034296
mov r10d, SafeArrayAllocDescriptor
jmp 0x14003433b
cmp rdi, 0x208
jae 0x1400342aa
mov r10d, 0x208
jmp 0x14003433b
cmp rdi, 0x50000
jae 0x1400342f7
pxor xmm0, xmm0
cvtsi2sd xmm0, rdi
test rdi, rdi
jns 0x1400342c6
addsd xmm0, xmm10
mulsd xmm0, xmm11
xor eax, eax
comisd xmm0, xmm9
jbe 0x1400342ed
subsd xmm0, xmm9
comisd xmm0, xmm9
jae 0x1400342ed
movabs rdx, 0x8000000000000000
mov rax, rdx
cvttsd2si r10, xmm0
add r10, rax
jmp 0x14003433b
cmp rdi, 0x320000
jae 0x140034309
lea r10, [rdi + 0x8000]
jmp 0x14003433b
cmp rdi, 0xc80000
jae 0x140034334
mov r10, rdi
movabs rax, 0x47ae147ae147ae15
mul rdi
sub r10, rdx
shr r10, 1
add r10, rdx
shr r10, 6
add r10, rdi
jmp 0x14003433b
lea r10, [rdi + 0x20000]
cmp r10, r9
cmova r10, r9
mov qword [rbp + 0x28], r10
cmp cl, 2
jne 0x140034362
test r8, r8
je 0x140034362
mov dil, 1
mov rcx, qword [rsi + 8]
call fcn.1400c9b30
mov r10, qword [rbp + 0x28]
jmp 0x140034365
xor dil, dil
test r10, r10
js 0x140033fb6
mov rcx, r10
call fcn.1400c9094
mov qword [rbp + 0x88], rax
test rax, rax
je 0x140033fb6
mov byte [rsi + 0x20], 2
mov qword [rsi + 8], rax
mov rax, qword [rbp + 0x28]
mov qword [rsi + 0x18], rax
and byte [rsi + 0x21], 0x7f
mov rcx, qword [rsi + 8]
lea rax, [rbp + 0x1a0]
cmp rcx, rax
je 0x1400343ba
lea r8, [rbx + rbx]
lea rdx, [rbp + 0x1a0]
call fcn.1400c9cf0
lea rcx, [rbx + rbx]
mov rax, qword [rsi + 8]
xor edx, edx
mov word [rcx + rax], dx
mov qword [rsi + 0x10], rcx
mov ebx, 1
mov dword [rsp + 0x60], ebx
jmp 0x14003853c
cmp edi, 2
je 0x140034440
cmp ebx, 2
je 0x140034440
cmp dword [rsp + 0x60], 0
je 0x1400343fd
mov r10, qword [rsp + 0x68]
mov rax, qword [r10 + 8]
mov rcx, qword [rax + 0x38]
mov rdi, qword [rcx]
jmp 0x14003441d
test rsi, rsi
je 0x14003440e
xor edx, edx
mov rcx, rsi
call fcn.14001bd40
jmp 0x14003441a
mov rcx, qword [0x1401166f8]
call fcn.14001bb70
mov rdi, rax
xor edx, edx
mov rbx, qword [rsp + 0x70]
mov rcx, rbx
call fcn.14001bd40
lea rdx, [rdi + rax]
mov r8b, reloc.OLEAUT32.dll_SafeArrayGetElement
mov rcx, rbx
call fcn.140001090
jmp case.0x140033731.3
cmp dword [rsp + 0x60], 0
je 0x14003445f
mov r10, qword [rsp + 0x68]
mov rax, qword [r10 + 8]
mov rcx, qword [rax + 0x38]
pxor xmm6, xmm6
cvtsi2sd xmm6, qword [rcx]
jmp 0x140034480
test rsi, rsi
je 0x140034470
xor edx, edx
mov rcx, rsi
call fcn.14001bde0
jmp 0x14003447c
mov rcx, qword [0x1401166f8]
call fcn.14001bba0
movapd xmm6, xmm0
xor edx, edx
mov rdi, qword [rsp + 0x70]
mov rcx, rdi
call fcn.14001bde0
addsd xmm0, xmm6
movsd qword [rbp - 0x58], xmm0
mov r8b, 0x28
mov rdx, qword [rbp - 0x58]
mov rcx, rdi
call fcn.140001090
jmp case.0x140033731.3
mov rax, qword [0x140116700]
movzx ecx, word [rax]
test cx, cx
je 0x140034809
call fcn.14000c1f0
movzx edx, ax
lea rcx, [0x1400e9400]
call fcn.1400ca024
test rax, rax
je 0x140034804
mov rdi, qword [0x1401166f8]
mov rcx, qword [0x140116648]
test rcx, rcx
je 0x14003451d
cmp word [rdi], 0
jne 0x14003451d
movzx eax, byte [rcx + 0x23]
test al, al
jne 0x140034505
mov rax, qword [rcx + 0x10]
movzx eax, byte [rax + 0x23]
cmp al, 1
jne 0x14003451d
test rcx, rcx
je 0x14003451d
xor r8d, r8d
lea edx, [r8 + 1]
call fcn.140001820
mov rdi, rax
xor r8d, r8d
lea edx, [r8 + 1]
mov rcx, rbx
call fcn.140001820
mov byte [rbp - 0x5f], 1
test rdi, rdi
je 0x1400345d7
lea r8, [rbp - 0x5f]
mov rdx, rax
mov rcx, rdi
call fcn.1400aba30
mov rdi, rax
cmp byte [rbp - 0x5f], 0
jne 0x1400345d7
mov rax, qword [0x140116700]
movzx ecx, word [rax]
call fcn.14000c1f0
movzx r11d, ax
cmp r11d, 0x44
je 0x1400345a6
cmp r11d, 0x48
je 0x140034590
cmp r11d, 0x4d
jne 0x1400345c4
movabs rax, 0x8888888888888889
imul rdi
add rdi, rdx
sar rdi, 5
jmp 0x1400345ba
movabs rax, 0x48d159e26af37c05
imul rdi
mov rdi, rdx
sar rdi, 0xa
jmp 0x1400345ba
movabs rax, 0x1845c8a0ce512957
imul rdi
mov rdi, rdx
sar rdi, 0xd
mov rax, rdi
shr rax, 0x3f
add rdi, rax
mov r8b, reloc.OLEAUT32.dll_SafeArrayGetElement
mov rdx, rdi
mov rcx, rbx
call fcn.140001090
jmp case.0x140033731.3
movzx ecx, byte [rbx + 0x23]
test cl, cl
jne 0x140034600
mov byte [rsp + 0x20], 1
xor r9d, r9d
or r8, 0xffffffffffffffff
lea rdx, [0x1400e14ec]
mov rcx, qword [rbx + 0x10]
call fcn.1400afc70
jmp 0x140038536
lea r8, [0x1400e14ec]
cmp qword [rbx + 8], r8
jne 0x140034616
mov rbx, qword [rbx + 0x10]
shr rbx, 1
jmp 0x14003461a
xor eax, eax
mov ebx, eax
lea rax, [rbx + 1]
lea rdi, [rax + rax]
cmp cl, 2
jne 0x140034637
mov rdx, rbx
mov rcx, r8
call fcn.1400060a0
jmp 0x140038536
mov r9, qword [0x140111460]
mov rsi, qword [rsp + 0x70]
cmp rdi, r9
jbe 0x140034652
cmp rdi, qword [rsi + 0x18]
ja 0x140033882
cmp rax, 2
jb 0x140033e04
movzx eax, byte [rsi + 0x21]
test al, 2
je 0x140034679
and al, 0x3d
mov byte [rsi + 0x21], al
mov rcx, qword [rsi]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_SafeArrayGetDim]
mov r9, qword [0x140111460]
and byte [rsi + 0x21], 0x82
mov r8, qword [rsi + 0x18]
cmp rdi, r8
jbe 0x140033ff8
movzx ecx, byte [rsi + 0x20]
movzx eax, cl
cmp cl, 1
jbe 0x1400346a6
cmp al, 2
je 0x1400346f2
mov rax, qword [rbp + 0x98]
jmp 0x1400347f7
cmp rdi, 0x80
ja 0x1400346f2
cmp rdi, 8
ja 0x1400346bc
mov eax, 8
jmp 0x1400346cd
mov eax, 0x80
cmp rdi, 0x10
mov ecx, reloc.OLEAUT32.dll_SafeArrayGetDim
cmovbe eax, ecx
mov qword [rbp + 0x30], rax
mov rcx, rax
call fcn.1400a8f20
mov qword [rbp + 0x98], rax
test rax, rax
je 0x140038536
mov byte [rsi + 0x20], 1
jmp 0x1400347f7
cmp rdi, 0x20
jae 0x140034703
mov r10d, SafeArrayAllocDescriptor
jmp 0x1400347a8
cmp rdi, 0x208
jae 0x140034717
mov r10d, 0x208
jmp 0x1400347a8
cmp rdi, 0x50000
jae 0x140034764
pxor xmm0, xmm0
cvtsi2sd xmm0, rdi
test rdi, rdi
jns 0x140034733
addsd xmm0, xmm10
mulsd xmm0, xmm11
xor eax, eax
comisd xmm0, xmm9
jbe 0x14003475a
subsd xmm0, xmm9
comisd xmm0, xmm9
jae 0x14003475a
movabs rdx, 0x8000000000000000
mov rax, rdx
cvttsd2si r10, xmm0
add r10, rax
jmp 0x1400347a8
cmp rdi, 0x320000
jae 0x140034776
lea r10, [rdi + 0x8000]
jmp 0x1400347a8
cmp rdi, 0xc80000
jae 0x1400347a1
mov r10, rdi
movabs rax, 0x47ae147ae147ae15
mul rdi
sub r10, rdx
shr r10, 1
add r10, rdx
shr r10, 6
add r10, rdi
jmp 0x1400347a8
lea r10, [rdi + 0x20000]
cmp r10, r9
cmova r10, r9
mov qword [rbp + 0x30], r10
cmp cl, 2
jne 0x1400347cf
test r8, r8
je 0x1400347cf
mov dil, 1
mov rcx, qword [rsi + 8]
call fcn.1400c9b30
mov r10, qword [rbp + 0x30]
jmp 0x1400347d2
xor dil, dil
test r10, r10
js 0x140033fb6
mov rcx, r10
call fcn.1400c9094
mov qword [rbp + 0x98], rax
test rax, rax
je 0x140033fb6
mov byte [rsi + 0x20], 2
mov qword [rsi + 8], rax
mov rax, qword [rbp + 0x30]
jmp 0x140033ff0
mov r10, qword [rsp + 0x68]
mov rax, qword [r10 + 8]
cmp qword [rax + 0x38], 0
je 0x14003482c
cmp byte [rax + 0x21], 0
jne 0x14003482c
mov eax, 1
mov esi, eax
mov edi, eax
xor ecx, ecx
mov ebx, ecx
jmp 0x1400349bb
xor r9d, r9d
mov esi, r9d
mov dword [rsp + 0x60], r9d
mov rbx, qword [0x1401166f8]
mov rcx, qword [0x140116648]
mov qword [rbp - 0x78], rcx
test rcx, rcx
je 0x14003487d
cmp word [rbx], si
jne 0x14003487d
movzx eax, byte [rcx + 0x23]
test al, al
jne 0x140034863
mov rax, qword [rcx + 0x10]
movzx eax, byte [rax + 0x23]
cmp al, 1
jne 0x14003487d
test rcx, rcx
je 0x140034881
mov edx, 1
call fcn.14001bca0
mov edi, eax
jmp 0x1400349b2
mov qword [rbp - 0x78], r9
movzx eax, word [rbx]
cmp ax, 0x20
je 0x140034890
cmp ax, 9
jne 0x140034896
add rbx, 2
jmp 0x140034881
movzx eax, word [rbx]
test ax, ax
je 0x1400349af
cmp ax, 0x2d
je 0x1400348ae
cmp ax, 0x2b
jne 0x1400348b2
add rbx, 2
cmp word [rbx], 0x30
jne 0x1400348ea
movzx eax, word [rbx + 2]
cmp ax, 0x78
je 0x1400348c8
cmp ax, 0x58
jne 0x1400348ea
movzx ecx, word [rbx + 4]
call fcn.1400ca874
test eax, eax
je 0x1400348e7
mov r8d, 1
mov ecx, r8d
add rbx, 4
xor r9d, r9d
jmp 0x1400348f3
xor r9d, r9d
mov ecx, r9d
mov r8d, 1
mov esi, r9d
mov edx, r9d
mov dword [rbp - 0x80], edx
movsxd rdi, ecx
movzx eax, word [rbx]
cmp eax, 0x20
je 0x140034981
cmp eax, 9
je 0x140034981
test eax, eax
je 0x140034996
cmp eax, 0x2e
jne 0x140034933
test esi, esi
jne 0x1400349ab
test rdi, rdi
jne 0x1400349ab
mov esi, r8d
jmp 0x140034963
test rdi, rdi
je 0x140034955
movzx ecx, ax
call fcn.1400cade4
xor r9d, r9d
mov ecx, r9d
test eax, eax
sete cl
test ecx, ecx
jne 0x140034969
lea r8d, [r9 + 1]
jmp 0x14003495d
add eax, 0xffffffd0
cmp eax, 9
ja 0x14003496c
mov edx, r8d
mov dword [rbp - 0x80], edx
add rbx, 2
jmp 0x1400348ff
mov edx, dword [rbp - 0x80]
mov edi, r9d
test edx, edx
je 0x14003497b
test esi, esi
setne dil
inc edi
mov esi, dword [rsp + 0x60]
jmp 0x1400349b2
movzx eax, word [rbx]
cmp ax, 0x20
je 0x140034990
cmp ax, 9
jne 0x140034996
add rbx, 2
jmp 0x140034981
test edx, edx
je 0x1400349ab
mov edi, r9d
test esi, esi
setne dil
inc edi
mov esi, dword [rsp + 0x60]
jmp 0x1400349b2
mov esi, dword [rsp + 0x60]
mov edi, r9d
mov rbx, qword [rbp - 0x78]
mov eax, 1
mov edx, eax
mov rcx, qword [rsp + 0x70]
call fcn.14001bca0
cmp edi, 2
je 0x140034a2c
cmp eax, 2
je 0x140034a2c
test esi, esi
je 0x1400349e7
mov r10, qword [rsp + 0x68]
mov rax, qword [r10 + 8]
mov rcx, qword [rax + 0x38]
mov rdi, qword [rcx]
jmp 0x140034a07
test rbx, rbx
je 0x1400349f8
xor edx, edx
mov rcx, rbx
call fcn.14001bd40
jmp 0x140034a04
mov rcx, qword [0x1401166f8]
call fcn.14001bb70
mov rdi, rax
xor edx, edx
mov rbx, qword [rsp + 0x70]
mov rcx, rbx
call fcn.14001bd40
sub rax, rdi
mov r8b, reloc.OLEAUT32.dll_SafeArrayGetElement
mov rdx, rax
mov rcx, rbx
call fcn.140001090
jmp case.0x140033731.3
test esi, esi
je 0x140034a48
mov r10, qword [rsp + 0x68]
mov rax, qword [r10 + 8]
mov rcx, qword [rax + 0x38]
pxor xmm6, xmm6
cvtsi2sd xmm6, qword [rcx]
jmp 0x140034a69
test rbx, rbx
je 0x140034a59
xor edx, edx
mov rcx, rbx
call fcn.14001bde0
jmp 0x140034a65
mov rcx, qword [0x1401166f8]
call fcn.14001bba0
movapd xmm6, xmm0
xor edx, edx
mov rdi, qword [rsp + 0x70]
mov rcx, rdi
call fcn.14001bde0
subsd xmm0, xmm6
movsd qword [rbp - 0x58], xmm0
mov r8b, 0x28
mov rdx, qword [rbp - 0x58]
mov rcx, rdi
call fcn.140001090
jmp case.0x140033731.3
mov rax, qword [r10 + 8]
cmp qword [rax + 0x38], 0
je 0x140034ab8
cmp byte [rax + 0x21], 0
jne 0x140034ab8
mov eax, 1
mov esi, eax
mov edi, eax
xor ecx, ecx
mov ebx, ecx
jmp 0x140034c4a
xor r9d, r9d
mov esi, r9d
mov dword [rsp + 0x60], r9d
mov rbx, qword [0x1401166f8]
mov rcx, qword [0x140116648]
mov qword [rbp - 0x78], rcx
test rcx, rcx
je 0x140034b09
cmp word [rbx], si
jne 0x140034b09
movzx eax, byte [rcx + 0x23]
test al, al
jne 0x140034aef
mov rax, qword [rcx + 0x10]
movzx eax, byte [rax + 0x23]
cmp al, 1
jne 0x140034b09
test rcx, rcx
je 0x140034b10
mov edx, 1
call fcn.14001bca0
mov edi, eax
jmp 0x140034c41
mov qword [rbp - 0x78], r9
nop dword [rax]
movzx eax, word [rbx]
cmp ax, 0x20
je 0x140034b1f
cmp ax, 9
jne 0x140034b25
add rbx, 2
jmp 0x140034b10
movzx eax, word [rbx]
test ax, ax
je 0x140034c3e
cmp ax, 0x2d
je 0x140034b3d
cmp ax, 0x2b
jne 0x140034b41
add rbx, 2
cmp word [rbx], 0x30
jne 0x140034b79
movzx eax, word [rbx + 2]
cmp ax, 0x78
je 0x140034b57
cmp ax, 0x58
jne 0x140034b79
movzx ecx, word [rbx + 4]
call fcn.1400ca874
test eax, eax
je 0x140034b76
mov r8d, 1
mov ecx, r8d
add rbx, 4
xor r9d, r9d
jmp 0x140034b82
xor r9d, r9d
mov ecx, r9d
mov r8d, 1
mov esi, r9d
mov edx, r9d
mov dword [rbp - 0x80], edx
movsxd rdi, ecx
movzx eax, word [rbx]
cmp eax, 0x20
je 0x140034c10
cmp eax, 9
je 0x140034c10
test eax, eax
je 0x140034c25
cmp eax, 0x2e
jne 0x140034bbe
test esi, esi
jne 0x140034c3a
test rdi, rdi
jne 0x140034c3a
mov esi, r8d
jmp 0x140034bee
test rdi, rdi
je 0x140034be0
movzx ecx, ax
call fcn.1400cade4
xor r9d, r9d
mov ecx, r9d
test eax, eax
sete cl
test ecx, ecx
jne 0x140034bf4
lea r8d, [r9 + 1]
jmp 0x140034be8
add eax, 0xffffffd0
cmp eax, 9
ja 0x140034bf7
mov edx, r8d
mov dword [rbp - 0x80], edx
add rbx, 2
jmp 0x140034b8e
mov edx, dword [rbp - 0x80]
mov edi, r9d
test edx, edx
je 0x140034c06
test esi, esi
setne dil
inc edi
mov esi, dword [rsp + 0x60]
jmp 0x140034c41
movzx eax, word [rbx]
cmp ax, 0x20
je 0x140034c1f
cmp ax, 9
jne 0x140034c25
add rbx, 2
jmp 0x140034c10
test edx, edx
je 0x140034c3a
mov edi, r9d
test esi, esi
setne dil
inc edi
mov esi, dword [rsp + 0x60]
jmp 0x140034c41
mov esi, dword [rsp + 0x60]
mov edi, r9d
mov rbx, qword [rbp - 0x78]
mov eax, 1
mov edx, eax
mov rcx, qword [rsp + 0x70]
call fcn.14001bca0
cmp edi, 2
je 0x140034cbc
cmp eax, 2
je 0x140034cbc
test esi, esi
je 0x140034c76
mov r10, qword [rsp + 0x68]
mov rax, qword [r10 + 8]
mov rcx, qword [rax + 0x38]
mov rdi, qword [rcx]
jmp 0x140034c96
test rbx, rbx
je 0x140034c87
xor edx, edx
mov rcx, rbx
call fcn.14001bd40
jmp 0x140034c93
mov rcx, qword [0x1401166f8]
call fcn.14001bb70
mov rdi, rax
xor edx, edx
mov rbx, qword [rsp + 0x70]
mov rcx, rbx
call fcn.14001bd40
imul rax, rdi
mov r8b, reloc.OLEAUT32.dll_SafeArrayGetElement
mov rdx, rax
mov rcx, rbx
call fcn.140001090
jmp case.0x140033731.3
test esi, esi
je 0x140034cd8
mov r10, qword [rsp + 0x68]
mov rax, qword [r10 + 8]
mov rcx, qword [rax + 0x38]
pxor xmm6, xmm6
cvtsi2sd xmm6, qword [rcx]
jmp 0x140034cf9
test rbx, rbx
je 0x140034ce9
xor edx, edx
mov rcx, rbx
call fcn.14001bde0
jmp 0x140034cf5
mov rcx, qword [0x1401166f8]
call fcn.14001bba0
movapd xmm6, xmm0
xor edx, edx
mov rdi, qword [rsp + 0x70]
mov rcx, rdi
call fcn.14001bde0
mulsd xmm0, xmm6
movsd qword [rbp - 0x58], xmm0
mov r8b, 0x28
mov rdx, qword [rbp - 0x58]
mov rcx, rdi
call fcn.140001090
jmp case.0x140033731.3
mov rax, qword [r10 + 8]
cmp qword [rax + 0x38], 0
je 0x140034d48
cmp byte [rax + 0x21], 0
jne 0x140034d48
mov eax, 1
mov esi, eax
mov edi, eax
xor ecx, ecx
mov ebx, ecx
jmp 0x140034ece
xor r9d, r9d
mov esi, r9d
mov dword [rsp + 0x60], r9d
mov rbx, qword [0x1401166f8]
mov rcx, qword [0x140116648]
mov qword [rbp - 0x78], rcx
test rcx, rcx
je 0x140034d99
cmp word [rbx], si
jne 0x140034d99
movzx eax, byte [rcx + 0x23]
test al, al
jne 0x140034d7f
mov rax, qword [rcx + 0x10]
movzx eax, byte [rax + 0x23]
cmp al, 1
jne 0x140034d99
test rcx, rcx
je 0x140034da0
mov edx, 1
call fcn.14001bca0
mov edi, eax
jmp 0x140034ec5
mov qword [rbp - 0x78], r9
nop dword [rax]
movzx eax, word [rbx]
cmp ax, 0x20
je 0x140034daf
cmp ax, 9
jne 0x140034db5
add rbx, 2
jmp 0x140034da0
movzx eax, word [rbx]
test ax, ax
je 0x140034ec2
cmp ax, 0x2d
je 0x140034dcd
cmp ax, 0x2b
jne 0x140034dd1
add rbx, 2
cmp word [rbx], 0x30
jne 0x140034e09
movzx eax, word [rbx + 2]
cmp ax, 0x78
je 0x140034de7
cmp ax, 0x58
jne 0x140034e09
movzx ecx, word [rbx + 4]
call fcn.1400ca874
test eax, eax
je 0x140034e06
mov r8d, 1
mov ecx, r8d
add rbx, 4
xor r9d, r9d
jmp 0x140034e12
xor r9d, r9d
mov ecx, r9d
mov r8d, 1
mov esi, r9d
mov edx, r9d
mov dword [rbp - 0x80], edx
movsxd rdi, ecx
movzx eax, word [rbx]
cmp eax, 0x20
je 0x140034e94
cmp eax, 9
je 0x140034e94
test eax, eax
je 0x140034ea9
cmp eax, 0x2e
jne 0x140034e46
test esi, esi
jne 0x140034ebe
test rdi, rdi
jne 0x140034ebe
mov esi, r8d
jmp 0x140034e76
test rdi, rdi
je 0x140034e68
movzx ecx, ax
call fcn.1400cade4
xor r9d, r9d
mov ecx, r9d
test eax, eax
sete cl
test ecx, ecx
jne 0x140034e7c
lea r8d, [r9 + 1]
jmp 0x140034e70
add eax, 0xffffffd0
cmp eax, 9
ja 0x140034e7f
mov edx, r8d
mov dword [rbp - 0x80], edx
add rbx, 2
jmp 0x140034e1e
mov edx, dword [rbp - 0x80]
mov edi, r9d
test edx, edx
je 0x140034e8e
test esi, esi
setne dil
inc edi
mov esi, dword [rsp + 0x60]
jmp 0x140034ec5
movzx eax, word [rbx]
cmp ax, 0x20
je 0x140034ea3
cmp ax, 9
jne 0x140034ea9
add rbx, 2
jmp 0x140034e94
test edx, edx
je 0x140034ebe
mov edi, r9d
test esi, esi
setne dil
inc edi
mov esi, dword [rsp + 0x60]
jmp 0x140034ec5
mov esi, dword [rsp + 0x60]
mov edi, r9d
mov rbx, qword [rbp - 0x78]
mov eax, 1
mov edx, eax
mov rcx, qword [rsp + 0x70]
call fcn.14001bca0
cmp edi, 2
je 0x140034f55
cmp eax, 2
je 0x140034f55
test esi, esi
je 0x140034efa
mov r10, qword [rsp + 0x68]
mov rax, qword [r10 + 8]
mov rcx, qword [rax + 0x38]
mov rdi, qword [rcx]
jmp 0x140034f1a
test rbx, rbx
je 0x140034f0b
xor edx, edx
mov rcx, rbx
call fcn.14001bd40
jmp 0x140034f17
mov rcx, qword [0x1401166f8]
call fcn.14001bb70
mov rdi, rax
test rdi, rdi
jne 0x140034f2e
mov rcx, qword [rsp + 0x70]
call fcn.14001bbe0
jmp 0x140038536
xor edx, edx
mov rbx, qword [rsp + 0x70]
mov rcx, rbx
call fcn.14001bd40
cqo
idiv rdi
mov r8b, reloc.OLEAUT32.dll_SafeArrayGetElement
mov rdx, rax
mov rcx, rbx
call fcn.140001090
jmp case.0x140033731.3
test esi, esi
je 0x140034f71
mov r10, qword [rsp + 0x68]
mov rax, qword [r10 + 8]
mov rcx, qword [rax + 0x38]
pxor xmm6, xmm6
cvtsi2sd xmm6, qword [rcx]
jmp 0x140034f92
test rbx, rbx
je 0x140034f82
xor edx, edx
mov rcx, rbx
call fcn.14001bde0
jmp 0x140034f8e
mov rcx, qword [0x1401166f8]
call fcn.14001bba0
movapd xmm6, xmm0
ucomisd xmm6, xmm8
jp 0x140034faa
jne 0x140034faa
mov rcx, qword [rsp + 0x70]
call fcn.14001bbe0
jmp 0x140038536
xor edx, edx
mov rdi, qword [rsp + 0x70]
mov rcx, rdi
call fcn.14001bde0
divsd xmm0, xmm6
movsd qword [rbp - 0x58], xmm0
mov r8b, 0x28
mov rdx, qword [rbp - 0x58]
mov rcx, rdi
call fcn.140001090
jmp case.0x140033731.3
mov edx, 2
mov rcx, r10
call fcn.14002d7f0
mov rdi, rax
test eax, eax
jns 0x140034ff0
xor eax, eax
mov edi, eax
jmp 0x140035004
mov edx, 1
mov rcx, qword [rsp + 0x68]
call fcn.14002d720
cmp edi, eax
cmovg edi, eax
movsxd r8, edi
mov byte [rsp + 0x20], 1
xor r9d, r9d
mov rdx, qword [0x1401166f8]
mov rcx, rbx
call fcn.1400afc70
jmp 0x140038536
mov edx, 2
mov rcx, r10
call fcn.14002d7f0
mov rdi, rax
test eax, eax
mov eax, 0
cmovs edi, eax
lea edx, [rax + 1]
mov rcx, qword [rsp + 0x68]
call fcn.14002d720
mov rdx, rax
mov eax, edi
cmp rax, rdx
cmova edi, edx
movsxd r8, edi
sub rdx, r8
mov rax, qword [0x1401166f8]
lea rdx, [rax + rdx*2]
mov byte [rsp + 0x20], 1
xor r9d, r9d
mov rcx, rbx
call fcn.1400afc70
jmp 0x140038536
cmp byte [r10 + 1], 4
jb 0x1400350b4
mov rax, qword [r10 + 8]
mov rcx, qword [rax + 0x68]
cmp word [rcx], 0
je 0x1400350b4
mov edx, 3
mov rcx, r10
call fcn.14002d7f0
mov rbx, rax
cmp eax, 1
jge 0x1400350bb
mov rcx, qword [rsp + 0x70]
call fcn.14001bbe0
jmp 0x140038536
mov ebx, 0x7fffffff
jmp 0x1400350c0
mov r10, qword [rsp + 0x68]
mov edx, 2
mov rcx, r10
call fcn.14002d7f0
mov rdi, rax
mov rax, qword [0x140116710]
movzx ecx, word [rax]
call fcn.14000c1f0
cmp ax, 0x4c
jne 0x14003510e
cmp edi, 1
jge 0x1400350f9
mov rcx, qword [rsp + 0x70]
call fcn.14001bbe0
jmp 0x140038536
mov ecx, 1
mov eax, ecx
sub eax, ebx
add edi, eax
cmp edi, ecx
jge 0x140035119
lea ebx, [rbx + rdi - 1]
jmp 0x140035113
mov ecx, 1
cmp edi, 1
cmovl edi, ecx
mov edx, ecx
mov rcx, qword [rsp + 0x68]
call fcn.14002d720
mov r11, rax
mov eax, edi
cmp r11, rax
jae 0x14003513e
mov rcx, qword [rsp + 0x70]
call fcn.14001bbe0
jmp 0x140038536
lea eax, [rdi - 1]
movsxd rcx, eax
sub r11, rcx
mov eax, ebx
cmp rax, r11
cmova ebx, r11d
movsxd rcx, edi
mov rax, qword [0x1401166f8]
lea rdx, [rax + rcx*2 - 2]
movsxd r8, ebx
mov byte [rsp + 0x20], 1
xor r9d, r9d
mov rcx, qword [rsp + 0x70]
call fcn.1400afc70
jmp 0x140038536
mov edx, 2
mov rcx, r10
call fcn.14002d7f0
mov rdi, rax
test eax, eax
mov eax, 0
cmovs edi, eax
lea edx, [rax + 1]
mov rcx, qword [rsp + 0x68]
call fcn.14002d720
mov r8, rax
mov eax, edi
cmp rax, r8
cmova edi, r8d
movsxd rcx, edi
mov rax, qword [0x1401166f8]
lea rdx, [rax + rcx*2]
sub r8, rcx
jmp 0x140035066
mov edx, 2
mov rcx, r10
call fcn.14002d7f0
mov rdi, rax
test eax, eax
mov eax, 0
cmovs edi, eax
lea edx, [rax + 1]
mov rcx, qword [rsp + 0x68]
call fcn.14002d720
mov r8, rax
mov eax, edi
cmp rax, r8
cmova edi, r8d
movsxd rax, edi
sub r8, rax
jmp 0x140035007
mov esi, 1
mov r8d, esi
mov edx, esi
mov rcx, rbx
call fcn.140001820
mov rdi, rax
cmp rax, qword [0x1401166f8]
jne 0x140035233
movzx eax, byte [rbx + 0x23]
test al, al
jne 0x14003522e
mov rax, qword [rbx + 0x10]
movzx eax, byte [rax + 0x23]
cmp al, sil
je 0x140035293
mov edx, esi
mov rcx, qword [rsp + 0x68]
call fcn.14002d720
mov r8, rax
mov byte [rsp + 0x20], sil
xor r9d, r9d
xor edx, edx
mov rcx, rbx
call fcn.1400afc70
cmp eax, esi
jne case.0x140033731.8
xor r8d, r8d
mov edx, esi
mov rcx, rbx
call fcn.140001820
mov rdi, rax
mov rcx, qword [0x1401166f8]
mov rdx, rax
nop word [rax + rax]
movzx eax, word [rcx]
mov word [rdx], ax
add rcx, 2
add rdx, 2
test ax, ax
jne 0x140035280
mov rax, qword [0x140116700]
movzx ecx, word [rax]
test cx, cx
je 0x1400352c5
call fcn.14000c1f0
cmp ax, 0x54
jne 0x1400352c5
mov rax, qword [0x140116700]
cmp word [rax + 2], 0
jne 0x1400352c5
mov rcx, rdi
call fcn.14001b870
jmp 0x1400352e0
mov rax, qword [rsp + 0x68]
mov rcx, rdi
cmp byte [rax], 0x31
jne 0x1400352da
call qword [sym.imp.USER32.dll_CharLowerW]
jmp 0x1400352e0
call qword [sym.imp.USER32.dll_CharUpperW]
cmp byte [rbx + 0x23], 0
jne 0x1400352ea
mov rbx, qword [rbx + 0x10]
cmp byte [rbx + 0x23], 2
jne 0x14003530b
cmp qword [0x140118e48], 0
je 0x14003530b
lea rcx, [0x140118e30]
call fcn.140006220
jmp 0x140038536
and byte [rbx + 0x21], 0x86
mov ebx, esi
mov dword [rsp + 0x60], ebx
jmp 0x14003853c
mov rcx, qword [0x140116648]
test rcx, rcx
je 0x140035346
cmp byte [rcx + 0x23], 0
jne 0x140035336
mov rax, qword [rcx + 0x10]
movzx edx, byte [rax + 0x21]
jmp 0x14003533a
movzx edx, byte [rcx + 0x21]
test dl, 1
je 0x140035346
call fcn.14001c0d0
jmp 0x140035353
mov edx, 1
mov rcx, r10
call fcn.14002d720
mov r8b, reloc.OLEAUT32.dll_SafeArrayGetElement
mov rdx, rax
mov rcx, rbx
call fcn.140001090
jmp case.0x140033731.3
mov rsi, qword [0x140116708]
mov dword [rbp + 0x18], 0xffffffff
movzx ecx, word [rsi]
test cx, cx
je 0x1400353b2
call fcn.14000c1f0
movzx edx, ax
lea rcx, [0x1400e940c]
call fcn.1400ca024
test rax, rax
je 0x1400353b2
lea rcx, [rsi + 2]
cmp word [rcx], 0
je 0x1400353b2
call fcn.140014570
mov dword [rsp + 0x60], eax
test eax, eax
jle 0x1400354ea
jmp 0x1400353ba
mov dword [rsp + 0x60], 1
mov rax, qword [0x140116700]
mov qword [rbp - 0x30], rax
cmp word [rax], 0
jne 0x1400353d5
xor edx, edx
mov dword [rbp + 0x18], edx
jmp 0x1400354ec
mov rax, qword [0x1401166f8]
mov qword [rbp - 0x78], rax
mov edx, 4
mov rbx, qword [rsp + 0x68]
mov rcx, rbx
call fcn.14002d7f0
mov rdi, rax
test eax, eax
mov eax, 0
cmovs edi, eax
lea edx, [rax + 1]
mov rcx, rbx
call fcn.14002d720
mov rbx, rax
cmp edi, eax
jge 0x1400354ea
movzx ecx, word [rsi]
cmp cx, 0x31
je 0x1400354a5
call fcn.14000c1f0
cmp ax, 0x52
je 0x1400354a5
mov edx, 2
mov rcx, qword [rsp + 0x68]
call fcn.14002d720
mov qword [rbp - 0x58], rax
mov ebx, 1
movsxd rax, edi
mov rcx, qword [rbp - 0x78]
lea rcx, [rcx + rax*2]
mov rdi, qword [rbp - 0x30]
mov esi, dword [rsp + 0x60]
nop dword [rax + rax]
mov rax, qword [0x140111488]
movzx edx, byte [rax + 0x132]
test dl, dl
jne 0x14003547c
mov rdx, rdi
call fcn.1400ac150
jmp 0x140035490
cmp dl, 2
mov rdx, rdi
jne 0x14003548b
call fcn.1400ac3f0
jmp 0x140035490
call fcn.1400ca044
test rax, rax
je 0x1400354ea
cmp ebx, esi
je 0x1400354d4
inc ebx
mov rcx, qword [rbp - 0x58]
lea rcx, [rax + rcx*2]
jmp 0x140035460
mov rax, qword [rbp - 0x58]
movzx r9d, byte [rax + 0x132]
movsxd rax, edi
sub rbx, rax
mov esi, dword [rsp + 0x60]
mov dword [rsp + 0x20], esi
mov r8, qword [rbp - 0x30]
mov rdx, rbx
mov rdi, qword [rbp - 0x78]
mov rcx, rdi
call fcn.1400abf00
jmp 0x1400354d8
mov rdi, qword [rbp - 0x78]
test rax, rax
je 0x1400354ea
sub rax, rdi
mov rbx, rax
sar rbx, 1
mov qword [rbp + 0x18], rbx
xor edx, edx
mov rbx, qword [0x140117318]
lea rsi, [0x1400e14fc]
cmp dword [rbp + 0x18], 0
lea rax, [0x1400e41ac]
cmovl rsi, rax
movzx r8d, byte [rbx + 0x23]
test r8b, r8b
jne 0x140035530
mov byte [rsp + 0x20], 1
xor r9d, r9d
or r8, 0xffffffffffffffff
mov rdx, rsi
mov rcx, qword [rbx + 0x10]
call fcn.1400afc70
jmp 0x1400357e3
mov r9b, 1
lea r11, [0x1400e14ec]
test rsi, rsi
jne 0x14003554a
xor r9b, r9b
mov rcx, rdx
mov rsi, r11
jmp 0x14003556b
cmp qword [rbx + 8], rsi
jne 0x140035559
mov rcx, qword [rbx + 0x10]
shr rcx, 1
jmp 0x14003556b
xor eax, eax
or rcx, 0xffffffffffffffff
mov rdi, rsi
repne scasw ax, word [rdi]
not rcx
dec rcx
mov qword [rbp - 0x78], rcx
lea rax, [rcx + 1]
lea rdi, [rax + rax]
cmp r8b, 2
jne 0x14003558d
mov rdx, rcx
mov rcx, rsi
call fcn.1400060a0
jmp 0x1400357e3
mov r10, qword [0x140111460]
cmp rdi, r10
jbe 0x1400355ba
cmp rdi, qword [rbx + 0x18]
jbe 0x1400355ba
mov r8, r11
lea rdx, [0x1400fddf0]
lea rcx, [0x1401181e0]
call fcn.1400401e0
jmp 0x1400357e3
cmp rax, 2
jae 0x1400355d9
test r9b, r9b
setne dl
add edx, 3
xor r8d, r8d
mov rcx, rbx
call fcn.1400b0320
jmp 0x1400357e3
movzx eax, byte [rbx + 0x21]
test al, 2
je 0x1400355f6
and al, 0x3d
mov byte [rbx + 0x21], al
mov rcx, qword [rbx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_SafeArrayGetDim]
mov r10, qword [0x140111460]
and byte [rbx + 0x21], 0x82
mov r8, qword [rbx + 0x18]
cmp rdi, r8
jbe 0x1400357b8
movzx ecx, byte [rbx + 0x20]
movzx eax, cl
cmp cl, 1
jbe 0x140035620
cmp al, 2
je 0x140035669
mov rax, qword [rbp + 0x70]
jmp 0x140035763
cmp rdi, 0x80
ja 0x140035669
cmp rdi, 8
ja 0x140035636
mov eax, 8
jmp 0x140035647
mov eax, 0x80
cmp rdi, 0x10
mov ecx, reloc.OLEAUT32.dll_SafeArrayGetDim
cmovbe eax, ecx
mov qword [rbp + 0x50], rax
mov rcx, rax
call fcn.1400a8f20
mov qword [rbp + 0x70], rax
test rax, rax
je 0x1400357e3
mov byte [rbx + 0x20], 1
jmp 0x140035763
cmp rdi, 0x20
jae 0x14003567a
mov r9d, SafeArrayAllocDescriptor
jmp 0x14003571f
cmp rdi, 0x208
jae 0x14003568e
mov r9d, 0x208
jmp 0x14003571f
cmp rdi, 0x50000
jae 0x1400356db
pxor xmm0, xmm0
cvtsi2sd xmm0, rdi
test rdi, rdi
jns 0x1400356aa
addsd xmm0, xmm10
mulsd xmm0, xmm11
xor eax, eax
comisd xmm0, xmm9
jbe 0x1400356d1
subsd xmm0, xmm9
comisd xmm0, xmm9
jae 0x1400356d1
movabs rdx, 0x8000000000000000
mov rax, rdx
cvttsd2si r9, xmm0
add r9, rax
jmp 0x14003571f
cmp rdi, 0x320000
jae 0x1400356ed
lea r9, [rdi + 0x8000]
jmp 0x14003571f
cmp rdi, 0xc80000
jae 0x140035718
mov r9, rdi
movabs rax, 0x47ae147ae147ae15
mul rdi
sub r9, rdx
shr r9, 1
add r9, rdx
shr r9, 6
add r9, rdi
jmp 0x14003571f
lea r9, [rdi + 0x20000]
cmp r9, r10
cmova r9, r10
mov qword [rbp + 0x50], r9
cmp cl, 2
jne 0x140035746
test r8, r8
je 0x140035746
mov dil, 1
mov rcx, qword [rbx + 8]
call fcn.1400c9b30
mov r9, qword [rbp + 0x50]
jmp 0x140035749
xor dil, dil
test r9, r9
js 0x140035775
mov rcx, r9
call fcn.1400c9094
mov qword [rbp + 0x70], rax
test rax, rax
je 0x140035775
mov byte [rbx + 0x20], 2
mov qword [rbx + 8], rax
mov rax, qword [rbp + 0x50]
mov qword [rbx + 0x18], rax
and byte [rbx + 0x21], 0x7f
jmp 0x1400357b8
test dil, dil
je 0x14003578d
xor eax, eax
mov qword [rbx + 0x18], rax
lea rcx, [0x140118198]
mov qword [rbx + 8], rcx
jmp 0x140035798
mov rax, qword [rbx + 8]
xor ecx, ecx
mov word [rax], cx
xor eax, eax
mov qword [rbx + 0x10], rax
lea r8, [0x1400e14ec]
lea rdx, [0x1400e4580]
lea rcx, [0x1401181e0]
call fcn.1400401e0
jmp 0x1400357e3
mov rcx, qword [rbx + 8]
mov rdi, qword [rbp - 0x78]
cmp rcx, rsi
je 0x1400357d1
lea r8, [rdi + rdi]
mov rdx, rsi
call fcn.1400c9cf0
lea rcx, [rdi + rdi]
mov rax, qword [rbx + 8]
xor edx, edx
mov word [rcx + rax], dx
mov qword [rbx + 0x10], rcx
movsxd rdx, dword [rbp + 0x18]
mov r8b, reloc.OLEAUT32.dll_SafeArrayGetElement
mov rcx, qword [rsp + 0x70]
call fcn.140001090
jmp case.0x140033731.3
mov rcx, r10
call fcn.14005ac30
jmp 0x140038536
mov r8, qword [0x140116708]
mov rdx, qword [0x140116700]
mov rcx, qword [0x1401166f8]
call fcn.140044f10
jmp 0x140038536
mov rax, qword [0x140116708]
mov qword [rsp + 0x20], rax
mov r9, qword [0x140116700]
mov r8, qword [0x1401166f8]
mov rdx, qword [0x1401166f0]
mov rcx, r10
call fcn.14005b170
jmp 0x140038536
mov rdx, qword [0x1401166f0]
mov rcx, r10
call fcn.14005c200
jmp 0x140038536
mov r8, qword [0x1401166f8]
mov rdx, qword [0x1401166f0]
mov rcx, r10
call fcn.14005d5e0
jmp 0x140038536
mov edx, 7
mov rcx, r10
call fcn.14002d7f0
mov qword [rbp - 0x58], rax
mov edx, 6
mov rdi, qword [rsp + 0x68]
mov rcx, rdi
call fcn.14002d7f0
mov qword [rbp + 0x58], rax
mov edx, 5
mov rcx, rdi
call fcn.14002d7f0
mov rsi, rax
mov edx, 4
mov rcx, rdi
call fcn.14002d7f0
mov rbx, rax
mov edx, 3
mov rcx, rdi
call fcn.14002d7f0
mov rdi, rax
mov edx, 2
mov rcx, qword [rsp + 0x68]
call fcn.14002d7f0
mov rdx, rax
mov byte [rsp + 0x40], 0
mov rax, qword [0x140116730]
mov qword [rsp + 0x38], rax
mov rax, qword [rbp - 0x58]
mov dword [rsp + 0x30], eax
mov rax, qword [rbp + 0x58]
mov dword [rsp + 0x28], eax
mov dword [rsp + 0x20], esi
mov r9d, ebx
mov r8d, edi
mov rcx, qword [rsp + 0x68]
call fcn.140053250
jmp 0x140038536
mov edx, 5
mov rcx, r10
call fcn.14002d7f0
mov rsi, rax
mov edx, 4
mov rdi, qword [rsp + 0x68]
mov rcx, rdi
call fcn.14002d7f0
mov rbx, rax
mov edx, 3
mov rcx, rdi
call fcn.14002d7f0
mov rdi, rax
mov edx, 2
mov rcx, qword [rsp + 0x68]
call fcn.14002d7f0
mov rdx, rax
mov rax, qword [0x140116720]
mov qword [rsp + 0x28], rax
mov dword [rsp + 0x20], esi
mov r9d, ebx
mov r8d, edi
mov rcx, qword [rsp + 0x68]
call fcn.1400547d0
jmp 0x140038536
mov edx, 2
mov rcx, r10
call fcn.14002d7f0
mov rdi, rax
mov edx, 1
mov rbx, qword [rsp + 0x68]
mov rcx, rbx
call fcn.14002d7f0
mov rdx, rax
mov r9, qword [0x140116708]
mov r8d, edi
mov rcx, rbx
call fcn.140079e60
jmp 0x140038536
mov rcx, qword [0x1401166f0]
cmp word [rcx], 0
je case.0x140033731.3
xor eax, eax
mov edx, eax
cmp dil, 0x42
sete dl
xor r9d, r9d
mov r8d, dword [rsi + 0x114]
call fcn.140014c60
jmp case.0x140033731.3
mov rcx, qword [0x1401166f0]
mov ebx, 1
cmp word [rcx], 0
je 0x14003855a
mov r8d, ebx
cmp dword [rsi + 0x114], 3
mov eax, 3
cmove r8d, eax
xor r9d, r9d
xor edx, edx
call fcn.140014c60
jmp 0x14003855a
mov rcx, qword [0x1401166f0]
cmp word [rcx], 0
je case.0x140033731.3
xor r9d, r9d
xor edx, edx
lea r8d, [r9 + 2]
call fcn.140014c60
jmp case.0x140033731.3
mov rcx, qword [0x1401166f0]
cmp word [rcx], 0
je case.0x140033731.3
xor r9d, r9d
xor r8d, r8d
xor edx, edx
call fcn.140014c60
jmp case.0x140033731.3
mov rcx, qword [0x1401166f0]
call fcn.140017480
jmp 0x140038536
lea rsi, [0x1400e14ec]
mov qword [rsp + 0x48], rsi
mov qword [rsp + 0x40], rsi
mov rax, qword [0x140116720]
mov qword [rsp + 0x38], rax
mov rax, qword [0x140116718]
mov qword [rsp + 0x30], rax
mov rax, qword [0x140116710]
mov qword [rsp + 0x28], rax
mov rax, qword [0x140116708]
mov qword [rsp + 0x20], rax
mov r9, qword [0x140116700]
mov r8, qword [0x1401166f8]
mov rdx, qword [0x1401166f0]
movzx ecx, dil
call fcn.140017980
jmp 0x140038536
mov rax, qword [0x140116718]
mov qword [rsp + 0x48], rax
mov rax, qword [0x140116708]
mov qword [rsp + 0x40], rax
mov rax, qword [0x140116720]
mov qword [rsp + 0x38], rax
mov rax, qword [0x140116710]
mov qword [rsp + 0x30], rax
lea rax, [0x1400e14ec]
mov qword [rsp + 0x28], rax
jmp 0x140035ac9
lea rsi, [0x1400e14ec]
mov qword [rsp + 0x48], rsi
mov qword [rsp + 0x40], rsi
mov rax, qword [0x140116708]
mov qword [rsp + 0x38], rax
mov rax, qword [0x140116700]
mov qword [rsp + 0x30], rax
mov qword [rsp + 0x28], rsi
mov qword [rsp + 0x20], rsi
mov r9, qword [0x1401166f8]
mov r8, qword [0x1401166f0]
mov rdx, rsi
jmp 0x140035ae3
mov edx, 4
mov rcx, r10
call fcn.14002d7f0
mov rdx, rax
mov rcx, qword [rsp + 0x68]
call fcn.140058720
jmp 0x140038536
cmp dil, 0x78
sete al
xor ecx, ecx
mov dword [rsp + 0x38], ecx
mov qword [rsp + 0x30], rcx
mov byte [rsp + 0x28], al
mov rax, qword [0x140116708]
mov qword [rsp + 0x20], rax
mov r9, qword [0x140116700]
mov r8, qword [0x1401166f8]
mov rdx, qword [0x1401166f0]
mov rcx, rsi
call fcn.1400b0c10
mov ebx, 1
test rax, rax
je 0x14003855a
mov rax, qword [0x140111488]
mov ecx, dword [rax + 0x74]
cmp ecx, 0xffffffff
jle 0x14003855a
mov edx, ebx
call fcn.140001a70
jmp 0x14003855a
mov r8d, 9
lea rdx, [0x1400e9418]
mov rcx, qword [0x1401166f0]
call fcn.1400c9264
mov rcx, qword [0x140116708]
mov r8, qword [0x1401166f8]
test eax, eax
jne 0x140035c3e
cmp word [r8], ax
jne 0x140035c3e
cmp word [rcx], ax
jne 0x140035c3e
mov dil, 1
jmp 0x140035c41
xor dil, dil
mov eax, reloc.OLEAUT32.dll_SafeArrayLock
test dil, dil
mov edx, 0
cmovne eax, edx
mov dword [rbp - 0x80], eax
mov r9, qword [rsp + 0x68]
movzx eax, byte [r9]
cmp al, 0x84
je 0x140035c71
cmp al, 0x85
je 0x140035c71
mov rax, qword [0x140116700]
cmp word [rax], dx
jmp 0x140035cbc
mov rax, qword [0x140116700]
cmp word [rax], dx
je 0x140035cb1
mov edx, 2
mov rcx, r9
call fcn.14002d8f0
mulsd xmm0, qword [0x1400ffd78]
cvttsd2si edx, xmm0
test edx, edx
mov eax, 0x1f4
cmove edx, eax
mov dword [rbp - 0x80], edx
mov rcx, qword [0x140116708]
mov r8, qword [0x1401166f8]
mov rax, qword [0x140116710]
cmp word [rax], 0
jne 0x140035d42
test dil, dil
je 0x140035d42
mov rax, qword [0x1401166f0]
lea rbx, [rax + 0x12]
movzx eax, word [rbx]
cmp ax, 0x20
je 0x140035ce1
cmp ax, 9
jne 0x140035ce7
add rbx, 2
jmp 0x140035cd2
cmp word [rbx], 0
je 0x140035d42
mov rdi, qword [0x140118240]
test rdi, rdi
je 0x140035d42
nop dword [rax]
mov rdx, rbx
mov rcx, qword [rdi + 8]
call fcn.1400c900c
test eax, eax
je 0x140035d29
mov rdi, qword [rdi + 0x28]
test rdi, rdi
jne 0x140035d00
mov rcx, qword [0x140116708]
mov r8, qword [0x1401166f8]
jmp 0x140035d42
mov r8d, dword [rbp - 0x80]
mov rax, qword [rsp + 0x68]
movzx edx, byte [rax]
mov rcx, rdi
call fcn.1400b3b90
jmp 0x140038536
mov rax, qword [rsp + 0x68]
movzx eax, byte [rax]
cmp al, 0x84
je 0x140035d72
cmp al, 0x85
je 0x140035d74
mov qword [rsp + 0x20], rcx
mov r9, qword [0x140116700]
mov rdx, qword [0x1401166f0]
movzx ecx, al
call fcn.140048420
jmp 0x140038536
cmp al, 0x85
sete al
mov byte [rsp + 0x30], al
mov rax, qword [0x140116710]
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], rcx
mov r9d, dword [rbp - 0x80]
mov rdx, qword [0x1401166f0]
mov rcx, rsi
call fcn.1400b0ff0
jmp 0x140035bd6
mov rcx, qword [0x1401166f8]
call fcn.140052450
jmp 0x140038536
mov rdx, qword [0x1401166f8]
mov rcx, qword [0x1401166f0]
call qword [sym.imp.KERNEL32.dll_SetEnvironmentVariableW]
test eax, eax
sete dl
mov rcx, qword [rsp + 0x68]
call fcn.14003ec40
jmp 0x140038536
lea rax, [rbp + 0x160]
mov qword [rsp + 0x30], rax
mov dword [rsp + 0x28], 0x3a98
mov dword [rsp + 0x20], 1
lea r9, [0x1400e9430]
xor r8d, r8d
lea edx, [r8 + 0x1a]
mov ecx, 0xffff
call qword [sym.imp.USER32.dll_SendMessageTimeoutW]
test rax, rax
sete dl
mov rcx, qword [rsp + 0x68]
call fcn.14003ec40
jmp 0x140038536
mov r8, qword [0x1401166f8]
mov rdx, qword [0x1401166f0]
mov rcx, r10
call fcn.14007d920
jmp 0x140038536
mov rdx, qword [0x1401166f0]
test rdx, rdx
je 0x140035e5a
lea rcx, [0x140118db0]
call fcn.140078dc0
mov rdx, qword [0x1401166f8]
test rdx, rdx
je 0x140035e72
lea rcx, [0x140118dc8]
call fcn.140078dc0
mov rdx, qword [0x140116700]
test rdx, rdx
je case.0x140033731.3
lea rcx, [0x140118de0]
call fcn.140078dc0
jmp case.0x140033731.3
lea rdx, [0x1400e4178]
mov rcx, qword [0x140116700]
call fcn.1400ac150
test rax, rax
setne dil
xor edx, edx
mov eax, edx
mov r10, qword [rsp + 0x68]
cmp byte [r10 + 1], 3
cmova rax, qword [0x140116658]
test dil, dil
sete cl
mov qword [rsp + 0x48], rax
mov byte [rsp + 0x40], 1
mov byte [rsp + 0x38], dil
mov qword [rsp + 0x30], rdx
mov rax, qword [0x140116700]
mov qword [rsp + 0x28], rax
mov byte [rsp + 0x20], cl
mov r9, qword [0x1401166f8]
xor r8d, r8d
mov rdx, qword [0x1401166f0]
lea rcx, [0x1401181e0]
call fcn.140041670
mov ebx, eax
mov dword [rsp + 0x60], eax
test dil, dil
je 0x14003853c
mov rbx, qword [0x140117318]
lea rsi, [0x1400e9448]
test eax, eax
lea rax, [0x1400e14fc]
cmovne rsi, rax
movzx r8d, byte [rbx + 0x23]
test r8b, r8b
je 0x1400337ef
mov r9b, 1
lea r11, [0x1400e14ec]
test rsi, rsi
jne 0x140035f61
xor r9b, r9b
xor edx, edx
mov ecx, edx
mov qword [rbp - 0x78], rdx
mov rsi, r11
jmp 0x140035f88
cmp qword [rbx + 8], rsi
jne 0x140035f70
mov rcx, qword [rbx + 0x10]
shr rcx, 1
jmp 0x140035f82
xor eax, eax
or rcx, 0xffffffffffffffff
mov rdi, rsi
repne scasw ax, word [rdi]
not rcx
dec rcx
xor edx, edx
mov qword [rbp - 0x78], rcx
lea rax, [rcx + 1]
lea rdi, [rax + rax]
cmp r8b, 2
jne 0x140035fa6
mov rdx, rcx
mov rcx, rsi
call fcn.1400060a0
jmp 0x140038536
mov r10, qword [0x140111460]
cmp rdi, r10
jbe 0x140035fbc
cmp rdi, qword [rbx + 0x18]
ja 0x14003387f
cmp rax, 2
jae 0x140035fd3
test r9b, r9b
setne dl
add edx, 3
mov rcx, rbx
jmp 0x140033e0c
movzx eax, byte [rbx + 0x21]
test al, 2
je 0x140035ff0
and al, 0x3d
mov byte [rbx + 0x21], al
mov rcx, qword [rbx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_SafeArrayGetDim]
mov r10, qword [0x140111460]
and byte [rbx + 0x21], 0x82
mov r8, qword [rbx + 0x18]
cmp rdi, r8
jbe 0x1400361b2
movzx ecx, byte [rbx + 0x20]
movzx eax, cl
cmp cl, 1
jbe 0x14003601d
cmp al, 2
je 0x140036069
mov rax, qword [rbp + 0x80]
jmp 0x140036166
cmp rdi, 0x80
ja 0x140036069
cmp rdi, 8
ja 0x140036033
mov eax, 8
jmp 0x140036044
mov eax, 0x80
cmp rdi, 0x10
mov ecx, reloc.OLEAUT32.dll_SafeArrayGetDim
cmovbe eax, ecx
mov qword [rbp + 0x40], rax
mov rcx, rax
call fcn.1400a8f20
mov qword [rbp + 0x80], rax
test rax, rax
je 0x140038536
mov byte [rbx + 0x20], 1
jmp 0x140036166
cmp rdi, 0x20
jae 0x14003607a
mov r9d, SafeArrayAllocDescriptor
jmp 0x14003611f
cmp rdi, 0x208
jae 0x14003608e
mov r9d, 0x208
jmp 0x14003611f
cmp rdi, 0x50000
jae 0x1400360db
pxor xmm0, xmm0
cvtsi2sd xmm0, rdi
test rdi, rdi
jns 0x1400360aa
addsd xmm0, xmm10
mulsd xmm0, xmm11
xor eax, eax
comisd xmm0, xmm9
jbe 0x1400360d1
subsd xmm0, xmm9
comisd xmm0, xmm9
jae 0x1400360d1
movabs rdx, 0x8000000000000000
mov rax, rdx
cvttsd2si r9, xmm0
add r9, rax
jmp 0x14003611f
cmp rdi, 0x320000
jae 0x1400360ed
lea r9, [rdi + 0x8000]
jmp 0x14003611f
cmp rdi, 0xc80000
jae 0x140036118
mov r9, rdi
movabs rax, 0x47ae147ae147ae15
mul rdi
sub r9, rdx
shr r9, 1
add r9, rdx
shr r9, 6
add r9, rdi
jmp 0x14003611f
lea r9, [rdi + 0x20000]
cmp r9, r10
cmova r9, r10
mov qword [rbp + 0x40], r9
cmp cl, 2
jne 0x140036146
test r8, r8
je 0x140036146
mov dil, 1
mov rcx, qword [rbx + 8]
call fcn.1400c9b30
mov r9, qword [rbp + 0x40]
jmp 0x140036149
xor dil, dil
test r9, r9
js 0x140036178
mov rcx, r9
call fcn.1400c9094
mov qword [rbp + 0x80], rax
test rax, rax
je 0x140036178
mov byte [rbx + 0x20], 2
mov qword [rbx + 8], rax
mov rax, qword [rbp + 0x40]
mov qword [rbx + 0x18], rax
and byte [rbx + 0x21], 0x7f
jmp 0x1400361b2
test dil, dil
je 0x140036190
xor eax, eax
mov qword [rbx + 0x18], rax
lea rcx, [0x140118198]
mov qword [rbx + 8], rcx
jmp 0x14003619b
mov rax, qword [rbx + 8]
xor ecx, ecx
mov word [rax], cx
xor eax, eax
mov qword [rbx + 0x10], rax
lea r8, [0x1400e14ec]
lea rdx, [0x1400e4580]
jmp 0x140033889
mov rcx, qword [rbx + 8]
mov rdi, qword [rbp - 0x78]
cmp rcx, rsi
je 0x1400361cb
lea r8, [rdi + rdi]
mov rdx, rsi
call fcn.1400c9cf0
lea rcx, [rdi + rdi]
mov rax, qword [rbx + 8]
xor edx, edx
mov word [rcx + rax], dx
mov qword [rbx + 0x10], rcx
mov ebx, 1
mov dword [rsp + 0x60], ebx
jmp 0x14003853c
mov rcx, r10
call fcn.140048530
jmp 0x140038536
cmp byte [r10 + 1], 2
jbe 0x140036255
mov rax, qword [0x140116728]
mov qword [rsp + 0x38], rax
mov rax, qword [0x140116720]
mov qword [rsp + 0x30], rax
mov rax, qword [0x140116718]
mov qword [rsp + 0x28], rax
mov rax, qword [0x140116710]
mov qword [rsp + 0x20], rax
mov r9, qword [0x140116708]
mov r8, qword [0x140116700]
mov rdx, qword [0x1401166f8]
mov rcx, qword [0x1401166f0]
call fcn.140049820
jmp 0x140038536
lea rsi, [0x1400e14ec]
mov qword [rsp + 0x38], rsi
mov qword [rsp + 0x30], rsi
mov qword [rsp + 0x28], rsi
mov qword [rsp + 0x20], rsi
mov r9, qword [0x1401166f8]
mov r8, qword [0x1401166f0]
mov rdx, rsi
mov rcx, rsi
call fcn.140049820
jmp 0x140038536
mov rax, qword [0x140116740]
mov qword [rsp + 0x58], rax
mov rax, qword [0x140116738]
mov qword [rsp + 0x50], rax
mov rax, qword [0x140116730]
mov qword [rsp + 0x48], rax
mov rax, qword [0x140116728]
mov qword [rsp + 0x40], rax
mov rax, qword [0x140116720]
mov qword [rsp + 0x38], rax
mov rax, qword [0x140116718]
mov qword [rsp + 0x30], rax
mov rax, qword [0x140116710]
mov qword [rsp + 0x28], rax
mov rax, qword [0x140116708]
mov qword [rsp + 0x20], rax
mov r9, qword [0x140116700]
mov r8, qword [0x1401166f8]
mov rdx, qword [0x1401166f0]
mov rcx, r10
call fcn.14007a960
jmp 0x140038536
xor eax, eax
cmp dil, 0x47
sete al
mov dword [rsp + 0x38], eax
mov rax, qword [0x140116718]
mov qword [rsp + 0x30], rax
mov rax, qword [0x140116710]
mov qword [rsp + 0x28], rax
mov rax, qword [0x140116708]
mov qword [rsp + 0x20], rax
mov r9, qword [0x140116700]
mov r8, qword [0x1401166f8]
mov rdx, qword [0x1401166f0]
mov rcx, r10
call fcn.140049990
jmp 0x140038536
xor r8d, r8d
mov dl, 1
mov rcx, qword [0x140116708]
call fcn.1400145a0
mov edi, eax
test al, al
jne 0x14003638d
mov r9, qword [0x140116708]
lea rdx, [0x1400e7c08]
jmp 0x140038529
mov rax, qword [0x140116710]
cmp word [rax], 0
je 0x1400363ae
mov edx, 4
mov rcx, qword [rsp + 0x68]
call fcn.14002d7f0
mov rdx, rax
jmp 0x1400363b3
mov edx, 1
mov rax, qword [0x140116728]
mov qword [rsp + 0x40], rax
mov rax, qword [0x140116720]
mov qword [rsp + 0x38], rax
mov rax, qword [0x140116700]
mov qword [rsp + 0x30], rax
mov rax, qword [0x1401166f8]
mov qword [rsp + 0x28], rax
mov rax, qword [0x1401166f0]
mov qword [rsp + 0x20], rax
mov r9, qword [0x140116718]
mov r8d, edx
movzx edx, dil
mov rcx, qword [rsp + 0x68]
call fcn.140049d60
jmp 0x140038536
mov rax, qword [0x140116730]
mov qword [rsp + 0x48], rax
mov rax, qword [0x140116728]
mov qword [rsp + 0x40], rax
mov rax, qword [0x140116720]
mov qword [rsp + 0x38], rax
mov rax, qword [0x140116718]
mov qword [rsp + 0x30], rax
mov rax, qword [0x140116710]
mov qword [rsp + 0x28], rax
mov rax, qword [0x140116708]
mov qword [rsp + 0x20], rax
mov r9, qword [0x140116700]
mov r8, qword [0x1401166f8]
mov rdx, qword [0x1401166f0]
mov rcx, r10
call fcn.14004a7e0
jmp 0x140038536
mov rax, qword [0x140116730]
mov qword [rsp + 0x28], rax
mov rax, qword [0x140116728]
mov qword [rsp + 0x20], rax
mov r9, qword [0x140116720]
mov r8, qword [0x140116718]
mov rdx, qword [0x140116710]
mov rcx, r10
call fcn.14004ace0
jmp 0x140038536
mov rax, qword [0x140116710]
mov qword [rsp + 0x20], rax
mov r9, qword [0x140116708]
mov r8, qword [0x140116700]
mov rdx, qword [0x1401166f8]
mov rcx, r10
call fcn.14004ae60
jmp 0x140038536
mov rax, qword [0x140116710]
mov qword [rsp + 0x28], rax
mov rax, qword [0x140116708]
mov qword [rsp + 0x20], rax
mov r9, qword [0x140116700]
mov r8, qword [0x1401166f8]
mov rdx, qword [0x1401166f0]
mov rcx, r10
call fcn.14004b5f0
jmp 0x140038536
mov rax, qword [0x140116718]
mov qword [rsp + 0x30], rax
mov rax, qword [0x140116710]
mov qword [rsp + 0x28], rax
mov rax, qword [0x140116708]
mov qword [rsp + 0x20], rax
mov r9, qword [0x140116700]
mov r8, qword [0x1401166f8]
mov rdx, qword [0x1401166f0]
mov rcx, r10
call fcn.14004b9c0
jmp 0x140038536
mov rax, qword [0x140116718]
mov qword [rsp + 0x28], rax
mov rax, qword [0x140116710]
mov qword [rsp + 0x20], rax
mov r9, qword [0x140116708]
mov r8, qword [0x140116700]
mov rdx, qword [0x1401166f8]
mov rcx, r10
call fcn.14004bd60
jmp 0x140038536
mov rax, qword [0x140116720]
mov qword [rsp + 0x38], rax
mov rax, qword [0x140116718]
mov qword [rsp + 0x30], rax
mov rax, qword [0x140116710]
mov qword [rsp + 0x28], rax
mov rax, qword [0x140116708]
mov qword [rsp + 0x20], rax
mov r9, qword [0x140116700]
mov r8, qword [0x1401166f8]
mov rdx, qword [0x1401166f0]
mov rcx, r10
call fcn.14007afa0
jmp 0x140038536
mov rax, qword [0x140116728]
mov qword [rsp + 0x38], rax
mov rax, qword [0x140116720]
mov qword [rsp + 0x30], rax
mov rax, qword [0x140116718]
mov qword [rsp + 0x28], rax
mov rax, qword [0x140116710]
mov qword [rsp + 0x20], rax
mov r9, qword [0x140116708]
mov r8, qword [0x140116700]
mov rdx, qword [0x1401166f8]
mov rcx, r10
call fcn.14007bfd0
jmp 0x140038536
mov rax, qword [0x140116718]
mov qword [rsp + 0x20], rax
mov r9, qword [0x140116710]
mov r8, qword [0x140116708]
mov rdx, qword [0x140116700]
mov rcx, qword [0x1401166f8]
call fcn.14004d0a0
jmp 0x140038536
mov rax, qword [0x140116728]
mov qword [rsp + 0x38], rax
mov rax, qword [0x140116720]
mov qword [rsp + 0x30], rax
mov rax, qword [0x140116718]
mov qword [rsp + 0x28], rax
mov rax, qword [0x140116710]
mov qword [rsp + 0x20], rax
mov r9, qword [0x140116708]
mov r8, qword [0x140116700]
mov rdx, qword [0x1401166f8]
mov rcx, qword [0x1401166f0]
call fcn.14004d140
jmp 0x140038536
cmp dil, 0x92
sete dl
mov rcx, r10
call fcn.14004d2a0
jmp 0x140038536
mov r9, qword [0x140116700]
mov r8, qword [0x1401166f8]
mov rdx, qword [0x1401166f0]
mov rcx, r10
call fcn.14004d820
jmp 0x140038536
mov rax, qword [0x140116718]
mov qword [rsp + 0x30], rax
mov rax, qword [0x140116710]
mov qword [rsp + 0x28], rax
mov rax, qword [0x140116708]
mov qword [rsp + 0x20], rax
mov r9, qword [0x140116700]
mov r8, qword [0x1401166f8]
mov rdx, qword [0x1401166f0]
mov rcx, r10
call fcn.14004e860
jmp 0x140038536
cmp byte [r10 + 1], 1
jbe 0x140036779
mov rax, qword [0x140116710]
mov qword [rsp + 0x20], rax
mov r9, qword [0x140116708]
mov r8, qword [0x140116700]
mov rdx, qword [0x1401166f8]
mov rcx, qword [0x1401166f0]
call fcn.14004ed30
jmp 0x140038536
mov rdi, qword [0x1401166f0]
lea rsi, [0x1400e14ec]
mov r9, rsi
mov r8, rsi
mov rdx, rsi
mov rcx, rsi
call fcn.1400674a0
test rax, rax
je 0x140033e14
mov rdx, rdi
mov rcx, rax
call qword [sym.imp.USER32.dll_SetWindowTextW]
mov ebx, 1
mov dword [rsp + 0x60], ebx
jmp 0x14003853c
mov r9, qword [0x140116710]
mov r8, qword [0x140116708]
mov rdx, qword [0x140116700]
mov rcx, qword [0x1401166f8]
call fcn.14004ed70
jmp 0x140038536
mov r9, qword [0x140116710]
mov r8, qword [0x140116708]
mov rdx, qword [0x140116700]
mov rcx, qword [0x1401166f8]
call fcn.14004f1d0
jmp 0x140038536
mov rax, qword [0x140116718]
mov qword [rsp + 0x28], rax
mov rax, qword [0x140116710]
mov qword [rsp + 0x20], rax
mov r9, qword [0x140116708]
mov r8, qword [0x140116700]
mov rdx, qword [0x1401166f8]
mov rcx, r10
call fcn.14004f600
jmp 0x140038536
mov rax, qword [0x140116710]
mov qword [rsp + 0x20], rax
mov r9, qword [0x140116708]
mov r8, qword [0x140116700]
mov rdx, qword [0x1401166f8]
mov rcx, r10
call fcn.140050f30
jmp 0x140038536
mov rax, qword [0x140116728]
mov qword [rsp + 0x20], rax
mov r9, qword [0x140116720]
mov r8, qword [0x140116718]
mov rdx, qword [0x140116710]
mov rcx, r10
call fcn.1400517a0
jmp 0x140038536
mov r8, qword [0x140116700]
mov rdx, qword [0x1401166f8]
mov rcx, r10
call fcn.140052790
jmp 0x140038536
xor edx, edx
lea rcx, [0x1400e67b8]
call qword [sym.imp.USER32.dll_FindWindowW]
mov r8d, 0x1a3
mov edx, 0x111
xor r9d, r9d
mov rcx, rax
call qword [sym.imp.USER32.dll_PostMessageW]
mov rdx, qword [0x140111488]
mov ecx, dword [rdx + 0x74]
mov ebx, 1
jmp 0x140035bee
xor edx, edx
lea rcx, [0x1400e67b8]
call qword [sym.imp.USER32.dll_FindWindowW]
mov r8d, OleCreatePictureIndirect
jmp 0x1400368cd
mov rax, qword [r10 + 0x10]
test rax, rax
jne 0x14003693b
mov rdx, qword [0x1401166f0]
cmp word [rdx], ax
je 0x14003693b
lea rcx, [0x1401181e0]
call fcn.140024ea0
test rax, rax
jne 0x14003693b
lea rdx, [0x1400e4448]
jmp 0x140038522
mov qword [0x140118d10], rax
jmp case.0x140033731.3
xor eax, eax
cmp byte [r10 + 1], 1
cmova rax, qword [0x140116648]
mov qword [rsp + 0x20], rax
mov r9, qword [r10 + 0x10]
mov r8, qword [0x140116700]
mov rdx, qword [0x1401166f8]
mov rcx, qword [0x1401166f0]
call fcn.14000da70
jmp 0x140038536
mov rdi, qword [r10 + 0x10]
test rdi, rdi
jne 0x140036a2b
xor r9d, r9d
mov r8, rbx
mov rdx, qword [0x1401166f0]
lea rcx, [0x1401181e0]
call fcn.140024f00
mov rdi, rax
test rax, rax
jne 0x140036a2b
mov r9, qword [0x1401166f0]
cmp word [r9], ax
je 0x1400369c5
lea rdx, [0x1400e4448]
jmp 0x140038529
mov r10, qword [rsp + 0x68]
cmp byte [r10 + 1], 0
jbe 0x1400369f5
mov rax, qword [r10 + 8]
mov rcx, qword [rax + 8]
cmp word [rcx], 0
je 0x1400369f5
lea r9, [0x1400e14ec]
lea rdx, [0x1400e49b8]
mov rcx, r10
jmp 0x14003852e
mov rdi, qword [rsi + 0xe8]
test rdi, rdi
jne 0x140036a2b
mov rdi, qword [rsi + 0xf0]
test rdi, rdi
je 0x140036a15
mov rdi, qword [rdi]
test rdi, rdi
jne 0x140036a2b
lea r9, [0x1400e14ec]
lea rdx, [0x1400e9460]
mov rcx, r10
jmp 0x14003852e
xor eax, eax
mov dword [rsp + 0x20], eax
mov ebx, 1
mov r9d, ebx
mov r8d, ebx
mov edx, ebx
mov rcx, qword [0x1401166f8]
call fcn.1400abb40
test eax, eax
jne 0x140036ac3
xor edx, edx
mov rcx, qword [0x1401166f8]
call fcn.14000c310
test eax, eax
jne 0x140036a9e
lea rdx, [0x1400e3738]
mov rcx, qword [0x1401166f8]
call fcn.1400c900c
test eax, eax
jne 0x140036a8b
mov rdx, rdi
lea rcx, [0x1401181e0]
call fcn.140024d80
jmp 0x14003855a
mov r9, qword [0x1401166f8]
lea rdx, [0x1400e49e8]
jmp 0x140038529
jle 0x140036ac3
cmp eax, 2
jg 0x140036ac3
cmp eax, ebx
sete al
mov byte [rsp + 0x28], 0
mov byte [rsp + 0x20], al
mov r9, qword [0x140116700]
lea r8, [0x1400e14ec]
jmp 0x140036aee
mov r9, qword [0x140116700]
mov r8, qword [0x1401166f8]
cmp word [r8], 0
jne 0x140036ae4
cmp word [r9], 0
je 0x140036ae4
movzx eax, bl
jmp 0x140036ae6
xor eax, eax
mov byte [rsp + 0x28], al
mov byte [rsp + 0x20], bl
mov rdx, rdi
lea rcx, [0x1401181e0]
call fcn.140024a90
jmp 0x14003855a
mov edi, reloc.OLEAUT32.dll_SafeArrayGetDim
mov rcx, qword [0x1401166f0]
cmp word [rcx], 0
je 0x140036b3e
lea rdx, [0x1400e94bc]
call fcn.1400c900c
test eax, eax
je 0x140036b3e
xor edx, edx
mov rcx, qword [rsp + 0x68]
call fcn.14002d7f0
mov rdi, rax
test eax, eax
jne 0x140036b3e
xor eax, eax
lea ebx, [rax + 1]
jmp 0x140036b45
mov ebx, 1
mov eax, ebx
mov byte [rsi + 0x12e], al
test al, al
je 0x140036b6f
mov dword [rsi + 0x118], edi
mov byte [rsi + 0x12c], 0
mov qword [rsi], 0xffffffffffffffff
mov dword [rsi + 0x34], 0xffffffff
jmp 0x14003855a
mov dword [rsi + 0x118], 5
mov byte [rsi + 0x12c], 1
jmp 0x14003855a
mov rcx, qword [0x1401166f0]
call fcn.14001d280
mov edx, eax
dec edx
je 0x140036c28
dec edx
je 0x140036bda
dec edx
jne case.0x140033731.3
mov rax, qword [0x1401166f8]
cmp word [rax], dx
je 0x140036bcd
mov edi, 1
mov edx, edi
mov rcx, qword [rsp + 0x68]
call fcn.14002d7f0
test rax, rax
jne 0x140036bcd
mov eax, edi
jmp 0x140036bcf
xor eax, eax
mov byte [rsi + 0x12d], al
jmp case.0x140033731.3
mov rax, qword [0x1401166f8]
mov rdi, qword [rsp + 0x68]
cmp word [rax], 0
je 0x140036bff
mov edx, 1
mov rcx, rdi
call fcn.14002d7f0
mov dword [0x140118da4], eax
mov rax, qword [0x140116700]
cmp word [rax], 0
je case.0x140033731.3
mov edx, 2
mov rcx, rdi
call fcn.14002d7f0
mov dword [0x140118da0], eax
jmp case.0x140033731.3
mov ebx, 1
mov edx, ebx
mov rcx, qword [rsp + 0x68]
call fcn.14002d7f0
mov dword [rsi + 0x3c], eax
jmp 0x14003855a
mov rdi, qword [r10 + 0x10]
test rdi, rdi
jne 0x140036c71
mov r8b, 1
mov rdx, qword [0x1401166f0]
lea rcx, [0x1401181e0]
call fcn.14002e8b0
mov rdi, rax
test rax, rax
je case.0x140033731.8
mov r10, qword [rsp + 0x68]
mov rdx, qword [0x140116708]
cmp word [rdx], 0
je 0x140036caf
mov rax, qword [r10 + 0x28]
test rax, rax
jne 0x140036cab
lea rcx, [0x1401181e0]
call fcn.140024ea0
test rax, rax
jne 0x140036cab
mov r9, qword [0x140116708]
lea rdx, [0x1400e4448]
jmp 0x140038529
mov qword [rdi + 0x20], rax
mov rax, qword [0x140116718]
mov qword [rsp + 0x20], rax
mov r9, qword [0x140116710]
mov r8, qword [0x140116700]
mov rdx, qword [0x1401166f8]
mov rcx, rdi
call fcn.1400b38a0
jmp 0x140038536
mov rdi, qword [r10 + 0x10]
test rdi, rdi
jne 0x140036d08
xor r8d, r8d
mov rdx, qword [0x1401166f0]
lea rcx, [0x1401181e0]
call fcn.14002e8b0
mov rdi, rax
test rax, rax
je case.0x140033731.3
mov rcx, qword [0x1401166f8]
cmp word [rcx], 0
je 0x140036d29
lea rdx, [0x1400e4e0c]
call fcn.1400c900c
test eax, eax
jne 0x140036d29
mov dl, 1
jmp 0x140036d2b
xor edx, edx
mov rcx, rdi
call fcn.1400b3f70
jmp case.0x140033731.3
mov rdi, qword [r10 + 0x10]
test rdi, rdi
jne 0x140036d63
xor r8d, r8d
mov rdx, qword [0x1401166f0]
lea rcx, [0x1401181e0]
call fcn.14002e8b0
mov rdi, rax
test rax, rax
je case.0x140033731.3
mov rcx, qword [0x1401166f8]
cmp word [rcx], 0
je 0x140036db3
lea rdx, [0x1400e78f0]
call fcn.1400c900c
test eax, eax
jne 0x140036d92
xor r8d, r8d
mov dl, 0x84
mov rcx, rdi
call fcn.1400b3b90
jmp case.0x140033731.3
mov rcx, qword [0x1401166f8]
cmp word [rcx], 0
je 0x140036db3
lea rdx, [0x1400e4e0c]
call fcn.1400c900c
test eax, eax
jne 0x140036db3
mov dl, 1
jmp 0x140036db5
xor edx, edx
mov rcx, rdi
call fcn.1400b3c60
jmp case.0x140033731.3
mov rdx, qword [0x140116700]
mov rcx, qword [0x1401166f8]
call fcn.14005e310
jmp 0x140038536
test rbx, rbx
jne 0x140036dfb
mov ebx, 1
mov edx, ebx
mov rcx, r10
call fcn.14002d7f0
mov rcx, rax
call fcn.14001b470
jmp 0x14003855a
xor esi, esi
mov dword [rsp + 0x20], esi
mov edi, 1
mov r9d, edi
xor r8d, r8d
mov edx, edi
mov rcx, qword [0x1401166f8]
call fcn.1400abb40
cmp eax, 2
je 0x140036ec9
mov dword [rsp + 0x20], esi
mov r9d, edi
xor r8d, r8d
mov edx, edi
mov rcx, qword [0x140116700]
call fcn.1400abb40
cmp eax, 2
je 0x140036ec9
mov rax, qword [0x1401166f8]
cmp word [rax], si
je 0x140036e64
mov edx, edi
mov rdi, qword [rsp + 0x68]
mov rcx, rdi
call fcn.14002d7f0
mov rbx, rax
jmp 0x140036e6b
mov ebx, esi
mov rdi, qword [rsp + 0x68]
mov rax, qword [0x140116700]
cmp word [rax], si
je 0x140036e89
mov edx, 2
mov rcx, rdi
call fcn.14002d7f0
mov rdi, rax
jmp 0x140036e8e
mov edi, 0x7fffffff
cmp ebx, edi
jle 0x140036e98
mov eax, ebx
mov ebx, edi
mov edi, eax
call fcn.14001b600
mov edx, eax
movsxd rcx, edi
movsxd rax, ebx
sub rcx, rax
inc rcx
mov eax, edx
cqo
idiv rcx
add edx, ebx
movsxd rdx, edx
mov r8b, reloc.OLEAUT32.dll_SafeArrayGetElement
mov rcx, qword [rsp + 0x70]
call fcn.140001090
jmp case.0x140033731.3
mov rax, qword [0x1401166f8]
cmp word [rax], si
je 0x140036eea
mov edx, edi
mov rdi, qword [rsp + 0x68]
mov rcx, rdi
call fcn.14002d8f0
movapd xmm7, xmm0
jmp 0x140036ef4
movapd xmm7, xmm8
mov rdi, qword [rsp + 0x68]
mov rax, qword [0x140116700]
cmp word [rax], si
je 0x140036f13
mov edx, 2
mov rcx, rdi
call fcn.14002d8f0
movapd xmm6, xmm0
jmp 0x140036f1b
movsd xmm6, qword [0x140100168]
comisd xmm7, xmm6
jbe 0x140036f2d
movapd xmm0, xmm7
movapd xmm7, xmm6
movapd xmm6, xmm0
call fcn.14001b660
subsd xmm6, xmm7
mulsd xmm0, xmm6
addsd xmm0, xmm7
movapd xmm1, xmm0
mov rcx, rbx
call fcn.14001bc70
jmp 0x140038536
mov r8b, 1
mov rdx, qword [0x1401166f8]
mov rcx, r10
call fcn.14005ea00
jmp 0x140038536
mov r9, qword [0x140116700]
mov r8, qword [0x1401166f8]
mov rdx, qword [0x1401166f0]
mov rcx, r10
call fcn.14005edf0
jmp 0x140038536
mov r8, qword [0x140116700]
mov rdx, qword [0x1401166f8]
mov rcx, r10
call fcn.14005f0c0
jmp 0x140038536
mov rdx, qword [0x1401166f0]
cmp dil, 0x9d
mov eax, 0
cmove rdx, rax
mov r9, qword [0x140116708]
mov r8, qword [0x1401166f8]
mov rcx, r10
call fcn.140060b60
jmp 0x140038536
mov rax, qword [0x1401166f8]
cmp word [rax], 0
je 0x140036ff5
mov edx, 1
mov rcx, r10
call fcn.14002d7f0
dec eax
mov r10, qword [rsp + 0x68]
jmp 0x140036ff7
xor eax, eax
movsxd r8, eax
test eax, eax
mov eax, 0
cmovs r8, rax
mov rcx, r10
cmp byte [r10], 0x9f
jne 0x14003701b
mov rdx, r8
call fcn.140062790
jmp 0x140038536
mov rdx, qword [0x1401166f0]
call fcn.140062b20
jmp 0x140038536
mov rax, qword [0x1401166f8]
mov ebx, 1
cmp word [rax], 0
je 0x14003705c
mov edx, ebx
mov rcx, r10
call fcn.14002d7f0
mov rdi, rax
test eax, eax
mov eax, 0x96
cmovs edi, eax
mov r10, qword [rsp + 0x68]
jmp 0x140037061
mov edi, 0x96
mov rax, qword [0x1401166f0]
cmp word [rax], 0
je 0x14003707a
xor edx, edx
mov rcx, r10
call fcn.14002d7f0
jmp 0x14003707f
mov eax, 0x20b
mov edx, edi
mov ecx, eax
call qword [sym.imp.KERNEL32.dll_Beep]
jmp 0x14003855a
mov rcx, qword [0x1401166f8]
cmp word [rcx], 0
je 0x1400370b2
lea rdx, [0x1400e94c8]
call fcn.1400c900c
test eax, eax
je 0x1400370c7
mov rcx, qword [0x1401166f8]
lea rdx, [0x1400e41ac]
call fcn.1400c900c
test eax, eax
je 0x1400370c7
xor r8d, r8d
jmp 0x1400370ca
mov r8b, 1
mov rdx, qword [0x1401166f0]
mov rcx, qword [rsp + 0x68]
call fcn.140062f90
jmp 0x140038536
cmp byte [r10 + 1], 2
jae 0x1400370ed
mov r9, qword [rsi + 0x20]
jmp 0x1400370f2
xor eax, eax
mov r9d, eax
mov r8, qword [0x1401166f0]
mov rdx, qword [0x1401166f8]
mov rcx, r10
call fcn.140065a30
jmp 0x140038536
mov rdx, qword [0x1401166f8]
mov rcx, r10
call fcn.140064a10
jmp 0x140038536
mov r8, qword [0x140116700]
mov rdx, qword [0x1401166f8]
mov rcx, r10
call fcn.140065240
jmp 0x140038536
mov rdx, qword [0x1401166f0]
mov rcx, r10
call fcn.140065e50
jmp 0x140038536
mov rdx, qword [0x1401166f0]
mov rcx, r10
call fcn.1400801c0
jmp 0x140038536
xor eax, eax
mov edx, eax
mov rax, qword [0x1401166f0]
cmp word [rax], dx
cmovne rdx, rax
xor ecx, ecx
lea r8d, [rcx + 7]
call qword [sym.imp.SHELL32.dll_SHEmptyRecycleBinW]
test eax, eax
setne dl
mov rcx, qword [rsp + 0x68]
call fcn.14003ec40
jmp 0x140038536
mov r9, qword [0x140116700]
mov r8, qword [0x1401166f8]
mov rdx, qword [0x1401166f0]
mov rcx, r10
call fcn.140065f30
jmp 0x140038536
lea rdi, [rsi + 0x40]
mov edx, 2
mov rcx, r10
call fcn.14002d7f0
cmp eax, 1
sete r8b
mov qword [rsp + 0x20], rdi
xor r9d, r9d
mov rdx, qword [0x1401166f8]
mov rcx, qword [0x1401166f0]
call fcn.140080ac0
test eax, eax
jne 0x140037235
lea rdx, [0x1400e14fc]
mov rcx, qword [0x140117318]
jmp 0x1400337f6
lea rdi, [rsi + 0x40]
mov edx, 2
mov rcx, r10
call fcn.14002d7f0
cmp eax, 1
sete r8b
mov qword [rsp + 0x20], rdi
mov r9b, 1
mov rdx, qword [0x1401166f8]
mov rcx, qword [0x1401166f0]
call fcn.140080ac0
mov edx, eax
mov rcx, qword [rsp + 0x68]
call fcn.14003f4e0
jmp 0x140038536
mov edx, 2
mov rcx, r10
call fcn.14002d7f0
xor ecx, ecx
mov r8d, ecx
cmp eax, 1
sete r8b
xor r9d, r9d
mov rdx, qword [0x1401166f8]
mov rcx, qword [0x1401166f0]
call fcn.140080720
test al, al
sete dl
mov rcx, qword [rsp + 0x68]
call fcn.14003ec40
jmp 0x140038536
mov rax, qword [0x140116700]
movzx ecx, word [rax]
call fcn.14000c1f0
cmp ax, 0x52
jne 0x1400372c6
mov rdx, qword [0x1401166f8]
mov rcx, qword [0x1401166f0]
call qword [sym.imp.KERNEL32.dll_MoveFileW]
test eax, eax
sete dl
mov rcx, qword [rsp + 0x68]
call fcn.14003ec40
jmp 0x140038536
mov edx, 2
mov rdi, qword [rsp + 0x68]
mov rcx, rdi
call fcn.14002d7f0
mov r8, rax
mov r9b, 1
mov rdx, qword [0x1401166f8]
mov rcx, qword [0x1401166f0]
call fcn.140080720
test al, al
sete dl
mov rcx, rdi
call fcn.14003ec40
jmp 0x140038536
xor edx, edx
mov rcx, qword [0x1401166f0]
call fcn.1400648d0
test al, al
sete dil
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov ecx, eax
mov rax, qword [0x140111488]
mov dword [rax + 0x40], ecx
movzx edx, dil
mov rcx, qword [rsp + 0x68]
call fcn.14003ec40
jmp 0x140038536
mov rax, qword [0x1401166f0]
cmp word [rax], 0
je 0x140037370
mov edx, 1
mov rcx, r10
call fcn.14002d7f0
cmp eax, 1
sete dl
mov rcx, qword [0x1401166f0]
call fcn.1400809c0
test al, al
je 0x140037370
xor edx, edx
jmp 0x140037372
mov dl, 1
mov rcx, qword [rsp + 0x68]
call fcn.14003ec40
jmp 0x140038536
mov rdx, qword [0x1401166f8]
cmp word [rdx], 0
jne 0x1400373a7
mov rdx, qword [rsi + 0x10]
test rdx, rdx
je 0x1400373a0
add rdx, 0x250
jmp 0x1400373a7
lea rdx, [0x1400e14ec]
mov rcx, r10
call fcn.1400660b0
jmp 0x140038536
mov rbx, qword [0x1401166f8]
cmp word [rbx], 0
jne 0x1400373da
mov rbx, qword [rsi + 0x10]
test rbx, rbx
je 0x1400373d3
add rbx, 0x250
jmp 0x1400373da
lea rbx, [0x1400e14ec]
mov edx, 3
mov rcx, r10
call fcn.14002d7f0
cmp eax, 1
sete dil
mov rcx, qword [0x140116700]
call fcn.14001d5d0
mov r9d, eax
mov byte [rsp + 0x20], dil
mov r8, rbx
mov rdx, qword [0x1401166f0]
mov rcx, qword [rsp + 0x68]
call fcn.140066470
jmp 0x140038536
mov rdx, qword [0x1401166f8]
cmp word [rdx], 0
jne 0x140037441
mov rdx, qword [rsi + 0x10]
test rdx, rdx
je 0x14003743a
add rdx, 0x250
jmp 0x140037441
lea rdx, [0x1400e14ec]
mov rax, qword [0x140116700]
movzx r8d, word [rax]
mov rcx, r10
call fcn.140066ba0
jmp 0x140038536
mov rbx, qword [0x1401166f8]
cmp word [rbx], 0
jne 0x14003747f
mov rbx, qword [rsi + 0x10]
test rbx, rbx
je 0x140037478
add rbx, 0x250
jmp 0x14003747f
lea rbx, [0x1400e14ec]
mov edx, 4
mov rcx, r10
call fcn.14002d7f0
cmp eax, 1
sete dil
mov rcx, qword [0x140116708]
call fcn.14001d5d0
mov byte [rsp + 0x28], dil
mov dword [rsp + 0x20], eax
mov rax, qword [0x140116700]
movzx r9d, word [rax]
mov r8, rbx
mov rdx, qword [0x1401166f0]
mov rcx, qword [rsp + 0x68]
call fcn.140067010
jmp 0x140038536
mov rdx, qword [0x1401166f8]
cmp word [rdx], 0
jne 0x1400374f2
mov rdx, qword [rsi + 0x10]
test rdx, rdx
je 0x1400374eb
add rdx, 0x250
jmp 0x1400374f2
lea rdx, [0x1400e14ec]
mov r8, qword [0x140116700]
mov rcx, r10
call fcn.1400671f0
jmp 0x140038536
mov rdx, qword [0x1401166f8]
cmp word [rdx], 0
jne 0x14003752c
mov rdx, qword [rsi + 0x10]
test rdx, rdx
je 0x140037525
add rdx, 0x250
jmp 0x14003752c
lea rdx, [0x1400e14ec]
mov rcx, r10
call fcn.1400802b0
jmp 0x140038536
mov rcx, qword [0x1401166f0]
call fcn.140063460
xor eax, eax
mov ebx, eax
cmp qword [rsi + 0x148], rax
sete bl
mov dword [rsp + 0x60], ebx
jmp 0x14003853c
mov rax, qword [0x140116710]
mov qword [rsp + 0x20], rax
mov r9, qword [0x140116708]
mov r8, qword [0x140116700]
mov rdx, qword [0x1401166f8]
mov rcx, r10
call fcn.140063810
jmp 0x140038536
mov r9, qword [0x140116708]
mov r8, qword [0x140116700]
mov rdx, qword [0x1401166f8]
mov rcx, r10
call fcn.14007dcf0
jmp 0x140038536
mov rdx, qword [0x1401166f0]
mov rcx, r10
call fcn.14007e8b0
jmp 0x140038536
mov rax, qword [0x140116730]
mov qword [rsp + 0x48], rax
mov rax, qword [0x140116728]
mov qword [rsp + 0x40], rax
mov rax, qword [0x140116720]
mov qword [rsp + 0x38], rax
mov rax, qword [0x140116718]
mov qword [rsp + 0x30], rax
mov rax, qword [0x140116710]
mov qword [rsp + 0x28], rax
mov rax, qword [0x140116708]
mov qword [rsp + 0x20], rax
mov r9, qword [0x140116700]
mov r8, qword [0x1401166f8]
mov rdx, qword [0x1401166f0]
mov rcx, r10
call fcn.14007fc80
jmp 0x140038536
xor edx, edx
lea ecx, [rdx + 4]
call fcn.140056a70
jmp 0x140038536
mov edx, 7
mov rcx, qword [0x1401166f0]
call fcn.14000c310
mov edx, eax
cmp eax, 7
jne 0x140037660
xor edx, edx
lea ecx, [rax - 6]
call fcn.140056a70
jmp 0x140038536
cmp byte [rsi + 0x139], 0
je 0x140037695
mov eax, dword [0x140117478]
test eax, eax
jle 0x140037677
dec eax
jmp 0x14003767c
mov eax, 0x18f
mov dword [0x140117478], eax
cdqe
xor ecx, ecx
lea r11, [0x140000000]
mov qword [r11 + rax*8 + 0x117480], rcx
cmp edx, 1
sete al
mov byte [rsi + 0x139], al
jmp case.0x140033731.3
xor edx, edx
lea ecx, [rdx + 2]
call fcn.140056a70
jmp 0x140038536
xor edx, edx
lea ecx, [rdx + 3]
call fcn.140056a70
jmp 0x140038536
mov rcx, qword [0x140111488]
add rcx, 0x68
call fcn.14008abf0
xor esi, esi
test rax, rax
je 0x1400376ec
mov rax, qword [0x140111488]
mov rcx, qword [rax + 0x68]
mov rdi, qword [rcx + 8]
jmp 0x1400376ef
mov rdi, rsi
mov rbx, qword [rsp + 0x68]
movzx eax, byte [rbx + 1]
test al, al
jne 0x140037712
movapd xmm3, xmm8
xor r8d, r8d
mov edx, 0x10000
lea rcx, [0x1400e94d8]
jmp 0x14003775c
cmp al, 1
jne 0x14003772c
movapd xmm3, xmm8
xor r8d, r8d
mov edx, 0x10000
mov rcx, qword [0x1401166f0]
jmp 0x14003775c
mov edx, 3
mov rcx, rbx
call fcn.14002d8f0
movapd xmm6, xmm0
xor edx, edx
mov rcx, rbx
call fcn.14002d7f0
mov rdx, rax
movapd xmm3, xmm6
mov r8, qword [0x1401166f8]
mov rcx, qword [0x140116700]
mov qword [rsp + 0x20], rdi
call fcn.1400b26b0
mov edi, eax
test eax, eax
jne 0x14003778f
call qword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0x59e
jne 0x14003778f
mov r9, qword [0x1401166f0]
lea rdx, [0x1400e49b8]
mov rcx, rbx
jmp 0x14003852e
mov ebx, esi
test edi, edi
setne bl
mov dword [rsp + 0x60], ebx
jmp 0x14003853c
mov rax, qword [0x140116728]
cmp word [rax], 0
je 0x1400377c7
mov edx, 7
mov rcx, r10
call fcn.14002d7f0
mov qword [rbp + 0xa0], rax
mov r10, qword [rsp + 0x68]
jmp 0x1400377d1
mov dword [rbp + 0xa0], 0x80000000
mov rax, qword [0x140116720]
cmp word [rax], 0
je 0x1400377f1
mov edx, 6
mov rcx, r10
call fcn.14002d7f0
mov qword [rbp + 0x10], rax
jmp 0x1400377f8
mov dword [rbp + 0x10], 0x80000000
mov rax, qword [0x140116718]
mov rdi, qword [rsp + 0x68]
cmp word [rax], 0
je 0x14003781c
mov edx, 5
mov rcx, rdi
call fcn.14002d7f0
mov rsi, rax
jmp 0x140037821
mov esi, 0x80000000
mov rax, qword [0x140116710]
cmp word [rax], 0
je 0x140037840
mov edx, 4
mov rcx, rdi
call fcn.14002d7f0
mov rbx, rax
jmp 0x140037845
mov ebx, 0x80000000
mov edx, 9
mov rcx, rdi
call fcn.14002d8f0
movapd xmm6, xmm0
mov rax, qword [0x140116730]
movzx ecx, word [rax]
call fcn.14000c1f0
cmp ax, 0x4c
sete dil
mov rax, qword [0x140116708]
movzx ecx, word [rax]
call fcn.14000c1f0
cmp ax, 0x48
sete r9b
mov rax, qword [0x140116740]
mov qword [rsp + 0x50], rax
movsd qword [rsp + 0x48], xmm6
mov byte [rsp + 0x40], dil
mov rax, qword [rbp + 0xa0]
mov dword [rsp + 0x38], eax
mov rax, qword [rbp + 0x10]
mov dword [rsp + 0x30], eax
mov dword [rsp + 0x28], esi
mov dword [rsp + 0x20], ebx
mov r8, qword [0x140116700]
mov rdx, qword [0x1401166f8]
mov rcx, qword [rsp + 0x70]
call fcn.140056da0
jmp 0x140038536
mov rax, qword [0x1401166f8]
cmp word [rax], 0
je 0x1400378f7
mov edx, 1
mov rcx, r10
call fcn.14002d7f0
mov rdi, rax
mov r10, qword [rsp + 0x68]
jmp 0x1400378fb
xor eax, eax
mov edi, eax
mov rax, qword [0x1401166f0]
cmp word [rax], 0
je 0x140037914
xor edx, edx
mov rcx, r10
call fcn.14002d7f0
jmp 0x140037919
mov eax, 0xc8
mov r9, qword [0x140116708]
mov r8, qword [0x140116700]
mov edx, edi
mov ecx, eax
call fcn.14007a5f0
jmp 0x140038536
mov rcx, qword [0x1401167b8]
test rcx, rcx
je 0x140037958
call qword [sym.imp.USER32.dll_IsWindow]
test eax, eax
je 0x140037958
mov rcx, qword [0x1401167b8]
call qword [sym.imp.USER32.dll_DestroyWindow]
xor eax, eax
mov qword [0x1401167b8], rax
jmp case.0x140033731.3
mov byte [rsp + 0x38], 0
lea rax, [0x1400e14ec]
mov qword [rsp + 0x30], rax
mov rax, qword [0x140116710]
mov qword [rsp + 0x28], rax
mov rax, qword [0x140116708]
mov qword [rsp + 0x20], rax
mov r9, qword [0x140116700]
mov r8, qword [0x1401166f8]
mov rdx, qword [0x1401166f0]
mov rcx, r10
call fcn.140043250
jmp 0x140038536
mov byte [rsp + 0x38], 1
mov rax, qword [0x1401166f0]
mov qword [rsp + 0x30], rax
mov rax, qword [0x140116718]
mov qword [rsp + 0x28], rax
mov rax, qword [0x140116710]
mov qword [rsp + 0x20], rax
mov r9, qword [0x140116708]
mov r8, qword [0x140116700]
mov rdx, qword [0x1401166f8]
mov rcx, r10
call fcn.140043250
jmp 0x140038536
mov rax, qword [0x140116708]
mov qword [rsp + 0x20], rax
mov r9, qword [0x140116700]
mov r8, qword [0x1401166f8]
mov rdx, qword [0x1401166f0]
mov rcx, r10
call fcn.140044970
jmp 0x140038536
mov r9, qword [0x140116708]
mov r8, qword [0x140116700]
mov rdx, qword [0x1401166f8]
mov rcx, qword [0x1401166f0]
call fcn.140044df0
jmp 0x140038536
mov rcx, r10
call fcn.140047160
jmp 0x140038536
mov rcx, qword [0x1401166f8]
call fcn.14001d930
movzx edi, ax
mov rcx, qword [0x1401166f0]
call fcn.14001d9c0
movzx ecx, ax
cmp ecx, 0xffffffff
je case.0x140033731.3
movzx eax, di
cmp eax, 0xffffffff
je case.0x140033731.3
mov eax, 3
shl ax, cl
not ax
and ax, word [rsi + 0x130]
shl di, cl
or ax, di
mov word [rsi + 0x130], ax
jmp case.0x140033731.3
xor edx, edx
mov rcx, r10
call fcn.14002d7f0
cmp al, 0x64
movzx eax, al
mov ecx, 2
cmova eax, ecx
mov byte [rsi + 0x12f], al
jmp case.0x140033731.3
mov edx, dword [rsi + 0x114]
mov rcx, qword [0x1401166f0]
call fcn.14001d500
mov dword [rsi + 0x114], eax
jmp case.0x140033731.3
xor edx, edx
mov rcx, r10
call fcn.14002d7f0
cmp eax, 0x64
ja case.0x140033731.3
mov byte [rsi + 0x136], al
jmp case.0x140033731.3
lea rdx, [0x1400e6430]
mov rcx, qword [0x140116700]
call fcn.1400c900c
test eax, eax
mov rax, qword [0x1401166f0]
mov rdi, qword [rsp + 0x68]
jne 0x140037b75
cmp word [rax], 0
je 0x140037b4a
xor edx, edx
mov rcx, rdi
call fcn.14002d7f0
mov dword [rsi + 0x80], eax
mov rax, qword [0x1401166f8]
mov ebx, 1
cmp word [rax], 0
je 0x14003855a
mov edx, ebx
mov rcx, rdi
call fcn.14002d7f0
mov dword [rsi + 0x88], eax
jmp 0x14003855a
cmp word [rax], 0
je 0x140037b88
xor edx, edx
mov rcx, rdi
call fcn.14002d7f0
mov dword [rsi + 0x7c], eax
mov rax, qword [0x1401166f8]
mov ebx, 1
cmp word [rax], 0
je 0x14003855a
mov edx, ebx
mov rcx, rdi
call fcn.14002d7f0
mov dword [rsi + 0x84], eax
jmp 0x14003855a
lea rdx, [0x1400e6430]
mov rcx, qword [0x1401166f8]
call fcn.1400c900c
xor edx, edx
mov rcx, qword [rsp + 0x68]
test eax, eax
jne 0x140037be1
call fcn.14002d7f0
mov dword [rsi + 0x90], eax
jmp case.0x140033731.3
call fcn.14002d7f0
mov dword [rsi + 0x8c], eax
jmp case.0x140033731.3
xor edx, edx
mov rcx, r10
call fcn.14002d7f0
mov dword [rsi + 0x74], eax
jmp case.0x140033731.3
xor edx, edx
mov rcx, r10
call fcn.14002d7f0
mov dword [rsi + 0x78], eax
jmp case.0x140033731.3
lea rdx, [0x1400e9504]
mov rcx, qword [0x1401166f0]
call fcn.1400ac150
xor edx, edx
mov rcx, qword [rsp + 0x68]
test rax, rax
je 0x140037c48
mov qword [rsi], 0xffffffffffffffff
call fcn.14002d7f0
mov dword [rsi + 0x34], eax
jmp case.0x140033731.3
mov dword [rsi + 0x34], 0xffffffff
call fcn.14002d7f0
mov qword [rsi], rax
test rax, rax
jne case.0x140033731.3
mov qword [rsi], 0xa
jmp case.0x140033731.3
mov edx, 7
mov rcx, qword [0x1401166f0]
call fcn.14000c310
cmp eax, 7
je case.0x140033731.3
cmp eax, 1
sete al
mov byte [rsi + 0x133], al
jmp case.0x140033731.3
mov rcx, qword [0x1401166f0]
call fcn.14001ce70
dec eax
cmp eax, 5
ja case.default.0x140037cc2
cdqe
lea r11, [0x140000000]
mov ecx, dword [r11 + rax*4 + 0x38dd0]
add rcx, r11
jmp rcx
mov ebx, 1
mov dword [rsi + 0x30], ebx
jmp 0x14003855a
mov eax, 2
mov dword [rsi + 0x30], eax
jmp case.0x140033731.3
mov dword [rsi + 0x30], 4
jmp case.0x140033731.3
mov eax, 3
mov dword [rsi + 0x30], eax
jmp case.0x140033731.3
mov byte [rsi + 0x129], 1
jmp case.0x140033731.3
mov byte [rsi + 0x129], 0
jmp case.0x140033731.3
mov r8d, 5
lea rdx, [0x1400e65a0]
mov rcx, qword [0x1401166f0]
call fcn.1400c9264
test eax, eax
jne 0x140037dfc
mov ebx, 1
mov edx, ebx
mov rdi, qword [rsp + 0x68]
mov rcx, rdi
call fcn.14002d720
cmp rax, 0x1e
jae 0x14003855a
mov edx, ebx
mov rcx, rdi
call fcn.14002d7f0
mov rbx, rax
mov edx, 0x2e
mov rcx, qword [0x1401166f8]
call fcn.1400ca024
mov rdi, rax
test rax, rax
je 0x140037d81
lea rcx, [rax + 2]
call fcn.14001bb70
xor ecx, ecx
jmp 0x140037d85
xor ecx, ecx
mov eax, ecx
lea rax, [rbx + rax + 2]
mov ebx, 1
cmp rax, 0xff
jg 0x14003855a
mov dword [rsp + 0x20], ecx
mov r9d, ebx
mov r8d, ebx
mov edx, ebx
mov rcx, qword [0x1401166f8]
call fcn.1400abb40
lea rcx, [0x1400e14ec]
mov rdx, rcx
test eax, eax
lea rax, [0x1400e950c]
cmovne rdx, rax
lea r9, [0x1400e81c4]
test rdi, rdi
cmovne r9, rcx
lea rcx, [rsi + 0x94]
mov qword [rsp + 0x20], rdx
mov r8, qword [0x1401166f8]
lea rdx, [0x1400e9510]
call fcn.1400c96bc
jmp 0x14003855a
mov r8d, 7
lea rdx, [0x1400e6590]
mov rcx, qword [0x1401166f0]
call fcn.1400c9264
test eax, eax
jne case.0x140033731.3
mov rcx, qword [0x1401166f8]
movzx eax, word [rcx]
cmp eax, 0x44
je 0x140037e4d
cmp eax, 0x48
je 0x140037e3f
cmp eax, 0x64
je 0x140037e4d
cmp eax, 0x68
jne case.0x140033731.3
movzx eax, byte [rcx]
mov byte [rsi + 0x135], al
jmp case.0x140033731.3
mov byte [rsi + 0x135], 0x44
jmp case.0x140033731.3
mov rdx, qword [0x140116700]
mov rcx, qword [0x1401166f8]
call fcn.140058e30
jmp 0x140038536
movzx ecx, byte [r10 + 1]
xor eax, eax
mov edx, eax
cmp cl, 4
cmova rdx, qword [0x140116660]
cmp cl, 3
cmova rax, qword [0x140116658]
mov qword [rsp + 0x40], rdx
mov qword [rsp + 0x38], rax
mov rax, qword [0x140116718]
mov qword [rsp + 0x30], rax
mov rax, qword [0x140116710]
mov qword [rsp + 0x28], rax
mov rax, qword [0x140116708]
mov qword [rsp + 0x20], rax
mov r9, qword [0x140116700]
mov r8, qword [0x1401166f8]
mov rdx, qword [0x1401166f0]
lea rcx, [0x1401181e0]
call fcn.14009edd0
jmp 0x140038536
mov rax, qword [0x140116708]
mov qword [rsp + 0x20], rax
mov r9, qword [0x140116700]
mov r8, qword [0x1401166f8]
mov rdx, qword [0x1401166f0]
lea rcx, [0x1401181e0]
call fcn.14008ac90
jmp 0x140038536
xor eax, eax
cmp byte [r10 + 1], 2
cmova rax, qword [0x140116650]
mov qword [rsp + 0x20], rax
mov r9, qword [0x140116700]
mov r8, qword [0x1401166f8]
mov rdx, qword [0x1401166f0]
mov rcx, r10
call fcn.14008b770
jmp 0x140038536
mov r9, qword [0x140116708]
mov r8, qword [0x140116700]
mov rdx, qword [0x1401166f8]
mov rcx, r10
call fcn.14008cd10
jmp 0x140038536
mov rcx, qword [0x1401166f0]
call fcn.14001d3a0
mov edx, eax
test eax, eax
je case.default.0x140037cc2
dec edx
je 0x140037fa5
dec edx
je 0x140037f96
sub edx, 3
je 0x140037fb2
cmp edx, 2
jmp 0x140037fac
cmp byte [0x140116936], 0
je case.0x140033731.3
jmp 0x140037fb2
cmp byte [0x140116936], 0
jne case.0x140033731.3
call fcn.14003e8b0
jmp case.0x140033731.3
mov edx, 1
mov rcx, r10
call fcn.14002d7f0
test eax, eax
setne dil
mov rcx, qword [0x1401166f0]
call fcn.14000c3c0
mov edx, eax
movzx r8d, dil
mov rcx, qword [rsp + 0x68]
call fcn.14003e910
jmp 0x140038536
mov edx, 7
mov rcx, qword [0x1401166f0]
call fcn.14000c310
cmp eax, 7
je case.0x140033731.3
cmp eax, 1
sete al
mov byte [rsi + 0x134], al
jmp case.0x140033731.3
mov rcx, qword [0x1401166f0]
call fcn.14001d300
mov byte [rsi + 0x132], al
cmp al, 4
jne case.0x140033731.3
mov byte [rsi + 0x132], 0
jmp case.0x140033731.3
mov edx, 7
mov rcx, qword [0x1401166f0]
call fcn.14000c310
cmp eax, 7
je case.0x140033731.3
cmp eax, 1
sete al
mov byte [rsi + 0x12a], al
jmp case.0x140033731.3
mov edx, 7
mov rcx, qword [0x1401166f0]
call fcn.14000c310
cmp eax, 7
je case.0x140033731.3
cmp eax, 1
sete al
mov byte [rsi + 0x12b], al
jmp case.0x140033731.3
mov rcx, qword [0x1401166f0]
call fcn.14001d420
mov edx, eax
dec eax
cmp eax, 0xc
ja case.0x140033731.3
cdqe
lea r11, [0x140000000]
mov ecx, dword [r11 + rax*4 + 0x38de8]
add rcx, r11
jmp rcx
mov ebx, 1
mov ecx, ebx
call qword [sym.imp.USER32.dll_BlockInput]
mov byte [0x140117332], bl
jmp 0x14003855a
xor ecx, ecx
call qword [sym.imp.USER32.dll_BlockInput]
mov byte [0x140117332], 0
jmp case.0x140033731.3
mov dword [reloc.WSOCK32.dll_inet_ntoa], edx
jmp case.0x140033731.3
mov byte [0x140117333], 1
or byte [0x140117344], 2
cmp qword [0x140116900], 0
jne case.0x140033731.3
mov rax, qword [0x140112e40]
movzx ecx, word [rax]
call fcn.14000a590
jmp case.0x140033731.3
mov byte [0x140117333], 0
jmp case.0x140033731.3
mov r8, qword [0x1401166f0]
lea rdx, [0x140111484]
mov cl, 0x90
call fcn.1400673c0
jmp 0x140038536
mov r8, qword [0x1401166f0]
lea rdx, str._a_a_v
mov cl, reloc.OLEAUT32.dll_SafeArrayLock
call fcn.1400673c0
jmp 0x140038536
mov r8, qword [0x1401166f0]
lea rdx, [0x140111560]
mov cl, 0x91
call fcn.1400673c0
jmp 0x140038536
mov dl, 1
lea rcx, [0x1401181e0]
call fcn.14001f960
jmp case.0x140033731.3
xor edx, edx
mov rcx, r10
call fcn.14002d7f0
mov ebx, 1
mov ecx, eax
jmp 0x140035bf7
mov r9, qword [0x140116710]
mov r8, qword [0x140116708]
mov rdx, qword [0x140116700]
mov rcx, qword [0x1401166f8]
call fcn.1400a7d00
jmp 0x140038536
mov rax, qword [0x140116708]
mov qword [rsp + 0x20], rax
mov r9, qword [0x140116700]
mov r8, qword [0x1401166f8]
mov rdx, qword [0x1401166f0]
mov rcx, r10
call fcn.1400a8230
jmp 0x140038536
mov r9, qword [0x140116700]
cmp byte [r10 + 1], 3
mov eax, 0
cmovb r9, rax
mov r8, qword [0x1401166f8]
mov rdx, qword [0x1401166f0]
mov rcx, r10
call fcn.1400a8380
jmp 0x140038536
cmp byte [r10 + 1], 2
jae 0x140038260
mov rdx, qword [rsi + 0x18]
test rdx, rdx
je 0x140038260
lea r9, [rdx + 0x810]
lea r8, [rdx + 0x10]
mov rdx, qword [rdx + 8]
mov rcx, r10
call fcn.1400a8410
jmp 0x140038536
lea r9, [rsp + 0x78]
lea r8, [rbp - 0x38]
mov edx, 2
mov rcx, qword [0x1401166f8]
call fcn.14001cae0
mov rdi, rax
mov r8, qword [rbp - 0x38]
test r8, r8
jne 0x14003829a
mov r8, qword [0x140116700]
mov qword [rbp - 0x38], r8
mov r9, qword [0x140116708]
jmp 0x1400382a1
mov r9, qword [0x140116700]
mov rdx, rax
mov rcx, qword [rsp + 0x68]
call fcn.1400a8410
mov ebx, eax
mov dword [rsp + 0x60], eax
cmp byte [rsp + 0x78], 0
je 0x14003853c
test rdi, rdi
je 0x14003853c
mov rcx, rdi
call qword [sym.imp.ADVAPI32.dll_RegCloseKey]
jmp 0x14003853c
cmp byte [r10 + 1], 2
jae 0x140038319
mov rdx, qword [rsi + 0x18]
test rdx, rdx
je 0x140038319
lea rcx, [rdx + 0x810]
lea r9, [rdx + 0x10]
mov rax, qword [0x1401166f0]
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], rcx
mov r8, qword [rdx + 8]
mov edx, dword [rdx + 0x1010]
mov rcx, r10
call fcn.1400a8840
jmp 0x140038536
lea r9, [rsp + 0x78]
lea r8, [rbp - 0x38]
mov edx, 2
mov rcx, qword [0x1401166f8]
call fcn.14001cae0
mov qword [rbp - 0x58], rax
mov rdi, qword [rbp - 0x38]
test rdi, rdi
jne 0x14003835b
mov rdi, qword [0x140116700]
mov qword [rbp - 0x38], rdi
mov rbx, qword [0x140116708]
mov rsi, qword [0x140116710]
jmp 0x140038369
mov rbx, qword [0x140116700]
mov rsi, qword [0x140116708]
mov rcx, qword [0x1401166f0]
call fcn.14001cd30
mov edx, eax
mov qword [rsp + 0x28], rsi
mov qword [rsp + 0x20], rbx
mov r9, rdi
mov rdi, qword [rbp - 0x58]
mov r8, rdi
mov rcx, qword [rsp + 0x68]
call fcn.1400a8840
jmp 0x1400382ae
cmp byte [r10 + 1], 1
jae 0x140038425
mov rax, qword [rsi + 0x18]
test rax, rax
je 0x140038425
cmp dword [rax + 0x1010], 0xfffffffe
jne 0x140038401
lea r9, [rax + 0x10]
cmp word [r9], 0
je 0x1400383f3
add rax, 0x810
mov qword [rsp + 0x20], rax
lea r8, [0x1400e6778]
mov edx, 0x400
lea rcx, [rbp + 0x1a0]
call fcn.1400abd10
lea r8, [rbp + 0x1a0]
mov r10, qword [rsp + 0x68]
jmp 0x1400383fa
lea r8, [rax + 0x810]
xor eax, eax
mov r9d, eax
jmp 0x14003840c
lea r8, [rax + 0x10]
lea r9, [rax + 0x810]
mov qword [rbp - 0x38], r8
mov rdx, qword [rsi + 0x18]
mov rdx, qword [rdx + 8]
mov rcx, r10
call fcn.1400a8cf0
jmp 0x140038536
lea r9, [rsp + 0x78]
lea r8, [rbp - 0x38]
mov edx, 2
mov rcx, qword [0x1401166f0]
call fcn.14001cae0
mov rsi, rax
mov rbx, qword [rbp - 0x38]
test rbx, rbx
jne 0x14003845f
mov rbx, qword [0x1401166f8]
mov qword [rbp - 0x38], rbx
mov rdi, qword [0x140116700]
jmp 0x140038466
mov rdi, qword [0x1401166f8]
cmp word [rdi], 0
jne 0x140038473
xor eax, eax
mov r9d, eax
jmp 0x14003848f
lea rdx, [0x1400e9528]
mov rcx, rdi
call fcn.1400c900c
lea r9, [0x1400e14ec]
test eax, eax
cmovne r9, rdi
mov r8, rbx
mov rdx, rsi
mov rcx, qword [rsp + 0x68]
call fcn.1400a8cf0
mov ebx, eax
mov dword [rsp + 0x60], eax
cmp byte [rsp + 0x78], 0
je 0x14003853c
test rsi, rsi
je 0x14003853c
mov rcx, rsi
jmp 0x1400382cb
mov rcx, qword [0x1401166f0]
call fcn.14001cde0
cmp eax, 0xffffffff
je case.default.0x140037cc2
mov dword [rsi + 0x110], eax
jmp case.0x140033731.3
mov rcx, qword [0x1401166f0]
call qword [sym.imp.KERNEL32.dll_OutputDebugStringW]
jmp case.0x140033731.3
xor edx, edx
mov rcx, r10
call fcn.14002d7f0
mov rcx, rax
call fcn.140081130
xor ecx, ecx
mov ebx, ecx
test al, al
setne bl
mov dword [rsp + 0x60], ebx
jmp 0x14003853c
mov rcx, qword [0x1401166f0]
call fcn.14001dc00
cmp eax, 0xffffffff
jne 0x14003854f
lea rdx, [0x1400e49b8]
mov r9, qword [0x1401166f0]
mov rcx, qword [rsp + 0x68]
xor r8d, r8d
call fcn.14003fe90
mov dword [rsp + 0x60], eax
mov ebx, eax
mov eax, dword [rsp + 0x60]
test ebx, ebx
je 0x14003892e
mov ebx, 1
jmp 0x140038560
mov dword [rsi + 0x13c], eax
mov ebx, 1
mov eax, ebx
mov dword [rsp + 0x60], ebx
cmp dword [rbp + 0xa38], 3
je 0x14003892e
mov r10, qword [rsp + 0x68]
mov r10, qword [r10 + 0x20]
mov qword [rsp + 0x68], r10
jmp 0x140038587
mov qword [rsp + 0x68], r10
mov ebx, 1
mov rsi, qword [rbp - 0x70]
test r10, r10
je case.0x14003241d.107
xor edi, edi
jmp 0x140032057
mov rdi, qword [rbp - 0x48]
mov qword [rdi], rcx
jmp case.0x14003241d.107
mov rdi, qword [rbp - 0x48]
mov qword [rdi], rcx
mov eax, edx
jmp 0x14003892e
mov rdi, qword [rbp - 0x48]
mov qword [rdi], rcx
mov eax, 1
jmp 0x14003892e
cmp ebx, 7
mov eax, 1
cmove ebx, eax
jmp case.0x14003241d.107
mov rax, qword [rcx + 0x10]
jmp 0x140038925
lea r9, [0x1400e14ec]
xor r8d, r8d
lea rdx, [0x1400ec850]
mov rcx, rdi
call fcn.14003fe90
xor eax, eax
jmp 0x14003892e
cmp esi, 7
mov eax, 1
cmove esi, eax
mov eax, esi
jmp 0x14003892e
mov r9, qword [0x140116700]
xor r8d, r8d
lea rdx, [0x1400e4a18]
mov rcx, qword [rsp + 0x68]
call fcn.14003fe90
jmp 0x14003892e
mov r9, qword [0x1401166f8]
xor r8d, r8d
lea rdx, [0x1400e49e8]
mov rcx, qword [rsp + 0x68]
call fcn.14003fe90
jmp 0x14003892e
mov rax, qword [rbp - 0x68]
jmp 0x140038925
test rdi, rdi
je 0x140038684
cmp dword [rdi + 0x10], 6
jne 0x14003866e
mov rcx, qword [rdi]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_SafeArrayGetDim]
mov rcx, qword [rdi + 0x18]
test rcx, rcx
je 0x14003867c
call fcn.1400c9b30
mov rcx, rdi
call fcn.1400c9b28
test ebx, ebx
je case.0x14003241d.107
cmp ebx, 8
je case.0x14003241d.107
lea r9, [0x1400e14ec]
xor r8d, r8d
lea rdx, [0x1400e8dd0]
mov rcx, qword [0x140118880]
call fcn.14003fe90
jmp 0x14003892e
mov rdi, qword [rbp - 0x48]
mov qword [rdi], rcx
jmp 0x14003892e
test rdi, rdi
je 0x140038717
cmp dword [rdi + 0x10], 0
jne 0x140038717
mov rcx, qword [0x140116640]
test rcx, rcx
je 0x140038708
cmp byte [rcx + 0x23], 0
jne 0x1400386e6
mov rax, qword [rcx + 0x10]
jmp 0x1400386e9
mov rax, rcx
test byte [rax + 0x21], 2
je 0x140038708
mov rdx, rdi
call fcn.14001beb0
cmp dword [rdi + 0x10], 6
jne 0x140038717
mov rcx, qword [rdi]
mov rax, qword [rcx]
call qword [rax + VariantCopy]
jmp 0x140038717
xor eax, eax
mov dword [rdi + 0x10], eax
mov rax, qword [0x1401166f0]
mov qword [rdi], rax
cmp dword [rbp + 0xa38], 1
mov eax, 7
cmovne ebx, eax
jmp case.0x14003241d.107
mov rax, qword [r10 + 0x28]
test rax, rax
jne 0x140038925
mov eax, 5
jmp 0x14003892e
mov rcx, qword [r10 + 0x28]
test rcx, rcx
je 0x140038752
mov rdi, qword [rbp - 0x48]
mov qword [rdi], rcx
mov eax, 6
jmp 0x14003892e
cmp byte [r10 + 1], 0
jne 0x140038781
lea r9, [0x1400e14ec]
xor r8d, r8d
lea rdx, [0x1400e9320]
mov rcx, r10
call fcn.14003eb70
jmp 0x14003892e
mov ecx, SafeArrayAllocDescriptor
call fcn.1400ca750
mov rdi, rax
mov rcx, qword [rsp + 0x68]
test rax, rax
jne 0x1400387b3
lea r9, [0x1400e14ec]
xor r8d, r8d
lea rdx, [0x1400e4580]
call fcn.14003fe90
jmp 0x14003892e
mov rax, qword [0x140118100]
mov qword [rbp + 0x10], rax
mov rax, qword [0x140118108]
mov qword [rbp + 0xa30], rax
xor eax, eax
mov qword [0x140118100], rax
mov qword [0x140118108], rax
lea rax, [rbp + 0xa30]
mov qword [rsp + 0x20], rax
lea r9, [rbp + 0x10]
mov r8, rdi
xor edx, edx
call fcn.140088200
mov esi, eax
mov rbx, qword [rbp + 0x10]
cmp eax, 1
jne 0x140038825
cmp dword [rdi + 0x10], 0
jne 0x140038825
cmp qword [rdi], rbx
jne 0x140038825
mov qword [rdi + 0x18], rbx
cmp qword [rbp + 0xa30], 0x400000
jbe 0x14003887d
dec dword [0x140118110]
jmp 0x14003887d
test rbx, rbx
je 0x140038863
mov rcx, qword [0x140118100]
test rcx, rcx
je 0x14003884e
call fcn.1400c9b30
cmp qword [0x140118108], 0x400000
jbe 0x14003884e
dec dword [0x140118110]
mov qword [0x140118100], rbx
mov rax, qword [rbp + 0xa30]
mov qword [0x140118108], rax
cmp esi, 1
je 0x140038877
mov rcx, rdi
call fcn.1400c9b28
mov eax, esi
jmp 0x14003892e
xor eax, eax
mov qword [rdi + 0x18], rax
mov r9, qword [rbp - 0x70]
mov qword [r9 + 0x148], rdi
test byte [r9 + 0x140], 2
jne 0x14003889c
mov rcx, qword [rsp + 0x68]
call fcn.1400404b0
xor eax, eax
jmp 0x14003892e
mov rax, qword [0x140112e40]
cmp word [rax], 0
jne 0x1400388d6
cmp dword [0x1401173bc], 0
jne 0x1400388d6
cmp qword [0x1401168f8], 0
jne 0x1400388d6
cmp qword [0x140116900], 0
jne 0x1400388d6
cmp byte [0x140116912], 0
je case.0x14003241d.111
mov eax, 8
jmp 0x14003892e
xor edx, edx
mov rcx, r10
call fcn.14002d7f0
mov r8, rax
mov edx, 6
lea rcx, [0x1401181e0]
call fcn.14001f9b0
jmp 0x14003892e
cmp dword [rbp + 0xa38], 2
je case.0x14003241d.107
lea r9, [0x1400e14ec]
xor r8d, r8d
lea rdx, [0x1400e9360]
mov rcx, r10
call fcn.14003fe90
jmp 0x14003892e
xor eax, eax
jmp 0x14003892e
mov rdi, qword [rbp - 0x48]
mov qword [rdi], rax
mov eax, ebx
lea r11, [rsp + 0xb08]
movaps xmm6, xmmword [r11 - 0x18]
movaps xmm7, xmmword [r11 - 0x28]
movaps xmm8, xmmword [r11 - 0x38]
movaps xmm9, xmmword [r11 - 0x48]
movaps xmm10, xmmword [r11 - 0x58]
movaps xmm11, xmmword [r11 - 0x68]
mov rsp, r11
pop rdi
pop rsi
pop rbx
pop rbp
ret