Function at 0x649d4230
Capabilities:
Open clipboard
Write clipboard data

Disassembly:
mov edx, eax
mov eax, edi
call fcn.649912e0
add dword [ebx + 4], 0x18
add esp, 0x2c
pop ebx
pop esi
pop edi
pop ebp
ret 4
add esp, 0x4c
pop ebx
pop esi
pop edi
pop ebp
ret 8
mov dword [ebx + 0x84], 1
movsx eax, byte [eax]
lea ecx, [ebx + 0xa0]
mov dword [esp], 1
mov dword [esp + 4], eax
call fcn.649a1150
sub esp, 8
mov eax, dword [esp + 0x2c]
sub eax, dword [0x64a2702c]
jne 0x649ba8cb
add esp, 0x3c
pop ebx
pop esi
pop edi
pop ebp
ret
lea eax, [esi - 0x38]
cmp al, 1
jbe 0x649ba8bf
mov dword [esp + 4], edi
lea eax, [ebx + 0xa0]
mov edi, 2
mov dword [esp], 1
mov ecx, eax
mov dword [esp + 0x1c], eax
call fcn.649a1150
mov ebp, dword [ebx + 0x94]
sub esp, 8
cmp ebp, dword [ebx + 0x98]
je 0x649ba8b0
movzx esi, byte [ebp]
mov eax, esi
movsx edx, al
mov eax, dword [ebx + 0x9c]
mov eax, dword [eax + 0x18]
call fcn.64926480
lea edx, [esi - 0x38]
cmp dl, 1
jbe 0x649ba8b0
test al, al
je 0x649ba8b0
lea eax, [ebp + 1]
mov ecx, dword [esp + 0x1c]
mov dword [ebx + 0x94], eax
movsx eax, byte [ebp]
mov dword [esp], eax
call fcn.649a3ab0
sub esp, 4
cmp edi, 1
je 0x649ba8b0
mov ebp, dword [ebx + 0x94]
mov edi, 1
cmp ebp, dword [ebx + 0x98]
jne 0x649ba855
lea esi, [esi]
mov dword [ebx + 0x84], 2
jmp 0x649ba7e2
lea edx, [eax + 1]
mov ebx, ecx
mov dword [ecx + 0x94], edx
movzx esi, byte [eax]
mov ecx, dword [ecx + 0x9c]
mov eax, esi
movsx edi, al
mov dword [esp], edi
call fcn.64926710
movsx edx, al
mov eax, dword [ebx + 0x88]
sub esp, 4
call fcn.649b7270
test eax, eax
je 0x649ba9a0
mov edx, esi
cmp dl, 0x62
jne 0x649ba960
cmp dword [ebx + 0x7c], 2
je 0x649ba960
mov dword [ebx + 0x84], 0x18
lea ecx, [ebx + 0xa0]
mov dword [esp + 4], 0x70
mov dword [esp], 1
call fcn.649a1150
sub esp, 8
jmp 0x649ba986
mov dword [ebx + 0x84], 1
movsx eax, byte [eax]
mov dword [esp], 1
lea ecx, [ebx + 0xa0]
mov dword [esp + 4], eax
call fcn.649a1150
sub esp, 8
mov eax, dword [esp + 0x2c]
sub eax, dword [0x64a2702c]
jne 0x649babc4
add esp, 0x3c
pop ebx
pop esi
pop edi
pop ebp
ret
mov eax, esi
cmp al, 0x62
jle 0x649baa70
lea edx, [esi - 0x63]
cmp dl, 0x15
ja case.0x649baa86.1
mov eax, 1
shlx eax, eax, edx
test eax, 0x110002
jne case.0x649baa86.2
test eax, 0x240000
jne 0x649bab18
test al, 1
jne 0x649baae8
mov eax, dword [ebx + 0x9c]
mov edx, edi
lea ebp, [ebx + 0xa0]
mov eax, dword [eax + 0x18]
call fcn.64926480
test al, al
je 0x649baba0
mov dword [esp + 4], edi
mov ecx, ebp
mov dword [esp], 1
call fcn.649a1150
mov esi, dword [ebx + 0x94]
sub esp, 8
cmp esi, dword [ebx + 0x98]
jne 0x649baa47
jmp 0x649baa5c
lea eax, [esi + 1]
mov ecx, ebp
mov dword [ebx + 0x94], eax
movsx eax, byte [esi]
mov dword [esp], eax
call fcn.649a3ab0
mov esi, dword [ebx + 0x94]
sub esp, 4
cmp esi, dword [ebx + 0x98]
je 0x649baa5c
mov eax, dword [ebx + 0x9c]
movsx edx, byte [esi]
mov eax, dword [eax + 0x18]
call fcn.64926480
test al, al
jne 0x649baa20
mov dword [ebx + 0x84], 4
jmp 0x649ba986
cmp al, 0x41
jle case.0x649baa86.1
lea eax, [esi - 0x42]
cmp al, 0x20
ja case.0x649baa86.1
movzx esi, al
jmp dword [esi*4 + 0x649df084]
mov dword [ebx + 0x84], 0xe
lea ecx, [ebx + 0xa0]
mov dword [esp + 4], edi
mov dword [esp], 1
call fcn.649a1150
sub esp, 8
jmp 0x649ba986
mov dword [ebx + 0x84], 0x18
lea ecx, [ebx + 0xa0]
mov dword [esp + 4], 0x6e
mov dword [esp], 1
call fcn.649a1150
sub esp, 8
jmp 0x649ba986
mov eax, dword [ebx + 0x94]
cmp eax, dword [ebx + 0x98]
je 0x649babd5
mov dword [ebx + 0x84], 1
lea edx, [eax + 1]
mov dword [ebx + 0x94], edx
jmp 0x649ba96a
lea edi, [ebx + 0xa0]
mov ecx, edi
call fcn.649a0940
mov eax, esi
xor edx, edx
mov dword [esp + 0x1c], edi
cmp al, 0x78
setne dl
xor ebp, ebp
lea edx, [edx + edx + 2]
mov edi, edx
mov esi, dword [ebx + 0x94]
cmp esi, dword [ebx + 0x98]
je 0x649babd5
mov eax, dword [ebx + 0x9c]
movsx ecx, byte [esi]
mov edx, 0x10
mov eax, dword [eax + 0x18]
call fcn.649264c0
test al, al
je 0x649babd5
lea eax, [esi + 1]
mov ecx, dword [esp + 0x1c]
add ebp, 1
mov dword [ebx + 0x94], eax
movsx eax, byte [esi]
mov dword [esp], eax
call fcn.649a3ab0
sub esp, 4
cmp edi, ebp
jne 0x649bab3a
mov dword [ebx + 0x84], 3
jmp 0x649ba986
mov dword [ebx + 0x84], 1
mov ecx, ebp
mov dword [esp + 4], edi
mov dword [esp], 1
call fcn.649a1150
sub esp, 8
jmp 0x649ba986
call fcn.64901590
push ebp
push edi
push esi
push ebx
sub esp, 0x6c
mov eax, dword [0x64a2702c]
mov dword [esp + 0x5c], eax
xor eax, eax
mov dword [esp + 8], 0x649df5b0
mov dword [esp + 4], 0
mov dword [esp], 0x1f0001
call dword [sym.imp.KERNEL32.dll_OpenMutexA]
sub esp, 0xc
test eax, eax
je 0x649d428c
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
sub esp, 4
mov eax, dword [esp + 0x5c]
sub eax, dword [0x64a2702c]
jne 0x649d4478
add esp, 0x6c
xor eax, eax
pop ebx
pop esi
pop edi
pop ebp
ret
mov dword [esp + 8], 0x649df5b0
mov dword [esp + 4], 0
mov dword [esp], 0
call dword [sym.imp.KERNEL32.dll_CreateMutexA]
sub esp, 0xc
lea ebp, [esp + 0x18]
lea edi, [esp + 0x14]
lea esi, [esi]
mov dword [esp], 0x64
call dword [sym.imp.KERNEL32.dll_Sleep]
sub esp, 4
call dword [sym.imp.USER32.dll_GetClipboardSequenceNumber]
cmp eax, dword [0x649de490]
je 0x649d42b8
lea eax, [esp + 0x2c]
mov dword [esp], eax
call fcn.64919b70
lea ecx, [esp + 0x2c]
call fcn.6492b2d0
test al, al
je 0x649d4300
call fcn.64919c60
lea ecx, [esp + 0x2c]
call fcn.649a3660
jmp 0x649d42b8
lea eax, [esp + 0x2c]
lea ecx, [esp + 0x44]
mov dword [esp], eax
call fcn.649a2940
sub esp, 4
call fcn.6499bb10
mov dword [esp + 0x14], eax
call fcn.6499bad0
mov dword [esp + 0x18], eax
jmp 0x649d43a1
mov eax, dword [esp + 0x14]
call fcn.6491e0b0
lea ecx, [esp + 0x1c]
mov ebx, eax
mov eax, dword [eax + 4]
mov dword [esp], eax
call fcn.6499f570
sub esp, 4
lea edx, [esp + 0x1c]
lea eax, [esp + 0x2c]
call fcn.649c5700
lea ecx, [esp + 0x1c]
mov esi, eax
call fcn.6499f5e0
mov eax, esi
test al, al
jne 0x649d43b5
mov eax, dword [ebx]
lea ecx, [esp + 0x1c]
mov dword [esp], eax
call fcn.6499f570
sub esp, 4
lea edx, [esp + 0x1c]
lea eax, [esp + 0x2c]
call fcn.649c5700
lea ecx, [esp + 0x1c]
mov esi, eax
call fcn.6499f5e0
mov eax, esi
test al, al
jne 0x649d43d8
mov ecx, edi
call fcn.6491b970
mov dword [esp + 4], ebp
mov dword [esp], edi
call fcn.6491c8c0
test al, al
jne 0x649d4330
call fcn.64919c60
lea ecx, [esp + 0x44]
call fcn.649a3660
lea ecx, [esp + 0x2c]
call fcn.649a3660
jmp 0x649d42b8
mov eax, dword [ebx + 4]
lea ecx, [esp + 0x44]
mov dword [esp], eax
call fcn.649a3780
sub esp, 4
mov dword [esp], 0
call dword [sym.imp.USER32.dll_OpenClipboard]
sub esp, 4
test eax, eax
je 0x649d43b5
lea ecx, [esp + 0x44]
call fcn.6492b290
mov dword [esp], 0
add eax, 1
mov dword [esp + 4], eax
call dword [sym.imp.KERNEL32.dll_GlobalAlloc]
sub esp, 8
mov ebx, eax
test eax, eax
je 0x649d446d
lea ecx, [esp + 0x44]
call fcn.6492b2b0
mov dword [esp], ebx
mov esi, eax
call dword [sym.imp.KERNEL32.dll_GlobalLock]
sub esp, 4
mov dword [esp + 4], esi
mov dword [esp], eax
call sub.msvcrt.dll_strcpy
mov dword [esp], ebx
call dword [sym.imp.KERNEL32.dll_GlobalUnlock]
sub esp, 4
call dword [sym.imp.USER32.dll_EmptyClipboard]
mov dword [esp + 4], ebx
mov dword [esp], 1
call dword [sym.imp.USER32.dll_SetClipboardData]
sub esp, 8
call dword [sym.imp.USER32.dll_CloseClipboard]
jmp 0x649d43b5
call fcn.64901590
nop
nop
nop
add esp, 0x2c
pop ebx
pop esi
pop edi
pop ebp
ret 8