Function at 0x43ee50
Capabilities:
Open clipboard
Write clipboard data

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x98
mov eax, dword [0x51e080]
xor eax, ebp
mov dword [ebp - 8], eax
push ebx
push esi
push edi
mov esi, ecx
push 0x14
mov dword [ebp - 0x84], esi
call fcn.004d3886
mov ebx, eax
add esp, 4
mov dword [ebp - 0x7c], ebx
push 0x400
mov dword [ebx], vtable.sjail.0
mov dword [ebx + 8], 0x400
mov dword [ebx + 0xc], 0
mov dword [ebx + 0x10], 0xffffffff
call fcn.004d9a7e
mov dword [ebx + 4], eax
add esp, 4
mov eax, dword [ebp + 8]
mov dword [ebx + 0x10], 0x1000000
mov ecx, dword [esi + 0xf0]
mov dword [ebp - 0x8c], ecx
test eax, eax
jne 0x43f23c
xor edi, edi
mov dword [ebp - 0x74], edi
test ecx, ecx
je 0x43f3e4
mov eax, dword [esi + 0x108]
mov edx, dword [eax + edi*4]
mov ecx, dword [edx + 0x28]
shr ecx, 1
xor ecx, dword [edx + 0x28]
test cl, 1
je 0x43f227
mov eax, dword [edx + 0x30]
cmp eax, 1
jne 0x43eefc
push 0x1a4
jmp 0x43ef2a
cmp eax, 2
jne 0x43ef08
push 0x1a5
jmp 0x43ef2a
cmp eax, 3
jne 0x43ef14
push 0x1a6
jmp 0x43ef2a
cmp eax, 5
jne 0x43ef20
push 0x1a7
jmp 0x43ef2a
cmp eax, 6
jne 0x43ef83
push 0x1a8
mov ecx, dword [esi + 0x6c]
lea edx, [ebp - 0x88]
push edx
mov eax, dword [ecx]
call dword [eax]
mov edx, dword [ebp - 0x88]
test edx, edx
je 0x43ef64
mov ecx, edx
lea eax, [ecx + 2]
mov dword [ebp - 0x78], eax
nop word [eax + eax]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x43ef50
sub ecx, dword [ebp - 0x78]
sar ecx, 1
add ecx, ecx
jmp 0x43ef66
xor ecx, ecx
push ecx
push edx
mov ecx, ebx
call fcn.00406b50
push 2
lea eax, [ebp - 0x78]
mov dword [ebp - 0x78], 0x20
push eax
mov ecx, ebx
call fcn.00406b50
mov eax, dword [esi + 0x108]
push 0
push ebx
push dword [eax + edi*4]
call fcn.0043ea30
test eax, eax
jne 0x43f3e4
mov eax, dword [esi + 0x108]
mov ecx, dword [eax + edi*4]
mov eax, dword [ecx + 0x40]
test eax, eax
je 0x43efd5
lea eax, [eax*2 - 2]
push eax
push dword [ecx + 0x250]
mov ecx, ebx
call fcn.00406b50
push 2
lea eax, [ebp - 0x78]
mov dword [ebp - 0x78], 0x20
push eax
mov ecx, ebx
call fcn.00406b50
mov eax, dword [esi + 0x108]
mov ecx, dword [eax + edi*4]
mov dword [ebp - 0x94], ecx
mov eax, dword [ecx + 0x30]
cmp eax, 1
je 0x43f057
cmp eax, 6
je 0x43f057
cmp eax, 2
je 0x43efff
cmp eax, 3
jne 0x43f210
push dword [ecx + 0x268]
lea eax, [ebp - 0x6c]
push str.__d_
push 0xffffffffffffffff
push 0x10
push eax
call fcn.00415570
lea ecx, [ebp - 0x6c]
add esp, 0x14
lea edx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x43f020
sub ecx, edx
sar ecx, 1
lea eax, [ecx + ecx]
mov ecx, ebx
push eax
lea eax, [ebp - 0x6c]
push eax
call fcn.00406b50
push 2
lea eax, [ebp - 0x74]
mov dword [ebp - 0x74], 0x20
push eax
mov ecx, ebx
call fcn.00406b50
jmp 0x43f210
mov edx, dword [ecx + 0x258]
lea eax, [ebp - 0x4c]
mov ecx, dword [ecx + 0x25c]
xor edi, edi
mov dword [ebp - 0x78], eax
mov eax, edx
or eax, ecx
mov dword [ebp - 0x70], 1
mov dword [ebp - 0x80], edi
je 0x43f1d7
mov ebx, dword [ebp - 0x70]
jmp 0x43f087
mov edx, dword [ebp - 0x70]
push 0
push 0xa
push ecx
push edx
inc edi
call fcn.004f35c0
mov dword [ebp - 0x90], edx
mov ecx, ebx
mov edx, dword [ebp - 0x80]
mov esi, edx
shld esi, ecx, 2
mov dword [ebp - 0x70], eax
shl ecx, 2
add ebx, ecx
mov ecx, dword [ebp - 0x90]
adc edx, esi
shld edx, ebx, 1
add ebx, ebx
mov dword [ebp - 0x80], edx
or eax, ecx
jne 0x43f084
push eax
push 0xa
mov dword [ebp - 0x70], ebx
mov eax, dword [ebp - 0x70]
mov ebx, dword [ebp - 0x7c]
push edx
push eax
call fcn.004f35c0
mov ecx, dword [ebp - 0x94]
mov esi, eax
mov dword [ebp - 0x90], edx
mov eax, dword [ecx + 0x258]
mov ecx, dword [ecx + 0x25c]
mov dword [ebp - 0x80], eax
mov dword [ebp - 0x70], ecx
test edi, edi
je 0x43f1a2
mov ebx, edx
nop
push ebx
push esi
push ecx
push eax
call fcn.004f35c0
mov ecx, dword [ebp - 0x78]
add ax, 0x30
mov word [ecx], ax
add ecx, 2
mov dword [ebp - 0x78], ecx
sub edi, 1
je 0x43f16d
mov eax, 0xaaaaaaab
mov ecx, edi
mul edi
shr edx, 1
lea eax, [edx + edx*2]
sub ecx, eax
jne 0x43f16d
mov eax, dword [ebp - 0x78]
mov ecx, 0x2c
mov edx, dword [ebp - 0x70]
push ebx
push esi
mov word [eax], cx
add eax, 2
mov dword [ebp - 0x78], eax
mov eax, dword [ebp - 0x80]
push edx
push eax
call fcn.004f3670
push 0
push 0xa
push ebx
push esi
mov dword [ebp - 0x80], eax
mov dword [ebp - 0x70], edx
call fcn.004f35c0
mov ecx, dword [ebp - 0x70]
mov esi, eax
mov eax, dword [ebp - 0x80]
mov ebx, edx
jmp 0x43f100
mov edx, dword [ebp - 0x70]
mov eax, dword [ebp - 0x80]
push ebx
push esi
push edx
push eax
call fcn.004f3670
push 0
push 0xa
push ebx
push esi
mov dword [ebp - 0x80], eax
mov dword [ebp - 0x70], edx
call fcn.004f35c0
mov ecx, dword [ebp - 0x70]
mov esi, eax
mov eax, dword [ebp - 0x80]
mov ebx, edx
test edi, edi
jne 0x43f100
mov ebx, dword [ebp - 0x7c]
mov eax, dword [ebp - 0x78]
lea ecx, [ebp - 0x4c]
lea edx, [ecx + 2]
mov dword [eax], 0x20
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x43f1b1
sub ecx, edx
sar ecx, 1
lea eax, [ecx + ecx]
mov ecx, ebx
push eax
lea eax, [ebp - 0x4c]
push eax
call fcn.00406b50
mov esi, dword [ebp - 0x84]
jmp 0x43f20d
xor eax, eax
mov dword [ebp - 0x4c], 0x200030
mov word [ebp - 0x48], ax
lea eax, [ebp - 0x4c]
lea edx, [eax + 2]
nop word [eax + eax]
mov cx, word [eax]
add eax, 2
test cx, cx
jne 0x43f1f0
sub eax, edx
mov ecx, ebx
sar eax, 1
add eax, eax
push eax
lea eax, [ebp - 0x4c]
push eax
call fcn.00406b50
mov edi, dword [ebp - 0x74]
mov eax, dword [esi + 0x108]
push ebx
push dword [eax + edi*4]
call fcn.0043ecb0
test eax, eax
jne 0x43f3e4
inc edi
mov dword [ebp - 0x74], edi
cmp edi, dword [ebp - 0x8c]
jb 0x43eed3
jmp 0x43f3e4
cmp eax, 1
jne 0x43f28e
xor edi, edi
test ecx, ecx
je 0x43f3e4
xor ecx, ecx
mov dword [ebp - 0x7c], ecx
mov eax, dword [esi + 0x108]
mov edx, dword [eax + edi*4]
mov eax, dword [eax + ecx]
mov eax, dword [eax + 0x28]
shr eax, 1
xor eax, dword [edx + 0x28]
test al, 1
je 0x43f27a
push ebx
push edx
call fcn.0043ecb0
test eax, eax
jne 0x43f3e4
mov ecx, dword [ebp - 0x7c]
inc edi
add ecx, 4
mov dword [ebp - 0x7c], ecx
cmp edi, dword [ebp - 0x8c]
jb 0x43f250
jmp 0x43f3e4
cmp eax, 2
jne 0x43f32f
xor edi, edi
test ecx, ecx
je 0x43f3e4
xor edx, edx
mov dword [ebp - 0x7c], edx
nop word [eax + eax]
mov eax, dword [esi + 0x108]
mov ecx, dword [eax + edi*4]
mov eax, dword [eax + edx]
mov eax, dword [eax + 0x28]
shr eax, 1
xor eax, dword [ecx + 0x28]
test al, 1
je 0x43f31b
mov eax, dword [ecx + 0x40]
test eax, eax
je 0x43f31b
lea eax, [eax*2 - 2]
push eax
push dword [ecx + 0x250]
mov ecx, ebx
call fcn.00406b50
push 2
lea eax, [ebp - 0x84]
mov dword [ebp - 0x84], 0xd
push eax
mov ecx, ebx
call fcn.00406b50
push 2
lea eax, [ebp - 0x84]
mov dword [ebp - 0x84], 0xa
push eax
mov ecx, ebx
call fcn.00406b50
mov edx, dword [ebp - 0x7c]
inc edi
add edx, 4
mov dword [ebp - 0x7c], edx
cmp edi, dword [ebp - 0x8c]
jb 0x43f2b0
jmp 0x43f3e4
cmp eax, 3
jne 0x43f3e4
xor edi, edi
test ecx, ecx
je 0x43f3e4
xor ecx, ecx
mov dword [ebp - 0x74], ecx
nop word [eax + eax]
mov eax, dword [esi + 0x108]
mov edx, dword [eax + edi*4]
mov eax, dword [eax + ecx]
mov eax, dword [eax + 0x28]
shr eax, 1
xor eax, dword [edx + 0x28]
test al, 1
je 0x43f3d1
push 1
push ebx
push edx
call fcn.0043ea30
test eax, eax
jne 0x43f3e4
mov eax, dword [esi + 0x108]
mov ecx, dword [eax + edi*4]
mov eax, dword [ecx + 0x40]
test eax, eax
je 0x43f3ce
lea eax, [eax*2 - 2]
push eax
push dword [ecx + 0x250]
mov ecx, ebx
call fcn.00406b50
push 2
lea eax, [ebp - 0x84]
mov dword [ebp - 0x84], 0xd
push eax
mov ecx, ebx
call fcn.00406b50
push 2
lea eax, [ebp - 0x84]
mov dword [ebp - 0x84], 0xa
push eax
mov ecx, ebx
call fcn.00406b50
mov ecx, dword [ebp - 0x74]
inc edi
add ecx, 4
mov dword [ebp - 0x74], ecx
cmp edi, dword [ebp - 0x8c]
jb 0x43f350
mov eax, dword [esi + 0x60]
mov eax, dword [eax + 0x4f0]
push dword [eax + 0xc]
call dword [sym.imp.USER32.dll_OpenClipboard]
test eax, eax
je 0x43f460
call dword [sym.imp.USER32.dll_EmptyClipboard]
mov eax, dword [ebx + 0xc]
mov dword [ebp - 0x74], eax
test eax, eax
je 0x43f412
mov ecx, dword [ebx + 4]
mov dword [ebp - 0x7c], ecx
jmp 0x43f419
mov dword [ebp - 0x7c], 0
add eax, 2
push eax
push 0x42
call dword [sym.imp.KERNEL32.dll_GlobalAlloc]
mov edi, eax
push edi
call dword [sym.imp.KERNEL32.dll_GlobalLock]
push dword [ebp - 0x74]
mov esi, eax
push dword [ebp - 0x7c]
push esi
call fcn.004d6950
mov eax, dword [ebp - 0x74]
add esp, 0xc
shr eax, 1
xor ecx, ecx
push edi
mov word [esi + eax*2], cx
call dword [sym.imp.KERNEL32.dll_GlobalUnlock]
push edi
push 0xd
call dword [sym.imp.USER32.dll_SetClipboardData]
call dword [sym.imp.USER32.dll_CloseClipboard]
mov eax, dword [ebx]
mov ecx, ebx
push 1
call dword [eax]
mov ecx, dword [ebp - 8]
xor eax, eax
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.004d3878
mov esp, ebp
pop ebp
ret 4