Function at 0x403434
Capabilities:
Open clipboard
Write clipboard data

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x94
push ebx
push esi
push edi
xor ebx, ebx
lea eax, [ebp - 0x6c]
push 0x30
xor edi, edi
mov dword [ebp - 0x1c], ebx
push ebx
inc edi
mov dword [ebp - 0x20], ebx
push eax
mov esi, ebx
mov dword [ebp - 0x14], ebx
mov dword [ebp - 8], edi
call sub.VCRUNTIME140.dll_memset
add esp, 0xc
mov dword [ebp - 0xc], edi
mov dword [ebp - 0x10], ebx
mov edi, ebx
push 4
push dword [ebp + 8]
call dword [sym.imp.USER32.dll_GetWindowLongA]
mov ebx, eax
mov dword [ebp - 0x3c], ebx
test ebx, ebx
je 0x403cb6
push 1
call fcn.0044bc76
push ebx
call dword [sym.imp.KERNEL32.dll_GlobalLock]
mov ebx, eax
mov eax, dword [ebx + 0x4a]
test eax, eax
je 0x403ca3
cmp eax, 0x17
jg 0x403608
je 0x40363e
cmp eax, 7
jl 0x403617
cmp eax, 8
jle 0x4034e4
cmp eax, 9
je 0x40363e
cmp eax, 0xb
jne 0x403617
push 0
lea eax, [ebp - 0x70]
push eax
push 0
push 1
push ebx
push dword [ebp + 8]
call fcn.004536fa
jmp 0x403617
push dword [0x49d9fc]
call dword [sym.imp.USER32.dll_OpenClipboard]
test eax, eax
je 0x403536
movzx eax, word [0x49cd60]
mov esi, dword [sym.imp.USER32.dll_IsClipboardFormatAvailable]
push eax
call esi
test eax, eax
je 0x403511
movzx esi, word [0x49cd60]
jmp 0x403526
movzx eax, word [0x49cd64]
push eax
call esi
test eax, eax
je 0x40352b
movzx esi, word [0x49cd64]
mov dword [ebp - 4], esi
jmp 0x40352e
and dword [ebp - 4], edi
call dword [sym.imp.USER32.dll_CloseClipboard]
jmp 0x403539
and dword [ebp - 4], esi
push dword [ebp + 0xc]
push dword [0x49ec60]
call fcn.0043e0df
mov esi, eax
test esi, esi
jne 0x403ca3
push eax
push dword [0x49ec60]
call fcn.0043cc6f
push dword [0x49d9fc]
mov esi, dword [sym.imp.USER32.dll_OpenClipboard]
call esi
test eax, eax
je 0x4035a4
call dword [sym.imp.USER32.dll_EmptyClipboard]
push 2
push 2
call dword [sym.imp.KERNEL32.dll_GlobalAlloc]
mov ecx, dword [0x49ec64]
mov edi, eax
test ecx, ecx
je 0x40359e
push edi
push ecx
call dword [sym.imp.USER32.dll_SetClipboardData]
test eax, eax
jne 0x40359e
push edi
call dword [sym.imp.KERNEL32.dll_GlobalFree]
call dword [sym.imp.USER32.dll_CloseClipboard]
cmp dword [0x49ec64], 0
jne 0x4035e8
push 0
push 0xffffffffffffffff
push 0xffffffffffffffff
push dword [ebp + 8]
call fcn.00460e78
call fcn.0045fa7e
push dword [0x49d9fc]
call esi
movzx eax, word [0x49cd5c]
push edi
push eax
call dword [sym.imp.USER32.dll_SetClipboardData]
test eax, eax
jne 0x4035e2
push edi
call dword [sym.imp.KERNEL32.dll_GlobalFree]
call dword [sym.imp.USER32.dll_CloseClipboard]
mov eax, dword [ebp - 4]
mov dword [0x49ec64], eax
cmp dword [ebx + 0x4a], 8
jne 0x4034cc
and dword [ebp - 0xc], 0
xor eax, eax
mov dword [ebp - 8], eax
jmp 0x4036d6
cmp eax, 0x21
je 0x40363e
cmp eax, 0x28
je 0x403631
cmp eax, 0x2d
je 0x403631
push dword [ebp + 0xc]
push dword [ebx + 0x26]
call fcn.0043e0df
mov esi, eax
test esi, esi
je 0x4036d6
jmp 0x403ca3
xor eax, eax
and dword [ebp - 0xc], eax
mov dword [ebp - 8], eax
jmp 0x4036d6
push dword [ebp + 0xc]
push dword [ebx + 0x26]
call fcn.0043e0df
mov esi, eax
test esi, esi
jne 0x403ca3
lea edi, [ebx + 0x1d6]
push edi
push 0x6b
push 0x64
push dword [ebx + 0x26]
call fcn.0043c164
mov esi, eax
test esi, esi
jne 0x403ca3
push dword [edi]
call dword [sym.imp.KERNEL32.dll_GlobalLock]
mov esi, eax
lea edi, [esi + 0x50]
push edi
push 0x6c
push 0x64
push dword [ebx + 0x26]
call fcn.0043c164
lea eax, [esi + 0x58]
push eax
push 0x6d
push 0x64
push dword [ebx + 0x26]
call fcn.0043c164
push dword [edi]
call fcn.00404d51
push dword [ebx + 0x1d6]
call dword [sym.imp.KERNEL32.dll_GlobalUnlock]
cmp dword [ebx + 0x4a], 0x21
jne 0x4036d6
xor esi, esi
push esi
push esi
push dword [ebp + 8]
call dword [sym.imp.USER32.dll_InvalidateRect]
push 1
push 0x4000
lea eax, [ebx + 0x22]
push eax
call fcn.0046bad9
mov dword [ebp - 8], esi
mov dword [ebp - 0xc], esi
lea edi, [ebx + 0xd6]
push edi
push dword [ebx + 0x19a]
push 0x65
push dword [ebx + 0x26]
call fcn.0043c164
mov esi, eax
mov dword [ebp - 4], esi
test esi, esi
jne 0x403c96
cmp dword [ebp - 0xc], eax
je 0x4038f9
lea eax, [ebx + 0xea]
xor ecx, ecx
mov dword [0x47cbe0], eax
inc ecx
mov dword [eax + 4], ecx
lea eax, [ebx + 0x16a]
mov dword [0x47cbe4], eax
mov dword [eax], ecx
push dword [edi]
push dword [ebx + 0x26]
push ebx
call fcn.00403e30
push dword [edi]
mov dword [ebp - 0x1c], eax
call dword [sym.imp.KERNEL32.dll_GlobalLock]
mov ecx, dword [eax + 0x44]
mov dword [ebx + 0x32], ecx
mov ecx, dword [eax + 0x48]
mov eax, dword [ebx + 0x72]
mov dword [ebx + 0x36], ecx
mov ecx, dword [ebx + 0x6e]
mov dword [ebp - 0x6c], ecx
mov ecx, dword [ebx + 0x22]
mov dword [ebp - 0x68], eax
mov eax, dword [ebx + 0xde]
mov dword [ebp - 0x64], ecx
mov dword [ebp - 0x60], eax
mov eax, dword [ebx + 0x1d2]
mov dword [ebp - 0x44], eax
and ecx, 0x20
je 0x403772
mov eax, dword [ebx + 0x2e]
mov dword [ebp - 0x40], eax
test byte [ebx + 0x2a], 4
lea edx, [ebx + 0x7a]
mov esi, edx
lea edi, [ebp - 0x54]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
je 0x403803
mov eax, dword [ebx + 0x1f2]
test eax, eax
je 0x403803
movd xmm0, dword [edx]
movsd xmm1, qword [0x4783e0]
cvtdq2pd xmm0, xmm0
movd xmm2, eax
cvtdq2pd xmm2, xmm2
mulsd xmm0, xmm2
divsd xmm0, xmm1
cvttsd2si eax, xmm0
movd xmm0, dword [ebx + 0x7e]
cvtdq2pd xmm0, xmm0
mov dword [ebp - 0x54], eax
mulsd xmm0, xmm2
divsd xmm0, xmm1
cvttsd2si eax, xmm0
movd xmm0, dword [ebx + 0x82]
cvtdq2pd xmm0, xmm0
mov dword [ebp - 0x50], eax
mulsd xmm0, xmm2
divsd xmm0, xmm1
cvttsd2si eax, xmm0
movd xmm0, dword [ebx + 0x86]
cvtdq2pd xmm0, xmm0
mov dword [ebp - 0x4c], eax
mulsd xmm0, xmm2
divsd xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [ebp - 0x48], eax
mov eax, dword [ebx + 0x18e]
mov dword [ebx + 0x6e], eax
mov eax, dword [ebx + 0x192]
mov dword [ebx + 0x72], eax
mov eax, dword [ebx + 0x19a]
mov dword [ebx + 0xde], eax
test ecx, ecx
je 0x40382e
mov eax, dword [ebx + 0x1ba]
mov dword [ebx + 0x2e], eax
mov eax, dword [ebx + 0x1b6]
lea esi, [ebx + 0x1a6]
push dword [ebx + 0xd6]
and dword [ebx + 0x1f2], 0
mov edi, edx
mov dword [ebx + 0x1d2], eax
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
call dword [sym.imp.KERNEL32.dll_GlobalUnlock]
lea edi, [ebx + 0x1d6]
push edi
push 0x6b
push 0x64
push dword [ebx + 0x26]
call fcn.0043c164
push dword [edi]
mov esi, eax
call dword [sym.imp.KERNEL32.dll_GlobalLock]
mov dword [ebp - 4], eax
test esi, esi
jne 0x40388f
lea ecx, [eax + 0x50]
push ecx
push 0x6c
push 0x64
push dword [ebx + 0x26]
call fcn.0043c164
mov esi, eax
push dword [edi]
call dword [sym.imp.KERNEL32.dll_GlobalUnlock]
test esi, esi
jne 0x403c96
mov eax, dword [ebp - 4]
add eax, 0x58
push eax
push 0x6d
push 0x64
push dword [ebx + 0x26]
call fcn.0043c164
mov esi, eax
test esi, esi
jne 0x403c96
lea eax, [ebx + 0x1be]
push eax
push 0x68
push 0x64
push dword [ebx + 0x26]
call fcn.0043c164
mov esi, eax
test esi, esi
jne 0x403c96
lea eax, [ebx + 0xce]
push eax
push 0x67
push 0x64
push dword [ebx + 0x26]
call fcn.0043c164
mov esi, eax
mov dword [ebp - 4], eax
test esi, esi
jne 0x403c96
cmp dword [ebp + 0xc], 0
lea edi, [ebx + 0x22]
je 0x403929
mov eax, 0x100
test dword [edi], eax
je 0x40391c
push 0
push eax
push edi
call fcn.0046bad9
xor esi, esi
inc esi
mov dword [ebp - 0x10], esi
jmp 0x403939
xor esi, esi
inc esi
push esi
push eax
push edi
call fcn.0046bad9
jmp 0x403939
push 0
push 0x100
push edi
call fcn.0046bad9
xor esi, esi
inc esi
mov eax, dword [ebx + 0x4a]
dec eax
cmp eax, 0x31
ja case.0x40394d.2
movzx eax, byte [eax + 0x403cdd]
jmp dword [eax*4 + 0x403cc1]
xor esi, esi
jmp 0x403b43
movzx eax, byte [ebx + 0x196]
shr eax, 1
and eax, esi
push eax
push 2
push edi
call fcn.0046bad9
movzx eax, byte [ebx + 0x196]
shr eax, 2
and eax, esi
push eax
push 4
push edi
call fcn.0046bad9
jmp case.0x40394d.35
mov ecx, dword [ebx + 0xe2]
xor esi, esi
mov eax, dword [ebx + 0x1ba]
push esi
push esi
push dword [ebp + 8]
mov dword [ebx + 0xe2], eax
mov dword [ebx + 0x1ba], ecx
call dword [sym.imp.USER32.dll_InvalidateRect]
push 1
push 0x4000
push edi
call fcn.0046bad9
jmp 0x403b43
lea eax, [ebx + 0xc6]
push eax
push 0x66
push 0x64
push dword [ebx + 0x26]
call fcn.0043c164
mov ecx, dword [ebx + 0xe2]
mov eax, dword [ebx + 0x1ba]
push ebx
mov dword [ebx + 0xe2], eax
mov dword [ebx + 0x1ba], ecx
mov dword [ebp - 0x40], ecx
mov dword [ebp - 0x14], esi
mov dword [ebp - 0x10], esi
call fcn.00403fc7
push 5
pop ecx
lea edx, [ebx + 0x398]
mov eax, dword [ebx + 0x25e]
mov esi, edx
mov dword [ebp - 0x24], eax
lea edi, [ebp - 0x94]
mov eax, dword [ebx + 0x262]
rep movsd dword es:[edi], dword [esi]
lea esi, [ebx + 0x272]
mov dword [ebp - 0x28], eax
mov eax, dword [ebx + 0x266]
lea edi, [ebp - 0x80]
movsd dword es:[edi], dword [esi]
push 5
pop ecx
mov dword [ebp - 0x2c], eax
movsd dword es:[edi], dword [esi]
mov eax, dword [ebx + 0x26a]
mov dword [ebp - 0x30], eax
mov eax, dword [ebx + 0x25a]
movsd dword es:[edi], dword [esi]
mov dword [ebp - 0x34], eax
mov eax, dword [ebx + 0x286]
mov dword [ebp - 0x38], eax
movsd dword es:[edi], dword [esi]
mov eax, dword [ebx + 0x3c4]
lea esi, [ebx + 0x3ac]
mov edi, edx
mov dword [ebx + 0x25e], eax
rep movsd dword es:[edi], dword [esi]
mov eax, dword [ebx + 0x3c8]
mov ecx, ebx
mov dword [ebx + 0x262], eax
mov eax, dword [ebx + 0x3cc]
mov dword [ebx + 0x266], eax
mov eax, dword [ebx + 0x3d0]
lea edx, [ecx + 0x3d8]
mov esi, edx
mov dword [ebx + 0x26a], eax
mov eax, dword [ebx + 0x3c0]
lea edi, [ecx + 0x272]
mov dword [ebx + 0x25a], eax
mov eax, dword [ecx + 0x3d4]
movsd dword es:[edi], dword [esi]
mov dword [ecx + 0x286], eax
mov eax, dword [ebp - 8]
push 5
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
xor esi, esi
lea edi, [ebx + 0x3ac]
cmp dword [ecx + 0x4a], 0x2d
cmove eax, esi
lea esi, [ebp - 0x94]
mov dword [ebp - 8], eax
mov eax, dword [ebp - 0x24]
mov dword [ecx + 0x3c4], eax
mov eax, dword [ebp - 0x28]
mov dword [ecx + 0x3c8], eax
mov eax, dword [ebp - 0x2c]
mov dword [ecx + 0x3cc], eax
mov eax, dword [ebp - 0x30]
mov dword [ecx + 0x3d0], eax
mov eax, dword [ebp - 0x34]
pop ecx
rep movsd dword es:[edi], dword [esi]
mov edi, edx
mov dword [ebx + 0x3c0], eax
mov eax, dword [ebp - 0x38]
lea esi, [ebp - 0x80]
push 0
push 0
push dword [ebp + 8]
movsd dword es:[edi], dword [esi]
mov dword [ebx + 0x3d4], eax
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
call dword [sym.imp.USER32.dll_InvalidateRect]
push 1
push 0x4000
lea edi, [ebx + 0x22]
push edi
call fcn.0046bad9
jmp case.0x40394d.2
push ebx
mov dword [ebp - 0x14], esi
mov dword [ebp - 0x10], esi
call fcn.00403fc7
mov esi, dword [ebp - 8]
push 1
call fcn.0044bc76
mov eax, dword [ebp - 0x14]
test eax, eax
je 0x403b6d
push 1
push dword [ebp - 0x10]
push dword [ebx + 0xd6]
push dword [ebx + 0x26]
push dword [ebp + 8]
call fcn.00421b2c
mov dword [ebp - 0x20], eax
mov eax, dword [ebp - 0x14]
test esi, esi
je 0x403b9a
test eax, eax
jne 0x403b7d
push dword [ebx + 0x26]
call fcn.0040b0c5
push 1
push 1
push dword [ebx + 0xd6]
push dword [ebx + 0x1d2]
push dword [ebx + 0x26]
push dword [ebp + 8]
call fcn.0041cb36
jmp 0x403b9d
mov eax, dword [ebp - 0x1c]
mov esi, dword [ebp - 0x20]
test esi, esi
jne 0x403bac
mov esi, dword [ebp - 4]
test eax, eax
cmovne esi, eax
push 1
push 0xffffffffffffffff
push 0x6c
push ebx
push dword [ebp + 8]
mov dword [ebp - 4], esi
call fcn.00434e3e
push 0
push 0xffffffffffffffff
push 0x6a
push ebx
push dword [ebp + 8]
call fcn.00434e3e
push 0
push 0xffffffffffffffff
push 0x6e
push ebx
push dword [ebp + 8]
call fcn.00434e3e
cmp dword [ebp - 0xc], 0
je 0x403bfd
test esi, esi
je 0x403c86
cmp esi, 0xffffffff
je 0x403c86
push 1
push 0x40
push edi
call fcn.0046bad9
push ebx
call fcn.004583be
push 0x7d00
push 2
call fcn.0046716d
push 0
push 2
call fcn.004671eb
cmp dword [ebp - 0xc], 0
je 0x403ca3
push dword [ebp + 8]
call dword [sym.imp.USER32.dll_GetDC]
mov esi, eax
push ebx
push esi
call fcn.00420617
push esi
push dword [ebp + 8]
call dword [sym.imp.USER32.dll_ReleaseDC]
mov eax, dword [ebp - 0x64]
lea edi, [ebx + 0x1a6]
lea esi, [ebp - 0x54]
mov dword [ebx + 0x196], eax
mov eax, dword [ebp - 0x6c]
movsd dword es:[edi], dword [esi]
mov dword [ebx + 0x18e], eax
mov eax, dword [ebp - 0x68]
mov dword [ebx + 0x192], eax
mov eax, dword [ebp - 0x60]
movsd dword es:[edi], dword [esi]
mov dword [ebx + 0x19a], eax
mov eax, dword [ebp - 0x44]
mov dword [ebx + 0x1b6], eax
mov eax, dword [ebp - 0x40]
movsd dword es:[edi], dword [esi]
mov dword [ebx + 0x1ba], eax
movsd dword es:[edi], dword [esi]
mov esi, dword [ebp - 4]
jmp 0x403ca3
push 0
push ebx
push dword [ebp + 8]
call fcn.0040ad07
jmp 0x403c03
push 1
push 0x40
lea eax, [ebx + 0x22]
push eax
call fcn.0046bad9
cmp dword [ebp + 0xc], 0
jne 0x403cad
and dword [ebx + 0x4a], 0
push dword [ebp - 0x3c]
call dword [sym.imp.KERNEL32.dll_GlobalUnlock]
pop edi
mov eax, esi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 8