Function at 0x4593a4
Capabilities:
Write clipboard data

Disassembly:
push ebp
mov ebp, esp
add esp, 0xffffffbc
push ebx
push esi
push edi
mov byte [ebp - 5], cl
mov dword [ebp - 4], edx
mov edi, eax
mov eax, dword [ebp - 4]
call fcn.004044dc
xor eax, eax
push ebp
push 0x4595f9
push dword fs:[eax]
mov dword fs:[eax], esp
mov byte [ebp - 6], 0
test edi, edi
je 0x4595e3
cmp dword [ebp - 4], 0
je 0x4595e3
push edi
push 0xffffffffffffffff
push 0x1f0fff
call fcn.00406268
mov esi, eax
mov eax, dword [ebp - 4]
call fcn.004042ec
mov edx, esi
call fcn.00458fd8
mov ebx, eax
mov dword [ebp - 0x31], ebx
mov dword [ebp - 0x43], ebx
test ebx, ebx
je 0x4595e3
mov eax, dword [0x4613d0]
cmp byte [eax], 0
jne 0x459436
mov eax, dword [ebp - 4]
call fcn.004042ec
push eax
lea eax, [ebp - 4]
call fcn.00404544
mov edx, eax
mov eax, ebx
pop ecx
call fcn.00406a9c
jmp 0x45945b
lea eax, [ebp - 0x10]
push eax
mov eax, dword [ebp - 4]
call fcn.004042ec
push eax
lea eax, [ebp - 4]
call fcn.00404544
push eax
push ebx
push esi
call fcn.00406328
test eax, eax
je 0x4595e3
mov byte [ebp - 0x32], 0x68
mov byte [ebp - 0x2d], 0xe8
mov byte [ebp - 0x44], 0x68
mov byte [ebp - 0x3f], 0xe8
mov byte [ebp - 0x39], 0xe8
mov byte [ebp - 0x3a], 0x50
cmp byte [ebp - 5], 0
je 0x459489
mov edx, esi
mov eax, 0x16
call fcn.00458fd8
mov ebx, eax
jmp 0x459497
mov edx, esi
mov eax, 0x12
call fcn.00458fd8
mov ebx, eax
test ebx, ebx
je 0x4595e3
cmp byte [ebp - 5], 0
je 0x4594c4
mov eax, dword [0x462cd4]
sub eax, ebx
sub eax, 4
sub eax, 6
mov dword [ebp - 0x2c], eax
lea eax, [ebp - 0x32]
mov dword [ebp - 0x18], eax
mov dword [ebp - 0x14], 0xc
jmp 0x4594f3
mov eax, dword [0x462cd8]
mov edx, ebx
sub eax, edx
sub eax, 4
sub eax, 0xc
mov dword [ebp - 0x38], eax
mov eax, dword [0x462cdc]
sub eax, edx
sub eax, 4
sub eax, 6
mov dword [ebp - 0x3e], eax
lea eax, [ebp - 0x44]
mov dword [ebp - 0x18], eax
mov dword [ebp - 0x14], 0x12
mov al, byte [ebp + 0xc]
xor al, 1
test al, al
je 0x45950e
mov byte [ebp - 0x28], 0xc2
mov byte [ebp - 0x27], 4
mov byte [ebp - 0x34], 0xc2
mov byte [ebp - 0x33], 4
jmp 0x459516
mov byte [ebp - 0x28], 0x90
mov byte [ebp - 0x27], 0x90
lea eax, [ebp - 0x10]
push eax
mov eax, dword [ebp - 0x14]
push eax
mov eax, dword [ebp - 0x18]
push eax
push ebx
push esi
call fcn.00406328
test eax, eax
je 0x4595e3
cmp byte [ebp + 0xc], 0
je 0x459570
mov eax, dword [0x462ce8]
mov byte [ebp - 0x26], 0x68
mov dword [ebp - 0x25], 0xffffffff
mov byte [ebp - 0x21], 0xe8
sub eax, ebx
sub eax, 4
sub eax, 0x12
mov dword [ebp - 0x20], eax
lea eax, [ebp - 0x10]
push eax
push 0xa
lea eax, [ebp - 0x26]
push eax
mov eax, ebx
add eax, 0xc
push eax
push esi
call fcn.00406328
test eax, eax
je 0x4595e3
mov eax, dword [0x4613d0]
cmp byte [eax], 0
jne 0x45958f
push 0
lea eax, [ebp - 0xc]
push eax
xor ecx, ecx
mov edx, ebx
mov eax, edi
call fcn.00458eb8
mov ebx, eax
jmp 0x4595a4
lea eax, [ebp - 0xc]
push eax
push 0
push 0
push ebx
push 0
push 0
push esi
call fcn.00406078
mov ebx, eax
mov al, byte [ebp + 0xc]
xor al, 1
test al, al
je 0x4595df
cmp byte [ebp + 8], 0
je 0x4595d3
push 0x1388
push ebx
call fcn.00406310
lea eax, [ebp - 0x1c]
push eax
push ebx
call fcn.00406158
cmp eax, 1
sbb eax, eax
inc eax
mov byte [ebp - 6], al
jmp 0x4595d7
mov byte [ebp - 6], 1
push ebx
call fcn.00406050
jmp 0x4595e3
mov byte [ebp - 6], 1
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x459600
lea eax, [ebp - 4]
call fcn.0040402c
ret