Function at 0x14007a3c0
Capabilities:
Contain obfuscated stackstrings
Get common file path

Disassembly:
push rbp
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbx
mov eax, 0x15f8
call fcn.14010eaf0
sub rsp, rax
lea rbp, [rsp + 0x80]
movaps xmmword [rbp + 0x1560], xmm6
mov qword [rbp + 0x1550], 0xfffffffffffffffe
mov r8, rdx
mov qword [rbp + 0x1440], rcx
mov qword [rbp + 0x1360], r9
xorps xmm0, xmm0
movaps xmmword [rbp + 0x1450], xmm0
mov qword [rbp + 0x1460], 0
movups xmm0, xmmword [0x140164a48]
movaps xmmword [rbp + 0x13d0], xmm0
movups xmm0, xmmword [0x140164a38]
movaps xmmword [rbp + 0x13c0], xmm0
mov rax, qword [rdx]
lea rdx, [rbp + 0x13c0]
mov qword [rbp + 0x1448], r8
mov rcx, r8
call qword [rax + 0x28]
movabs rsi, 0xffffffff00000001
test eax, eax
je 0x14007aa46
lea rcx, str.FileGroupDescriptorW
call qword [sym.imp.USER32.dll_RegisterClipboardFormatW]
mov word [rbp + 0x13c0], ax
mov qword [rbp + 0x13c8], 0
mov qword [rbp + 0x13d0], rsi
mov dword [rbp + 0x13d8], 1
mov rcx, qword [rbp + 0x1448]
mov rax, qword [rcx]
lea rdx, [rbp + 0x13c0]
call qword [rax + 0x28]
test eax, eax
jne 0x14007b34a
mov rcx, qword [rbp + 0x1448]
mov rax, qword [rcx]
lea rdx, [rbp + 0x13c0]
lea r8, [rbp + 0x1388]
call qword [rax + 0x18]
test eax, eax
jne 0x14007b34a
mov rcx, qword [rbp + 0x1390]
call qword [sym.imp.KERNEL32.dll_GlobalLock]
mov qword [rbp + 0x1540], rax
test rax, rax
je 0x14007b33d
lea rdx, [rbp + 0xfb0]
mov ecx, 0x105
call qword [sym.imp.KERNEL32.dll_GetTempPathW]
test eax, eax
je 0x14007b330
xor esi, esi
lea rdi, [rbp - 0x50]
xorps xmm6, xmm6
lea rbx, [rbp + 0x14f0]
jmp 0x14007a528
mov esi, dword [rbp + 0x1528]
inc esi
mov rax, qword [rbp + 0x1540]
cmp esi, dword [rax]
jae 0x14007b330
lea rcx, str.FileContents
call qword [sym.imp.USER32.dll_RegisterClipboardFormatW]
mov word [rbp + 0x1410], ax
mov qword [rbp + 0x1418], 0
mov dword [rbp + 0x1420], 1
mov dword [rbp + 0x1528], esi
mov dword [rbp + 0x1424], esi
mov dword [rbp + 0x1428], 4
mov rcx, qword [rbp + 0x1448]
mov rax, qword [rcx]
lea rdx, [rbp + 0x1410]
lea r8, [rbp + 0x13e0]
call qword [rax + 0x18]
test eax, eax
jne 0x14007a520
mov r14, qword [rbp + 0x13e8]
mov rax, qword [r14]
mov rcx, r14
lea rdx, [rbp + 0x11c0]
xor r8d, r8d
call qword [rax + 0x60]
test eax, eax
jne 0x14007a520
mov r15, qword [rbp + 0x11c0]
mov rcx, r15
call fcn.1401328d8
mov rsi, rax
movabs rax, 0x7ffffffffffffff0
cmp rsi, rax
jae 0x14007bb5d
cmp rsi, 0xb
jae 0x14007a5f7
mov byte [rbp + 0x14b7], sil
lea r13, [rbp + 0x14a0]
test rsi, rsi
jne 0x14007a635
jmp 0x14007a646
mov r12, rsi
or r12, 7
inc r12
js 0x14007bb87
lea rcx, [r12 + r12]
call fcn.14010e7c0
mov r13, rax
mov qword [rbp + 0x14a0], rax
movabs rax, 0x8000000000000000
or r12, rax
mov qword [rbp + 0x14b0], r12
mov qword [rbp + 0x14a8], rsi
mov r8, rsi
add r8, rsi
mov rcx, r13
mov rdx, r15
call fcn.140111410
mov word [r13 + rsi*2], 0
mov rcx, r15
call qword [sym.imp.ole32.dll_CoTaskMemFree]
cmp byte [rbp + 0x14b7], 0
js 0x14007a67b
mov rax, qword [rbp + 0x14b0]
mov qword [rbp - 0x40], rax
movups xmm0, xmmword [rbp + 0x14a0]
movaps xmmword [rbp - 0x50], xmm0
mov r13, rdi
jmp 0x14007a694
mov rdx, qword [rbp + 0x14a0]
mov r8, qword [rbp + 0x14a8]
mov r13, rdi
mov rcx, rdi
call fcn.140048da0
lea rcx, [rbp + 0xfb0]
call fcn.1401328d8
mov r15, rax
movabs rax, 0x7ffffffffffffff0
cmp r15, rax
jae 0x14007bb51
cmp r15, 0xb
jae 0x14007a6d1
mov byte [rbp + 0x1227], r15b
lea r12, [rbp + 0x1210]
test r15, r15
jne 0x14007a70f
jmp 0x14007a724
mov rsi, r15
or rsi, 7
inc rsi
js 0x14007bb8c
lea rcx, [rsi + rsi]
call fcn.14010e7c0
mov r12, rax
mov qword [rbp + 0x1210], rax
movabs rax, 0x8000000000000000
or rsi, rax
mov qword [rbp + 0x1220], rsi
mov qword [rbp + 0x1218], r15
mov r8, r15
add r8, r15
mov rcx, r12
lea rdx, [rbp + 0xfb0]
call fcn.140111410
movzx r8d, byte [rbp - 0x39]
test r8b, r8b
cmovs r8, qword [rbp - 0x48]
mov word [r12 + r15*2], 0
mov rdx, qword [rbp - 0x50]
cmovns rdx, r13
lea rcx, [rbp + 0x1210]
call fcn.140048e30
mov rcx, qword [rax + 0x10]
mov qword [rbp + 0x1520], rcx
movups xmm0, xmmword [rax]
movaps xmmword [rbp + 0x1510], xmm0
movups xmmword [rax], xmm6
mov qword [rax + 0x10], 0
cmp byte [rbp + 0x1227], 0
mov rsi, rbx
jns 0x14007a784
mov rcx, qword [rbp + 0x1210]
call fcn.14010e7fc
cmp byte [rbp - 0x39], 0
jns 0x14007a793
mov rcx, qword [rbp - 0x50]
call fcn.14010e7fc
movaps xmmword [rbp + 0x14f0], xmm6
mov qword [rbp + 0x1500], 0
movzx eax, byte [rbp + 0x1527]
lea rdx, [rbp + 0x1510]
test al, al
jns 0x14007a7c5
mov rdx, qword [rbp + 0x1510]
mov rax, qword [rbp + 0x1518]
lea r8, [rdx + rax*2]
mov rcx, rsi
call fcn.14001acd0
cmp byte [rbp + 0x1507], 0
jns 0x14007a7e1
mov rsi, qword [rbp + 0x14f0]
lea rcx, [rbp + 0x1210]
mov rdx, rsi
mov r8d, 0x24
mov r9d, 1
call fcn.14001b320
lea rsi, [rbp + 0x13a8]
mov rax, qword [rbp + 0x1210]
movsxd rax, dword [rax + 4]
test byte [rbp + rax + 0x1230], 5
jne 0x14007a9b4
jmp 0x14007a82f
lea rcx, [rbp + 0x1210]
mov rdx, r13
call fcn.14004cd30
mov rax, qword [r14]
mov rcx, r14
mov rdx, r13
mov r8d, 0x1000
mov r9, rsi
call qword [rax + 0x18]
test eax, eax
js 0x14007a854
mov r8d, dword [rbp + 0x13a8]
test r8d, r8d
jne 0x14007a820
mov rax, qword [r14]
mov rcx, r14
call qword [rax + 0x10]
lea rcx, [rbp + 0x1218]
call fcn.14004d7e0
test rax, rax
jne 0x14007a893
mov rax, qword [rbp + 0x1210]
movsxd rax, dword [rax + 4]
lea rcx, [rax + rbp]
add rcx, 0x1210
mov edx, dword [rbp + rax + 0x1230]
or edx, 4
call fcn.14004dc30
lea rcx, [rbp + 0x14d8]
lea rdx, [rbp + 0x1510]
call fcn.1400321c0
cmp byte [rbp + 0x14ef], 0
js 0x14007a8cd
mov rax, qword [rbp + 0x14e8]
mov qword [rbp + 0x1480], rax
movups xmm0, xmmword [rbp + 0x14d8]
movaps xmmword [rbp + 0x1470], xmm0
jmp 0x14007a8e7
mov rdx, qword [rbp + 0x14d8]
mov r8, qword [rbp + 0x14e0]
lea rcx, [rbp + 0x1470]
call fcn.140047b70
mov byte [rbp + 0x1490], 5
mov rdx, qword [rbp + 0x1458]
cmp rdx, qword [rbp + 0x1460]
jae 0x14007a952
mov byte [rdx], 0
mov byte [rdx + 0x20], 0xff
movzx eax, byte [rbp + 0x1490]
cmp rax, 0xff
je 0x14007a945
lea rcx, [rbp + 0x1537]
mov qword [rbp + 0x1538], rdx
lea r8, [rbp + 0x1470]
lea r9, fcn.1400130c0
call qword [r9 + rax*8]
movzx eax, byte [rbp + 0x1490]
mov rdx, qword [rbp + 0x1538]
mov byte [rdx + 0x20], al
add rdx, 0x28
mov qword [rbp + 0x1458], rdx
jmp 0x14007a965
lea rcx, [rbp + 0x1450]
lea rdx, [rbp + 0x1470]
call fcn.140014bc0
movzx eax, byte [rbp + 0x1490]
cmp rax, 0xff
je 0x14007a98d
lea rcx, [rbp + 0x154e]
lea rdx, [rbp + 0x1470]
lea r8, fcn.1400130c0
call qword [r8 + rax*8]
mov byte [rbp + 0x1490], 0xff
cmp byte [rbp + 0x14ef], 0
jns 0x14007a9a9
mov rcx, qword [rbp + 0x14d8]
call fcn.14010e7fc
mov rax, qword [rbp + 0x1210]
movsxd rax, dword [rax + 4]
lea rcx, vtable.std::__u::basic_ofstream_char__struct_std::__u::char_traits_char__.0
mov qword [rbp + rax + 0x1210], rcx
lea rsi, [rbp + 0x1218]
mov rcx, rsi
call fcn.14004d6c0
mov rcx, rsi
call fcn.1400130c0
lea rcx, [rbp + 0x12c0]
call fcn.14004b2a0
cmp byte [rbp + 0x1507], 0
js 0x14007aa07
cmp byte [rbp + 0x1527], 0
js 0x14007aa1c
cmp byte [rbp + 0x14b7], 0
jns 0x14007a520
jmp 0x14007aa35
mov rcx, qword [rbp + 0x14f0]
call fcn.14010e7fc
cmp byte [rbp + 0x1527], 0
jns 0x14007a9f8
mov rcx, qword [rbp + 0x1510]
call fcn.14010e7fc
cmp byte [rbp + 0x14b7], 0
jns 0x14007a520
mov rcx, qword [rbp + 0x14a0]
call fcn.14010e7fc
jmp 0x14007a520
mov rcx, qword [rbp + 0x1448]
mov rax, qword [rcx]
lea rdx, [rbp + 0x13c0]
lea r8, [rbp + 0x1388]
call qword [rax + 0x18]
test eax, eax
jne 0x14007b34a
mov rcx, qword [rbp + 0x1390]
call qword [sym.imp.KERNEL32.dll_GlobalLock]
test rax, rax
je 0x14007b33d
mov r15, rax
mov rcx, rax
mov edx, 0xffffffff
xor r8d, r8d
xor r9d, r9d
call qword [sym.imp.SHELL32.dll_DragQueryFileW]
mov r12d, eax
lea r14, [rbp - 0x20]
lea r13, [rbp + 0xfb0]
xorps xmm6, xmm6
xor ebx, ebx
mov qword [rbp + 0x1538], r15
mov dword [rbp + 0x13a4], eax
jmp 0x14007aacf
cmp byte [rbp + 0x1487], 0
js 0x14007ad00
inc ebx
cmp ebx, r12d
jae 0x14007b330
mov rcx, r15
mov edx, ebx
mov r8, r13
mov r9d, 0x208
call qword [sym.imp.SHELL32.dll_DragQueryFileW]
mov rcx, r13
call fcn.1401328d8
mov rsi, rax
movabs rax, 0x7ffffffffffffff0
cmp rsi, rax
jae 0x14007bb01
cmp rsi, 0xb
mov dword [rbp + 0x1528], ebx
jae 0x14007ab30
mov byte [rbp + 0x1487], sil
lea rdi, [rbp + 0x1470]
test rsi, rsi
jne 0x14007ab6e
jmp 0x14007ab7f
mov rbx, rsi
or rbx, 7
inc rbx
js 0x14007bb0d
lea rcx, [rbx + rbx]
call fcn.14010e7c0
mov rdi, rax
mov qword [rbp + 0x1470], rax
movabs rax, 0x8000000000000000
or rbx, rax
mov qword [rbp + 0x1480], rbx
mov qword [rbp + 0x1478], rsi
mov r8, rsi
add r8, rsi
mov rcx, rdi
mov rdx, r13
call fcn.140111410
mov word [rdi + rsi*2], 0
lea rdi, [rbp + 0x1210]
mov rcx, rdi
lea rdx, str...bmp_
mov r8d, 0x200
call fcn.14007cdf0
movzx eax, byte [rbp + 0x1487]
lea rcx, [rbp + 0x1470]
test al, al
jns 0x14007abc1
mov rcx, qword [rbp + 0x1470]
mov rax, qword [rbp + 0x1478]
lea rdx, [rcx + rax*2]
movups xmmword [r14], xmm6
mov byte [r14 + 0x10], 0
movups xmmword [r14 + 0x18], xmm6
mov byte [r14 + 0x28], 0
mov byte [rbp + 0x10], 0
mov qword [rbp + 0x18], 0
movaps xmmword [rbp - 0x50], xmm6
movaps xmmword [rbp - 0x40], xmm6
movups xmmword [rbp - 0x37], xmm6
mov dword [rsp + 0x20], 0
lea r8, [rbp - 0x50]
mov r9, rdi
call fcn.1400859c0
mov ebx, eax
mov rcx, qword [rbp - 0x50]
test rcx, rcx
je 0x14007ac18
mov qword [rbp - 0x48], rcx
call fcn.14010e7fc
mov rsi, qword [rbp + 0x1240]
test rsi, rsi
je 0x14007ac43
mov eax, 0xffffffff
lock xadd dword [rsi + 8], eax
test eax, eax
jne 0x14007ac43
mov rax, qword [rsi]
mov rcx, rsi
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
mov rcx, rsi
call fcn.14004da50
mov rcx, rdi
call fcn.140050c60
test bl, bl
mov ebx, dword [rbp + 0x1528]
je 0x14007b230
mov ecx, 0x105
lea rdx, [rbp - 0x50]
call qword [sym.imp.KERNEL32.dll_GetTempPathW]
test eax, eax
je 0x14007b230
movaps xmmword [rbp + 0x1410], xmm6
mov qword [rbp + 0x1420], 0
movzx eax, byte [rbp + 0x1487]
lea rdx, [rbp + 0x1470]
test al, al
jns 0x14007aca2
mov rdx, qword [rbp + 0x1470]
mov rax, qword [rbp + 0x1478]
lea r8, [rdx + rax*2]
lea r13, [rbp + 0x1410]
mov rcx, r13
call fcn.14001acd0
mov rcx, r13
lea rdx, [rbp + 0x1510]
call fcn.140070540
mov rbx, qword [rbp + 0x1518]
movabs rax, 0x7ffffffffffffff0
cmp rbx, rax
jae 0x14007bb1e
mov rsi, qword [rbp + 0x1510]
cmp rbx, 0xb
jae 0x14007ad11
mov byte [rbp + 0x1227], bl
test rbx, rbx
jne 0x14007ad4f
jmp 0x14007ad5e
mov rcx, qword [rbp + 0x1470]
call fcn.14010e7fc
jmp 0x14007aacd
mov r14, rbx
or r14, 7
inc r14
js 0x14007bb4c
lea rcx, [r14 + r14]
call fcn.14010e7c0
mov rdi, rax
mov qword [rbp + 0x1210], rax
movabs rax, 0x8000000000000000
or r14, rax
mov qword [rbp + 0x1220], r14
mov qword [rbp + 0x1218], rbx
lea r8, [rbx + rbx]
mov rcx, rdi
mov rdx, rsi
call fcn.140111410
mov word [rdi + rbx*2], 0
mov rax, qword [rbp + 0x1220]
mov qword [rbp + 0x14b0], rax
movups xmm0, xmmword [rbp + 0x1210]
movaps xmmword [rbp + 0x14a0], xmm0
movzx ebx, byte [rbp + 0x14b7]
lea rdi, [rbp + 0x14a0]
test bl, bl
jns 0x14007ad99
mov rdi, qword [rbp + 0x14a0]
mov rcx, rdi
call fcn.1401328d8
mov rsi, rax
movabs rax, 0x7ffffffffffffff0
cmp rsi, rax
jae 0x14007bb2a
cmp rsi, 0xb
jae 0x14007add2
mov byte [rbp + 0x1227], sil
lea rbx, [rbp + 0x1210]
test rsi, rsi
jne 0x14007ae16
jmp 0x14007ae27
mov r14, rsi
or r14, 7
inc r14
js 0x14007bb3c
lea rcx, [r14 + r14]
mov byte [rbp + 0x154d], bl
call fcn.14010e7c0
mov rbx, rax
mov qword [rbp + 0x1210], rax
movabs rax, 0x8000000000000000
or r14, rax
mov qword [rbp + 0x1220], r14
mov qword [rbp + 0x1218], rsi
mov r8, rsi
add r8, rsi
mov rcx, rbx
mov rdx, rdi
call fcn.140111410
mov word [rbx + rsi*2], 0
mov byte [rbp + 0x1507], 3
movabs rax, 0x5f0073006e
mov qword [rbp + 0x14f0], rax
lea rcx, [rbp - 0x50]
call fcn.1401328d8
mov rsi, rax
movabs rax, 0x7ffffffffffffff0
cmp rsi, rax
jae 0x14007bb12
cmp rsi, 0xb
jae 0x14007ae7f
mov byte [rbp + 0x14ef], sil
lea rdi, [rbp + 0x14d8]
test rsi, rsi
jne 0x14007aebd
jmp 0x14007aecf
mov rbx, rsi
or rbx, 7
inc rbx
js 0x14007bb47
lea rcx, [rbx + rbx]
call fcn.14010e7c0
mov rdi, rax
mov qword [rbp + 0x14d8], rax
movabs rax, 0x8000000000000000
or rbx, rax
mov qword [rbp + 0x14e8], rbx
mov qword [rbp + 0x14e0], rsi
mov r8, rsi
add r8, rsi
mov rcx, rdi
lea rdx, [rbp - 0x50]
call fcn.140111410
movzx r8d, byte [rbp + 0x1507]
test r8b, r8b
cmovs r8, qword [rbp + 0x14f8]
mov word [rdi + rsi*2], 0
mov rdx, qword [rbp + 0x14f0]
lea rax, [rbp + 0x14f0]
cmovns rdx, rax
lea rcx, [rbp + 0x14d8]
call fcn.140048e30
mov rcx, qword [rax + 0x10]
mov qword [rbp + 0x1520], rcx
movups xmm0, xmmword [rax]
movaps xmmword [rbp + 0x1510], xmm0
movups xmmword [rax], xmm6
mov qword [rax + 0x10], 0
movzx r8d, byte [rbp + 0x1227]
test r8b, r8b
cmovs r8, qword [rbp + 0x1218]
mov rdx, qword [rbp + 0x1210]
lea rsi, [rbp + 0x1210]
cmovns rdx, rsi
lea rcx, [rbp + 0x1510]
call fcn.140048e30
mov rcx, qword [rax + 0x10]
mov qword [rbp + 0x13f0], rcx
movups xmm0, xmmword [rax]
movaps xmmword [rbp + 0x13e0], xmm0
movups xmmword [rax], xmm6
mov qword [rax + 0x10], 0
cmp byte [rbp + 0x1527], 0
js 0x14007b048
cmp byte [rbp + 0x14ef], 0
js 0x14007b061
cmp byte [rbp + 0x1507], 0
js 0x14007b07a
cmp byte [rbp + 0x1227], 0
js 0x14007b093
cmp byte [rbp + 0x14b7], 0
js 0x14007b0ac
movaps xmmword [rbp + 0x1210], xmm6
mov qword [rbp + 0x1220], 0
movzx eax, byte [rbp + 0x13f7]
lea rdx, [rbp + 0x13e0]
test al, al
jns 0x14007afea
mov rdx, qword [rbp + 0x13e0]
mov rax, qword [rbp + 0x13e8]
lea r8, [rdx + rax*2]
mov rcx, rsi
call fcn.14001acd0
mov rcx, r13
mov rdx, rsi
xor r8d, r8d
xor r9d, r9d
call fcn.1400725e0
lea rcx, [rbp + 0x13a8]
lea rdx, [rbp + 0x13e0]
call fcn.1400321c0
cmp byte [rbp + 0x13bf], 0
js 0x14007b0bd
mov rax, qword [rbp + 0x13b8]
mov qword [rbp + 0x11d0], rax
movups xmm0, xmmword [rbp + 0x13a8]
movaps xmmword [rbp + 0x11c0], xmm0
jmp 0x14007b0d7
mov rcx, qword [rbp + 0x1510]
call fcn.14010e7fc
cmp byte [rbp + 0x14ef], 0
jns 0x14007af91
mov rcx, qword [rbp + 0x14d8]
call fcn.14010e7fc
cmp byte [rbp + 0x1507], 0
jns 0x14007af9e
mov rcx, qword [rbp + 0x14f0]
call fcn.14010e7fc
cmp byte [rbp + 0x1227], 0
jns 0x14007afab
mov rcx, qword [rbp + 0x1210]
call fcn.14010e7fc
cmp byte [rbp + 0x14b7], 0
jns 0x14007afb8
mov rcx, qword [rbp + 0x14a0]
call fcn.14010e7fc
jmp 0x14007afb8
mov rdx, qword [rbp + 0x13a8]
mov r8, qword [rbp + 0x13b0]
lea rcx, [rbp + 0x11c0]
call fcn.140047b70
mov byte [rbp + 0x11e0], 5
mov rdx, qword [rbp + 0x1458]
cmp rdx, qword [rbp + 0x1460]
jae 0x14007b142
mov byte [rdx], 0
mov byte [rdx + 0x20], 0xff
movzx eax, byte [rbp + 0x11e0]
cmp rax, 0xff
je 0x14007b135
lea rcx, [rbp + 0x1537]
mov qword [rbp + 0x1540], rdx
lea r8, [rbp + 0x11c0]
lea r9, fcn.1400130c0
call qword [r9 + rax*8]
movzx eax, byte [rbp + 0x11e0]
mov rdx, qword [rbp + 0x1540]
mov byte [rdx + 0x20], al
add rdx, 0x28
mov qword [rbp + 0x1458], rdx
jmp 0x14007b155
lea rcx, [rbp + 0x1450]
lea rdx, [rbp + 0x11c0]
call fcn.140014bc0
movzx eax, byte [rbp + 0x11e0]
cmp rax, 0xff
je 0x14007b17d
lea rcx, [rbp + 0x14a0]
lea rdx, [rbp + 0x11c0]
lea r8, fcn.1400130c0
call qword [r8 + rax*8]
mov byte [rbp + 0x11e0], 0xff
cmp byte [rbp + 0x13bf], 0
jns 0x14007b199
mov rcx, qword [rbp + 0x13a8]
call fcn.14010e7fc
mov dword [rbp + 0x1540], 0
cmp byte [rbp + 0x1227], 0
jns 0x14007b1b8
mov rcx, qword [rbp + 0x1210]
call fcn.14010e7fc
cmp byte [rbp + 0x13f7], 0
mov r15, qword [rbp + 0x1538]
mov r12d, dword [rbp + 0x13a4]
lea r14, [rbp - 0x20]
lea r13, [rbp + 0xfb0]
lea rdi, [rbp + 0x1210]
xorps xmm6, xmm6
mov ebx, dword [rbp + 0x1528]
js 0x14007b202
cmp byte [rbp + 0x1427], 0
js 0x14007b217
cmp byte [rbp + 0x1540], 0
je 0x14007aac0
jmp 0x14007b230
mov rcx, qword [rbp + 0x13e0]
call fcn.14010e7fc
cmp byte [rbp + 0x1427], 0
jns 0x14007b1f3
mov rcx, qword [rbp + 0x1410]
call fcn.14010e7fc
cmp byte [rbp + 0x1540], 0
je 0x14007aac0
mov rcx, rdi
lea rdx, [rbp + 0x1470]
call fcn.1400321c0
cmp byte [rbp + 0x1227], 0
js 0x14007b260
mov rax, qword [rbp + 0x1220]
mov qword [rbp - 0x40], rax
movups xmm0, xmmword [rbp + 0x1210]
movaps xmmword [rbp - 0x50], xmm0
jmp 0x14007b277
mov rdx, qword [rbp + 0x1210]
mov r8, qword [rbp + 0x1218]
lea rcx, [rbp - 0x50]
call fcn.140047b70
mov byte [rbp - 0x30], 5
mov rdx, qword [rbp + 0x1458]
cmp rdx, qword [rbp + 0x1460]
jae 0x14007b2e0
mov byte [rdx], 0
mov byte [rdx + 0x20], 0xff
movzx eax, byte [rbp - 0x30]
cmp rax, 0xff
je 0x14007b2c9
lea rcx, [rbp + 0x13e0]
mov qword [rbp + 0x1528], rdx
lea r8, [rbp - 0x50]
lea r9, fcn.1400130c0
call qword [r9 + rax*8]
movzx eax, byte [rbp - 0x30]
mov rdx, qword [rbp + 0x1528]
mov byte [rdx + 0x20], al
add rdx, 0x28
mov qword [rbp + 0x1458], rdx
jmp 0x14007b2f0
lea rcx, [rbp + 0x1450]
lea rdx, [rbp - 0x50]
call fcn.140014bc0
movzx eax, byte [rbp - 0x30]
cmp rax, 0xff
je 0x14007b312
lea rcx, [rbp + 0x1410]
lea rdx, [rbp - 0x50]
lea r8, fcn.1400130c0
call qword [r8 + rax*8]
cmp byte [rbp + 0x1227], 0
jns 0x14007aac0
mov rcx, qword [rbp + 0x1210]
call fcn.14010e7fc
jmp 0x14007aac0
mov rcx, qword [rbp + 0x1390]
call qword [sym.imp.KERNEL32.dll_GlobalUnlock]
lea rcx, [rbp + 0x1388]
call qword [sym.imp.ole32.dll_ReleaseStgMedium]
mov dword [rbp + 0x14db], 0
mov dword [rbp + 0x14d8], 0
mov word [rbp + 0x13c0], 0xd
mov qword [rbp + 0x13c8], 0
movabs rax, 0xffffffff00000001
mov qword [rbp + 0x13d0], rax
mov dword [rbp + 0x13d8], 1
mov rcx, qword [rbp + 0x1448]
mov rax, qword [rcx]
mov rax, qword [rax + 0x28]
mov byte [rbp + 0x154f], 0
mov qword [rbp + 0x14d0], 0
lea rdx, [rbp + 0x13c0]
call rax
test eax, eax
jne 0x14007b3f2
mov rcx, qword [rbp + 0x1448]
mov rax, qword [rcx]
mov rax, qword [rax + 0x18]
mov byte [rbp + 0x154f], 0
mov qword [rbp + 0x14d0], 0
lea rdx, [rbp + 0x13c0]
lea r8, [rbp + 0x1388]
call rax
test eax, eax
je 0x14007b9aa
xor eax, eax
mov qword [rbp + 0x1540], rax
xor esi, esi
xor eax, eax
mov qword [rbp + 0x1538], rax
mov r12, qword [rbp + 0x1440]
mov qword [rbp + 0xfb0], 0x65707974
mov byte [rbp + 0xfc7], 4
mov byte [rbp + 0xfd0], 5
mov qword [rbp + 0x1210], 0x706f7264
mov byte [rbp + 0x1227], 4
mov byte [rbp + 0x1230], 5
lea rcx, [rbp - 0x50]
mov qword [rbp + 0x1370], rcx
mov byte [rbp + 0x154a], 1
lea rdx, [rbp + 0xfb0]
lea r8, [rbp + 0x1210]
call fcn.140047700
movabs rax, 0x73656c6966
mov qword [rbp + 0x1470], rax
mov byte [rbp + 0x1487], 5
mov byte [rbp + 0x1490], 5
xorps xmm0, xmm0
movaps xmmword [rbp + 0x1410], xmm0
mov qword [rbp + 0x1420], 0
mov rdx, qword [rbp + 0x1450]
mov r8, qword [rbp + 0x1458]
mov rax, r8
sub rax, rdx
sar rax, 3
movabs r9, 0xcccccccccccccccd
imul r9, rax
lea rcx, [rbp + 0x1410]
call fcn.140015510
lea rdi, [rbp]
mov byte [rbp + 0x1430], 0xa
mov qword [rbp + 0x1378], rdi
mov byte [rbp + 0x154b], 1
lea rdx, [rbp + 0x1470]
lea r8, [rbp + 0x1410]
mov rcx, rdi
call fcn.140047700
mov qword [rbp + 0x13e0], 0x74786574
mov byte [rbp + 0x13f7], 4
mov byte [rbp + 0x1400], 5
mov rdx, qword [rbp + 0x1540]
test dl, dl
js 0x14007b552
mov rax, qword [rbp + 0x1538]
mov qword [rbp + 0x14a0], rax
mov qword [rbp + 0x14a8], rsi
mov eax, dword [rbp + 0x14d8]
mov ecx, dword [rbp + 0x14db]
mov dword [rbp + 0x14b0], eax
mov dword [rbp + 0x14b3], ecx
mov byte [rbp + 0x14b7], dl
jmp 0x14007b568
lea rcx, [rbp + 0x14a0]
mov rdx, qword [rbp + 0x1538]
mov r8, rsi
call fcn.140047b70
lea rcx, [rbp + 0x50]
mov byte [rbp + 0x14c0], 5
mov byte [rbp + 0x154c], 1
lea rdx, [rbp + 0x13e0]
lea r8, [rbp + 0x14a0]
call fcn.140047700
lea rsi, [rbp + 0x1518]
xorps xmm0, xmm0
movups xmmword [rbp + 0x1518], xmm0
mov qword [rbp + 0x1510], rsi
lea r9, [rbp - 0x50]
mov qword [rsp + 0x20], r9
lea rcx, [rbp + 0x1510]
lea rdx, [rbp + 0x14f0]
mov r8, rsi
call fcn.140015730
mov qword [rsp + 0x20], rdi
lea rcx, [rbp + 0x1510]
lea rdx, [rbp + 0x14f0]
mov r8, rsi
mov r9, rdi
call fcn.140015730
lea r9, [rbp + 0x50]
mov qword [rsp + 0x20], r9
lea rcx, [rbp + 0x1510]
lea rdx, [rbp + 0x14f0]
mov r8, rsi
call fcn.140015730
movzx eax, byte [rbp + 0x98]
cmp rax, 0xff
je 0x14007b626
lea rdx, [rbp + 0x78]
lea r8, fcn.1400130c0
lea rcx, [rbp + 0x14f0]
call qword [r8 + rax*8]
mov byte [rbp + 0x98], 0xff
movzx eax, byte [rbp + 0x70]
cmp rax, 0xff
je 0x14007b64f
lea rdx, [rbp + 0x50]
lea r8, fcn.1400130c0
lea rcx, [rbp + 0x14f0]
call qword [r8 + rax*8]
mov byte [rbp + 0x70], 0xff
movzx eax, byte [rbp + 0x48]
cmp rax, 0xff
je 0x14007b675
lea rdx, [rbp + 0x28]
lea r8, fcn.1400130c0
lea rcx, [rbp + 0x14f0]
call qword [r8 + rax*8]
mov byte [rbp + 0x48], 0xff
movzx eax, byte [rbp + 0x20]
cmp rax, 0xff
je 0x14007b69b
lea rdx, [rbp]
lea r8, fcn.1400130c0
lea rcx, [rbp + 0x14f0]
call qword [r8 + rax*8]
mov byte [rbp + 0x20], 0xff
movzx eax, byte [rbp - 8]
cmp rax, 0xff
je 0x14007b6c1
lea rdx, [rbp - 0x28]
lea r8, fcn.1400130c0
lea rcx, [rbp + 0x14f0]
call qword [r8 + rax*8]
mov byte [rbp - 8], 0xff
movzx eax, byte [rbp - 0x30]
cmp rax, 0xff
je 0x14007b6e7
lea r8, fcn.1400130c0
lea rcx, [rbp + 0x14f0]
lea rdx, [rbp - 0x50]
call qword [r8 + rax*8]
mov byte [rbp - 0x30], 0xff
movzx eax, byte [rbp + 0x14c0]
cmp rax, 0xff
je 0x14007b713
lea r8, fcn.1400130c0
lea rcx, [rbp + 0x14f0]
lea rdx, [rbp + 0x14a0]
call qword [r8 + rax*8]
movzx eax, byte [rbp + 0x1400]
cmp rax, 0xff
je 0x14007b73b
lea r8, fcn.1400130c0
lea rcx, [rbp + 0x14a0]
lea rdx, [rbp + 0x13e0]
call qword [r8 + rax*8]
movzx eax, byte [rbp + 0x1430]
cmp rax, 0xff
je 0x14007b763
lea r8, fcn.1400130c0
lea rcx, [rbp + 0x13e0]
lea rdx, [rbp + 0x1410]
call qword [r8 + rax*8]
movzx eax, byte [rbp + 0x1490]
cmp rax, 0xff
je 0x14007b78b
lea r8, fcn.1400130c0
lea rcx, [rbp + 0x1410]
lea rdx, [rbp + 0x1470]
call qword [r8 + rax*8]
movzx eax, byte [rbp + 0x1230]
cmp rax, 0xff
je 0x14007b7b3
lea r8, fcn.1400130c0
lea rcx, [rbp + 0x1470]
lea rdx, [rbp + 0x1210]
call qword [r8 + rax*8]
movzx eax, byte [rbp + 0xfd0]
cmp rax, 0xff
je 0x14007b7db
lea r8, fcn.1400130c0
lea rcx, [rbp + 0x1210]
lea rdx, [rbp + 0xfb0]
call qword [r8 + rax*8]
mov rdi, qword [r12 + 8]
mov qword [rbp + 0x1380], 0
mov byte [rbp + 0x1549], 1
mov ecx, 0x28
call fcn.14010e7c0
mov rbx, rax
add rbx, 8
xorps xmm0, xmm0
movups xmmword [rax + 8], xmm0
mov qword [rax], rbx
mov r15, qword [rbp + 0x1510]
cmp r15, rsi
je 0x14007b87e
lea r14, [rbp - 0x50]
mov qword [rbp + 0x1528], rax
jmp 0x14007b83f
mov r15, rax
cmp rax, rsi
mov rax, qword [rbp + 0x1528]
je 0x14007b87e
lea r9, [r15 + 0x20]
mov qword [rsp + 0x20], r9
mov rcx, rax
mov rdx, r14
mov r8, rbx
call fcn.140015730
mov rcx, qword [r15 + 8]
test rcx, rcx
je 0x14007b870
nop
mov rax, rcx
mov rcx, qword [rcx]
test rcx, rcx
jne 0x14007b860
jmp 0x14007b830
mov rax, qword [r15 + 0x10]
cmp qword [rax], r15
mov r15, rax
jne 0x14007b870
jmp 0x14007b830
mov byte [rax + 0x20], VariantTimeToDosDateTime
mov qword [rbp + 0x1368], rax
mov byte [rbp - 0x39], VariantTimeToDosDateTime
movabs rax, 0x7645676172446e6f
mov qword [rbp - 0x50], rax
mov dword [rbp - 0x49], 0x746e6576
mov byte [rbp - 0x45], 0
lea rdx, [rbp - 0x50]
lea r8, [rbp + 0x1368]
lea r9, [rbp + 0x1380]
mov rcx, rdi
call fcn.140010620
mov rsi, qword [rbp + 0x15e0]
cmp byte [rbp - 0x39], 0
jns 0x14007b8d6
mov rcx, qword [rbp - 0x50]
call fcn.14010e7fc
mov dword [rsi], 1
mov rcx, qword [r12 + 0x20]
test rcx, rcx
je 0x14007b900
mov rax, qword [rcx]
lea r8, [rbp + 0x1360]
mov rdx, qword [rbp + 0x1448]
mov r9d, 1
call qword [rax + 0x30]
mov rdx, qword [rbp + 0x1518]
lea rcx, [rbp + 0x1510]
call fcn.140013220
cmp byte [rbp + 0x1540], 0
jns 0x14007b928
mov rcx, qword [rbp + 0x1538]
call fcn.14010e7fc
mov rbx, qword [rbp + 0x1450]
test rbx, rbx
je 0x14007b98d
mov r14, qword [rbp + 0x1458]
mov rcx, rbx
cmp r14, rbx
je 0x14007b981
lea r15, fcn.1400130c0
lea rsi, [rbp - 0x50]
jmp 0x14007b95d
mov byte [r14 - 8], 0xff
mov r14, rdi
cmp rdi, rbx
je 0x14007b97a
lea rdi, [r14 - 0x28]
movzx eax, byte [r14 - 8]
cmp rax, 0xff
je 0x14007b950
mov rcx, rsi
mov rdx, rdi
call qword [r15 + rax*8]
jmp 0x14007b950
mov rcx, qword [rbp + 0x1450]
mov qword [rbp + 0x1458], rbx
call fcn.14010e7fc
xor eax, eax
movaps xmm6, xmmword [rbp + 0x1560]
add rsp, 0x15f8
pop rbx
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
pop rbp
ret
mov rcx, qword [rbp + 0x1390]
call qword [sym.imp.KERNEL32.dll_GlobalLock]
test rax, rax
je 0x14007ba02
mov rdi, rax
mov rcx, rax
call fcn.1401328d8
mov rsi, rax
movabs rax, 0x7ffffffffffffff0
cmp rsi, rax
jae 0x14007bb69
cmp rsi, 0xb
mov r12, qword [rbp + 0x1440]
jae 0x14007ba1b
mov byte [rbp + 0xfc7], sil
lea rbx, [rbp + 0xfb0]
test rsi, rsi
jne 0x14007ba72
jmp 0x14007ba83
xor edi, edi
xor esi, esi
xor eax, eax
mov qword [rbp + 0x1538], rax
mov r12, qword [rbp + 0x1440]
jmp 0x14007bae8
mov r14, rsi
or r14, 7
inc r14
js 0x14007bb91
lea rcx, [r14 + r14]
mov byte [rbp + 0x154f], 0
mov qword [rbp + 0x14d0], 0
call fcn.14010e7c0
mov rbx, rax
mov qword [rbp + 0xfb0], rax
movabs rax, 0x8000000000000000
or r14, rax
mov qword [rbp + 0xfc0], r14
mov qword [rbp + 0xfb8], rsi
mov r12, qword [rbp + 0x1440]
mov r8, rsi
add r8, rsi
mov rcx, rbx
mov rdx, rdi
call fcn.140111410
mov word [rbx + rsi*2], 0
lea rcx, [rbp - 0x50]
lea rdx, [rbp + 0xfb0]
call fcn.1400321c0
mov rax, qword [rbp - 0x50]
mov qword [rbp + 0x1538], rax
mov rsi, qword [rbp - 0x48]
mov eax, dword [rbp - 0x40]
mov dword [rbp + 0x14d8], eax
mov eax, dword [rbp - 0x3d]
mov dword [rbp + 0x14db], eax
movzx edi, byte [rbp - 0x39]
mov byte [rbp - 0x39], 0
mov byte [rbp - 0x50], 0
cmp byte [rbp + 0xfc7], 0
jns 0x14007badb
mov rcx, qword [rbp + 0xfb0]
call fcn.14010e7fc
mov rcx, qword [rbp + 0x1390]
call qword [sym.imp.KERNEL32.dll_GlobalUnlock]
mov qword [rbp + 0x1540], rdi
lea rcx, [rbp + 0x1388]
call qword [sym.imp.ole32.dll_ReleaseStgMedium]
jmp 0x14007b40d
lea rcx, [rbp + 0x1470]
call fcn.1400132f0
call fcn.140012fe0
lea rcx, [rbp + 0x14d8]
call fcn.1400132f0
lea rcx, [rbp + 0x1210]
call fcn.1400132f0
mov byte [rbp + 0x154d], bl
lea rcx, [rbp + 0x1210]
call fcn.1400132f0
mov byte [rbp + 0x154d], bl
call fcn.140012fe0
call fcn.140012fe0
call fcn.140012fe0
lea rcx, [rbp + 0x1210]
call fcn.1400132f0
lea rcx, [rbp + 0x14a0]
call fcn.1400132f0
mov byte [rbp + 0x154f], 0
mov qword [rbp + 0x14d0], 0
lea rcx, [rbp + 0xfb0]
call fcn.1400132f0
call fcn.140012fe0
call fcn.140012fe0
mov byte [rbp + 0x154f], 0
mov qword [rbp + 0x14d0], 0
call fcn.140012fe0
int3