Function at 0x140001ac0
Capabilities:
Check for foreground window switch
Check for software breakpoints
Check for time delay via gettickcount
Get graphical window text
Log keystrokes via polling
Set current directory

Disassembly:
mov dword [rsp + 8], ecx
push rbp
push rbx
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x13c8]
mov eax, 0x14c8
call fcn.1400d1910
sub rsp, rax
mov qword [rbp + 0x1a0], 0xfffffffffffffffe
movaps xmmword [rsp + 0x14b0], xmm7
mov edi, edx
mov esi, ecx
mov byte [rsp + 0x4a], 0
mov r12d, 1
cmp edx, 2
jne 0x140001b24
mov edi, r12d
cmp byte [0x14011789e], 0
jne 0x140001b24
mov byte [0x14011789e], dil
mov byte [rsp + 0x4a], dil
xor ebx, ebx
cmp dword [0x140119dd4], ebx
je 0x140001b5e
cmp qword [0x140119db8], rbx
je 0x140001b4b
mov rcx, qword [0x140119da8]
call qword [sym.imp.KERNEL32.dll_GlobalUnlock]
mov qword [0x140119db8], rbx
call qword [sym.imp.USER32.dll_CloseClipboard]
mov dword [0x140119dd4], ebx
mov qword [0x140119da8], rbx
cmp esi, 0x8000012f
jne 0x140001b7a
mov esi, 0xa
mov dword [rbp + 0x1410], esi
mov byte [rbp + 0x1420], r12b
jmp 0x140001b8a
cmp esi, 5
setle al
mov byte [rbp + 0x1420], al
test al, al
je 0x140001b8f
mov dword [rbp - 0x60], ebx
jmp 0x140001b98
call qword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [rbp - 0x60], eax
cmp dword [0x140118320], ebx
je 0x140001ba5
call fcn.1400045b0
xor r15b, r15b
mov dword [rsp + 0x44], r15d
cmp dword [0x140119cac], ebx
je 0x140001bc9
call fcn.140004260
movzx r15d, r15b
test al, al
cmovne r15d, r12d
mov dword [rsp + 0x44], r15d
test esi, esi
jle 0x140001c09
cmp edi, r12d
jne 0x140001c09
mov byte [rsp + 0x49], r12b
inc dword [0x1401178ac]
cmp byte [0x140117898], bl
jne 0x140001c0d
xor r9d, r9d
lea edx, [r9 + 9]
lea r8d, [r9 + 0xa]
mov rcx, qword [0x140117710]
call qword [sym.imp.USER32.dll_SetTimer]
test rax, rax
setne byte [0x140117898]
jmp 0x140001c0d
mov byte [rsp + 0x49], bl
xor r14b, r14b
mov byte [rbp + 0x1428], r14b
xor sil, sil
mov byte [rbp + 0x1418], sil
mov r13d, ebx
movsxd rax, edi
mov qword [rbp + 0x28], rax
movsd xmm7, qword [0x140100db8]
mov rax, qword [rbp + 0x1420]
mov qword [rbp - 0x58], rax
mov edi, dword [rbp + 0x1410]
movzx r12d, byte [rbp + 0x1420]
jmp 0x140001cde
mov edi, dword [rbp + 0x1410]
mov r15d, dword [rsp + 0x44]
movzx r12d, byte [rbp + 0x1420]
jmp 0x140002bf7
mov edi, dword [rbp + 0x1410]
mov r15d, dword [rsp + 0x44]
jmp 0x140002bf7
mov edi, dword [rbp + 0x1410]
mov r15d, dword [rsp + 0x44]
jmp 0x140001cde
movzx r12d, byte [rbp + 0x1420]
movzx r14d, byte [rbp + 0x1428]
jmp 0x140001cd4
mov r15d, dword [rsp + 0x44]
jmp 0x140002bf0
mov r15d, dword [rsp + 0x44]
movzx r12d, byte [rbp + 0x1420]
jmp 0x140001cde
movzx r12d, byte [rbp + 0x1420]
jmp 0x140001cd4
mov r15d, dword [rsp + 0x44]
jmp 0x140002be8
movzx r14d, byte [rbp + 0x1428]
movzx esi, byte [rbp + 0x1418]
mov r15d, dword [rsp + 0x44]
mov r13d, dword [rsp + 0x40]
call qword [sym.imp.KERNEL32.dll_GetTickCount]
mov ebx, eax
test edi, edi
jle 0x140001daf
test sil, sil
jne 0x140001daf
cmp byte [0x14011789e], sil
jne 0x140001dbc
cmp dword [0x140112454], 0
je 0x140001d63
cmp dword [0x1401178f0], 0
jne 0x140001d63
mov rcx, qword [0x140112488]
cmp byte [rcx + 0x12c], sil
jne 0x140001d5a
cmp byte [rcx + 0x12e], sil
jne 0x140001d5a
cmp dword [rcx + 0x120], 0xffffffff
jle 0x140001d5a
call qword [sym.imp.KERNEL32.dll_GetTickCount]
mov rcx, qword [0x140112488]
sub eax, dword [rcx + 0x11c]
cmp eax, dword [rcx + 0x120]
jb 0x140001d5a
mov byte [rcx + 0x12c], 1
movzx eax, byte [rcx + 0x12c]
jmp 0x140001d67
xor edx, edx
mov eax, edx
mov r9d, 0x311
test eax, eax
mov eax, 0
cmovne r9d, eax
xor r8d, r8d
xor edx, edx
lea rcx, [rsp + 0x68]
call qword [sym.imp.USER32.dll_GetMessageW]
cmp eax, 0xffffffff
je 0x140001cde
call qword [sym.imp.KERNEL32.dll_GetTickCount]
mov ecx, eax
sub ecx, ebx
cmp ecx, 3
jbe 0x140002051
mov dword [0x140119d20], eax
jmp 0x140002051
cmp byte [0x14011789e], 0
je 0x140001f16
call qword [sym.imp.USER32.dll_GetForegroundWindow]
mov rdi, rax
test rax, rax
je 0x140001f16
xor edx, edx
mov rcx, rax
call qword [sym.imp.USER32.dll_GetWindowThreadProcessId]
cmp eax, dword [0x140119128]
jne 0x140001f16
cmp dword [0x1401178fc], 0
je 0x140001e21
mov r8d, SafeArrayAllocDescriptor
lea rdx, [rbp + 0x1b0]
mov rcx, rdi
call qword [sym.imp.USER32.dll_GetClassNameW]
lea rsi, [rbp + 0x1b0]
lea rdi, str.32770
mov ecx, 7
repe cmpsw word [rsi], word [rdi]
sete al
test al, al
jne 0x140001e78
call qword [sym.imp.USER32.dll_GetFocus]
test rax, rax
je 0x140001f16
mov r8d, SafeArrayAllocDescriptor
lea rdx, [rbp + 0x1b0]
mov rcx, rax
call qword [sym.imp.USER32.dll_GetClassNameW]
lea rdx, str.SysTreeView32
lea rcx, [rbp + 0x1b0]
call fcn.1400c95dc
test eax, eax
je 0x140001e78
lea rdx, str.SysListView32
lea rcx, [rbp + 0x1b0]
call fcn.1400c95dc
test eax, eax
jne 0x140001f16
call fcn.140004f20
mov edi, 0x311
test eax, eax
mov eax, 0xffffffff
cmovne edi, eax
xor esi, esi
mov dword [rsp + 0x20], esi
mov r9d, 0x1ff
xor r8d, r8d
xor edx, edx
lea rcx, [rsp + 0x68]
call qword [sym.imp.USER32.dll_PeekMessageW]
mov r9d, edi
xor edx, edx
mov r8d, 0x20e
lea rcx, [rsp + 0x68]
test eax, eax
je 0x140001f91
mov esi, dword [rbp - 0x78]
xor eax, eax
mov dword [rsp + 0x20], eax
call qword [sym.imp.USER32.dll_PeekMessageW]
xor edx, edx
lea rcx, [rsp + 0x68]
test eax, eax
jne 0x140001ef9
mov eax, 1
mov dword [rsp + 0x20], eax
mov r9d, 0x1ff
xor r8d, r8d
call qword [sym.imp.USER32.dll_PeekMessageW]
xor esi, esi
jmp 0x140001fa0
mov eax, dword [rbp - 0x78]
sub eax, esi
test eax, eax
mov eax, 1
mov dword [rsp + 0x20], eax
jg 0x140001ee3
mov r9d, edi
mov r8d, 0x20e
jmp 0x140001eec
cmp dword [0x140112454], 0
je 0x140001f77
cmp dword [0x1401178f0], 0
jne 0x140001f77
mov rcx, qword [0x140112488]
cmp byte [rcx + 0x12c], 0
jne 0x140001f6c
cmp byte [rcx + 0x12e], 0
jne 0x140001f6c
cmp dword [rcx + 0x120], 0xffffffff
jle 0x140001f6c
call qword [sym.imp.KERNEL32.dll_GetTickCount]
mov rcx, qword [0x140112488]
sub eax, dword [rcx + 0x11c]
cmp eax, dword [rcx + 0x120]
jb 0x140001f6c
mov byte [rcx + 0x12c], 1
movzx eax, byte [rcx + 0x12c]
xor esi, esi
jmp 0x140001f7b
xor esi, esi
mov eax, esi
mov r9d, 0x311
test eax, eax
cmovne r9d, esi
xor r8d, r8d
xor edx, edx
lea rcx, [rsp + 0x68]
mov eax, 1
mov dword [rsp + 0x20], eax
call qword [sym.imp.USER32.dll_PeekMessageW]
test eax, eax
jne 0x140002051
call qword [sym.imp.KERNEL32.dll_GetTickCount]
mov ecx, eax
sub ecx, ebx
mov edx, dword [0x140119d20]
cmp ecx, 3
cmova edx, eax
mov dword [0x140119d20], edx
mov edi, dword [rbp + 0x1410]
test edi, edi
jne 0x140001ff1
test r14b, r14b
jne 0x140001ff1
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_Sleep]
mov r14b, 1
mov byte [rbp + 0x1428], r14b
movzx esi, byte [rbp + 0x1418]
jmp 0x140001cde
test r13d, r13d
jne 0x14000201b
test r12b, r12b
je 0x14000201b
test edi, edi
jle 0x140002009
lea ecx, [r13 + 5]
call qword [sym.imp.KERNEL32.dll_Sleep]
mov r13d, 1
movzx esi, byte [rbp + 0x1418]
jmp 0x140001cde
call qword [sym.imp.KERNEL32.dll_GetTickCount]
test r12b, r12b
jne 0x140004055
mov ecx, dword [rbp - 0x60]
sub ecx, eax
add ecx, edi
cmp ecx, 5
jle 0x140004055
mov ecx, 5
call qword [sym.imp.KERNEL32.dll_Sleep]
movzx esi, byte [rbp + 0x1418]
jmp 0x140001cde
inc r13d
mov dword [rsp + 0x40], r13d
mov edi, dword [0x140119140]
test edi, edi
je 0x140002160
mov r13, qword [rbp - 0x80]
mov r12, qword [rsp + 0x78]
mov r14d, dword [rsp + 0x70]
mov rbx, qword [rsp + 0x68]
cmp dword [0x140112454], 0
je 0x140002173
cmp dword [0x1401178f0], 0
jne 0x140002173
xor sil, sil
lea rax, [0x140119130]
mov qword [rbp - 0x10], rax
mov rax, qword [0x140119138]
mov qword [rbp - 8], rax
mov dword [rbp + 4], edi
lea rax, [rbp - 0x10]
mov qword [0x140119138], rax
xor eax, eax
mov edx, eax
mov dword [rbp], eax
test edi, edi
jle 0x140002129
nop word [rax + rax]
movsxd rcx, edx
add rcx, rcx
mov rax, qword [0x140119130]
cmp dword [rax + rcx*8 + 8], r14d
jne 0x14000211b
lea rax, [rbp + 0x1a8]
mov qword [rsp + 0x30], rax
lea rax, [rsp + 0x68]
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], r13
mov r9, r12
mov r8d, r14d
mov rdx, rbx
lea rcx, [rbp - 0x10]
call fcn.140004750
test al, al
jne 0x140002126
mov edi, dword [rbp + 4]
mov edx, dword [rbp]
inc edx
mov dword [rbp], edx
cmp edx, edi
jge 0x140002129
jmp 0x1400020d0
mov sil, 1
mov rcx, qword [rbp - 0x10]
mov rax, qword [rbp - 8]
mov qword [rcx + 8], rax
test sil, sil
mov edi, dword [rbp + 0x1410]
movzx r12d, byte [rbp + 0x1420]
mov r13d, dword [rsp + 0x40]
movzx esi, byte [rbp + 0x1418]
movzx r14d, byte [rbp + 0x1428]
jne 0x140001cde
mov r13, qword [rbp - 0x80]
mov r12, qword [rsp + 0x78]
mov r14d, dword [rsp + 0x70]
mov rbx, qword [rsp + 0x68]
mov r9d, dword [0x140117904]
test r9d, r9d
je 0x140002631
test rbx, rbx
je 0x140002631
mov rdi, qword [0x140117710]
cmp rbx, rdi
je 0x140002628
cmp r14d, 0x414
je 0x140002628
cmp r14d, 0x402
je 0x140002628
lea eax, [r14 - 0x100]
cmp eax, 9
ja 0x140002590
call qword [sym.imp.USER32.dll_GetFocus]
mov rbx, rax
test rax, rax
je 0x14000256f
mov rcx, rax
call fcn.1400b2f80
mov rdi, rax
test rax, rax
je 0x14000256f
mov rcx, rbx
call fcn.14008b030
mov r13, rax
mov qword [rsp + 0x60], rax
test rax, rax
je 0x14000256f
mov rdx, qword [rax + 0xb8]
test rdx, rdx
je 0x140002244
lea r8, [rsp + 0x68]
mov rcx, rdi
call qword [sym.imp.USER32.dll_TranslateAcceleratorW]
test eax, eax
mov edi, dword [rbp + 0x1410]
movzx r12d, byte [rbp + 0x1420]
movzx esi, byte [rbp + 0x1418]
movzx r14d, byte [rbp + 0x1428]
jne 0x140001cd9
mov r14d, dword [rsp + 0x70]
mov r12, qword [rsp + 0x78]
cmp r14d, 0x100
jne 0x140002520
cmp byte [r13 + 0x100], 0
je 0x14000240e
cmp r12, 0x22
je 0x14000228b
cmp r12, 0x21
je 0x14000228b
cmp r12, 9
je 0x14000228b
cmp r12, 0x25
je 0x14000228b
cmp r12, 0x27
jne 0x14000240e
mov rdx, rbx
mov rcx, r13
call fcn.140001a40
mov rsi, rax
mov qword [rbp - 0x68], rax
test rax, rax
je 0x1400023f7
movzx ecx, byte [rax + 8]
cmp cl, 0xf
je 0x1400023f7
xor r14d, r14d
mov edi, r14d
mov r12, qword [rsp + 0x78]
cmp cl, 0x13
jne 0x1400022f2
mov rdi, rax
cmp r12, 0x25
je 0x1400022d2
cmp r12, 0x27
jne 0x1400022f2
cmp r12, 0x27
sete r8b
mov byte [rsp + 0x20], r14b
xor r9d, r9d
mov rdx, rax
mov rcx, r13
call fcn.14009d8e0
jmp 0x140002bdd
cmp r12, 0x25
je 0x1400023fc
cmp r12, 0x27
je 0x1400023fc
mov ecx, reloc.OLEAUT32.dll_SafeArrayGetElemsize
call qword [sym.imp.USER32.dll_GetKeyState]
mov ecx, 0x8000
test cx, ax
je 0x1400023f7
mov r12, qword [rsp + 0x78]
cmp r12, 9
jne 0x14000234b
cmp byte [rsi + 8], 0xc
jne 0x14000234b
lea edx, [r12 - 0x19]
mov rcx, qword [rsi]
call qword [sym.imp.USER32.dll_GetWindowLongW]
test al, 4
jne 0x1400023f7
mov r12, qword [rsp + 0x78]
test rdi, rdi
jne 0x1400023a6
movzx edx, byte [rsi + 0xa]
mov rcx, r13
call fcn.14009d600
mov rdi, rax
test rax, rax
jne 0x1400023a6
xor cl, cl
mov edx, r14d
mov edi, dword [r13 + 0x20]
test edi, edi
je 0x1400023fc
mov rsi, qword [r13 + 0x28]
lea rax, [rsi + 8]
nop dword [rax]
cmp byte [rax], 0x13
jne 0x14000238b
test cl, cl
je 0x140002397
inc cl
inc edx
add rax, 0x28
cmp edx, edi
jae 0x1400023fc
jmp 0x140002380
mov eax, edx
lea rcx, [rax + rax*4]
lea rdi, [rsi + rcx*8]
test rdi, rdi
je 0x1400023fc
mov rcx, qword [rdi]
call qword [sym.imp.USER32.dll_IsWindowEnabled]
test eax, eax
je 0x1400023f7
mov rax, qword [rsp + 0x78]
cmp rax, 0x22
je 0x1400023dc
cmp rax, 9
jne 0x1400023d7
lea ecx, [rax + 7]
call qword [sym.imp.USER32.dll_GetKeyState]
mov ecx, 0x8000
test cx, ax
je 0x1400023dc
xor r8d, r8d
jmp 0x1400023df
mov r8b, 1
mov byte [rsp + 0x20], 1
mov r9b, 1
mov rdx, rdi
mov rcx, r13
call fcn.14009d8e0
jmp 0x140002bdd
mov r12, qword [rsp + 0x78]
mov r14d, dword [rsp + 0x70]
cmp r14d, 0x100
jne 0x140002520
cmp r12, 0x1b
je 0x140002451
cmp r12, 9
je 0x140002451
cmp r12, 0x41
jne 0x140002520
lea ecx, [r12 - 0x30]
call qword [sym.imp.USER32.dll_GetKeyState]
mov edi, 0x8000
test di, ax
je 0x140002516
lea ecx, [r12 + 0x64]
call qword [sym.imp.USER32.dll_GetKeyState]
test di, ax
jne 0x140002516
mov rdx, rbx
mov rcx, r13
call fcn.140001a40
mov rsi, rax
mov qword [rbp - 0x68], rax
test rax, rax
je 0x140002516
cmp byte [rax + 8], 0xc
jne 0x140002516
mov r12, qword [rsp + 0x78]
cmp r12, 0x1b
je 0x1400024d1
cmp r12, 0x41
je 0x1400024b1
test byte [rax + 9], 0x80
je 0x14000251b
lea r9, [0x1400e24d4]
mov edx, 0xc2
mov r8d, 1
mov rcx, qword [rax]
call qword [sym.imp.USER32.dll_SendMessageW]
jmp 0x140002bdd
test byte [rax + 9], 2
jne 0x14000251b
or r9, 0xffffffffffffffff
xor r8d, r8d
mov edx, 0xb1
mov rcx, qword [rax]
call qword [sym.imp.USER32.dll_SendMessageW]
jmp 0x140002bdd
cmp qword [r13 + 0x40], 0
mov edi, dword [rbp + 0x1410]
movzx r12d, byte [rbp + 0x1420]
movzx esi, byte [rbp + 0x1418]
movzx r14d, byte [rbp + 0x1428]
je 0x140001cd9
xor r9d, r9d
mov edx, 0x414
mov r8d, 0x2af80007
mov rcx, qword [r13 + 8]
call qword [sym.imp.USER32.dll_PostMessageW]
jmp 0x140002bdd
mov r12, qword [rsp + 0x78]
mov r14d, dword [rsp + 0x70]
mov rcx, qword [0x140119090]
test rcx, rcx
je 0x140002579
cmp r14d, 0x100
jne 0x140002579
cmp r12, 0xd
jne 0x140002551
xor r9d, r9d
xor r8d, r8d
mov edx, 0x1116
call qword [sym.imp.USER32.dll_SendMessageW]
jmp 0x140002bdd
cmp r12, 0x1b
jne 0x140002579
xor r9d, r9d
mov edx, 0x1116
lea r8d, [r12 - 0x1a]
call qword [sym.imp.USER32.dll_SendMessageW]
jmp 0x140002bdd
mov r12, qword [rsp + 0x78]
mov r14d, dword [rsp + 0x70]
mov r9d, dword [0x140117904]
mov rdi, qword [0x140117710]
mov rbx, qword [rsp + 0x68]
mov r13, qword [rbp - 0x80]
xor eax, eax
mov esi, eax
test r9d, r9d
jle 0x140002628
mov edi, eax
mov r8, qword [0x140117908]
mov rax, qword [rdi + r8]
cmp dword [rax + 0x20], 0
jne 0x1400025b9
cmp r14d, 0x106
je 0x14000260d
mov rcx, qword [0x140112488]
mov byte [rcx + 0x128], 1
mov eax, dword [rsp + 0x70]
mov dword [rcx + 0x124], eax
mov rcx, qword [rdi + r8]
lea rdx, [rsp + 0x68]
mov rcx, qword [rcx + 8]
call qword [sym.imp.USER32.dll_IsDialogMessageW]
test eax, eax
mov rax, qword [0x140112488]
mov byte [rax + 0x128], 0
jne 0x140002bdd
mov r14d, dword [rsp + 0x70]
mov r9d, dword [0x140117904]
mov r8, qword [0x140117908]
inc esi
add rdi, 8
cmp esi, r9d
jl 0x1400025a6
mov r13, qword [rbp - 0x80]
mov r12, qword [rsp + 0x78]
mov rbx, qword [rsp + 0x68]
jmp 0x140002638
mov r8, qword [0x140117908]
jmp 0x14000263f
mov r8, qword [0x140117908]
mov rdi, qword [0x140117710]
cmp r14d, 0x401
ja 0x14000278b
cmp r14d, 0x400
jae 0x1400027c1
mov eax, r14d
sub eax, 0x12
je 0x140002773
sub eax, 0x39
je 0x140002748
sub eax, 0xb5
je 0x140002721
sub eax, 0x13
je 0x14000268e
cmp eax, 0x1ff
je 0x1400027cf
jmp 0x140002a78
test r13, r13
jne 0x140002a78
cmp rbx, rdi
jne 0x140002a78
cmp dword [0x140118320], r13d
je 0x1400026ae
call fcn.1400045b0
cmp dword [0x140119cac], 0
je 0x1400026d0
call fcn.140004260
movzx r15d, r15b
test al, al
mov eax, 1
cmovne r15d, eax
mov dword [rsp + 0x44], r15d
cmp qword [rbp + 0x28], 0
mov edi, dword [rbp + 0x1410]
movzx r12d, byte [rbp + 0x1420]
mov r13d, dword [rsp + 0x40]
movzx esi, byte [rbp + 0x1418]
movzx r14d, byte [rbp + 0x1428]
je 0x140001cde
cmp edi, 1
jl 0x140001cde
movzx r8d, r12b
mov edx, dword [rbp - 0x60]
mov ecx, edi
call fcn.1400041e0
test eax, eax
jne 0x1400040cb
jmp 0x140002bf0
cmp rbx, qword [0x140117718]
jne 0x140002a78
cmp r12, 0x1b
jne 0x140002a78
xor edx, edx
mov rcx, rdi
call qword [sym.imp.USER32.dll_ShowWindow]
jmp 0x140002bdd
xor eax, eax
mov qword [0x140117870], rax
mov sil, 1
mov byte [rbp + 0x1418], sil
mov edi, dword [rbp + 0x1410]
movzx r12d, byte [rbp + 0x1420]
mov r13d, dword [rsp + 0x40]
jmp 0x140002bf7
xor r8d, r8d
lea edx, [r8 + 4]
lea rcx, [0x140119150]
call fcn.14001fd20
jmp 0x140002bdd
cmp r14d, 0x402
je 0x1400027cf
cmp r14d, 0x414
je 0x1400027cf
cmp r14d, 0x415
je 0x1400027c1
cmp r14d, 0x41a
jbe 0x140002a78
cmp r14d, 0x41e
jbe 0x1400027cf
jmp 0x140002a78
test rbx, rbx
je 0x1400027cf
cmp rbx, rdi
jne 0x140002a78
xor r10d, r10d
mov r15d, r10d
lea eax, [r14 - 0x401]
cmp eax, 0x1d
ja case.0x1400027fe.1031
lea rdx, [0x140000000]
movzx eax, byte [rdx + rax + 0x417c]
mov ecx, dword [rdx + rax*4 + 0x4160]
add rcx, rdx
jmp rcx
mov edx, r10d
mov rcx, r10
test r9d, r9d
jle 0x140002a40
nop
mov rax, qword [r8 + rcx*8]
cmp qword [rax + 8], rbx
je 0x140002829
inc edx
inc rcx
cmp edx, r9d
jl 0x140002810
jmp 0x140002a40
mov qword [rsp + 0x60], rax
test rax, rax
je 0x140002a78
mov qword [rsp + 0x58], r13
movzx edx, r12w
mov dword [rsp + 0x50], edx
shr r12, 0x10
movzx eax, r12w
mov dword [rbp - 0x38], eax
mov dword [rsp + 0x4c], r10d
cmp edx, 8
jne 0x14000286a
mov dword [rbp - 0x34], r13d
mov qword [rsp + 0x58], rax
mov eax, 0x2af8
mov dword [rbp - 0x38], eax
mov r13, qword [rsp + 0x60]
cmp eax, dword [r13 + 0x20]
jae 0x140002883
lea rcx, [rax + rax*4]
mov rax, qword [r13 + 0x28]
lea rsi, [rax + rcx*8]
jmp 0x140002886
mov rsi, r10
mov qword [rbp - 0x68], rsi
mov qword [rbp - 0x20], r10
mov byte [rsp + 0x48], r10b
mov eax, edx
sub eax, 5
je 0x1400029a6
mov edi, dword [rbp + 0x1410]
movzx r12d, byte [rbp + 0x1420]
dec eax
je 0x140002973
dec eax
je 0x140002960
dec eax
je 0x14000294d
dec eax
je 0x14000293b
test rsi, rsi
je 0x140001cc5
mov rsi, qword [rsi + 0x18]
mov rdi, qword [rbp - 0x68]
test rsi, rsi
jne 0x140002921
test byte [rdi + 9], 1
mov edi, dword [rbp + 0x1410]
mov r15d, dword [rsp + 0x44]
movzx esi, byte [rbp + 0x1418]
movzx r14d, byte [rbp + 0x1428]
je 0x140001cd9
mov rcx, qword [r13 + 8]
test rcx, rcx
mov r13d, dword [rsp + 0x40]
je 0x140001cde
xor edx, edx
call qword [sym.imp.USER32.dll_ShowWindow]
jmp 0x140002be2
test byte [rdi + 9], 4
mov edi, dword [rbp + 0x1410]
jne 0x140001cc5
mov byte [rsp + 0x48], 1
jmp 0x1400029fb
mov rsi, qword [r13 + 0x58]
test rsi, rsi
je 0x140001cc5
jmp 0x1400029fb
mov rsi, qword [r13 + 0x48]
test rsi, rsi
je 0x140001cc5
lea rcx, [r13 + 0x62]
jmp 0x140002984
mov rsi, qword [r13 + 0x40]
test rsi, rsi
je 0x140001cc5
lea rcx, [r13 + 0x61]
jmp 0x140002984
mov rsi, qword [r13 + 0x38]
test rsi, rsi
je 0x140001cc5
lea rcx, [r13 + 0x60]
mov qword [rbp - 0x20], rcx
test rcx, rcx
je 0x1400029fb
cmp byte [rcx], r10b
mov edi, dword [rbp + 0x1410]
movzx r12d, byte [rbp + 0x1420]
jne 0x140001cc5
jmp 0x1400029fb
mov r15, qword [r13 + 0xa0]
mov rsi, qword [r13 + 0x50]
test rsi, rsi
je 0x140002a03
test r15, r15
mov edi, dword [rbp + 0x1410]
movzx r12d, byte [rbp + 0x1420]
movzx r14d, byte [rbp + 0x1428]
je 0x140001ccd
xor r9d, r9d
xor r8d, r8d
or edx, 0xffffffff
mov rcx, r15
call qword [sym.imp.SHELL32.dll_DragQueryFileW]
mov r8d, eax
mov qword [rsp + 0x58], r8
test eax, eax
je 0x140002a03
mov r14d, dword [rsp + 0x70]
xor r10d, r10d
mov ebx, r10d
jmp 0x1400030a0
test r15, r15
mov edi, dword [rbp + 0x1410]
movzx r12d, byte [rbp + 0x1420]
movzx esi, byte [rbp + 0x1418]
movzx r14d, byte [rbp + 0x1428]
je 0x140001cd4
mov rcx, r15
call qword [sym.imp.SHELL32.dll_DragFinish]
xor eax, eax
mov qword [r13 + 0xa0], rax
jmp 0x140002bd8
mov qword [rsp + 0x60], r10
jmp 0x140002a78
test r12, r12
je 0x140002c04
mov rcx, r12
call fcn.14008aff0
mov qword [rsp + 0x60], rax
test rax, rax
jne 0x140002c0b
test rbx, rbx
je 0x140002c0b
cmp rbx, rdi
je 0x140002c0b
call qword [sym.imp.USER32.dll_GetForegroundWindow]
mov rbx, rax
test rax, rax
je 0x140002b48
xor edx, edx
mov rcx, rax
call qword [sym.imp.USER32.dll_GetWindowThreadProcessId]
cmp eax, dword [0x140119128]
jne 0x140002b48
mov r8d, SafeArrayAllocDescriptor
lea rdx, [rbp + 0x1b0]
mov rcx, rbx
call qword [sym.imp.USER32.dll_GetClassNameW]
lea rsi, [rbp + 0x1b0]
lea rdi, str.32770
mov ecx, 7
repe cmpsw word [rsi], word [rdi]
jne 0x140002b48
mov rcx, qword [0x140112488]
mov byte [rcx + 0x128], 1
mov eax, dword [rsp + 0x70]
mov dword [rcx + 0x124], eax
lea rdx, [rsp + 0x68]
mov rcx, rbx
call qword [sym.imp.USER32.dll_IsDialogMessageW]
test eax, eax
je 0x140002b38
cmp dword [0x1401178fc], 0
je 0x140002b25
mov rax, qword [0x140113e30]
lea rcx, [0x1400e245c]
test rax, rax
je 0x140002b1f
mov rax, qword [rax]
test rax, rax
cmovne rcx, rax
call qword [sym.imp.KERNEL32.dll_SetCurrentDirectoryW]
mov rax, qword [0x140112488]
mov byte [rax + 0x128], 0
jmp 0x140002bd8
mov rcx, qword [0x140112488]
mov byte [rcx + 0x128], 0
jmp 0x140002b4f
mov rcx, qword [0x140112488]
mov rdx, qword [0x140117738]
test rdx, rdx
je 0x140002ba3
lea r8, [rsp + 0x68]
mov rcx, qword [0x140117710]
call qword [sym.imp.USER32.dll_TranslateAcceleratorW]
test eax, eax
mov edi, dword [rbp + 0x1410]
mov r15d, dword [rsp + 0x44]
movzx r12d, byte [rbp + 0x1420]
mov r13d, dword [rsp + 0x40]
movzx esi, byte [rbp + 0x1418]
movzx r14d, byte [rbp + 0x1428]
jne 0x140001cde
mov rcx, qword [0x140112488]
mov byte [rcx + 0x128], 1
mov eax, dword [rsp + 0x70]
mov dword [rcx + 0x124], eax
lea rcx, [rsp + 0x68]
call qword [sym.imp.USER32.dll_TranslateMessage]
lea rcx, [rsp + 0x68]
call qword [sym.imp.USER32.dll_DispatchMessageW]
mov rdx, qword [0x140112488]
mov byte [rdx + 0x128], 0
mov r15d, dword [rsp + 0x44]
mov r13d, dword [rsp + 0x40]
mov edi, dword [rbp + 0x1410]
movzx r12d, byte [rbp + 0x1420]
movzx esi, byte [rbp + 0x1418]
movzx r14d, byte [rbp + 0x1428]
jmp 0x140001cde
mov qword [rsp + 0x60], r10
jmp 0x140002c0e
xor r10d, r10d
mov rax, qword [0x140119cb0]
test rax, rax
je 0x140002c6a
mov r12, qword [rax + 8]
mov qword [rbp - 0x50], r12
test r12, r12
je 0x140002c3c
cmp dword [r12 + 0x28], r13d
je 0x140002c42
mov r12, qword [r12 + 0x38]
mov qword [rbp - 0x50], r12
test r12, r12
jne 0x140002c27
mov rax, qword [rax + 0x30]
jmp 0x140002c15
mov rsi, qword [r12 + 0x10]
test rsi, rsi
mov edi, dword [rbp + 0x1410]
mov r13d, dword [rsp + 0x40]
je 0x140001cbb
mov ebx, dword [r12 + 0x2c]
mov r13, qword [rsp + 0x60]
jmp 0x1400030a4
mov qword [rbp - 0x50], r10
jmp 0x140002bd8
mov eax, dword [0x140118324]
cmp r12, rax
mov edi, dword [rbp + 0x1410]
movzx esi, byte [rbp + 0x1418]
movzx r14d, byte [rbp + 0x1428]
jae 0x140001cb1
mov rax, qword [0x140118328]
mov r12, qword [rax + r12*8]
mov qword [rbp + 0x30], r12
mov rcx, qword [r12 + 0x20]
test rcx, rcx
je 0x140002cfa
mov rdx, qword [r12 + 8]
call fcn.14000c9b0
mov rsi, rax
mov qword [rbp - 0x58], rax
test rax, rax
mov r13d, dword [rsp + 0x40]
movzx esi, byte [rbp + 0x1418]
je 0x140001ca2
mov rcx, qword [r12 + 0x20]
movzx edx, byte [rcx]
cmp dl, 1
je 0x140002cf4
cmp dl, 3
je 0x140002cf4
xor ebx, ebx
mov qword [rbp - 0x58], rbx
mov r13, qword [rbp - 0x80]
jmp 0x140002d00
mov r13, qword [rbp - 0x80]
jmp 0x140002cfe
mov qword [rbp - 0x58], r10
xor ebx, ebx
mov rdx, r13
mov rcx, r12
call fcn.1400123e0
cmp qword [r12 + 0x18], r15
mov edi, dword [rbp + 0x1410]
mov r13d, dword [rsp + 0x40]
movzx esi, byte [rbp + 0x1418]
movzx r14d, byte [rbp + 0x1428]
jne 0x140001ca2
cmp byte [r12 + 0x3e], r15b
je 0x140002d44
movzx eax, word [rbp - 0x80]
mov word [0x140119ccc], ax
jmp 0x140002d4b
mov word [0x140119ccc], bx
mov rsi, qword [r12]
mov ebx, dword [r12 + 0x28]
mov r14d, dword [rsp + 0x70]
jmp 0x14000309b
cmp byte [0x140119c90], r10b
mov edi, dword [rbp + 0x1410]
movzx r12d, byte [rbp + 0x1420]
mov r13d, dword [rsp + 0x40]
movzx esi, byte [rbp + 0x1418]
jne 0x140001c6f
mov rsi, qword [0x140119c78]
test rsi, rsi
cmove rsi, qword [0x1401197f8]
mov ebx, r10d
jmp 0x14000309b
mov rcx, r12
call fcn.140048690
mov rdi, rax
mov qword [rbp - 0x48], rax
test rax, rax
movzx r12d, byte [rbp + 0x1420]
mov r13d, dword [rsp + 0x40]
movzx esi, byte [rbp + 0x1418]
movzx r14d, byte [rbp + 0x1428]
je 0x140001c79
mov rsi, qword [rax + 0x10]
mov rsi, qword [rsi + 0x388]
xor eax, eax
mov ebx, eax
mov r14d, dword [rsp + 0x70]
jmp 0x14000309b
mov rdi, qword [0x140118288]
mov qword [rbp - 0x48], rdi
test rdi, rdi
mov r13d, dword [rsp + 0x40]
movzx esi, byte [rbp + 0x1418]
je 0x140001c51
nop dword [rax]
cmp rdi, r12
je 0x140002e27
mov rdi, qword [rdi + 8]
mov qword [rbp - 0x48], rdi
test rdi, rdi
jne 0x140002e10
jmp 0x140003176
test rdi, rdi
movzx r12d, byte [rbp + 0x1420]
movzx esi, byte [rbp + 0x1418]
je 0x140001c69
mov rsi, qword [rdi + 0x10]
cmp r14d, 0x41c
jne 0x140002e55
mov rsi, qword [rsi + 0x390]
jmp 0x140002e6e
cmp r14d, 0x41e
jne 0x140002e67
mov rsi, qword [rsi + 0x3a0]
jmp 0x140002e6e
mov rsi, qword [rsi + 0x398]
test rsi, rsi
mov edi, dword [rbp + 0x1410]
movzx r12d, byte [rbp + 0x1420]
je 0x140001c98
mov ebx, r10d
jmp 0x14000309b
movzx ecx, r12w
mov eax, 0x7fff
and cx, ax
mov rax, qword [0x140113e40]
cmp cx, word [rax]
mov edi, dword [rbp + 0x1410]
movzx esi, byte [rbp + 0x1418]
jae 0x140001c86
movzx ecx, cx
mov rax, qword [0x140118300]
mov rdx, qword [rax + rcx*8]
mov qword [rbp - 0x18], rdx
shr r12, 0x10
test r12w, r12w
je 0x140002efc
mov eax, 0xffff
add r12w, ax
mov rbx, qword [rdx + 0x28]
mov qword [rbp - 0x40], rbx
je 0x140002ef3
mov rbx, qword [rbx + 0x10]
add r12w, ax
jne 0x140002ee5
mov qword [rbp - 0x40], rbx
test rbx, rbx
jne 0x140003000
cmp r14d, 0x400
jne 0x140002f16
shr r13, 0x10
movzx eax, r13w
mov ecx, 0xffc3d44d
sub ecx, eax
jmp 0x140002f19
mov ecx, r10d
mov edi, ecx
cmp byte [rdx + 0x19], r10b
jne 0x140002f2a
mov qword [rbp - 0x40], r10
jmp 0x140002bd8
mov qword [rbp - 0x58], r10
mov rsi, r10
mov rbx, qword [rdx + 0x28]
mov qword [rbp - 0x40], rbx
test rbx, rbx
je 0x140002fd3
cmp byte [rbx + 0x28], r15b
je 0x140002fb1
cmp byte [0x14011789d], r15b
je 0x140002f61
mov rcx, rbx
call fcn.1400a6b50
test al, al
je 0x140002fb1
mov rdx, qword [rbp - 0x18]
movabs rax, 0xffffffff003c2c17
add rax, rdi
cmp rax, 0x66
ja 0x140002f7d
mov ecx, 0xffc3d44d
sub ecx, edi
jmp 0x140002f82
mov ecx, 0x65
movzx eax, byte [rbx + 0x24]
cmp ecx, eax
jle 0x140002fb1
mov rcx, qword [rbx + 8]
test rcx, rcx
je 0x140002fa8
mov rdx, qword [rdx + 0x20]
call fcn.14000c9b0
mov r12, rax
mov qword [rbp - 0x58], rax
test rax, rax
je 0x140002fb1
cmp qword [rbx + 8], r15
jne 0x140002fc7
mov rsi, rbx
mov rbx, qword [rbx + 0x10]
mov qword [rbp - 0x40], rbx
test rbx, rbx
je 0x140002fce
mov rdx, qword [rbp - 0x18]
jmp 0x140002f42
mov r14d, dword [rsp + 0x70]
jmp 0x140002fda
mov r14d, dword [rsp + 0x70]
mov rbx, rsi
mov qword [rbp - 0x40], rbx
test rbx, rbx
mov edi, dword [rbp + 0x1410]
movzx r12d, byte [rbp + 0x1420]
mov r13d, dword [rsp + 0x40]
movzx esi, byte [rbp + 0x1418]
je 0x140001c6f
xor r10d, r10d
mov rdi, qword [rbx]
mov rcx, rdi
call fcn.1400a6aa0
test eax, eax
je 0x140003013
dec eax
jne 0x140003021
mov rax, qword [rdi + 0x10]
test rax, rax
je 0x140003021
movzx ecx, byte [rax]
jmp 0x140003023
xor cl, cl
movzx eax, byte [rbx + 0x23]
cmp byte [rbx + 0x22], al
jb 0x14000306c
cmp cl, 0xe0
je 0x14000306c
cmp cl, 0xcc
je 0x14000306c
cmp cl, 0xda
je 0x14000306c
cmp cl, 0xdb
je 0x14000306c
cmp cl, 0xd6
je 0x14000306c
cmp cl, 0xd7
je 0x14000306c
cmp cl, 0xd8
je 0x14000306c
cmp cl, 0xd9
je 0x14000306c
cmp byte [rbx + 0x26], r15b
je 0x14000305e
mov byte [rbx + 0x27], 1
call qword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [rbx + 0x18], eax
jmp 0x140002bd8
mov rax, qword [rbx + 8]
test rax, rax
je 0x140003091
movzx eax, byte [rax]
cmp al, 2
je 0x140003091
cmp al, 4
je 0x140003091
cmp al, 5
jb 0x140003095
mov rax, qword [0x1401178d8]
mov qword [rbp - 0x58], rax
jmp 0x140003095
mov qword [rbp - 0x58], r10
mov rsi, qword [rbx]
mov ebx, dword [rbx + 0x1c]
mov r13, qword [rsp + 0x60]
mov r12, qword [rbp - 0x50]
mov rcx, rsi
call fcn.1400a6aa0
test eax, eax
je 0x1400030b4
dec eax
jne 0x1400030c2
mov rax, qword [rsi + 0x10]
test rax, rax
je 0x1400030c2
movzx edi, byte [rax]
jmp 0x1400030c5
xor dil, dil
mov ecx, dword [0x1401178b0]
mov eax, dword [0x14011245c]
cmp ecx, eax
jl 0x14000310c
add eax, 2
cmp ecx, eax
jge 0x140003118
cmp dil, 0xe0
je 0x14000310c
cmp dil, 0xcc
je 0x14000310c
cmp dil, 0xda
je 0x14000310c
cmp dil, 0xdb
je 0x14000310c
cmp dil, 0xd6
je 0x14000310c
cmp dil, 0xd7
je 0x14000310c
cmp dil, 0xd8
je 0x14000310c
cmp dil, 0xd9
jne 0x140003118
mov rax, qword [0x140112488]
cmp ebx, dword [rax + 0x3c]
jge 0x140003180
test r15, r15
je 0x140003134
mov rcx, r15
call qword [sym.imp.SHELL32.dll_DragFinish]
xor eax, eax
mov qword [r13 + 0xa0], rax
mov r14d, dword [rsp + 0x70]
cmp r14d, 0x41b
mov edi, dword [rbp + 0x1410]
mov r15d, dword [rsp + 0x44]
movzx r12d, byte [rbp + 0x1420]
mov r13d, dword [rsp + 0x40]
movzx esi, byte [rbp + 0x1418]
movzx r14d, byte [rbp + 0x1428]
jne 0x140001cde
mov rdi, qword [rbp - 0x48]
mov rcx, qword [rdi + 0x10]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_SafeArrayGetDim]
mov r15d, dword [rsp + 0x44]
jmp 0x140002be2
mov byte [rsp + 0x44], 1
cmp r14d, 0x402
je 0x140003204
cmp r14d, 0x413
jbe 0x1400031ba
cmp r14d, 0x415
jbe 0x14000324e
cmp r14d, 0x41a
jbe 0x1400031ba
cmp r14d, 0x41e
jbe 0x14000324e
mov rax, qword [0x140119c20]
mov qword [0x140119c28], rax
mov eax, dword [0x140119cc4]
mov dword [0x140119cc8], eax
cmp r14d, 0x401
jne 0x1400031e7
mov rax, qword [rbp + 0x30]
mov rax, qword [rax + 8]
jmp 0x1400031ef
mov rax, qword [rbp - 0x18]
mov rax, qword [rax + 0x20]
mov qword [0x140119c20], rax
call qword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [0x140119cc4], eax
jmp 0x14000324e
mov r8d, 0x104
mov rdx, qword [r12]
lea rcx, [0x140119808]
call fcn.1400cc7d4
xor r13d, r13d
mov word [0x140119a10], r13w
mov rdx, qword [r12 + 0x20]
mov r8d, 0x104
mov rdx, qword [rdx]
lea rcx, [0x140119a12]
call fcn.1400cc7d4
mov word [0x140119c1a], r13w
mov qword [0x140119800], r12
xor r8d, r8d
mov r14d, 1
mov edx, r14d
mov rcx, qword [0x140118280]
call fcn.140001820
lea r8d, [r14 + 0x7e]
mov rdx, rax
lea rcx, [rbp + 0x1f0]
call fcn.1400cc7d4
xor r12d, r12d
mov word [rbp + 0x2ee], r12w
movzx r9d, dil
movzx r8d, r14b
xor edx, edx
mov ecx, ebx
call fcn.140004a10
mov r13, qword [0x140112488]
call qword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [0x140119d24], eax
mov dword [0x140119d20], eax
mov eax, dword [rsp + 0x70]
add eax, 0xfffffbff
cmp eax, 0x1d
ja case.0x1400032d9.1032
lea rdx, [0x140000000]
movzx eax, byte [rdx + rax + 0x41bc]
mov ecx, dword [rdx + rax*4 + 0x419c]
add rcx, rdx
jmp rcx
mov word [rbp + 8], r12w
mov rbx, qword [rbp - 0x68]
mov r14, qword [rsp + 0x60]
cmp byte [rsp + 0x48], r12b
je 0x1400032f5
mov rcx, qword [rbx]
jmp 0x1400032f9
mov rcx, qword [r14 + 8]
movsxd r12, dword [rsp + 0x4c]
mov rax, r12
shl rax, 5
inc r12d
mov dword [rsp + 0x4c], r12d
mov r9d, 1
mov dword [rbp + rax + 0xc0], r9d
mov qword [rbp + rax + 0xb0], rcx
mov edi, dword [rsp + 0x50]
cmp edi, 5
je 0x1400036cd
jbe 0x140003597
cmp edi, 8
jbe 0x140003514
cmp edi, 9
jne 0x140003597
mov ecx, 3
mov rdx, qword [rsp + 0x58]
test rdx, rdx
cmovne ecx, r9d
mov dword [r13 + 0x44], ecx
xor eax, eax
mov qword [rsp + 0x58], rax
mov rax, qword [rbp - 0x74]
mov qword [r13 + 0x50], rax
test rbx, rbx
je 0x14000340e
cmp ecx, r9d
jne 0x14000338a
lea rdx, [r13 + 0x50]
mov rcx, rbx
call fcn.14009e340
lea r9d, [rdi - 8]
movzx ecx, byte [rbx + 8]
sub ecx, 9
je 0x1400033f1
dec ecx
je 0x1400033e6
dec ecx
jne 0x14000340e
mov rcx, qword [rbx]
cmp dword [r13 + 0x44], 1
jne 0x1400033bb
xor r9d, r9d
mov edx, 0x110a
lea r8d, [r9 + 9]
call qword [sym.imp.USER32.dll_SendMessageW]
mov eax, eax
jmp 0x140003409
mov rax, qword [rbp - 0x74]
mov qword [rbp + 0x40], rax
lea rdx, [rbp + 0x40]
call qword [sym.imp.USER32.dll_ScreenToClient]
lea r9, [rbp + 0x40]
xor r8d, r8d
mov edx, 0x1111
mov rcx, qword [rbx]
call qword [sym.imp.USER32.dll_SendMessageW]
mov eax, eax
jmp 0x140003409
or r8, 0xffffffffffffffff
mov edx, 0x100c
jmp 0x1400033fc
xor r9d, r9d
xor r8d, r8d
mov edx, OleCreatePictureIndirect
mov rcx, qword [rbx]
call qword [sym.imp.USER32.dll_SendMessageW]
inc eax
cdqe
mov qword [rsp + 0x58], rax
lea rdx, [rbp + 0x180]
mov rcx, qword [r14 + 8]
call qword [sym.imp.USER32.dll_GetWindowRect]
mov edx, dword [rbp + 0x180]
sub dword [r13 + 0x50], edx
mov eax, dword [rbp + 0x184]
sub dword [r13 + 0x54], eax
mov r9d, 1
test rbx, rbx
je 0x140003460
movsxd rcx, r12d
shl rcx, 5
inc r12d
mov rax, qword [rbx]
mov dword [rbp + rcx + 0xc0], r9d
mov qword [rbp + rcx + 0xb0], rax
xor r8d, r8d
jmp 0x140003484
movsxd rax, r12d
shl rax, 5
inc r12d
xor r8d, r8d
mov dword [rbp + rax + 0xc0], r8d
lea rcx, [0x1400e245c]
mov qword [rbp + rax + 0xb0], rcx
movsxd rax, r12d
shl rax, 5
inc r12d
mov dword [rbp + rax + 0xc0], r9d
mov rdx, qword [rsp + 0x58]
mov qword [rbp + rax + 0xb0], rdx
movsxd rcx, r12d
shl rcx, 5
inc r12d
mov eax, r8d
cmp dword [r13 + 0x44], 3
sete al
mov dword [rbp + rcx + 0xc0], r9d
cdqe
mov qword [rbp + rcx + 0xb0], rax
movsxd rcx, r12d
shl rcx, 5
inc r12d
movsxd rax, dword [r13 + 0x50]
mov dword [rbp + rcx + 0xc0], r9d
mov qword [rbp + rcx + 0xb0], rax
movsxd rcx, r12d
shl rcx, 5
inc r12d
mov dword [rsp + 0x4c], r12d
movsxd rax, dword [r13 + 0x54]
mov dword [rbp + rcx + 0xc0], r9d
mov qword [rbp + rcx + 0xb0], rax
mov edi, dword [rsp + 0x50]
jmp 0x140003828
mov dword [r13 + 0x44], r9d
cmp edi, 8
jne 0x140003825
mov ecx, dword [rbp - 0x34]
mov dword [r13 + 0x50], ecx
movsxd rax, r12d
shl rax, 5
inc r12d
mov dword [rbp + rax + 0xc0], r9d
mov rdx, qword [rsp + 0x58]
mov qword [rbp + rax + 0xb0], rdx
movsxd rdi, r12d
shl rdi, 5
inc r12d
movzx eax, cx
cmp byte [r14 + 0x108], 0
je 0x14000357b
mov r8d, dword [0x14011912c]
mov edx, 0x60
mov ecx, eax
call qword [sym.imp.KERNEL32.dll_MulDiv]
mov ecx, dword [rbp - 0x34]
mov r9d, 1
mov dword [rbp + rdi + 0xc0], r9d
cdqe
mov qword [rbp + rdi + 0xb0], rax
mov eax, ecx
shr eax, 0x10
jmp 0x1400037dc
movzx eax, byte [rbx + 8]
cmp al, 0xa
je 0x1400035e6
cmp al, 0x19
jne 0x140003660
mov rax, qword [rbp - 0x74]
mov qword [r13 + 0x50], rax
lea rdx, [rbp + 0x170]
mov rcx, qword [r14 + 8]
call qword [sym.imp.USER32.dll_GetWindowRect]
mov edx, dword [rbp + 0x170]
sub dword [r13 + 0x50], edx
mov eax, dword [rbp + 0x174]
sub dword [r13 + 0x54], eax
mov r9d, 1
lea rdx, [0x140000000]
jmp 0x140003660
cmp dil, 0x49
jne 0x140003660
lea rax, [rbp + 8]
bt edi, 8
jae 0x1400035fd
mov eax, 0x53
jmp 0x140003608
bt edi, 9
jae 0x140003610
mov eax, reloc.WSOCK32.dll_WSAStartup
mov word [rbp + 8], ax
lea rax, [rbp + 0xa]
bt edi, 0xa
jae 0x14000361d
mov ecx, 0x46
jmp 0x140003628
bt edi, 0xb
jae 0x14000362f
mov ecx, 0x66
mov word [rax], cx
add rax, 2
bt edi, 0xc
jae 0x14000363c
mov ecx, 0x43
jmp 0x140003647
bt edi, 0xd
jae 0x14000364e
mov ecx, 0x63
mov word [rax], cx
add rax, 2
xor r8d, r8d
mov word [rax], r8w
mov edi, 0x49
mov dword [rsp + 0x50], edi
jmp 0x140003663
xor r8d, r8d
mov dword [r13 + 0x44], edi
movsxd rcx, r12d
shl rcx, 5
inc r12d
cmp edi, 5
jae 0x140003682
mov eax, edi
mov rdx, qword [rdx + rax*8 + 0x114700]
jmp 0x140003694
movzx eax, dil
mov word [0x14011acdc], ax
lea rdx, [0x14011acdc]
mov dword [rbp + rcx + 0xc0], r8d
mov qword [rbp + rcx + 0xb0], rdx
movsxd rax, r12d
shl rax, 5
inc r12d
mov dword [rsp + 0x4c], r12d
mov dword [rbp + rax + 0xc0], r9d
mov rcx, qword [rsp + 0x58]
mov qword [rbp + rax + 0xb0], rcx
jmp 0x14000382d
mov dword [r13 + 0x44], 5
mov rax, qword [rbp - 0x74]
mov qword [r13 + 0x50], rax
lea rdx, [rbp + 0x190]
mov rcx, qword [r14 + 8]
call qword [sym.imp.USER32.dll_GetWindowRect]
mov edx, dword [rbp + 0x190]
sub dword [r13 + 0x50], edx
mov eax, dword [rbp + 0x194]
sub dword [r13 + 0x54], eax
mov edx, 0xffffffec
mov rcx, qword [r14 + 8]
call qword [sym.imp.USER32.dll_GetWindowLongW]
and eax, 0xffffffef
mov r8d, eax
mov edx, 0xffffffec
mov rcx, qword [r14 + 8]
call qword [sym.imp.USER32.dll_SetWindowLongW]
movsxd rdi, r12d
shl rdi, 5
inc r12d
mov rcx, r15
call fcn.14008ea80
mov dword [rbp + rdi + 0xc0], 6
mov qword [rbp + rdi + 0xb0], rax
test rbx, rbx
je 0x140003772
movsxd rcx, r12d
shl rcx, 5
inc r12d
mov rax, qword [rbx]
mov dword [rbp + rcx + 0xc0], 1
mov qword [rbp + rcx + 0xb0], rax
jmp 0x140003794
movsxd rax, r12d
shl rax, 5
inc r12d
xor edx, edx
mov dword [rbp + rax + 0xc0], edx
lea rcx, [0x1400e245c]
mov qword [rbp + rax + 0xb0], rcx
movsxd rdi, r12d
shl rdi, 5
inc r12d
mov eax, dword [r13 + 0x50]
cmp byte [r14 + 0x108], 0
je 0x1400037c0
mov r8d, dword [0x14011912c]
mov edx, 0x60
mov ecx, eax
call qword [sym.imp.KERNEL32.dll_MulDiv]
mov r9d, 1
mov dword [rbp + rdi + 0xc0], r9d
cdqe
mov qword [rbp + rdi + 0xb0], rax
mov eax, dword [r13 + 0x54]
movsxd rdi, r12d
shl rdi, 5
inc r12d
cmp byte [r14 + 0x108], 0
mov dword [rsp + 0x4c], r12d
je 0x14000380f
mov r8d, dword [0x14011912c]
mov edx, 0x60
mov ecx, eax
call qword [sym.imp.KERNEL32.dll_MulDiv]
mov r9d, 1
cdqe
mov dword [rbp + rdi + 0xc0], r9d
mov qword [rbp + rdi + 0xb0], rax
mov edi, dword [rsp + 0x50]
xor r8d, r8d
mov rcx, qword [rsp + 0x58]
cmp byte [rsp + 0x48], 0
je 0x1400038f8
cmp byte [rbx + 8], 0x17
jne 0x1400038f8
xor edx, edx
mov r8d, 0x10b8
lea rcx, [rbp + 0x2f0]
call fcn.1400cfea0
mov dword [rbp + 0x2f0], SafeArrayGetElemsize
mov rax, qword [rsp + 0x58]
dec eax
mov dword [rbp + 0x2f4], eax
lea r9, [rbp + 0x2f0]
xor r8d, r8d
mov edx, 0x703
mov rcx, qword [rbx]
call qword [sym.imp.USER32.dll_SendMessageW]
test rax, rax
je 0x140003c15
lea rdx, [rbp + 0x360]
lea rax, [rbp + 0x300]
cmp word [rbp + 0x360], 0
cmove rdx, rax
mov byte [rsp + 0x20], 1
xor r9d, r9d
or r8, 0xffffffffffffffff
mov rcx, qword [0x140118280]
call fcn.1400b0240
movsxd rdi, r12d
shl rdi, 5
inc r12d
mov dword [rsp + 0x4c], r12d
xor r8d, r8d
lea edx, [r8 + 1]
mov rcx, qword [0x140118280]
call fcn.140001820
xor ecx, ecx
mov dword [rbp + rdi + 0xc0], ecx
mov qword [rbp + rdi + 0xb0], rax
jmp 0x140003c17
cmp word [rbp + 8], 0
je 0x140003922
movsxd rax, r12d
shl rax, 5
inc r12d
mov dword [rsp + 0x4c], r12d
mov dword [rbp + rax + 0xc0], r8d
lea rdx, [rbp + 8]
mov qword [rbp + rax + 0xb0], rdx
cmp edi, 8
je 0x140003bfc
cmp edi, 5
je 0x140003bfc
mov rbx, qword [0x140118280]
movzx edx, byte [rbx + 0x23]
test dl, dl
jne 0x140003961
mov byte [rsp + 0x20], 1
xor r9d, r9d
or r8, 0xffffffffffffffff
lea rdx, [rbp + 8]
mov rcx, qword [rbx + 0x10]
call fcn.1400b0240
jmp 0x140003c15
lea rax, [rbp + 8]
cmp qword [rbx + 8], rax
jne 0x140003974
mov r12, qword [rbx + 0x10]
shr r12, 1
jmp 0x14000398a
xor eax, eax
or rcx, 0xffffffffffffffff
lea rdi, [rbp + 8]
repne scasw ax, word [rdi]
not rcx
dec rcx
mov r12, rcx
lea rax, [r12 + 1]
lea rdi, [rax + rax]
cmp dl, 2
jne 0x1400039a9
mov rdx, r12
lea rcx, [rbp + 8]
call fcn.140006140
jmp 0x140003c10
mov r9, qword [0x140112460]
cmp rdi, r9
jbe 0x1400039da
cmp rdi, qword [rbx + 0x18]
jbe 0x1400039da
lea rdx, str.Memory_limit_reached__see_MaxMem_in_the_help_file_.
lea r8, [0x1400e245c]
lea rcx, [0x140119150]
call fcn.1400404c0
jmp 0x140003c10
cmp rax, 2
jae 0x1400039f4
xor r8d, r8d
lea edx, [r8 + 4]
mov rcx, rbx
call fcn.1400b08f0
jmp 0x140003c10
movzx eax, byte [rbx + 0x21]
test al, 2
je 0x140003a11
and al, 0x3d
mov byte [rbx + 0x21], al
mov rcx, qword [rbx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_SafeArrayGetDim]
mov r9, qword [0x140112460]
and byte [rbx + 0x21], 0x82
mov r8, qword [rbx + 0x18]
cmp rdi, r8
jbe 0x140003bce
movzx ecx, byte [rbx + 0x20]
movzx eax, cl
cmp cl, 1
jbe 0x140003a3b
cmp al, 2
je 0x140003a84
mov rax, qword [rbp + 0x38]
jmp 0x140003b89
cmp rdi, 0x80
ja 0x140003a84
cmp rdi, 8
ja 0x140003a51
mov eax, 8
jmp 0x140003a62
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.1400a93d0
mov qword [rbp + 0x38], rax
test rax, rax
je 0x140003c10
mov byte [rbx + 0x20], 1
jmp 0x140003b89
cmp rdi, 0x20
jae 0x140003a95
mov r10d, SafeArrayAllocDescriptor
jmp 0x140003b45
cmp rdi, 0x208
jae 0x140003aa9
mov r10d, 0x208
jmp 0x140003b45
cmp rdi, 0x50000
jae 0x140003b01
pxor xmm0, xmm0
cvtsi2sd xmm0, rdi
test rdi, rdi
jns 0x140003ac4
addsd xmm0, xmm7
mulsd xmm0, qword [0x140100df0]
xor eax, eax
comisd xmm0, xmmword [0x140100de8]
jbe 0x140003af7
subsd xmm0, qword [0x140100de8]
comisd xmm0, xmmword [0x140100de8]
jae 0x140003af7
movabs rdx, 0x8000000000000000
mov rax, rdx
cvttsd2si r10, xmm0
add r10, rax
jmp 0x140003b45
cmp rdi, 0x320000
jae 0x140003b13
lea r10, [rdi + 0x8000]
jmp 0x140003b45
cmp rdi, 0xc80000
jae 0x140003b3e
mov r10, rdi
movabs rax, 0x47ae147ae147ae15
mul rdi
sub r10, rdx
shr r10, 1
add r10, rdx
shr r10, 6
add r10, rdi
jmp 0x140003b45
lea r10, [rdi + 0x20000]
cmp r10, r9
cmova r10, r9
mov qword [rbp - 0x28], r10
cmp cl, 2
jne 0x140003b6c
test r8, r8
je 0x140003b6c
mov dil, 1
mov rcx, qword [rbx + 8]
call fcn.1400ca100
mov r10, qword [rbp - 0x28]
jmp 0x140003b6f
xor dil, dil
test r10, r10
js 0x140003b9b
mov rcx, r10
call fcn.1400c9664
mov qword [rbp + 0x38], rax
test rax, rax
je 0x140003b9b
mov byte [rbx + 0x20], 2
mov qword [rbx + 8], rax
mov rax, qword [rbp - 0x28]
mov qword [rbx + 0x18], rax
and byte [rbx + 0x21], 0x7f
jmp 0x140003bce
test dil, dil
je 0x140003bb3
xor eax, eax
mov qword [rbx + 0x18], rax
lea rcx, [0x140119108]
mov qword [rbx + 8], rcx
jmp 0x140003bbe
mov rax, qword [rbx + 8]
xor edx, edx
mov word [rax], dx
xor eax, eax
mov qword [rbx + 0x10], rax
lea rdx, str.Out_of_memory.
jmp 0x1400039c2
mov rcx, qword [rbx + 8]
lea rax, [rbp + 8]
cmp rcx, rax
je 0x140003be8
lea r8, [r12 + r12]
lea rdx, [rbp + 8]
call fcn.1400ca2c0
lea rcx, [r12 + r12]
mov rax, qword [rbx + 8]
xor edx, edx
mov word [rcx + rax], dx
mov qword [rbx + 0x10], rcx
jmp 0x140003c10
mov r8b, reloc.OLEAUT32.dll_SafeArrayGetElement
mov rdx, rcx
mov rcx, qword [0x140118280]
call fcn.140001090
jmp 0x140003c15
mov r12d, dword [rsp + 0x4c]
xor ecx, ecx
mov rax, qword [r14 + 8]
mov qword [r13 + 0xf8], rax
add dword [r14 + 0x34], 2
mov qword [r13 + 0x60], r14
mov qword [r13 + 0x58], r14
mov eax, dword [rbp - 0x38]
mov dword [r13 + 0x70], eax
mov rax, qword [rsp + 0x58]
mov qword [r13 + 0x48], rax
mov rbx, qword [rbp - 0x20]
movzx r14d, byte [rsp + 0x48]
test rbx, rbx
je 0x140003c53
mov byte [rbx], 1
jmp 0x140003c62
test r14b, r14b
je 0x140003c62
mov rdi, qword [rbp - 0x68]
or byte [rdi + 9], 4
jmp 0x140003c66
mov rdi, qword [rbp - 0x68]
mov dword [rsp + 0x30], ecx
lea rax, [rbp + 0xa0]
mov qword [rsp + 0x28], rax
mov dword [rsp + 0x20], r12d
lea r9, [rbp + 0xb0]
lea r8, [0x1400e24e0]
mov rdx, rsi
mov rcx, rsi
call fcn.1400a2450
mov r13, qword [rsp + 0x60]
cmp qword [r13 + 8], 0
je 0x140003d32
mov edx, dword [rsp + 0x50]
test rbx, rbx
je 0x140003ce3
mov byte [rbx], 0
cmp edx, 6
jne 0x140003cec
cmp qword [rbp + 0xa0], 0
jne 0x140003d32
mov rcx, rsi
call fcn.1400a6aa0
test eax, eax
jne 0x140003cd0
test rsi, rsi
jne 0x140003d32
mov rcx, qword [r13 + 8]
test rcx, rcx
je 0x140003d32
xor edx, edx
call qword [sym.imp.USER32.dll_ShowWindow]
jmp 0x140003d32
test r14b, r14b
je 0x140003cec
and byte [rdi + 9], 0xfb
cmp edx, 5
jne 0x140003d32
mov rcx, qword [rbp + 0xd0]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_SafeArrayGetDim]
mov rcx, r15
call qword [sym.imp.SHELL32.dll_DragFinish]
xor eax, eax
mov qword [r13 + 0xa0], rax
lea edx, [rax - 0x14]
mov rcx, qword [r13 + 8]
call qword [sym.imp.USER32.dll_GetWindowLongW]
or eax, 0x10
mov r8d, eax
mov edx, 0xffffffec
mov rcx, qword [r13 + 8]
call qword [sym.imp.USER32.dll_SetWindowLongW]
or eax, 0xffffffff
add dword [r13 + 0x34], eax
jne 0x140003fe7
mov rcx, qword [r13]
call fcn.1400ca100
mov rcx, r13
call fcn.1400ca0f8
jmp 0x140003fe7
mov rdx, qword [rsp + 0x60]
test rdx, rdx
je 0x140003d7a
mov rax, qword [rdx + 8]
mov qword [r13 + 0xf8], rax
mov dword [r13 + 0x44], r14d
add dword [rdx + 0x34], 2
mov qword [r13 + 0x60], rdx
mov qword [r13 + 0x58], rdx
mov dword [rbp + 0x50], r12d
lea rax, [0x140119808]
mov qword [rbp + 0x40], rax
lea rcx, [0x140119150]
call fcn.14006a690
lea ecx, [rax + 1]
mov dword [rbp + 0x70], r14d
mov qword [rbp + 0x60], rcx
mov dword [rbp + 0x90], r12d
lea rax, [0x140119a12]
mov qword [rbp + 0x80], rax
mov dword [rsp + 0x30], r12d
mov qword [rsp + 0x28], r12
mov dword [rsp + 0x20], 3
lea r9, [rbp + 0x40]
lea r8, [0x1400e24e0]
mov rdx, rsi
mov rcx, rsi
call fcn.1400a2450
mov r13, qword [rsp + 0x60]
test r13, r13
je 0x140003fe7
jmp 0x140003d32
mov rax, qword [rbp - 0x58]
mov qword [r13 + 0xf8], rax
mov rcx, qword [rbp + 0x30]
movzx eax, byte [rcx + 0x35]
mov byte [r13 + 0x136], al
call fcn.140012330
jmp 0x140003fe7
call qword [sym.imp.USER32.dll_CountClipboardFormats]
test eax, eax
je 0x140003e46
mov ecx, SafeArrayGetElemsize
call qword [sym.imp.USER32.dll_IsClipboardFormatAvailable]
test eax, eax
jne 0x140003e41
lea ecx, [rax + 0xf]
call qword [sym.imp.USER32.dll_IsClipboardFormatAvailable]
test eax, eax
jne 0x140003e41
mov eax, 2
jmp 0x140003e49
mov eax, r14d
jmp 0x140003e49
mov eax, r12d
movsxd rdx, eax
mov qword [r13 + 0x48], rdx
mov r8b, reloc.OLEAUT32.dll_SafeArrayGetElement
mov rcx, qword [0x140118280]
call fcn.140001090
mov dword [rbp + 0x50], r14d
mov rax, qword [r13 + 0x48]
mov qword [rbp + 0x40], rax
mov byte [0x140119c90], r14b
mov rax, qword [0x140119c78]
test rax, rax
je 0x140003e8d
mov rcx, rax
call fcn.140001930
mov rax, qword [0x140119c78]
cmp qword [rsp + 0x78], r12
jne 0x140003eb1
mov r9d, r12d
test rax, rax
sete r9b
mov r8d, r14d
lea rdx, [rbp + 0x40]
lea rcx, [0x140119c48]
call fcn.1400a6c20
mov byte [0x140119c90], r12b
jmp 0x140003fe7
mov dword [rbp + 0x50], 6
mov rdi, qword [rbp - 0x48]
mov rax, qword [rdi + 0x10]
mov qword [rbp + 0x40], rax
mov dword [rsp + 0x30], r12d
mov qword [rsp + 0x28], r12
mov dword [rsp + 0x20], r14d
lea r9, [rbp + 0x40]
lea r8, [0x1400e24e0]
mov rdx, rsi
mov rcx, rsi
call fcn.1400a2450
mov rcx, qword [rdi + 0x10]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_SafeArrayGetDim]
jmp 0x140003fe7
mov rax, qword [rbp - 0x48]
mov rax, qword [rax + 0x10]
mov qword [rbp + 0x40], rax
mov dword [rbp + 0x70], r14d
mov rcx, qword [rbp - 0x80]
movzx eax, cl
mov qword [rbp + 0x60], rax
mov dword [rbp + 0x90], r14d
sar rcx, 0x10
movzx eax, cx
mov qword [rbp + 0x80], rax
mov dword [rsp + 0x30], r12d
mov qword [rsp + 0x28], r12
mov dword [rsp + 0x20], 3
lea r9, [rbp + 0x40]
mov dword [rbp + 0x50], 6
lea r8, [0x1400e24e0]
mov rdx, rsi
mov rcx, rsi
call fcn.1400a2450
jmp 0x140003fe7
mov rax, qword [rbp - 0x80]
mov word [rbp - 0x30], ax
sar rax, 0x10
mov word [rbp - 0x2e], ax
mov word [rbp - 0x2c], r12w
mov rax, qword [rbp - 0x48]
mov rax, qword [rax + 0x10]
mov qword [rbp + 0x40], rax
mov dword [rbp + 0x70], r12d
lea rax, [rbp - 0x30]
mov qword [rbp + 0x60], rax
mov dword [rsp + 0x30], r12d
mov qword [rsp + 0x28], r12
mov dword [rsp + 0x20], 2
lea r9, [rbp + 0x40]
jmp 0x140003f4a
mov rcx, qword [rbp - 0x18]
movzx eax, byte [rcx + 0x10]
cmp al, 0x9c
jb 0x140003fc5
cmp al, 0x9f
ja 0x140003fc5
movzx eax, word [rbp - 0x80]
mov qword [r13 + 0x48], rax
mov rax, qword [rbp - 0x58]
mov qword [r13 + 0xf8], rax
mov rdi, qword [rbp - 0x40]
movzx eax, byte [rdi + 0x24]
mov byte [r13 + 0x136], al
mov rdx, rdi
call fcn.14000dca0
lea rcx, [rbp + 0x1f0]
call fcn.140004b60
cmp qword [rbp + 0x28], 0
mov edi, dword [rbp + 0x1410]
mov r15d, dword [rsp + 0x44]
movzx r12d, byte [rbp + 0x1420]
mov r13d, dword [rsp + 0x40]
movzx esi, byte [rbp + 0x1418]
movzx r14d, byte [rbp + 0x1428]
je 0x140001cde
movzx r8d, r12b
mov edx, dword [rbp - 0x60]
mov ecx, edi
call fcn.1400041e0
test eax, eax
je 0x140001cde
mov sil, 1
mov byte [rbp + 0x1418], sil
movzx r12d, sil
mov byte [rbp + 0x1420], sil
jmp 0x140002bf7
cmp edi, 0xffffffff
jle 0x140004067
mov qword [0x140119d10], rsi
mov dword [0x140119d20], eax
mov dword [0x140119d24], eax
movzx eax, byte [0x14011789e]
cmp byte [rsp + 0x4a], 0
cmovne eax, esi
mov byte [0x14011789e], al
cmp byte [rsp + 0x49], 0
je 0x14000413f
mov eax, dword [0x1401178ac]
dec eax
mov dword [0x1401178ac], eax
test edi, edi
jle 0x14000413f
test eax, eax
jne 0x14000413f
cmp dword [0x140119cac], eax
jne 0x14000413f
cmp dword [0x140118320], eax
jne 0x14000413f
cmp byte [0x140117898], al
jmp 0x140004119
movzx eax, byte [0x14011789e]
cmp byte [rsp + 0x4a], 0
mov esi, 0
cmovne eax, esi
mov byte [0x14011789e], al
cmp byte [rsp + 0x49], sil
je 0x14000413f
mov eax, dword [0x1401178ac]
dec eax
mov dword [0x1401178ac], eax
test edi, edi
jle 0x14000413f
test eax, eax
jne 0x14000413f
cmp dword [0x140119cac], esi
jne 0x14000413f
cmp dword [0x140118320], esi
jne 0x14000413f
cmp byte [0x140117898], sil
je 0x14000413f
mov edx, 9
mov rcx, qword [0x140117710]
call qword [sym.imp.USER32.dll_KillTimer]
movzx ecx, byte [0x140117898]
test eax, eax
cmovne ecx, esi
mov byte [0x140117898], cl
movzx eax, r15b
movaps xmm7, xmmword [rsp + 0x14b0]
add rsp, 0x14c8
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret