Function at 0x140001760
Capabilities:
Check for foreground window switch
Check for time delay via gettickcount
Check os version
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 - 0x1488]
mov eax, 0x1588
call fcn.1401110b0
sub rsp, rax
mov edi, edx
mov r14d, ecx
mov byte [rsp + 0x49], 0
mov esi, 1
cmp edx, 2
jne 0x1400017b0
cmp byte [0x14016f9eb], 0
mov edi, esi
jne 0x1400017b0
mov byte [0x14016f9eb], sil
mov byte [rsp + 0x49], sil
xor ebx, ebx
cmp dword [0x140171f5c], ebx
je 0x1400017ea
cmp qword [0x140171f40], rbx
je 0x1400017d7
mov rcx, qword [0x140171f30]
call qword [sym.imp.KERNEL32.dll_GlobalUnlock]
mov qword [0x140171f40], rbx
call qword [sym.imp.USER32.dll_CloseClipboard]
mov dword [0x140171f5c], ebx
mov qword [0x140171f30], rbx
cmp r14d, 0x8000012f
jne 0x14000180c
mov r14d, 0xa
mov byte [rbp + 0x14e0], sil
mov dword [rbp - 0x68], ebx
mov dword [rbp + 0x14d0], r14d
jmp 0x14000182b
cmp r14d, 5
setle al
mov byte [rbp + 0x14e0], al
test al, al
je 0x140001822
mov dword [rbp - 0x68], ebx
jmp 0x14000182b
call qword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [rbp - 0x68], eax
cmp dword [0x14017045c], ebx
je 0x140001838
call fcn.140004090
xor r12b, r12b
cmp dword [0x140171e3c], ebx
mov dword [rsp + 0x60], r12d
je 0x14000185c
call fcn.140003db0
movzx r12d, r12b
test al, al
cmovne r12d, esi
mov dword [rsp + 0x60], r12d
test r14d, r14d
jle 0x14000189c
cmp edi, esi
jne 0x14000189c
inc dword [0x14016f9f8]
cmp byte [0x14016f9e5], bl
mov byte [rsp + 0x48], sil
jne 0x1400018a0
mov rcx, qword [0x14016f860]
xor r9d, r9d
lea edx, [r9 + 9]
lea r8d, [r9 + 0xa]
call qword [sym.imp.USER32.dll_SetTimer]
test rax, rax
setne byte [0x14016f9e5]
jmp 0x1400018a0
mov byte [rsp + 0x48], bl
mov r15, qword [rbp + 0x14e0]
mov r13, qword [rsp + 0x50]
movzx r12d, byte [rbp + 0x14e0]
movsxd rax, edi
mov byte [rsp + 0x4a], bl
mov byte [rbp + 0x14d8], bl
mov dword [rsp + 0x40], ebx
xor dil, dil
mov qword [rbp + 0x10], rax
jmp 0x140001930
mov r14d, dword [rbp + 0x14d0]
mov ebx, dword [rsp + 0x40]
jmp 0x140001930
mov r14d, dword [rbp + 0x14d0]
jmp 0x140001930
mov r14d, dword [rbp + 0x14d0]
movzx r12d, byte [rbp + 0x14e0]
mov ebx, dword [rsp + 0x40]
jmp 0x140001930
mov r14d, dword [rbp + 0x14d0]
movzx r12d, byte [rbp + 0x14e0]
jmp 0x140001930
mov r14d, dword [rbp + 0x14d0]
jmp 0x140001928
mov ebx, dword [rsp + 0x40]
mov r14d, dword [rbp + 0x14d0]
movzx r12d, byte [rbp + 0x14e0]
movzx edi, byte [rbp + 0x14d8]
nop
call qword [sym.imp.KERNEL32.dll_GetTickCount]
cmp dword [0x1401697c8], 0
mov esi, eax
jg 0x140001989
xor ecx, ecx
mov dword [0x1401697c8], ecx
mov rcx, qword [0x1401697d8]
cmp rcx, 0xffffffffffffffff
jne 0x140001966
mov rcx, qword gs:[0x60]
mov qword [0x1401697d8], rcx
test rcx, rcx
je 0x140001989
movzx eax, byte [rcx + 2]
test eax, eax
je 0x140001989
mov eax, 0xe0
mov dword [0x14016f844], eax
mov eax, 1
mov dword [0x1401697c8], eax
test r14d, r14d
jle 0x1400019e9
test dil, dil
jne 0x1400019e9
cmp byte [0x14016f9eb], dil
jne 0x1400019f6
call fcn.140004750
mov r9d, 0x311
lea rcx, [rsp + 0x68]
test eax, eax
mov eax, 0
cmovne r9d, eax
xor r8d, r8d
xor edx, edx
call qword [sym.imp.USER32.dll_GetMessageW]
cmp eax, 0xffffffff
je 0x140001930
call qword [sym.imp.KERNEL32.dll_GetTickCount]
mov ecx, eax
sub ecx, esi
cmp ecx, 3
jbe 0x140001cd4
mov dword [0x140171ea8], eax
jmp 0x140001cd4
cmp byte [0x14016f9eb], 0
je 0x140001b9e
call qword [sym.imp.USER32.dll_GetForegroundWindow]
mov rdi, rax
test rax, rax
je 0x140001b9e
xor edx, edx
mov rcx, rax
call qword [sym.imp.USER32.dll_GetWindowThreadProcessId]
cmp eax, dword [0x1401712b8]
jne 0x140001b9e
cmp dword [0x14016fa48], 0
je 0x140001a7c
lea rdx, [rbp + 0x140]
mov r8d, SafeArrayAllocDescriptor
mov rcx, rdi
call qword [sym.imp.USER32.dll_GetClassNameW]
lea rcx, str.yihmmj
call fcn.1400dd2e0
lea rcx, [rbp + 0x140]
mov rdi, rax
sub rdi, rcx
nop word [rax + rax]
movzx eax, word [rcx]
movzx edx, word [rcx + rdi]
sub eax, edx
jne 0x140001a73
add rcx, 2
test edx, edx
jne 0x140001a60
test eax, eax
sete al
test al, al
jne 0x140001ae3
call qword [sym.imp.USER32.dll_GetFocus]
test rax, rax
je 0x140001b9e
lea rdx, [rbp + 0x140]
mov r8d, SafeArrayAllocDescriptor
mov rcx, rax
call qword [sym.imp.USER32.dll_GetClassNameW]
lea rcx, [0x140129608]
call fcn.1400dd2e0
lea rcx, [rbp + 0x140]
mov rdx, rax
call fcn.140108424
test eax, eax
je 0x140001ae3
lea rcx, [0x140129638]
call fcn.1400dd2e0
lea rcx, [rbp + 0x140]
mov rdx, rax
call fcn.140108424
test eax, eax
jne 0x140001b9e
call fcn.140004750
mov edi, 0x311
lea rcx, [rsp + 0x68]
test eax, eax
mov eax, 0xffffffff
mov r9d, 0x1ff
cmovne edi, eax
xor eax, eax
xor r8d, r8d
xor edx, edx
mov dword [rsp + 0x20], eax
call qword [sym.imp.USER32.dll_PeekMessageW]
xor edx, edx
mov r9d, edi
mov r8d, 0x20e
lea rcx, [rsp + 0x68]
test eax, eax
jne 0x140001b3d
mov eax, 1
mov dword [rsp + 0x20], eax
call qword [sym.imp.USER32.dll_PeekMessageW]
xor edi, edi
jmp 0x140001c28
mov ebx, 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 0x140001b76
mov eax, 1
mov dword [rsp + 0x20], eax
mov r9d, 0x1ff
xor r8d, r8d
call qword [sym.imp.USER32.dll_PeekMessageW]
xor edi, edi
jmp 0x140001c28
mov eax, dword [rbp - 0x78]
sub eax, ebx
test eax, eax
mov eax, 1
mov dword [rsp + 0x20], eax
jg 0x140001b60
mov r9d, edi
mov r8d, 0x20e
call qword [sym.imp.USER32.dll_PeekMessageW]
xor edi, edi
jmp 0x140001c28
cmp dword [0x140169afc], 0
je 0x140001bff
cmp dword [0x14016fa0c], 0
jne 0x140001bff
mov rcx, qword [0x140169c00]
cmp byte [rcx + 0x12c], 0
jne 0x140001bf4
cmp byte [rcx + 0x12e], 0
jne 0x140001bf4
cmp dword [rcx + 0x120], 0xffffffff
jle 0x140001bf4
call qword [sym.imp.KERNEL32.dll_GetTickCount]
mov rcx, qword [0x140169c00]
sub eax, dword [rcx + 0x11c]
cmp eax, dword [rcx + 0x120]
jb 0x140001bf4
mov byte [rcx + 0x12c], 1
movzx eax, byte [rcx + 0x12c]
xor edi, edi
jmp 0x140001c03
xor edi, edi
mov eax, edi
test eax, eax
mov r9d, 0x311
mov eax, 1
cmovne r9d, edi
lea rcx, [rsp + 0x68]
xor r8d, r8d
xor edx, edx
mov dword [rsp + 0x20], eax
call qword [sym.imp.USER32.dll_PeekMessageW]
test eax, eax
jne 0x140001cc9
call qword [sym.imp.KERNEL32.dll_GetTickCount]
mov edx, dword [0x140171ea8]
mov ecx, eax
sub ecx, esi
cmp ecx, 3
cmova edx, eax
mov dword [0x140171ea8], edx
test r14d, r14d
jne 0x140001c6e
cmp byte [rsp + 0x4a], r14b
jne 0x140001c6e
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_Sleep]
mov ebx, dword [rsp + 0x40]
mov byte [rsp + 0x4a], 1
jmp 0x140001928
mov ebx, dword [rsp + 0x40]
test ebx, ebx
jne 0x140001c99
test r12b, r12b
je 0x140001c99
test r14d, r14d
jle 0x140001c89
lea ecx, [rbx + 5]
call qword [sym.imp.KERNEL32.dll_Sleep]
mov eax, 1
mov ebx, eax
mov dword [rsp + 0x40], eax
jmp 0x140001928
call qword [sym.imp.KERNEL32.dll_GetTickCount]
test r12b, r12b
jne 0x140003c18
mov ecx, dword [rbp - 0x68]
sub ecx, eax
add ecx, r14d
cmp ecx, 5
jle 0x140003c18
mov ecx, 5
call qword [sym.imp.KERNEL32.dll_Sleep]
jmp 0x140001928
mov ebx, dword [rsp + 0x40]
movzx edi, byte [rbp + 0x14d8]
inc ebx
cmp dword [0x1401712d0], 0
mov dword [rsp + 0x40], ebx
je 0x140001d21
cmp dword [0x140169afc], 0
je 0x140001d21
mov r9, qword [rbp - 0x80]
mov r8, qword [rsp + 0x78]
mov edx, dword [rsp + 0x70]
mov rcx, qword [rsp + 0x68]
lea rax, [rbp + 0x138]
mov qword [rsp + 0x28], rax
lea rax, [rsp + 0x68]
mov qword [rsp + 0x20], rax
call fcn.140004110
test al, al
jne 0x140001930
mov r9d, dword [0x140170318]
mov r11, qword [rsp + 0x68]
mov r12d, dword [rsp + 0x70]
test r9d, r9d
je 0x1400021c0
test r11, r11
je 0x1400021c0
cmp r11, qword [0x14016f860]
je 0x1400021c0
cmp r12d, 0x414
je 0x1400021c0
cmp r12d, 0x402
je 0x1400021c0
lea eax, [r12 - 0x100]
cmp eax, 9
ja 0x14000213a
call qword [sym.imp.USER32.dll_GetFocus]
mov rsi, rax
test rax, rax
je 0x140002129
mov rcx, rax
call fcn.1400eca40
mov rdi, rax
test rax, rax
je 0x140002129
mov rcx, rsi
call fcn.1400826e0
mov r13, rax
mov qword [rsp + 0x50], rax
test rax, rax
je 0x140002129
mov rdx, qword [rax + 0xb8]
test rdx, rdx
je 0x140001dec
lea r8, [rsp + 0x68]
mov rcx, rdi
call qword [sym.imp.USER32.dll_TranslateAcceleratorW]
movzx r12d, byte [rbp + 0x14e0]
movzx edi, byte [rbp + 0x14d8]
test eax, eax
jne 0x140001930
mov r12d, dword [rsp + 0x70]
mov rdi, qword [rsp + 0x78]
cmp r12d, 0x100
jne 0x1400020c5
cmp byte [r13 + 0x100], 0
je 0x140001fc7
cmp rdi, 0x22
je 0x140001e33
cmp rdi, 0x21
je 0x140001e33
cmp rdi, 9
je 0x140001e33
cmp rdi, 0x25
je 0x140001e33
cmp rdi, 0x27
jne 0x140001fc7
mov rdx, rsi
mov rcx, r13
call fcn.140001720
mov r12, rax
mov qword [rbp - 0x58], rax
test rax, rax
je 0x140001fac
movzx ecx, byte [rax + 8]
cmp cl, 0xf
je 0x140001fac
mov rdi, qword [rsp + 0x78]
xor eax, eax
mov ebx, eax
cmp cl, 0x13
jne 0x140001e9b
mov rbx, r12
cmp rdi, 0x25
je 0x140001e78
cmp rdi, 0x27
jne 0x140001e9b
cmp rdi, 0x27
mov rdx, r12
mov rcx, r13
sete r8b
xor r9d, r9d
mov byte [rsp + 0x20], al
call fcn.1400944f0
mov ebx, dword [rsp + 0x40]
jmp 0x140001920
cmp rdi, 0x25
je 0x140001fb1
cmp rdi, 0x27
je 0x140001fb1
mov ecx, reloc.OLEAUT32.dll_SafeArrayGetElemsize
call qword [sym.imp.USER32.dll_GetKeyState]
mov ecx, 0x8000
test cx, ax
je 0x140001fac
mov rdi, qword [rsp + 0x78]
cmp rdi, 9
jne 0x140001ef5
cmp byte [r12 + 8], 0xc
jne 0x140001ef5
mov rcx, qword [r12]
lea edx, [rdi - 0x19]
call qword [sym.imp.USER32.dll_GetWindowLongW]
test al, 4
jne 0x140001fac
mov rdi, qword [rsp + 0x78]
test rbx, rbx
jne 0x140001f57
movzx edx, byte [r12 + 0xa]
mov rcx, r13
call fcn.140094210
mov rbx, rax
test rax, rax
jne 0x140001f57
mov r8d, dword [r13 + 0x20]
xor cl, cl
mov edx, eax
test r8d, r8d
je 0x140001fb1
mov r9, qword [r13 + 0x28]
lea rax, [r9 + 8]
nop dword [rax]
cmp byte [rax], 0x13
jne 0x140001f3b
test cl, cl
je 0x140001f48
inc cl
inc edx
add rax, 0x28
cmp edx, r8d
jb 0x140001f30
jmp 0x140001fb1
mov eax, edx
lea rcx, [rax + rax*4]
lea rbx, [r9 + rcx*8]
test rbx, rbx
je 0x140001fb1
mov rcx, qword [rbx]
call qword [sym.imp.USER32.dll_IsWindowEnabled]
test eax, eax
je 0x140001fac
mov rax, qword [rsp + 0x78]
cmp rax, 0x22
je 0x140001f8d
cmp rax, 9
jne 0x140001f88
lea ecx, [rax + 7]
call qword [sym.imp.USER32.dll_GetKeyState]
mov ecx, 0x8000
test cx, ax
je 0x140001f8d
xor r8d, r8d
jmp 0x140001f90
mov r8b, 1
mov r9b, 1
mov rdx, rbx
mov rcx, r13
mov byte [rsp + 0x20], 1
call fcn.1400944f0
mov ebx, dword [rsp + 0x40]
jmp 0x140001920
mov rdi, qword [rsp + 0x78]
mov r12d, dword [rsp + 0x70]
cmp r12d, 0x100
jne 0x1400020c5
mov ebx, dword [rsp + 0x40]
cmp rdi, 0x1b
je 0x140002008
cmp rdi, 9
je 0x140002008
cmp rdi, 0x41
jne 0x1400020c5
lea ecx, [rdi - 0x30]
call qword [sym.imp.USER32.dll_GetKeyState]
mov edi, 0x8000
test di, ax
je 0x1400020bb
mov ecx, 0xa5
call qword [sym.imp.USER32.dll_GetKeyState]
test di, ax
jne 0x1400020bb
mov rdx, rsi
mov rcx, r13
call fcn.140001720
mov r12, rax
mov qword [rbp - 0x58], rax
test rax, rax
je 0x1400020bb
cmp byte [rax + 8], 0xc
jne 0x1400020bb
mov rdi, qword [rsp + 0x78]
cmp rdi, 0x1b
je 0x140002084
cmp rdi, 0x41
je 0x140002064
test byte [rax + 9], 0x80
je 0x1400020c0
mov rcx, qword [rax]
lea r9, [0x140129664]
mov edx, 0xc2
mov r8d, 1
call qword [sym.imp.USER32.dll_SendMessageW]
jmp 0x140001920
test byte [rax + 9], 2
jne 0x1400020c0
mov rcx, qword [rax]
or r9, 0xffffffffffffffff
xor r8d, r8d
mov edx, 0xb1
call qword [sym.imp.USER32.dll_SendMessageW]
jmp 0x140001920
cmp qword [r13 + 0x40], 0
movzx r12d, byte [rbp + 0x14e0]
movzx edi, byte [rbp + 0x14d8]
je 0x140001930
mov rcx, qword [r13 + 8]
xor r9d, r9d
mov edx, 0x414
mov r8d, 0x2af80007
call qword [sym.imp.USER32.dll_PostMessageW]
jmp 0x140001920
mov rdi, qword [rsp + 0x78]
mov r12d, dword [rsp + 0x70]
mov rcx, qword [0x1401711d8]
test rcx, rcx
je 0x14000211b
cmp r12d, 0x100
jne 0x14000211b
cmp rdi, 0xd
jne 0x1400020fa
xor r9d, r9d
xor r8d, r8d
mov edx, 0x1116
call qword [sym.imp.USER32.dll_SendMessageW]
mov ebx, dword [rsp + 0x40]
jmp 0x140001920
cmp rdi, 0x1b
jne 0x14000211b
lea r8d, [rdi - 0x1a]
xor r9d, r9d
mov edx, 0x1116
call qword [sym.imp.USER32.dll_SendMessageW]
mov ebx, dword [rsp + 0x40]
jmp 0x140001920
mov r11, qword [rsp + 0x68]
mov r9d, dword [0x140170318]
jmp 0x14000213f
mov r12d, dword [rsp + 0x70]
mov r11, qword [rsp + 0x68]
mov r9d, dword [0x140170318]
mov rdi, qword [rsp + 0x78]
xor esi, esi
mov ebx, esi
test r9d, r9d
jle 0x1400021ba
mov edi, esi
nop word [rax + rax]
mov rcx, qword [0x140169c00]
lea rdx, [rsp + 0x68]
mov byte [rcx + 0x128], 1
mov eax, dword [rsp + 0x70]
mov dword [rcx + 0x124], eax
mov rax, qword [0x140170310]
mov rcx, qword [rdi + rax]
mov rcx, qword [rcx + 8]
call qword [sym.imp.USER32.dll_IsDialogMessageW]
test eax, eax
mov rax, qword [0x140169c00]
mov byte [rax + 0x128], sil
jne 0x140001e92
mov r9d, dword [0x140170318]
inc ebx
add rdi, 8
cmp ebx, r9d
jl 0x140002150
mov r12d, dword [rsp + 0x70]
mov r11, qword [rsp + 0x68]
mov ebx, dword [rsp + 0x40]
jmp 0x1400021c2
mov ebx, dword [rsp + 0x40]
jmp 0x1400021c7
xor esi, esi
mov rdi, qword [rsp + 0x78]
cmp r12d, 0x401
ja 0x14000237d
cmp r12d, 0x400
jae 0x1400023b3
mov eax, r12d
sub eax, 0x12
je 0x140002365
sub eax, 0x39
je 0x140002347
sub eax, 0xb5
je 0x14000231c
sub eax, 0x13
je 0x140002216
cmp eax, 0x1ff
je 0x1400023c5
jmp 0x14000266c
cmp qword [rbp - 0x80], 0
jne 0x14000266c
cmp r11, qword [0x14016f860]
jne 0x14000266c
cmp dword [0x14017045c], 0
je 0x14000223c
call fcn.140004090
cmp dword [0x140171e3c], 0
je 0x14000225f
call fcn.140003db0
movzx edi, byte [rsp + 0x60]
test al, al
mov eax, 1
cmovne edi, eax
mov dword [rsp + 0x60], edi
jmp 0x140002263
mov edi, dword [rsp + 0x60]
cmp qword [rbp + 0x10], 0
movzx r12d, byte [rbp + 0x14e0]
je 0x140001928
cmp r14d, 1
jl 0x140001928
mov edx, dword [rbp - 0x68]
movzx r8d, r12b
mov ecx, r14d
call fcn.140003d30
test eax, eax
je 0x140001928
movzx eax, byte [0x14016f9eb]
cmp byte [rsp + 0x49], 0
cmovne eax, esi
cmp byte [rsp + 0x48], 0
mov byte [0x14016f9eb], al
je 0x140002304
mov eax, dword [0x14016f9f8]
dec eax
mov dword [0x14016f9f8], eax
test r14d, r14d
jle 0x140002304
test eax, eax
jne 0x140002304
cmp dword [0x140171e3c], eax
jne 0x140002304
cmp dword [0x14017045c], eax
jne 0x140002304
cmp byte [0x14016f9e5], al
je 0x140002304
mov rcx, qword [0x14016f860]
lea edx, [rax + 9]
call qword [sym.imp.USER32.dll_KillTimer]
movzx ecx, byte [0x14016f9e5]
test eax, eax
cmovne ecx, esi
mov byte [0x14016f9e5], cl
movzx eax, dil
add rsp, 0x1588
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret
cmp r11, qword [0x14016f868]
jne 0x14000266c
cmp rdi, 0x1b
jne 0x14000266c
mov rcx, qword [0x14016f860]
xor edx, edx
call qword [sym.imp.USER32.dll_ShowWindow]
jmp 0x140001920
movzx r12d, byte [rbp + 0x14e0]
mov dil, 1
mov qword [0x14016f9c0], rsi
mov byte [rbp + 0x14d8], dil
jmp 0x140001930
xor r8d, r8d
lea rcx, [0x1401712e0]
lea edx, [r8 + 5]
call fcn.140026b80
jmp 0x140001920
cmp r12d, 0x402
je 0x1400023c5
cmp r12d, 0x414
je 0x1400023c5
cmp r12d, 0x415
je 0x1400023b3
cmp r12d, 0x41a
jbe 0x14000266c
cmp r12d, 0x41e
jbe 0x1400023c5
jmp 0x14000266c
test r11, r11
je 0x1400023c5
cmp r11, qword [0x14016f860]
jne 0x14000266c
lea eax, [r12 - 0x401]
mov r14, rsi
cmp eax, 0x1d
ja case.0x1400023f2.1031
lea rdx, sym.MZ_b_4ix__UH3tlIju_n3bu_bRSDz8e8_6O__LTLn_u_28Wnitpw
movzx eax, byte [rdx + rax + 0x3cc4]
mov ecx, dword [rdx + rax*4 + 0x3ca8]
add rcx, rdx
jmp rcx
mov edx, esi
mov rcx, rsi
test r9d, r9d
jle 0x140002419
mov r8, qword [0x140170310]
mov rax, qword [r8 + rcx*8]
cmp qword [rax + 8], r11
je 0x140002426
inc edx
inc rcx
cmp edx, r9d
jl 0x140002405
mov r13, rsi
mov qword [rsp + 0x50], rsi
jmp 0x140002665
mov r13, rax
mov qword [rsp + 0x50], rax
test rax, rax
je 0x140002665
mov rcx, qword [rbp - 0x80]
movzx edx, di
shr rdi, 0x10
movzx edi, di
mov qword [rsp + 0x58], rcx
mov dword [rsp + 0x4c], edx
mov dword [rsp + 0x44], esi
mov dword [rbp - 0x40], edi
cmp edx, 8
jne 0x14000246a
mov qword [rsp + 0x58], rdi
mov edi, 0x2af8
mov dword [rbp - 0x30], ecx
mov dword [rbp - 0x40], edi
cmp edi, dword [rax + 0x20]
jae 0x14000247f
mov eax, edi
lea rcx, [rax + rax*4]
mov rax, qword [r13 + 0x28]
lea rdi, [rax + rcx*8]
jmp 0x140002482
mov rdi, rsi
mov eax, edx
mov qword [rbp - 0x58], rdi
mov qword [rbp - 0x20], rsi
sub eax, 5
mov byte [rbp + 0x14e8], 0
je 0x1400025ac
dec eax
je 0x140002572
dec eax
je 0x140002558
dec eax
je 0x14000253e
dec eax
je 0x140002525
test rdi, rdi
je 0x140001919
mov rbx, qword [rdi + 0x18]
test rbx, rbx
jne 0x140002508
test byte [rdi + 9], 1
mov r14d, dword [rbp + 0x14d0]
movzx r12d, byte [rbp + 0x14e0]
movzx edi, byte [rbp + 0x14d8]
mov ebx, dword [rsp + 0x40]
je 0x140001930
mov rcx, qword [r13 + 8]
test rcx, rcx
je 0x140001930
xor edx, edx
call qword [sym.imp.USER32.dll_ShowWindow]
jmp 0x140001919
test byte [rdi + 9], 4
movzx edi, byte [rbp + 0x14d8]
jne 0x1400018e6
mov byte [rbp + 0x14e8], 1
jmp 0x140002baf
mov rbx, qword [r13 + 0x58]
movzx edi, byte [rbp + 0x14d8]
test rbx, rbx
je 0x1400018e6
jmp 0x140002baf
mov rbx, qword [r13 + 0x48]
movzx edi, byte [rbp + 0x14d8]
test rbx, rbx
je 0x1400018e6
lea rcx, [r13 + 0x62]
jmp 0x14000258a
mov rbx, qword [r13 + 0x40]
movzx edi, byte [rbp + 0x14d8]
test rbx, rbx
je 0x1400018e6
lea rcx, [r13 + 0x61]
jmp 0x14000258a
mov rbx, qword [r13 + 0x38]
movzx edi, byte [rbp + 0x14d8]
test rbx, rbx
je 0x1400018e6
lea rcx, [r13 + 0x60]
mov qword [rbp - 0x20], rcx
test rcx, rcx
je 0x140002baf
cmp byte [rcx], 0
movzx edi, byte [rbp + 0x14d8]
jne 0x1400018e6
jmp 0x140002baf
mov rbx, qword [r13 + 0x50]
mov r14, qword [r13 + 0xa0]
test rbx, rbx
je 0x1400025fc
movzx r12d, byte [rbp + 0x14e0]
movzx edi, byte [rbp + 0x14d8]
test r14, r14
je 0x1400018d0
xor r9d, r9d
xor r8d, r8d
or edx, 0xffffffff
mov rcx, r14
call qword [sym.imp.SHELL32.dll_DragQueryFileW]
mov eax, eax
mov qword [rsp + 0x58], rax
test rax, rax
je 0x1400025fc
mov r12d, dword [rsp + 0x70]
jmp 0x140002baf
movzx r12d, byte [rbp + 0x14e0]
mov ebx, dword [rsp + 0x40]
movzx edi, byte [rbp + 0x14d8]
test r14, r14
je 0x1400018dd
mov rcx, r14
call qword [sym.imp.SHELL32.dll_DragFinish]
mov qword [r13 + 0xa0], rsi
jmp 0x140001919
test rdi, rdi
je 0x1400027dd
mov rcx, rdi
call fcn.1400826a0
mov r13, rax
mov qword [rsp + 0x50], rax
test rax, rax
jne 0x1400027e5
test r11, r11
je 0x1400027e5
cmp r11, qword [0x14016f860]
je 0x1400027e5
mov r14d, dword [rbp + 0x14d0]
call qword [sym.imp.USER32.dll_GetForegroundWindow]
mov rbx, rax
test rax, rax
je 0x140002758
xor edx, edx
mov rcx, rax
call qword [sym.imp.USER32.dll_GetWindowThreadProcessId]
cmp eax, dword [0x1401712b8]
jne 0x140002758
lea rdx, [rbp + 0x140]
mov r8d, SafeArrayAllocDescriptor
mov rcx, rbx
call qword [sym.imp.USER32.dll_GetClassNameW]
lea rcx, str.yihmmj
call fcn.1400dd2e0
lea rcx, [rbp + 0x140]
mov rdi, rax
sub rdi, rcx
movzx eax, word [rcx]
movzx edx, word [rcx + rdi]
sub eax, edx
jne 0x1400026d7
add rcx, 2
test edx, edx
jne 0x1400026c4
test eax, eax
jne 0x140002758
mov rcx, qword [0x140169c00]
lea rdx, [rsp + 0x68]
mov byte [rcx + 0x128], 1
mov eax, dword [rsp + 0x70]
mov dword [rcx + 0x124], eax
mov rcx, rbx
call qword [sym.imp.USER32.dll_IsDialogMessageW]
test eax, eax
je 0x140002748
cmp dword [0x14016fa48], 0
je 0x140002731
mov rax, qword [0x140169c30]
lea rcx, [0x1401295d4]
test rax, rax
je 0x14000272b
mov rax, qword [rax]
test rax, rax
cmovne rcx, rax
call qword [sym.imp.KERNEL32.dll_SetCurrentDirectoryW]
mov rax, qword [0x140169c00]
mov ebx, dword [rsp + 0x40]
mov byte [rax + 0x128], 0
jmp 0x140001920
mov rcx, qword [0x140169c00]
mov byte [rcx + 0x128], 0
jmp 0x14000275f
mov rcx, qword [0x140169c00]
mov rdx, qword [0x14016f888]
test rdx, rdx
je 0x14000279f
mov rcx, qword [0x14016f860]
lea r8, [rsp + 0x68]
call qword [sym.imp.USER32.dll_TranslateAcceleratorW]
movzx r12d, byte [rbp + 0x14e0]
mov ebx, dword [rsp + 0x40]
movzx edi, byte [rbp + 0x14d8]
test eax, eax
jne 0x140001930
mov rcx, qword [0x140169c00]
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 [0x140169c00]
mov ebx, dword [rsp + 0x40]
mov byte [rdx + 0x128], 0
jmp 0x140001920
mov r13, rsi
mov qword [rsp + 0x50], rsi
mov rcx, qword [0x140171e40]
test rcx, rcx
je 0x140002818
mov rax, qword [rbp - 0x80]
mov r15, qword [rcx + 8]
test r15, r15
je 0x14000280f
nop
cmp dword [r15 + 0x28], eax
je 0x140002820
mov r15, qword [r15 + 0x38]
test r15, r15
jne 0x140002800
mov rcx, qword [rcx + 0x30]
test rcx, rcx
jne 0x1400027f5
mov r15, rsi
jmp 0x140001919
mov rbx, qword [r15 + 0x10]
movzx edi, byte [rbp + 0x14d8]
test rbx, rbx
je 0x1400018e6
mov esi, dword [r15 + 0x2c]
jmp 0x140002baf
mov eax, dword [0x140170478]
movzx r12d, byte [rbp + 0x14e0]
cmp rdi, rax
jae 0x14000190c
mov rax, qword [0x140170470]
mov r12, qword [rax + rdi*8]
mov qword [rbp + 0x20], r12
mov rcx, qword [r12 + 0x20]
test rcx, rcx
je 0x1400028a0
mov rdx, qword [r12 + 8]
call fcn.14000be00
mov rdi, rax
movzx edi, byte [rbp + 0x14d8]
mov qword [rbp - 0x60], rax
test rax, rax
je 0x1400018fb
mov rcx, qword [r12 + 0x20]
movzx edx, byte [rcx]
cmp dl, 1
je 0x1400028a4
cmp dl, 3
je 0x1400028a4
mov qword [rbp - 0x60], rsi
mov rdx, qword [rbp - 0x80]
mov rcx, r12
call fcn.140011790
cmp qword [r12 + 0x18], 0
movzx edi, byte [rbp + 0x14d8]
jne 0x1400018fb
cmp byte [r12 + 0x3e], 0
je 0x1400028e9
movzx eax, word [rbp - 0x80]
mov word [0x140171e5c], ax
mov rbx, qword [r12]
mov esi, dword [r12 + 0x28]
mov r12d, dword [rsp + 0x70]
jmp 0x140002baf
mov word [0x140171e5c], si
mov rbx, qword [r12]
mov esi, dword [r12 + 0x28]
mov r12d, dword [rsp + 0x70]
jmp 0x140002baf
cmp byte [0x140171e20], 0
movzx edi, byte [rbp + 0x14d8]
jne 0x1400018fb
mov rbx, qword [0x140171e08]
test rbx, rbx
cmove rbx, qword [0x140171988]
jmp 0x140002baf
mov rcx, rdi
call fcn.140045600
movzx r12d, byte [rbp + 0x14e0]
movzx edi, byte [rbp + 0x14d8]
mov qword [rbp - 0x50], rax
test rax, rax
je 0x1400018dd
mov rbx, qword [rax + 0x10]
mov r12d, dword [rsp + 0x70]
mov rbx, qword [rbx + 0x388]
jmp 0x140002baf
mov r9, qword [0x1401703d8]
mov qword [rbp - 0x50], r9
test r9, r9
je 0x140001919
nop dword [rax + rax]
cmp r9, rdi
je 0x140002997
mov r9, qword [r9 + 8]
mov qword [rbp - 0x50], r9
test r9, r9
jne 0x140002980
jmp 0x140001919
movzx edi, byte [rbp + 0x14d8]
test r9, r9
je 0x1400018fb
mov rbx, qword [r9 + 0x10]
cmp r12d, 0x41c
jne 0x1400029bd
mov rbx, qword [rbx + 0x390]
jmp 0x1400029d6
cmp r12d, 0x41e
jne 0x1400029cf
mov rbx, qword [rbx + 0x3a0]
jmp 0x1400029d6
mov rbx, qword [rbx + 0x398]
movzx edi, byte [rbp + 0x14d8]
test rbx, rbx
je 0x1400018e6
jmp 0x140002baf
mov eax, 0x7fff
movzx ecx, di
and cx, ax
mov rax, qword [0x140169c40]
cmp cx, word [rax]
jae 0x140001919
mov rax, qword [0x140170450]
movzx ecx, cx
shr rdi, 0x10
mov rax, qword [rax + rcx*8]
mov qword [rbp - 0x38], rax
test di, di
je 0x140002a49
mov rbx, qword [rax + 0x28]
mov ecx, 0xffff
add di, cx
mov qword [rbp - 0x48], rbx
je 0x140002a40
add di, cx
mov rbx, qword [rbx + 0x10]
jne 0x140002a33
mov qword [rbp - 0x48], rbx
test rbx, rbx
jne 0x140002ae1
cmp byte [rax + 0x19], 0
jne 0x140002a58
mov qword [rbp - 0x48], rsi
jmp 0x140001915
mov rbx, qword [rax + 0x28]
mov qword [rbp - 0x60], rsi
mov rdi, rsi
mov qword [rbp - 0x48], rbx
test rbx, rbx
je 0x140002aca
nop dword [rax]
cmp byte [rbx + 0x28], 0
je 0x140002ab8
cmp byte [0x14016f9ea], 0
je 0x140002a8f
mov rcx, rbx
call fcn.1400d9a20
test al, al
je 0x140002ab4
mov rax, qword [rbp - 0x38]
mov rcx, qword [rbx + 8]
test rcx, rcx
je 0x140002aaa
mov rdx, qword [rax + 0x20]
call fcn.14000be00
mov qword [rbp - 0x60], rax
test rax, rax
je 0x140002ab4
cmp qword [rbx + 8], 0
jne 0x140002b02
mov rdi, rbx
mov rax, qword [rbp - 0x38]
mov rbx, qword [rbx + 0x10]
mov qword [rbp - 0x48], rbx
test rbx, rbx
jne 0x140002a70
mov r12d, dword [rsp + 0x70]
mov rbx, rdi
mov qword [rbp - 0x48], rbx
movzx edi, byte [rbp + 0x14d8]
test rbx, rbx
je 0x1400018e6
mov rdi, qword [rbx]
mov rcx, rdi
call fcn.1400d9970
test eax, eax
je 0x140002af4
dec eax
jne 0x140002b09
mov rax, qword [rdi + 0x10]
test rax, rax
je 0x140002b09
movzx ecx, word [rax]
jmp 0x140002b0b
mov r12d, dword [rsp + 0x70]
jmp 0x140002ad1
mov ecx, esi
movzx eax, byte [rbx + 0x23]
cmp byte [rbx + 0x22], al
jb 0x140002b7c
mov eax, 0xe0
cmp cx, ax
je 0x140002b7c
mov eax, 0xcc
cmp cx, ax
je 0x140002b7c
mov eax, 0xda
cmp cx, ax
je 0x140002b7c
mov eax, 0xdb
cmp cx, ax
je 0x140002b7c
mov eax, 0xd6
cmp cx, ax
je 0x140002b7c
mov eax, 0xd7
cmp cx, ax
je 0x140002b7c
mov eax, 0xd8
cmp cx, ax
je 0x140002b7c
mov eax, 0xd9
cmp cx, ax
je 0x140002b7c
cmp byte [rbx + 0x26], 0
je 0x140002b6e
mov byte [rbx + 0x27], 1
call qword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [rbx + 0x18], eax
jmp 0x140001915
mov rax, qword [rbx + 8]
test rax, rax
je 0x140002ba1
movzx eax, byte [rax]
cmp al, 2
je 0x140002ba1
cmp al, 4
je 0x140002ba1
cmp al, 5
jb 0x140002ba5
mov rcx, qword [0x14016fa28]
mov qword [rbp - 0x60], rcx
jmp 0x140002ba5
mov qword [rbp - 0x60], rsi
mov rax, qword [rbp - 0x48]
mov rbx, qword [rbx]
mov esi, dword [rax + 0x1c]
mov rcx, rbx
call fcn.1400d9970
test eax, eax
je 0x140002bbf
dec eax
jne 0x140002bcd
mov rax, qword [rbx + 0x10]
test rax, rax
je 0x140002bcd
movzx edi, word [rax]
jmp 0x140002bd1
xor eax, eax
mov edi, eax
mov ecx, dword [0x14016f9fc]
mov eax, dword [0x140169b04]
cmp ecx, eax
jl 0x140002c38
add eax, 2
cmp ecx, eax
jge 0x140002c44
mov eax, 0xe0
cmp di, ax
je 0x140002c38
mov eax, 0xcc
cmp di, ax
je 0x140002c38
mov eax, 0xda
cmp di, ax
je 0x140002c38
mov eax, 0xdb
cmp di, ax
je 0x140002c38
mov eax, 0xd6
cmp di, ax
je 0x140002c38
mov eax, 0xd7
cmp di, ax
je 0x140002c38
mov eax, 0xd8
cmp di, ax
je 0x140002c38
mov eax, 0xd9
cmp di, ax
jne 0x140002c44
mov rax, qword [0x140169c00]
cmp esi, dword [rax + 0x3c]
jge 0x140002c9a
test r14, r14
je 0x140002c60
mov rcx, r14
call qword [sym.imp.SHELL32.dll_DragFinish]
xor eax, eax
mov qword [r13 + 0xa0], rax
mov r12d, dword [rsp + 0x70]
mov r14d, dword [rbp + 0x14d0]
mov ebx, dword [rsp + 0x40]
movzx edi, byte [rbp + 0x14d8]
cmp r12d, 0x41b
movzx r12d, byte [rbp + 0x14e0]
jne 0x140001930
mov rdi, qword [rbp - 0x50]
mov rcx, qword [rdi + 0x10]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_SafeArrayGetDim]
jmp 0x140001919
mov byte [rsp + 0x60], 1
cmp r12d, 0x402
je 0x140002da3
cmp r12d, 0x413
jbe 0x140002cd0
cmp r12d, 0x415
jbe 0x140002d18
cmp r12d, 0x41a
jbe 0x140002cd0
cmp r12d, 0x41e
jbe 0x140002d18
mov rax, qword [0x140171db0]
mov qword [0x140171db8], rax
mov eax, dword [0x140171e54]
mov dword [0x140171e58], eax
cmp r12d, 0x401
jne 0x140002cfd
mov rax, qword [rbp + 0x20]
mov rax, qword [rax + 8]
jmp 0x140002d05
mov rax, qword [rbp - 0x38]
mov rax, qword [rax + 0x20]
mov qword [0x140171db0], rax
call qword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [0x140171e54], eax
xor r12d, r12d
mov rcx, qword [0x1401703d0]
xor r8d, r8d
lea edx, [r8 + 1]
call fcn.140001550
lea rcx, [rbp + 0x2c0]
mov r8d, 0x7f
mov rdx, rax
call fcn.14010a074
movzx r9d, di
mov r8b, 1
xor edx, edx
mov ecx, esi
mov word [rbp + 0x3be], r12w
call fcn.1400044f0
mov r13, qword [0x140169c00]
call qword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [0x140171eac], eax
mov dword [0x140171ea8], eax
mov eax, dword [rsp + 0x70]
add eax, 0xfffffbff
cmp eax, 0x1d
ja case.0x140002da1.1032
lea r10, sym.MZ_b_4ix__UH3tlIju_n3bu_bRSDz8e8_6O__LTLn_u_28Wnitpw
movzx eax, byte [r10 + rax + 0x3d04]
mov ecx, dword [r10 + rax*4 + 0x3ce4]
add rcx, r10
jmp rcx
mov rdx, qword [r15]
lea rcx, [0x140171998]
mov r8d, 0x104
call fcn.14010a074
xor r12d, r12d
lea rcx, [0x140171ba2]
mov word [0x140171ba0], r12w
mov rdx, qword [r15 + 0x20]
mov r8d, 0x104
mov rdx, qword [rdx]
call fcn.14010a074
mov word [0x140171daa], r12w
mov qword [0x140171990], r15
jmp 0x140002d1b
cmp byte [rbp + 0x14e8], 0
mov rsi, qword [rsp + 0x50]
mov word [rbp - 0x10], r12w
mov r12, qword [rbp - 0x58]
je 0x140002e0d
mov rcx, qword [r12]
jmp 0x140002e11
mov rcx, qword [rsi + 8]
movsxd rdx, dword [rsp + 0x44]
mov edi, dword [rsp + 0x4c]
mov r9d, 1
mov rax, rdx
inc edx
shl rax, 5
mov dword [rsp + 0x44], edx
mov dword [rbp + rax + 0x40], r9d
mov qword [rbp + rax + 0x30], rcx
cmp edi, 5
je 0x140003206
jbe 0x1400030cf
cmp edi, 8
jbe 0x14000300f
cmp edi, 9
jne 0x1400030cf
mov rdi, qword [rsp + 0x58]
mov ecx, 3
test rdi, rdi
cmovne ecx, r9d
xor eax, eax
mov qword [rsp + 0x58], rax
mov dword [r13 + 0x44], ecx
mov rax, qword [rbp - 0x74]
mov qword [r13 + 0x50], rax
test r12, r12
je 0x140002f2e
cmp ecx, r9d
jne 0x140002e9c
lea rdx, [r13 + 0x50]
mov rcx, r12
call fcn.140094f70
mov r9d, 1
movzx ecx, byte [r12 + 8]
sub ecx, 9
je 0x140002f10
dec ecx
je 0x140002f05
dec ecx
jne 0x140002f2e
cmp dword [r13 + 0x44], 1
mov rcx, qword [r12]
jne 0x140002ed0
xor r9d, r9d
mov edx, 0x110a
lea r8d, [r9 + 9]
call qword [sym.imp.USER32.dll_SendMessageW]
mov eax, eax
jmp 0x140002f29
mov rax, qword [rbp - 0x74]
lea rdx, [rbp + 0x120]
mov qword [rbp + 0x120], rax
call qword [sym.imp.USER32.dll_ScreenToClient]
mov rcx, qword [r12]
lea r9, [rbp + 0x120]
xor r8d, r8d
mov edx, 0x1111
call qword [sym.imp.USER32.dll_SendMessageW]
mov eax, eax
jmp 0x140002f29
or r8, 0xffffffffffffffff
mov edx, 0x100c
jmp 0x140002f1b
xor r9d, r9d
mov edx, OleCreatePictureIndirect
xor r8d, r8d
mov rcx, qword [r12]
call qword [sym.imp.USER32.dll_SendMessageW]
inc eax
cdqe
mov qword [rsp + 0x58], rax
mov rcx, qword [rsi + 8]
lea rdx, [rbp + 0x110]
call qword [sym.imp.USER32.dll_GetWindowRect]
mov edx, dword [rbp + 0x110]
mov eax, dword [rbp + 0x114]
sub dword [r13 + 0x50], edx
sub dword [r13 + 0x54], eax
movsxd rdx, dword [rsp + 0x44]
mov r9d, 1
test r12, r12
je 0x140002f7f
mov rax, qword [r12]
mov rcx, rdx
inc edx
shl rcx, 5
xor r8d, r8d
mov dword [rbp + rcx + 0x40], r9d
mov qword [rbp + rcx + 0x30], rax
jmp 0x140002f9c
mov rax, rdx
lea rcx, [0x1401295d4]
inc edx
shl rax, 5
xor r8d, r8d
mov dword [rbp + rax + 0x40], r8d
mov qword [rbp + rax + 0x30], rcx
mov rsi, qword [rsp + 0x58]
mov edi, dword [rsp + 0x4c]
movsxd rax, edx
shl rax, 5
inc edx
mov dword [rbp + rax + 0x40], r9d
mov qword [rbp + rax + 0x30], rsi
movsxd rcx, edx
shl rcx, 5
inc edx
cmp dword [r13 + 0x44], 3
mov dword [rbp + rcx + 0x40], r9d
mov eax, r8d
sete al
cdqe
mov qword [rbp + rcx + 0x30], rax
movsxd rax, dword [r13 + 0x50]
movsxd rcx, edx
shl rcx, 5
inc edx
mov dword [rbp + rcx + 0x40], r9d
mov qword [rbp + rcx + 0x30], rax
movsxd rax, dword [r13 + 0x54]
movsxd rcx, edx
shl rcx, 5
inc edx
mov dword [rsp + 0x44], edx
mov dword [rbp + rcx + 0x40], r9d
mov qword [rbp + rcx + 0x30], rax
jmp 0x14000335c
mov dword [r13 + 0x44], r9d
cmp edi, 8
jne 0x140003354
mov ecx, dword [rbp - 0x30]
mov rdi, qword [rsp + 0x58]
movsxd rax, edx
shl rax, 5
inc edx
mov dword [r13 + 0x50], ecx
mov qword [rbp + rax + 0x30], rdi
movsxd rdi, edx
inc edx
mov dword [rbp + rax + 0x40], r9d
shl rdi, 5
cmp byte [rsi + 0x108], 0
mov dword [rsp + 0x44], edx
movzx eax, cx
je 0x140003075
mov r8d, dword [0x1401712bc]
mov edx, 0x60
mov ecx, eax
call qword [sym.imp.KERNEL32.dll_MulDiv]
mov edx, dword [rsp + 0x44]
mov ecx, dword [rbp - 0x30]
mov r9d, 1
cdqe
mov dword [rbp + rdi + 0x40], r9d
mov qword [rbp + rdi + 0x30], rax
movsxd rdi, edx
inc edx
mov eax, ecx
shl rdi, 5
mov dword [rsp + 0x44], edx
shr eax, 0x10
cmp byte [rsi + 0x108], 0
je 0x1400030b6
mov r8d, dword [0x1401712bc]
mov edx, 0x60
mov ecx, eax
call qword [sym.imp.KERNEL32.dll_MulDiv]
mov r9d, 1
mov edx, dword [rsp + 0x44]
cdqe
mov dword [rbp + rdi + 0x40], r9d
mov qword [rbp + rdi + 0x30], rax
mov edi, dword [rsp + 0x4c]
jmp 0x140003354
movzx eax, byte [r12 + 8]
cmp al, 0xa
je 0x140003147
cmp al, 0x19
jne 0x14000311b
mov rax, qword [rbp - 0x74]
lea rdx, [rbp + 0x100]
mov qword [r13 + 0x50], rax
mov rcx, qword [rsi + 8]
call qword [sym.imp.USER32.dll_GetWindowRect]
mov edx, dword [rbp + 0x100]
mov eax, dword [rbp + 0x104]
sub dword [r13 + 0x50], edx
sub dword [r13 + 0x54], eax
mov edx, dword [rsp + 0x44]
mov r9d, 1
lea r10, sym.MZ_b_4ix__UH3tlIju_n3bu_bRSDz8e8_6O__LTLn_u_28Wnitpw
xor r8d, r8d
movsxd rcx, edx
inc edx
mov dword [r13 + 0x44], edi
shl rcx, 5
mov dword [rsp + 0x44], edx
cmp edi, 5
jae 0x1400031c4
mov eax, edi
mov rdx, qword [r10 + rax*8 + 0x16c360]
jmp 0x1400031d6
cmp dil, 0x49
jne 0x14000311b
lea rax, [rbp - 0x10]
bt edi, 8
jae 0x14000315e
mov eax, 0x53
jmp 0x140003169
bt edi, 9
jae 0x140003171
mov eax, reloc.WSOCK32.dll_WSAStartup
mov word [rbp - 0x10], ax
lea rax, [rbp - 0xe]
bt edi, 0xa
jae 0x14000317e
mov ecx, 0x46
jmp 0x140003189
bt edi, 0xb
jae 0x140003190
mov ecx, 0x66
mov word [rax], cx
add rax, 2
bt edi, 0xc
jae 0x14000319d
mov ecx, 0x43
jmp 0x1400031a8
bt edi, 0xd
jae 0x1400031af
mov ecx, 0x63
mov word [rax], cx
add rax, 2
xor r8d, r8d
mov edi, 0x49
mov word [rax], r8w
mov dword [rsp + 0x4c], edi
jmp 0x14000311e
movzx eax, dil
lea rdx, [0x14017603c]
mov word [0x14017603c], ax
mov rsi, qword [rsp + 0x58]
mov qword [rbp + rcx + 0x30], rdx
movsxd rdx, dword [rsp + 0x44]
mov rax, rdx
mov dword [rbp + rcx + 0x40], r8d
shl rax, 5
inc edx
mov dword [rsp + 0x44], edx
mov dword [rbp + rax + 0x40], r9d
mov qword [rbp + rax + 0x30], rsi
jmp 0x14000335c
mov dword [r13 + 0x44], 5
mov rax, qword [rbp - 0x74]
lea rdx, [rbp + 0xf0]
mov qword [r13 + 0x50], rax
mov rcx, qword [rsi + 8]
call qword [sym.imp.USER32.dll_GetWindowRect]
mov edx, dword [rbp + 0xf0]
mov eax, dword [rbp + 0xf4]
sub dword [r13 + 0x50], edx
sub dword [r13 + 0x54], eax
mov rcx, qword [rsi + 8]
mov edx, 0xffffffec
call qword [sym.imp.USER32.dll_GetWindowLongW]
mov rcx, qword [rsi + 8]
mov edx, 0xffffffec
and eax, 0xffffffef
mov r8d, eax
call qword [sym.imp.USER32.dll_SetWindowLongW]
movsxd rax, dword [rsp + 0x44]
mov rcx, r14
mov rdi, rax
inc eax
mov dword [rsp + 0x44], eax
shl rdi, 5
call fcn.140085a60
movsxd rdx, dword [rsp + 0x44]
mov dword [rbp + rdi + 0x40], 6
mov qword [rbp + rdi + 0x30], rax
test r12, r12
je 0x1400032ac
mov rax, qword [r12]
mov rcx, rdx
shl rcx, 5
inc edx
mov dword [rbp + rcx + 0x40], 1
mov qword [rbp + rcx + 0x30], rax
jmp 0x1400032c7
mov rax, rdx
inc edx
shl rax, 5
xor ecx, ecx
mov dword [rbp + rax + 0x40], ecx
lea rcx, [0x1401295d4]
mov qword [rbp + rax + 0x30], rcx
mov eax, dword [r13 + 0x50]
movsxd rdi, edx
inc edx
shl rdi, 5
cmp byte [rsi + 0x108], 0
mov dword [rsp + 0x44], edx
je 0x1400032f9
mov r8d, dword [0x1401712bc]
mov edx, 0x60
mov ecx, eax
call qword [sym.imp.KERNEL32.dll_MulDiv]
mov edx, dword [rsp + 0x44]
cdqe
mov r9d, 1
mov dword [rbp + rdi + 0x40], r9d
mov qword [rbp + rdi + 0x30], rax
mov eax, dword [r13 + 0x54]
movsxd rdi, edx
inc edx
shl rdi, 5
cmp byte [rsi + 0x108], 0
mov dword [rsp + 0x44], edx
je 0x140003342
mov r8d, dword [0x1401712bc]
lea edx, [r9 + 0x5f]
mov ecx, eax
call qword [sym.imp.KERNEL32.dll_MulDiv]
mov edx, dword [rsp + 0x44]
mov r9d, 1
cdqe
mov dword [rbp + rdi + 0x40], r9d
mov qword [rbp + rdi + 0x30], rax
mov edi, dword [rsp + 0x4c]
jmp 0x140003354
mov rsi, qword [rsp + 0x58]
xor r8d, r8d
cmp byte [rbp + 0x14e8], 0
je 0x140003425
cmp byte [r12 + 8], 0x17
jne 0x140003425
lea rcx, [rbp + 0x3c0]
xor edx, edx
mov r8d, 0x10b8
call fcn.14010ec60
mov rcx, qword [r12]
lea eax, [rsi - 1]
lea r9, [rbp + 0x3c0]
xor r8d, r8d
mov edx, 0x703
mov dword [rbp + 0x3c4], eax
mov dword [rbp + 0x3c0], SafeArrayGetElemsize
call qword [sym.imp.USER32.dll_SendMessageW]
test rax, rax
je 0x14000374d
cmp word [rbp + 0x430], 0
mov rcx, qword [0x1401703d0]
lea rax, [rbp + 0x3d0]
lea rdx, [rbp + 0x430]
mov byte [rsp + 0x20], 1
cmove rdx, rax
xor r9d, r9d
or r8, 0xffffffffffffffff
call fcn.1400e9bc0
movsxd rsi, dword [rsp + 0x44]
mov rcx, qword [0x1401703d0]
xor r8d, r8d
mov rdi, rsi
inc esi
lea edx, [r8 + 1]
mov dword [rsp + 0x44], esi
shl rdi, 5
call fcn.140001550
xor edx, edx
mov qword [rbp + rdi + 0x30], rax
mov dword [rbp + rdi + 0x40], edx
jmp 0x140003753
cmp word [rbp - 0x10], 0
je 0x140003447
movsxd rax, edx
lea rcx, [rbp - 0x10]
shl rax, 5
inc edx
mov dword [rsp + 0x44], edx
mov dword [rbp + rax + 0x40], r8d
mov qword [rbp + rax + 0x30], rcx
cmp edi, 8
je 0x14000373b
cmp edi, 5
je 0x14000373b
mov rsi, qword [0x1401703d0]
movzx edx, byte [rsi + 0x23]
test dl, dl
jne 0x140003486
mov rcx, qword [rsi + 0x10]
lea rdx, [rbp - 0x10]
xor r9d, r9d
or r8, 0xffffffffffffffff
mov byte [rsp + 0x20], 1
call fcn.1400e9bc0
jmp 0x14000374d
lea rax, [rbp - 0x10]
cmp qword [rsi + 8], rax
jne 0x140003499
mov r12, qword [rsi + 0x10]
shr r12, 1
jmp 0x1400034af
or rcx, 0xffffffffffffffff
xor eax, eax
lea rdi, [rbp - 0x10]
repne scasw ax, word [rdi]
not rcx
dec rcx
mov r12, rcx
lea rax, [r12 + 1]
lea rdi, [rax + rax]
cmp dl, 2
jne 0x1400034ce
lea rcx, [rbp - 0x10]
mov rdx, r12
call fcn.140005910
jmp 0x14000374d
mov r9, qword [0x140169b08]
cmp rdi, r9
jbe 0x140003507
cmp rdi, qword [rsi + 0x18]
jbe 0x140003507
lea rcx, [0x14014bd60]
call fcn.1400dd2e0
lea r8, [0x1401295d4]
lea rcx, [0x1401712e0]
mov rdx, rax
call fcn.1400a5580
jmp 0x14000374d
cmp rax, 2
jae 0x140003521
xor r8d, r8d
mov rcx, rsi
lea edx, [r8 + 4]
call fcn.1400ea290
jmp 0x14000374d
movzx eax, byte [rsi + 0x21]
test al, 2
je 0x14000353e
mov rcx, qword [rsi]
and al, 0x3d
mov byte [rsi + 0x21], al
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_SafeArrayGetDim]
mov r9, qword [0x140169b08]
mov r8, qword [rsi + 0x18]
and byte [rsi + 0x21], 0x82
cmp rdi, r8
jbe 0x1400036ca
movzx ecx, byte [rsi + 0x20]
movzx eax, cl
cmp cl, 1
jbe 0x140003568
cmp al, 2
je 0x1400035b1
mov rax, qword [rbp + 0x18]
jmp 0x1400036ba
cmp rdi, 0x80
ja 0x1400035b1
cmp rdi, 8
ja 0x14000357e
mov eax, 8
jmp 0x14000358f
mov eax, pe_nt_image_headers64
cmp rdi, 0x10
mov ecx, reloc.OLEAUT32.dll_SafeArrayGetDim
cmovbe eax, ecx
mov rcx, rax
mov qword [rbp - 0x18], rax
call fcn.1400dc2b0
mov qword [rbp + 0x18], rax
test rax, rax
je 0x14000374d
mov byte [rsi + 0x20], 1
jmp 0x1400036ba
cmp rdi, 0x20
jae 0x1400035c2
mov r10d, SafeArrayAllocDescriptor
jmp 0x140003676
cmp rdi, 0x208
jae 0x1400035d6
mov r10d, 0x208
jmp 0x140003676
cmp rdi, 0x50000
jae 0x140003632
pxor xmm0, xmm0
cvtsi2sd xmm0, rdi
test rdi, rdi
jns 0x1400035f5
addsd xmm0, qword [0x140152fd8]
mulsd xmm0, qword [0x140153040]
xor eax, eax
comisd xmm0, xmmword [0x140153038]
jbe 0x140003628
subsd xmm0, qword [0x140153038]
comisd xmm0, xmmword [0x140153038]
jae 0x140003628
movabs rdx, 0x8000000000000000
mov rax, rdx
cvttsd2si r10, xmm0
add r10, rax
jmp 0x140003676
cmp rdi, 0x320000
jae 0x140003644
lea r10, [rdi + 0x8000]
jmp 0x140003676
cmp rdi, 0xc80000
jae 0x14000366f
movabs rax, 0x47ae147ae147ae15
mov r10, rdi
mul rdi
sub r10, rdx
shr r10, 1
add r10, rdx
shr r10, 6
add r10, rdi
jmp 0x140003676
lea r10, [rdi + 0x20000]
cmp r10, r9
cmova r10, r9
mov qword [rbp - 0x18], r10
cmp cl, 2
jne 0x14000369d
test r8, r8
je 0x14000369d
mov rcx, qword [rsi + 8]
mov dil, 1
call fcn.140108f48
mov r10, qword [rbp - 0x18]
jmp 0x1400036a0
xor dil, dil
test r10, r10
js 0x1400036f8
mov rcx, r10
call fcn.1401084ac
mov qword [rbp + 0x18], rax
test rax, rax
je 0x1400036f8
mov byte [rsi + 0x20], 2
and byte [rsi + 0x21], 0x7f
mov qword [rsi + 8], rax
mov rax, qword [rbp - 0x18]
mov qword [rsi + 0x18], rax
mov rcx, qword [rsi + 8]
lea rax, [rbp - 0x10]
cmp rcx, rax
je 0x1400036e4
lea r8, [r12 + r12]
lea rdx, [rbp - 0x10]
call fcn.140109100
mov rax, qword [rsi + 8]
lea rcx, [r12 + r12]
xor edx, edx
mov word [rcx + rax], dx
mov qword [rsi + 0x10], rcx
jmp 0x14000374f
test dil, dil
je 0x140003710
lea rcx, [0x140171290]
xor eax, eax
mov qword [rsi + 8], rcx
mov qword [rsi + 0x18], rax
jmp 0x14000371b
mov rax, qword [rsi + 8]
xor ecx, ecx
mov word [rax], cx
xor eax, eax
lea r8, [0x1401295d4]
lea rdx, str.Out_of_memory.
lea rcx, [0x1401712e0]
mov qword [rsi + 0x10], rax
call fcn.1400a5580
jmp 0x14000374d
mov rcx, qword [0x1401703d0]
mov r8b, reloc.OLEAUT32.dll_SafeArrayGetElement
mov rdx, rsi
call fcn.140001370
xor edx, edx
mov esi, dword [rsp + 0x44]
mov rcx, qword [rsp + 0x50]
mov r12, qword [rbp - 0x20]
mov rax, qword [rcx + 8]
mov qword [r13 + 0xf8], rax
add dword [rcx + 0x34], 2
mov eax, dword [rbp - 0x40]
mov dword [r13 + 0x70], eax
mov rax, qword [rsp + 0x58]
mov qword [r13 + 0x60], rcx
mov qword [r13 + 0x58], rcx
mov qword [r13 + 0x48], rax
test r12, r12
je 0x14000380e
mov byte [r12], 1
mov rdi, qword [rbp - 0x58]
mov dword [rsp + 0x30], edx
lea rax, [rbp + 0x28]
lea r9, [rbp + 0x30]
mov qword [rsp + 0x28], rax
lea r8, str.call
mov rdx, rbx
mov rcx, rbx
mov dword [rsp + 0x20], esi
call fcn.1400d5720
mov r13, qword [rsp + 0x50]
cmp qword [r13 + 8], 0
je 0x140003878
mov edx, dword [rsp + 0x4c]
test r12, r12
je 0x140003828
mov byte [r12], 0
cmp edx, 6
jne 0x140003835
cmp qword [rbp + 0x28], 0
jne 0x140003878
mov rcx, rbx
call fcn.1400d9970
test eax, eax
jne 0x1400037fb
test rbx, rbx
jne 0x140003878
mov rcx, qword [r13 + 8]
test rcx, rcx
je 0x140003878
xor edx, edx
call qword [sym.imp.USER32.dll_ShowWindow]
jmp 0x140003878
cmp byte [rbp + 0x14e8], 0
je 0x140003791
mov rdi, qword [rbp - 0x58]
or byte [rdi + 9], 4
jmp 0x140003795
cmp byte [rbp + 0x14e8], 0
je 0x140003835
and byte [rdi + 9], 0xfb
cmp edx, 5
jne 0x140003878
mov rcx, qword [rbp + 0x50]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_SafeArrayGetDim]
mov rcx, r14
call qword [sym.imp.SHELL32.dll_DragFinish]
mov rcx, qword [r13 + 8]
xor eax, eax
lea edx, [rax - 0x14]
mov qword [r13 + 0xa0], rax
call qword [sym.imp.USER32.dll_GetWindowLongW]
mov rcx, qword [r13 + 8]
mov edx, 0xffffffec
or eax, 0x10
mov r8d, eax
call qword [sym.imp.USER32.dll_SetWindowLongW]
or eax, 0xffffffff
add dword [r13 + 0x34], eax
jne 0x140003bb6
mov rcx, qword [r13]
call fcn.140108f48
mov rcx, r13
call fcn.140108f40
jmp 0x140003bb6
mov rcx, qword [rsp + 0x50]
test rcx, rcx
je 0x1400038c5
mov rax, qword [rcx + 8]
mov qword [r13 + 0xf8], rax
mov eax, 1
mov dword [r13 + 0x44], eax
add dword [rcx + 0x34], 2
mov qword [r13 + 0x60], rcx
mov qword [r13 + 0x58], rcx
lea rax, [0x140171998]
lea rcx, [0x1401712e0]
mov dword [rbp + 0x270], r12d
mov qword [rbp + 0x260], rax
call fcn.140063140
mov dword [rsp + 0x30], r12d
lea ecx, [rax + 1]
mov eax, 1
lea r9, [rbp + 0x260]
mov dword [rbp + 0x290], eax
lea rax, [0x140171ba2]
mov qword [rbp + 0x280], rcx
lea r8, str.call
mov rdx, rbx
mov rcx, rbx
mov qword [rsp + 0x28], r12
mov qword [rbp + 0x2a0], rax
mov dword [rbp + 0x2b0], r12d
mov dword [rsp + 0x20], 3
call fcn.1400d5720
mov r13, qword [rsp + 0x50]
test r13, r13
je 0x140003bb6
jmp 0x140003878
mov rax, qword [rbp - 0x60]
mov rcx, qword [rbp + 0x20]
mov qword [r13 + 0xf8], rax
movzx eax, byte [rcx + 0x35]
mov byte [r13 + 0x136], al
call fcn.1400116b0
jmp 0x140003bb1
call qword [sym.imp.USER32.dll_CountClipboardFormats]
test eax, eax
je 0x1400039a6
mov ecx, SafeArrayGetElemsize
call qword [sym.imp.USER32.dll_IsClipboardFormatAvailable]
test eax, eax
jne 0x14000399f
lea ecx, [rax + 0xf]
call qword [sym.imp.USER32.dll_IsClipboardFormatAvailable]
test eax, eax
jne 0x14000399f
mov eax, 2
jmp 0x1400039a9
mov eax, 1
jmp 0x1400039a9
mov eax, r12d
mov rcx, qword [0x1401703d0]
movsxd rdx, eax
mov r8b, reloc.OLEAUT32.dll_SafeArrayGetElement
mov qword [r13 + 0x48], rdx
call fcn.140001370
mov rax, qword [r13 + 0x48]
mov ecx, 1
mov qword [rbp + 0x180], rax
mov rax, qword [0x140171e08]
mov dword [rbp + 0x190], ecx
mov byte [0x140171e20], cl
test rax, rax
je 0x1400039fb
mov rcx, rax
call fcn.1400d9920
mov rax, qword [0x140171e08]
mov ecx, 1
cmp qword [rsp + 0x78], 0
jne 0x140003a23
test rax, rax
mov r8d, ecx
mov r9d, r12d
lea rcx, [0x140171dd8]
lea rdx, [rbp + 0x180]
sete r9b
call fcn.1400d9af0
mov byte [0x140171e20], 0
jmp 0x140003bb1
mov rdi, qword [rbp - 0x50]
lea rcx, [0x140129670]
mov dword [rbp + 0x1b0], 6
mov rax, qword [rdi + 0x10]
mov qword [rbp + 0x1a0], rax
call fcn.1400dd2e0
mov eax, 1
mov dword [rsp + 0x30], r12d
lea r9, [rbp + 0x1a0]
lea r8, str.call
mov rdx, rbx
mov rcx, rbx
mov qword [rsp + 0x28], r12
mov dword [rsp + 0x20], eax
call fcn.1400d5720
mov rcx, qword [rdi + 0x10]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_SafeArrayGetDim]
jmp 0x140003bb1
mov rcx, qword [rbp - 0x80]
mov rax, qword [rbp - 0x50]
mov edx, 1
mov rax, qword [rax + 0x10]
mov dword [rbp + 0x210], 6
mov dword [rbp + 0x230], edx
mov qword [rbp + 0x200], rax
movzx eax, cl
sar rcx, 0x10
mov qword [rbp + 0x220], rax
movzx eax, cx
lea rcx, [0x140129670]
mov dword [rbp + 0x250], edx
mov qword [rbp + 0x240], rax
call fcn.1400dd2e0
mov dword [rsp + 0x30], r12d
mov qword [rsp + 0x28], r12
lea r9, [rbp + 0x200]
mov dword [rsp + 0x20], 3
lea r8, str.call
mov rdx, rbx
mov rcx, rbx
call fcn.1400d5720
jmp 0x140003bb1
mov rax, qword [rbp - 0x80]
lea rcx, [0x140129670]
mov word [rbp - 0x28], r12w
mov word [rbp - 0x2c], ax
sar rax, 0x10
mov dword [rbp + 0x1d0], 6
mov word [rbp - 0x2a], ax
mov rax, qword [rbp - 0x50]
mov dword [rbp + 0x1f0], r12d
mov rax, qword [rax + 0x10]
mov qword [rbp + 0x1c0], rax
lea rax, [rbp - 0x2c]
mov qword [rbp + 0x1e0], rax
call fcn.1400dd2e0
mov dword [rsp + 0x30], r12d
mov qword [rsp + 0x28], r12
lea r9, [rbp + 0x1c0]
mov dword [rsp + 0x20], 2
jmp 0x140003afa
mov rcx, qword [rbp - 0x38]
movzx eax, byte [rcx + 0x10]
cmp al, 0x9c
jb 0x140003b8f
cmp al, 0x9f
ja 0x140003b8f
mov eax, dword [rbp - 0x80]
mov qword [r13 + 0x48], rax
mov rax, qword [rbp - 0x60]
mov rdi, qword [rbp - 0x48]
mov qword [r13 + 0xf8], rax
movzx eax, byte [rdi + 0x24]
mov rdx, rdi
mov byte [r13 + 0x136], al
call fcn.14000cf40
mov r13, qword [rsp + 0x50]
lea rcx, [rbp + 0x2c0]
call fcn.140004640
cmp qword [rbp + 0x10], 0
mov r14d, dword [rbp + 0x14d0]
movzx r12d, byte [rbp + 0x14e0]
mov ebx, dword [rsp + 0x40]
movzx edi, byte [rbp + 0x14d8]
je 0x140001930
mov edx, dword [rbp - 0x68]
movzx r8d, r12b
mov ecx, r14d
call fcn.140003d30
test eax, eax
je 0x140001930
mov dil, 1
mov byte [rbp + 0x14d8], dil
movzx r12d, dil
mov byte [rbp + 0x14e0], dil
jmp 0x140001930
cmp r14d, 0xffffffff
jle 0x140003c2b
mov qword [0x140171e98], rdi
mov dword [0x140171ea8], eax
cmp byte [rsp + 0x49], 0
mov dword [0x140171eac], eax
movzx eax, byte [0x14016f9eb]
cmovne eax, edi
cmp byte [rsp + 0x48], 0
mov byte [0x14016f9eb], al
je 0x140003c9e
mov eax, dword [0x14016f9f8]
dec eax
mov dword [0x14016f9f8], eax
test r14d, r14d
jle 0x140003c9e
test eax, eax
jne 0x140003c9e
cmp dword [0x140171e3c], eax
jne 0x140003c9e
cmp dword [0x14017045c], eax
jne 0x140003c9e
cmp byte [0x14016f9e5], al
je 0x140003c9e
mov rcx, qword [0x14016f860]
lea edx, [rax + 9]
call qword [sym.imp.USER32.dll_KillTimer]
movzx ecx, byte [0x14016f9e5]
test eax, eax
cmovne ecx, edi
mov byte [0x14016f9e5], cl
movzx eax, byte [rsp + 0x60]
jmp 0x140002308