Function at 0x40c9b0
Capabilities:
Open clipboard
Write clipboard data

Disassembly:
push ebp
mov ebp, esp
push ecx
cmp dword [ebp + 0x1c], 0
push ebx
push esi
push edi
mov edi, ecx
jne 0x40d155
mov ecx, dword [ebp + 0xc]
mov ebx, dword [ebp + 0x10]
cmp ecx, 1
jne 0x40ca03
mov eax, dword [edi + 0x18]
mov ecx, edi
mov esi, dword [ebp + 0x14]
push esi
mov dword [eax + 0x20], 1
call fcn.00406830
mov edx, dword [ebp + 0x18]
mov dword [edx], eax
mov eax, dword [edi + 0x18]
cmp dword [eax + 0x20], 0
je 0x40d057
mov eax, 1
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x18
cmp ecx, 0x113
jne 0x40caad
mov eax, dword [edi + 0x18]
mov dword [eax + 0x20], 1
mov eax, ebx
sub eax, 1
je 0x40ca56
sub eax, 1
jne 0x40ca8f
cmp byte [edi + 0x72], al
je 0x40ca8f
mov dword [ebp + 0x10], eax
lea eax, [ebp + 0x10]
push eax
push dword [edi + 0x54]
call dword [sym.imp.toupcam.dll_Toupcam_get_Temperature]
test eax, eax
js 0x40ca8f
movsx eax, word [ebp + 0x10]
lea ecx, [edi + 0x4d4]
mov dword [ebp + 0x1c], eax
lea eax, [ebp + 0x1c]
push eax
call fcn.00410b10
jmp 0x40ca8f
cmp byte [edi + 0x71], 0
je 0x40ca8f
mov eax, dword [edi + 0x5ac]
lea ecx, [eax + eax*2]
mov eax, dword [edi + 0x5bc]
lea esi, [eax + ecx*4]
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov ecx, dword [esi]
sub eax, dword [edi + 0x6c]
add ecx, 0xa
cmp eax, ecx
jb 0x40ca8f
push 1
push dword [edi + 0x54]
mov byte [edi + 0x71], 0
call dword [sym.imp.toupcam.dll_Toupcam_Trigger]
mov edx, dword [ebp + 0x18]
mov dword [edx], 0
mov eax, dword [edi + 0x18]
cmp dword [eax + 0x20], 0
jne 0x40ce5f
mov esi, dword [ebp + 0x14]
jmp 0x40d057
cmp ecx, 2
jne 0x40cb1a
mov eax, dword [edi + 0x54]
test eax, eax
je 0x40cac7
push eax
call dword [sym.imp.toupcam.dll_Toupcam_Close]
mov dword [edi + 0x54], 0
mov eax, dword [edi + 0x58]
test eax, eax
je 0x40cade
push eax
call fcn.00417ad5
add esp, 4
mov dword [edi + 0x58], 0
mov esi, dword [sym.imp.USER32.dll_KillTimer]
push 1
push dword [edi + 4]
call esi
push 2
push dword [edi + 4]
call esi
push 0xfffffffffffffff0
push dword [edi + 4]
call dword [sym.imp.USER32.dll_GetWindowLongW]
test eax, 0xc0000000
jne 0x40cb0c
push 1
call dword [sym.imp.USER32.dll_PostQuitMessage]
mov esi, dword [ebp + 0x18]
mov dword [esi], 0
jmp 0x40d118
cmp ecx, 0x8001
jne 0x40cbd8
mov eax, dword [ebp + 0x10]
sub eax, 4
je 0x40cbba
sub eax, 0x7c
je 0x40cb7d
sub eax, 1
jne 0x40d00b
mov ecx, edi
call fcn.00404880
push 0x30
push ecx
mov eax, esp
push ecx
mov dword [eax], 0
mov eax, esp
mov dword [eax], str.Camera_disconnect.
push dword [edi + 4]
call fcn.00404410
mov eax, dword [ebp + 0x18]
add esp, 0x10
mov dword [eax], 0
mov eax, 1
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x18
mov ecx, edi
call fcn.00404880
push 0x30
push ecx
mov eax, esp
push ecx
mov dword [eax], 0
mov eax, esp
mov dword [eax], str.Generic_error.
push dword [edi + 4]
call fcn.00404410
mov eax, dword [ebp + 0x18]
add esp, 0x10
mov dword [eax], 0
mov eax, 1
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x18
mov ecx, edi
call fcn.00406d10
mov eax, dword [ebp + 0x18]
mov dword [eax], 0
mov eax, 1
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x18
cmp ecx, 0x111
jne 0x40cf92
movzx eax, bx
mov ecx, 0x7d0
cmp cx, ax
jne 0x40cc1b
mov ecx, dword [edi + 0x5a4]
test ecx, ecx
je 0x40d00b
call fcn.004129a0
mov eax, dword [ebp + 0x18]
mov dword [eax], 0
mov eax, 1
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x18
mov ecx, 0x7d1
cmp cx, ax
jne 0x40cc51
mov ecx, dword [edi + 0x5a4]
test ecx, ecx
je 0x40d00b
push 1
call fcn.004129f0
mov eax, dword [ebp + 0x18]
mov dword [eax], 0
mov eax, 1
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x18
mov ecx, 0x7d2
cmp cx, ax
jne 0x40cc87
mov ecx, dword [edi + 0x5a4]
test ecx, ecx
je 0x40d00b
push 1
call fcn.00412c20
mov eax, dword [ebp + 0x18]
mov dword [eax], 0
mov eax, 1
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x18
mov ecx, 0x7d3
cmp cx, ax
jne 0x40ccbd
mov ecx, dword [edi + 0x5a4]
test ecx, ecx
je 0x40d00b
push 0
call fcn.004129f0
mov eax, dword [ebp + 0x18]
mov dword [eax], 0
mov eax, 1
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x18
mov ecx, 0x7d4
cmp cx, ax
jne 0x40ccf3
mov ecx, dword [edi + 0x5a4]
test ecx, ecx
je 0x40d00b
push 0
call fcn.00412c20
mov eax, dword [ebp + 0x18]
mov dword [eax], 0
mov eax, 1
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x18
mov ecx, 0x7dd
cmp cx, ax
jne 0x40cd29
mov ecx, dword [edi + 0x5a4]
test ecx, ecx
je 0x40d00b
push 1
call fcn.00412ae0
mov eax, dword [ebp + 0x18]
mov dword [eax], 0
mov eax, 1
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x18
mov ecx, 0x7dc
cmp cx, ax
jne 0x40cd5f
mov ecx, dword [edi + 0x5a4]
test ecx, ecx
je 0x40d00b
push 0
call fcn.00412ae0
mov eax, dword [ebp + 0x18]
mov dword [eax], 0
mov eax, 1
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x18
mov ecx, 0x7d5
cmp cx, ax
jne 0x40ce3d
mov ecx, dword [edi + 0x5a4]
test ecx, ecx
je 0x40d00b
call fcn.00411960
mov ebx, eax
test ebx, ebx
je 0x40d00b
push dword [edi + 4]
call dword [sym.imp.USER32.dll_OpenClipboard]
test eax, eax
je 0x40ce1d
call dword [sym.imp.USER32.dll_EmptyClipboard]
movzx esi, word [ebx + 0xe]
imul esi, dword [ebx + 4]
add esi, 0x1f
shr esi, 3
and esi, 0x1ffffffc
imul esi, dword [ebx + 8]
add esi, dword [ebx]
push esi
push 2
call dword [sym.imp.KERNEL32.dll_GlobalAlloc]
mov edi, eax
test edi, edi
je 0x40ce1d
push edi
call dword [sym.imp.KERNEL32.dll_GlobalLock]
test eax, eax
jne 0x40cdfc
push edi
call dword [sym.imp.KERNEL32.dll_GlobalFree]
push ebx
call fcn.00417ad5
mov eax, dword [ebp + 0x18]
add esp, 4
mov dword [eax], 0
mov eax, 1
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x18
push esi
push ebx
push eax
call fcn.00415010
add esp, 0xc
push edi
call dword [sym.imp.KERNEL32.dll_GlobalUnlock]
push edi
push 8
call dword [sym.imp.USER32.dll_SetClipboardData]
call dword [sym.imp.USER32.dll_CloseClipboard]
push ebx
call fcn.00417ad5
mov eax, dword [ebp + 0x18]
add esp, 4
mov dword [eax], 0
mov eax, 1
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x18
mov ecx, 0x7d6
cmp cx, ax
jne 0x40ce6d
lea eax, [ebp + 0xc]
shr ebx, 0x10
push eax
push dword [ebp + 0x14]
push ecx
push ebx
mov ecx, edi
call fcn.00406ae0
mov ecx, dword [ebp + 0x18]
mov dword [ecx], eax
mov eax, 1
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x18
mov ecx, 0x7d7
cmp cx, ax
jne 0x40ce9d
lea eax, [ebp + 0xc]
shr ebx, 0x10
push eax
push dword [ebp + 0x14]
push ecx
push ebx
mov ecx, edi
call fcn.0040a8e0
mov ecx, dword [ebp + 0x18]
mov dword [ecx], eax
mov eax, 1
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x18
mov ecx, 0x7d9
cmp cx, ax
jne 0x40cefe
mov eax, dword [edi + 0x54]
test eax, eax
je 0x40cebc
push eax
call dword [sym.imp.toupcam.dll_Toupcam_Close]
mov dword [edi + 0x54], 0
mov eax, dword [edi + 0x58]
test eax, eax
je 0x40ced3
push eax
call fcn.00417ad5
add esp, 4
mov dword [edi + 0x58], 0
mov esi, dword [sym.imp.USER32.dll_KillTimer]
push 1
push dword [edi + 4]
call esi
push 2
push dword [edi + 4]
call esi
mov eax, dword [ebp + 0x18]
mov dword [eax], 0
mov eax, 1
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x18
mov ecx, 0x7d8
cmp cx, ax
jne 0x40cf2e
lea eax, [ebp + 0xc]
shr ebx, 0x10
push eax
push dword [ebp + 0x14]
push ecx
push ebx
mov ecx, edi
call fcn.0040a670
mov ecx, dword [ebp + 0x18]
mov dword [ecx], eax
mov eax, 1
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x18
mov ecx, 0x7da
cmp cx, ax
jne 0x40cf5e
lea eax, [ebp + 0xc]
shr ebx, 0x10
push eax
push dword [ebp + 0x14]
push ecx
push ebx
mov ecx, edi
call fcn.004092f0
mov ecx, dword [ebp + 0x18]
mov dword [ecx], eax
mov eax, 1
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x18
mov ecx, 0x7db
cmp cx, ax
jne 0x40d051
lea eax, [ebp + 0xc]
shr ebx, 0x10
push eax
push dword [ebp + 0x14]
push ecx
push ebx
mov ecx, edi
call fcn.0040a110
mov ecx, dword [ebp + 0x18]
mov dword [ecx], eax
mov eax, 1
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x18
mov esi, dword [ebp + 0x14]
cmp ecx, 0x4e
jne 0x40d054
mov eax, dword [esi + 8]
cmp eax, 0xfffffdee
jne 0x40d022
mov ecx, dword [ebp + 0x10]
test ecx, ecx
je 0x40d00b
test byte [esi + 0xb4], 1
jne 0x40d00b
xor eax, eax
nop word [eax + eax]
cmp ecx, dword [eax*8 + 0x42ffd8]
je 0x40cfe6
inc eax
cmp eax, 0xe
jb 0x40cfc0
mov eax, dword [ebp + 0x18]
mov dword [eax], 0
mov eax, 1
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x18
mov ecx, dword [eax*8 + 0x42ffdc]
lea edx, [esi + 0x10]
movzx eax, word [ecx]
lea ecx, [ecx + 2]
mov word [edx], ax
lea edx, [edx + 2]
test ax, ax
jne 0x40cff0
or dword [esi + 0xb4], 0x8000
mov eax, dword [ebp + 0x18]
mov dword [eax], 0
mov eax, 1
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x18
cmp dword [esi + 4], 1
jne 0x40d054
cmp eax, 0xfffffdd9
jne 0x40d054
lea eax, [ebp + 0xc]
mov ecx, edi
push eax
push esi
push dword [ebp + 0x10]
call fcn.0040ab10
mov ecx, dword [ebp + 0x18]
mov dword [ecx], eax
mov eax, 1
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x18
mov esi, dword [ebp + 0x14]
mov edx, dword [ebp + 0x18]
mov eax, dword [ebp + 0xc]
lea ecx, [edi + 0x38]
cmp eax, 0x117
jne 0x40d098
lea eax, [ebp + 0x10]
mov dword [ebp + 0x10], 1
push eax
push esi
push ebx
push 0x117
call fcn.004085e0
cmp dword [ebp + 0x10], 0
mov esi, dword [ebp + 0x18]
mov dword [esi], eax
je 0x40d118
mov eax, 1
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x18
cmp eax, 0x111
jne 0x40d115
xor esi, esi
cmp byte [ecx + 0x16], 0
je 0x40d107
mov eax, ebx
shr eax, 0x10
cmp eax, 1
jne 0x40d107
mov esi, dword [edi + 0x48]
mov ecx, dword [ecx + 0xc]
movzx eax, bx
mov dword [ebp + 0x1c], eax
test esi, esi
je 0x40d0f3
movzx eax, word [ecx]
mov dword [ebp + 0x10], 0xffff
cmp ax, word [ebp + 0x10]
je 0x40d0f3
cmp word [ebp + 0x1c], ax
je 0x40d160
movzx eax, word [ecx + 4]
add ecx, 4
mov edx, eax
add esi, 8
mov dword [ebp - 4], edx
mov edx, dword [ebp + 0x18]
cmp ax, word [ebp + 0x10]
jne 0x40d0d1
xor eax, eax
test eax, 0x100
mov esi, 0
mov eax, 1
cmovne esi, eax
mov dword [edx], 0
test esi, esi
jne 0x40ce5f
mov esi, dword [ebp + 0x18]
mov eax, dword [ebp + 0xc]
cmp eax, 5
jne 0x40d165
cmp ebx, 1
je 0x40d12e
push 1
mov ecx, edi
call fcn.0040f0a0
mov dword [esi], 1
mov esi, dword [ebp + 0x14]
mov ecx, dword [ebp + 0x18]
mov eax, dword [ebp + 0xc]
push 0
push ecx
push esi
push ebx
push eax
push dword [ebp + 8]
mov ecx, edi
call fcn.0040c060
test eax, eax
jne 0x40ce5f
xor eax, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x18
movzx eax, word [esi]
jmp 0x40d0f5
mov esi, dword [ebp + 0x14]
cmp eax, 0x4e
jne 0x40d137
mov eax, dword [esi + 8]
cmp eax, 0xfffffcbe
jne 0x40d197
push 0
mov ecx, edi
call fcn.0040f0a0
mov ecx, dword [ebp + 0x18]
mov eax, 1
pop edi
pop esi
pop ebx
mov dword [ecx], 0
mov esp, ebp
pop ebp
ret 0x18
cmp eax, 0xfffffcb7
jne 0x40d137
lea eax, [ebp + 0x14]
mov dword [ebp + 0x14], 1
push eax
push esi
push ebx
mov ecx, edi
call fcn.004065f0
cmp dword [ebp + 0x14], 0
mov ecx, dword [ebp + 0x18]
mov dword [ecx], eax
jne 0x40ce5f
jmp 0x40d13a