Function at 0x1002c981
Capabilities:
Open clipboard
Write clipboard data

Disassembly:
sub esp, 0xc
push ebx
push ebp
push esi
push edi
mov edi, dword [0x10158ae0]
xor ebx, ebx
mov ebp, ebx
mov dword [esp + 0x18], ebx
mov esi, ebx
cmp dword [edi + 0x88d0], ebx
je 0x1002cc81
push 0x61
call fcn.1003f3e5
pop ecx
test eax, eax
je 0x1002c9c1
push dword [edi + 0x9380]
call fcn.10055a7a
inc esi
pop ecx
mov dword [esp + 0x18], esi
push 0x67
call fcn.1003f3e5
pop ecx
test eax, eax
je 0x1002c9f0
mov eax, dword [edi + 0x88d8]
test eax, eax
jle 0x1002c9e7
dec eax
xor esi, esi
inc esi
mov dword [edi + 0x88d8], eax
mov dword [esp + 0x18], esi
jmp 0x1002c9f0
jne 0x1002c9f0
push ebx
call fcn.10055a7a
pop ecx
push 0x6f
call fcn.1003f3e5
pop ecx
test eax, eax
je 0x1002ca15
mov eax, dword [edi + 0x88d4]
inc eax
and eax, 0x80000003
jns 0x1002ca0f
dec eax
or eax, 0xfffffffc
inc eax
mov dword [edi + 0x88d4], eax
push 0x6b
call fcn.1003f3c6
pop ecx
test eax, eax
jne 0x1002ca31
push 0x6d
call fcn.1003f3c6
pop ecx
test eax, eax
je 0x1002cb03
push 0x6b
call fcn.1003f3c6
mov ecx, dword [edi + 0x88d8]
neg eax
push ebx
sbb eax, eax
mov dword [esp + 0x18], ebx
and eax, 2
dec eax
mov dword [esp + 0x1c], eax
mov eax, dword [edi + 0x88d4]
push ebx
push dword [eax*4 + 0x100892cc]
mov eax, dword [edi + ecx*4 + 0x8a6c]
add eax, dword [edi + ecx*4 + 0x88dc]
push eax
lea eax, [esp + 0x24]
push eax
call fcn.1002bdb1
add esp, 0x18
test eax, eax
je 0x1002cb03
mov edx, dword [edi + 0x88d4]
mov eax, edx
sub eax, ebx
je 0x1002cad0
sub eax, 1
je 0x1002cac5
sub eax, 1
je 0x1002cabb
sub eax, 1
jne 0x1002cad8
movd xmm0, dword [esp + 0x14]
cvtdq2ps xmm0, xmm0
mulss xmm0, dword [0x10084d84]
addss xmm0, dword [esp + 0x10]
movss dword [esp + 0x10], xmm0
jmp 0x1002cad8
mov eax, dword [esp + 0x14]
add dword [esp + 0x10], eax
jmp 0x1002cad8
mov eax, dword [esp + 0x14]
add word [esp + 0x10], ax
jmp 0x1002cad8
mov eax, dword [esp + 0x14]
add byte [esp + 0x10], al
mov ecx, dword [edi + 0x88d8]
lea eax, [esp + 0x10]
push ebx
push ebx
push dword [edx*4 + 0x100892cc]
push eax
mov eax, dword [edi + ecx*4 + 0x8a6c]
add eax, dword [edi + ecx*4 + 0x88dc]
push eax
call fcn.1002bdb1
add esp, 0x14
push 0x6a
call fcn.1003f3e5
pop ecx
test eax, eax
je 0x1002cba8
push dword [esp + 0x20]
call dword [sym.imp.USER32.dll_OpenClipboard]
test eax, eax
je 0x1002cb95
push 0x40
push 2
call dword [sym.imp.KERNEL32.dll_GlobalAlloc]
mov dword [esp + 0x14], eax
test eax, eax
je 0x1002cb8d
push eax
call dword [sym.imp.KERNEL32.dll_GlobalLock]
push 0x40
lea ecx, [edi + 0x9384]
mov esi, eax
push ecx
push esi
call fcn.1002c184
push esi
push 0x1007e4fc
call fcn.10055599
add esp, 0x14
push esi
call dword [sym.imp.KERNEL32.dll_GlobalUnlock]
call dword [sym.imp.USER32.dll_EmptyClipboard]
push dword [esp + 0x14]
push 1
call dword [sym.imp.USER32.dll_SetClipboardData]
test eax, eax
jne 0x1002cb89
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push str.SetClipboardData____d
call fcn.10055599
pop ecx
pop ecx
mov esi, dword [esp + 0x18]
call dword [sym.imp.USER32.dll_CloseClipboard]
jmp 0x1002cba8
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push str.OpenClipboard____d
call fcn.10055599
pop ecx
pop ecx
push 0x64
call fcn.1003f3e5
pop ecx
test eax, eax
je 0x1002cbc3
mov eax, dword [edi + 0x88d4]
mov ebp, dword [eax*4 + 0x100892cc]
neg ebp
push 0x66
call fcn.1003f3e5
pop ecx
test eax, eax
je 0x1002cbdc
mov eax, dword [edi + 0x88d4]
add ebp, dword [eax*4 + 0x100892cc]
push 0x68
call fcn.1003f3e5
pop ecx
test eax, eax
je 0x1002cbeb
sub ebp, 0x10
push 0x62
call fcn.1003f3e5
pop ecx
test eax, eax
je 0x1002cbfa
add ebp, 0x10
push 0x69
call fcn.1003f3e5
pop ecx
test eax, eax
je 0x1002cc0c
sub ebp, 0xa0
push 0x63
call fcn.1003f3e5
pop ecx
test eax, eax
je 0x1002cc1e
add ebp, 0xa0
mov eax, dword [edi + 0x88d8]
add dword [edi + eax*4 + 0x8a6c], ebp
test ebp, ebp
jne 0x1002cc33
test esi, esi
je 0x1002cc52
push 0x500
lea eax, [edi + 0x8e7c]
push ebx
push eax
call fcn.10059360
add esp, 0xc
mov dword [edi + 0x937c], 1
lea eax, [ebx + 0x61]
push eax
call fcn.1003f3ba
inc ebx
pop ecx
cmp ebx, 9
jl 0x1002cc52
push 0x6a
call fcn.1003f3ba
push 0x6f
call fcn.1003f3ba
push 0x6b
call fcn.1003f3ba
push 0x6d
call fcn.1003f3ba
add esp, 0x10
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xc
ret