Function at 0x407c0a
Capabilities:
Open clipboard
Write clipboard data

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x100
push ebx
push esi
push edi
mov dword [ebp - 0x64], 0
mov dword [ebp - 0x18], 0
mov dword [ebp - 0x14], 0
mov dword [ebp - 0xbc], 0
mov dword [ebp - 0x28], 1
mov dword [ebp - 0x4c], 0
mov dword [ebp - 0xd0], 0
mov dword [ebp - 0xb4], 1
mov dword [ebp - 0xd4], 0
push 4
mov eax, dword [ebp + 8]
push eax
call dword [sym.imp.USER32.dll_GetWindowLongA]
mov dword [ebp - 0x24], eax
cmp dword [ebp - 0x24], 0
je 0x408ec6
push 1
call fcn.0049c470
add esp, 4
mov eax, dword [ebp - 0x24]
push eax
call dword [sym.imp.KERNEL32.dll_GlobalLock]
mov dword [ebp - 0xb8], eax
mov eax, dword [ebp - 0xb8]
push eax
call fcn.00419a30
add esp, 4
mov eax, dword [ebp - 0xb8]
cmp dword [eax + 0x4a], 0
je 0x408ea5
mov eax, dword [ebp - 0xb8]
mov eax, dword [eax + 0x4a]
mov dword [ebp - 0xdc], eax
jmp 0x408007
mov dword [ebp - 0x28], 0
mov dword [ebp - 0xb4], 0
jmp 0x408077
mov eax, dword [ebp + 0xc]
push eax
mov eax, dword [ebp - 0xb8]
mov eax, dword [eax + 0x26]
push eax
call fcn.0047a411
add esp, 8
mov dword [ebp - 0x64], eax
cmp dword [ebp - 0x64], 0
je 0x407d05
jmp 0x408ea5
mov eax, dword [ebp - 0xb8]
add eax, 0x1d6
push eax
push 0x6b
push 0x64
mov eax, dword [ebp - 0xb8]
mov eax, dword [eax + 0x26]
push eax
call fcn.00476b89
add esp, 0x10
mov dword [ebp - 0x64], eax
cmp dword [ebp - 0x64], 0
je 0x407d39
jmp 0x408ea5
mov eax, dword [ebp - 0xb8]
mov eax, dword [eax + 0x1d6]
push eax
call dword [sym.imp.KERNEL32.dll_GlobalLock]
mov dword [ebp - 0xc], eax
mov eax, dword [ebp - 0xc]
add eax, 0x50
push eax
push 0x6c
push 0x64
mov eax, dword [ebp - 0xb8]
mov eax, dword [eax + 0x26]
push eax
call fcn.00476b89
add esp, 0x10
mov dword [ebp - 0x64], eax
mov eax, dword [ebp - 0xc]
add eax, 0x58
push eax
push 0x6d
push 0x64
mov eax, dword [ebp - 0xb8]
mov eax, dword [eax + 0x26]
push eax
call fcn.00476b89
add esp, 0x10
mov dword [ebp - 0x64], eax
mov eax, dword [ebp - 0xc]
mov eax, dword [eax + 0x50]
push eax
call fcn.00407ae9
add esp, 4
mov eax, dword [ebp - 0xb8]
mov eax, dword [eax + 0x1d6]
push eax
call dword [sym.imp.KERNEL32.dll_GlobalUnlock]
mov eax, dword [ebp - 0xb8]
cmp dword [eax + 0x4a], 0x21
jne 0x407df9
push 0
push 0
mov eax, dword [ebp + 8]
push eax
call dword [sym.imp.USER32.dll_InvalidateRect]
push 1
push 0x4000
mov eax, dword [ebp - 0xb8]
add eax, 0x22
push eax
call fcn.004e43fc
add esp, 0xc
mov dword [ebp - 0x28], 0
mov dword [ebp - 0xb4], 0
jmp 0x408077
mov eax, dword [0x533644]
push eax
call dword [sym.imp.USER32.dll_OpenClipboard]
test eax, eax
je 0x407e7b
xor eax, eax
mov ax, word [0x531afc]
push eax
call dword [sym.imp.USER32.dll_IsClipboardFormatAvailable]
test eax, eax
je 0x407e3c
xor eax, eax
mov ax, word [0x531afc]
mov dword [ebp - 0xd8], eax
jmp 0x407e70
xor eax, eax
mov ax, word [0x531b00]
push eax
call dword [sym.imp.USER32.dll_IsClipboardFormatAvailable]
test eax, eax
je 0x407e66
xor eax, eax
mov ax, word [0x531b00]
mov dword [ebp - 0xd8], eax
jmp 0x407e70
mov dword [ebp - 0xd8], 0
call dword [sym.imp.USER32.dll_CloseClipboard]
jmp 0x407e85
mov dword [ebp - 0xd8], 0
mov eax, dword [ebp + 0xc]
push eax
mov eax, dword [0x52da00]
push eax
call fcn.0047a411
add esp, 8
mov dword [ebp - 0x64], eax
cmp dword [ebp - 0x64], 0
je 0x407ea9
jmp 0x408ea5
push 0
mov eax, dword [0x52da00]
push eax
call fcn.00477cca
add esp, 8
mov dword [ebp - 0x64], eax
mov eax, dword [0x533644]
push eax
call dword [sym.imp.USER32.dll_OpenClipboard]
test eax, eax
je 0x407f26
call dword [sym.imp.USER32.dll_EmptyClipboard]
push 2
push 2
call dword [sym.imp.KERNEL32.dll_GlobalAlloc]
mov dword [ebp - 0xb0], eax
cmp dword [0x52da04], 0
je 0x407f20
mov eax, dword [ebp - 0xb0]
push eax
mov eax, dword [0x52da04]
push eax
call dword [sym.imp.USER32.dll_SetClipboardData]
test eax, eax
jne 0x407f1b
mov eax, dword [ebp - 0xb0]
push eax
call dword [sym.imp.KERNEL32.dll_GlobalFree]
jmp 0x407f20
call dword [sym.imp.USER32.dll_CloseClipboard]
cmp dword [0x52da04], 0
jne 0x407f87
push 0
push 0xffffffffffffffff
push 0xffffffffffffffff
mov eax, dword [ebp + 8]
push eax
call fcn.00521300
add esp, 0x10
call fcn.0051d007
mov eax, dword [0x533644]
push eax
call dword [sym.imp.USER32.dll_OpenClipboard]
mov eax, dword [ebp - 0xb0]
push eax
xor eax, eax
mov ax, word [0x531af8]
push eax
call dword [sym.imp.USER32.dll_SetClipboardData]
test eax, eax
jne 0x407f81
mov eax, dword [ebp - 0xb0]
push eax
call dword [sym.imp.KERNEL32.dll_GlobalFree]
call dword [sym.imp.USER32.dll_CloseClipboard]
mov eax, dword [ebp - 0xd8]
mov dword [0x52da04], eax
mov eax, dword [ebp - 0xb8]
cmp dword [eax + 0x4a], 8
jne case.0x408029.2
mov dword [ebp - 0xb4], 0
mov dword [ebp - 0x28], 0
jmp 0x408077
push 0
lea eax, [ebp - 0x70]
push eax
push 0
push 1
mov eax, dword [ebp - 0xb8]
push eax
mov eax, dword [ebp + 8]
push eax
call fcn.004ae03b
add esp, 0x18
mov eax, dword [ebp + 0xc]
push eax
mov eax, dword [ebp - 0xb8]
mov eax, dword [eax + 0x26]
push eax
call fcn.0047a411
add esp, 8
mov dword [ebp - 0x64], eax
cmp dword [ebp - 0x64], 0
je 0x407ffd
jmp 0x408ea5
jmp 0x408077
sub dword [ebp - 0xdc], 7
cmp dword [ebp - 0xdc], 0x26
ja case.0x408029.7
mov eax, dword [ebp - 0xdc]
xor ecx, ecx
mov cl, byte [eax + 0x408050]
jmp dword [ecx*4 + 0x408030]
mov eax, dword [ebp - 0xb8]
add eax, 0xd6
push eax
mov eax, dword [ebp - 0xb8]
mov eax, dword [eax + 0x19a]
push eax
push 0x65
mov eax, dword [ebp - 0xb8]
mov eax, dword [eax + 0x26]
push eax
call fcn.00476b89
add esp, 0x10
mov dword [ebp - 0x64], eax
cmp dword [ebp - 0x64], 0
jne 0x408e8f
cmp dword [ebp - 0xb4], 0
je 0x4085ce
mov eax, dword [ebp - 0xb8]
add eax, 0xea
mov dword [0x53111c], eax
mov eax, dword [0x53111c]
mov dword [eax + 4], 1
mov eax, dword [ebp - 0xb8]
add eax, 0x16a
mov dword [0x531120], eax
mov eax, dword [0x531120]
mov dword [eax], 1
mov eax, dword [ebp - 0xb8]
mov eax, dword [eax + 0xd6]
push eax
mov eax, dword [ebp - 0xb8]
mov eax, dword [eax + 0x26]
push eax
mov eax, dword [ebp - 0xb8]
push eax
call fcn.00407230
add esp, 0xc
mov dword [ebp - 0x18], eax
mov eax, dword [ebp - 0xb8]
mov eax, dword [eax + 0xd6]
push eax
call dword [sym.imp.KERNEL32.dll_GlobalLock]
mov dword [ebp - 0x10], eax
mov eax, dword [ebp - 0x10]
mov eax, dword [eax + 0x44]
mov ecx, dword [ebp - 0xb8]
mov dword [ecx + 0x32], eax
mov eax, dword [ebp - 0x10]
mov eax, dword [eax + 0x48]
mov ecx, dword [ebp - 0xb8]
mov dword [ecx + 0x36], eax
mov eax, dword [ebp - 0xb8]
mov eax, dword [eax + 0x6e]
mov dword [ebp - 0xa0], eax
mov eax, dword [ebp - 0xb8]
mov eax, dword [eax + 0x72]
mov dword [ebp - 0x9c], eax
mov eax, dword [ebp - 0xb8]
mov eax, dword [eax + 0x22]
mov dword [ebp - 0x98], eax
mov eax, dword [ebp - 0xb8]
mov eax, dword [eax + 0xde]
mov dword [ebp - 0x94], eax
mov eax, dword [ebp - 0xb8]
mov eax, dword [eax + 0x1d2]
mov dword [ebp - 0x78], eax
mov eax, dword [ebp - 0xb8]
test byte [eax + 0x22], 0x20
je 0x4081bc
mov eax, dword [ebp - 0xb8]
mov eax, dword [eax + 0x2e]
mov dword [ebp - 0x74], eax
mov eax, dword [ebp - 0xb8]
add eax, 0x7a
lea ecx, [ebp - 0x88]
mov edx, dword [eax]
mov dword [ecx], edx
mov edx, dword [eax + 4]
mov dword [ecx + 4], edx
mov edx, dword [eax + 8]
mov dword [ecx + 8], edx
mov eax, dword [eax + 0xc]
mov dword [ecx + 0xc], eax
mov eax, dword [ebp - 0xb8]
test byte [eax + 0x2a], 4
je 0x408398
mov eax, dword [ebp - 0xb8]
mov eax, dword [eax + 0x7a]
mov dword [ebp - 0xe4], eax
fild dword [ebp - 0xe4]
fstp qword [ebp - 0x6c]
mov eax, dword [ebp - 0xb8]
mov eax, dword [eax + 0x82]
mov dword [ebp - 0xe8], eax
fild dword [ebp - 0xe8]
fstp qword [ebp - 0xc4]
mov eax, dword [ebp - 0xb8]
mov eax, dword [eax + 0x7e]
mov dword [ebp - 0xec], eax
fild dword [ebp - 0xec]
fstp qword [ebp - 0xcc]
mov eax, dword [ebp - 0xb8]
mov eax, dword [eax + 0x86]
mov dword [ebp - 0xf0], eax
fild dword [ebp - 0xf0]
fstp qword [ebp - 8]
mov eax, dword [ebp - 0xb8]
cmp dword [eax + 0x1f2], 0
je 0x408398
mov eax, dword [ebp - 0xb8]
mov eax, dword [eax + 0x1f2]
mov dword [ebp - 0xf4], eax
fild dword [ebp - 0xf4]
fmul qword [ebp - 0x6c]
pushfd
cmp dword [0x5342dc], 0
jne 0x40829d
fdiv qword [0x530018]
jmp 0x4082ae
push dword [0x53001c]
push dword [0x530018]
call fcn.00521ae0
popfd
call fcn.00521490
mov dword [ebp - 0x88], eax
mov eax, dword [ebp - 0xb8]
mov eax, dword [eax + 0x1f2]
mov dword [ebp - 0xf8], eax
fild dword [ebp - 0xf8]
fmul qword [ebp - 0xcc]
pushfd
cmp dword [0x5342dc], 0
jne 0x4082ea
fdiv qword [0x530018]
jmp 0x4082fb
push dword [0x53001c]
push dword [0x530018]
call fcn.00521ae0
popfd
call fcn.00521490
mov dword [ebp - 0x84], eax
mov eax, dword [ebp - 0xb8]
mov eax, dword [eax + 0x1f2]
mov dword [ebp - 0xfc], eax
fild dword [ebp - 0xfc]
fmul qword [ebp - 0xc4]
pushfd
cmp dword [0x5342dc], 0
jne 0x408337
fdiv qword [0x530018]
jmp 0x408348
push dword [0x53001c]
push dword [0x530018]
call fcn.00521ae0
popfd
call fcn.00521490
mov dword [ebp - 0x80], eax
mov eax, dword [ebp - 0xb8]
mov eax, dword [eax + 0x1f2]
mov dword [ebp - 0x100], eax
fild dword [ebp - 0x100]
fmul qword [ebp - 8]
pushfd
cmp dword [0x5342dc], 0
jne 0x40837e
fdiv qword [0x530018]
jmp 0x40838f
push dword [0x53001c]
push dword [0x530018]
call fcn.00521ae0
popfd
call fcn.00521490
mov dword [ebp - 0x7c], eax
mov eax, dword [ebp - 0xb8]
mov eax, dword [eax + 0x18e]
mov ecx, dword [ebp - 0xb8]
mov dword [ecx + 0x6e], eax
mov eax, dword [ebp - 0xb8]
mov eax, dword [eax + 0x192]
mov ecx, dword [ebp - 0xb8]
mov dword [ecx + 0x72], eax
mov eax, dword [ebp - 0xb8]
mov eax, dword [eax + 0x19a]
mov ecx, dword [ebp - 0xb8]
mov dword [ecx + 0xde], eax
mov eax, dword [ebp - 0xb8]
test byte [eax + 0x22], 0x20
je 0x4083ff
mov eax, dword [ebp - 0xb8]
mov eax, dword [eax + 0x1ba]
mov ecx, dword [ebp - 0xb8]
mov dword [ecx + 0x2e], eax
mov eax, dword [ebp - 0xb8]
mov eax, dword [eax + 0x1b6]
mov ecx, dword [ebp - 0xb8]
mov dword [ecx + 0x1d2], eax
mov eax, dword [ebp - 0xb8]
add eax, 0x1a6
mov ecx, dword [ebp - 0xb8]
add ecx, 0x7a
mov edx, dword [eax]
mov dword [ecx], edx
mov edx, dword [eax + 4]
mov dword [ecx + 4], edx
mov edx, dword [eax + 8]
mov dword [ecx + 8], edx
mov eax, dword [eax + 0xc]
mov dword [ecx + 0xc], eax
mov eax, dword [ebp - 0xb8]
mov dword [eax + 0x1f2], 0
mov eax, dword [ebp - 0xb8]
mov eax, dword [eax + 0xd6]
push eax
call dword [sym.imp.KERNEL32.dll_GlobalUnlock]
mov eax, dword [ebp - 0xb8]
add eax, 0x1d6
push eax
push 0x6b
push 0x64
mov eax, dword [ebp - 0xb8]
mov eax, dword [eax + 0x26]
push eax
call fcn.00476b89
add esp, 0x10
mov dword [ebp - 0x64], eax
mov eax, dword [ebp - 0xb8]
mov eax, dword [eax + 0x1d6]
push eax
call dword [sym.imp.KERNEL32.dll_GlobalLock]
mov dword [ebp - 0xc], eax
cmp dword [ebp - 0x64], 0
jne 0x4084c9
mov eax, dword [ebp - 0xc]
add eax, 0x50
push eax
push 0x6c
push 0x64
mov eax, dword [ebp - 0xb8]
mov eax, dword [eax + 0x26]
push eax
call fcn.00476b89
add esp, 0x10
mov dword [ebp - 0x64], eax
mov eax, dword [ebp - 0xb8]
mov eax, dword [eax + 0x1d6]
push eax
call dword [sym.imp.KERNEL32.dll_GlobalUnlock]
cmp dword [ebp - 0x64], 0
jne 0x408506
mov eax, dword [ebp - 0xc]
add eax, 0x58
push eax
push 0x6d
push 0x64
mov eax, dword [ebp - 0xb8]
mov eax, dword [eax + 0x26]
push eax
call fcn.00476b89
add esp, 0x10
mov dword [ebp - 0x64], eax
cmp dword [ebp - 0x64], 0
jne 0x408535
mov eax, dword [ebp - 0xb8]
add eax, 0x1be
push eax
push 0x68
push 0x64
mov eax, dword [ebp - 0xb8]
mov eax, dword [eax + 0x26]
push eax
call fcn.00476b89
add esp, 0x10
mov dword [ebp - 0x64], eax
mov eax, dword [ebp - 0xb8]
mov eax, dword [eax + 0x1be]
push eax
call fcn.0047947b
add esp, 4
cmp dword [ebp - 0x64], 0
je 0x40856f
push 1
push 0x40
mov eax, dword [ebp - 0xb8]
add eax, 0x22
push eax
call fcn.004e43fc
add esp, 0xc
jmp 0x408ea5
mov eax, dword [ebp - 0xb8]
add eax, 0xce
push eax
push 0x67
push 0x64
mov eax, dword [ebp - 0xb8]
mov eax, dword [eax + 0x26]
push eax
call fcn.00476b89
add esp, 0x10
mov dword [ebp - 0x64], eax
mov eax, dword [ebp - 0xb8]
mov eax, dword [eax + 0xce]
push eax
call fcn.0047947b
add esp, 4
cmp dword [ebp - 0x64], 0
je 0x4085ce
push 1
push 0x40
mov eax, dword [ebp - 0xb8]
add eax, 0x22
push eax
call fcn.004e43fc
add esp, 0xc
jmp 0x408ea5
cmp dword [ebp + 0xc], 0
je 0x40862e
mov eax, dword [ebp - 0xb8]
test byte [eax + 0x23], 1
je 0x408610
push 0
push 0x100
mov eax, dword [ebp - 0xb8]
add eax, 0x22
push eax
call fcn.004e43fc
add esp, 0xc
mov dword [ebp - 0xd4], 1
jmp 0x408629
push 1
push 0x100
mov eax, dword [ebp - 0xb8]
add eax, 0x22
push eax
call fcn.004e43fc
add esp, 0xc
jmp 0x408647
push 0
push 0x100
mov eax, dword [ebp - 0xb8]
add eax, 0x22
push eax
call fcn.004e43fc
add esp, 0xc
mov eax, dword [ebp - 0xb8]
mov eax, dword [eax + 0x4a]
mov dword [ebp - 0xe0], eax
jmp 0x408b1b
mov dword [ebp - 0x28], 0
jmp case.0x408b3c.17
mov eax, dword [ebp - 0xb8]
test byte [eax + 0x22], 8
je 0x408690
mov eax, dword [ebp - 0xb8]
push eax
call fcn.004075bd
add esp, 4
mov dword [ebp - 0xd0], 1
mov eax, dword [ebp - 0xb8]
test byte [eax + 0x22], 0x20
je 0x4086b9
mov eax, dword [ebp - 0xb8]
push eax
call fcn.00407856
add esp, 4
mov dword [ebp - 0xd0], 1
mov dword [ebp - 0xbc], 1
mov eax, dword [ebp - 0xb8]
mov eax, dword [eax + 0x2a]
mov dword [ebp - 0xa8], eax
mov eax, dword [ebp - 0xb8]
mov eax, dword [eax + 0x1ea]
mov ecx, dword [ebp - 0xb8]
mov dword [ecx + 0x2a], eax
mov eax, dword [ebp - 0xa8]
mov ecx, dword [ebp - 0xb8]
mov dword [ecx + 0x1ea], eax
mov eax, dword [ebp - 0xb8]
push eax
call fcn.00407455
add esp, 4
jmp case.0x408b3c.17
mov eax, dword [ebp - 0xb8]
test byte [eax + 0x196], 2
je 0x40872f
mov dword [ebp - 0xac], 1
jmp 0x408739
mov dword [ebp - 0xac], 0
mov eax, dword [ebp - 0xac]
push eax
push 2
mov eax, dword [ebp - 0xb8]
add eax, 0x22
push eax
call fcn.004e43fc
add esp, 0xc
mov eax, dword [ebp - 0xb8]
test byte [eax + 0x196], 4
je 0x408776
mov dword [ebp - 0xac], 1
jmp 0x408780
mov dword [ebp - 0xac], 0
mov eax, dword [ebp - 0xac]
push eax
push 4
mov eax, dword [ebp - 0xb8]
add eax, 0x22
push eax
call fcn.004e43fc
add esp, 0xc
mov dword [ebp - 0x28], 0
jmp case.0x408b3c.17
mov eax, dword [ebp - 0xb8]
mov eax, dword [eax + 0xe2]
mov dword [ebp - 0xa4], eax
mov eax, dword [ebp - 0xb8]
mov eax, dword [eax + 0x1ba]
mov ecx, dword [ebp - 0xb8]
mov dword [ecx + 0xe2], eax
mov dword [ebp - 0x28], 0
mov eax, dword [ebp - 0xa4]
mov ecx, dword [ebp - 0xb8]
mov dword [ecx + 0x1ba], eax
push 0
push 0
mov eax, dword [ebp + 8]
push eax
call dword [sym.imp.USER32.dll_InvalidateRect]
push 1
push 0x4000
mov eax, dword [ebp - 0xb8]
add eax, 0x22
push eax
call fcn.004e43fc
add esp, 0xc
jmp case.0x408b3c.17
mov eax, dword [ebp - 0xb8]
add eax, 0xc6
push eax
push 0x66
push 0x64
mov eax, dword [ebp - 0xb8]
mov eax, dword [eax + 0x26]
push eax
call fcn.00476b89
add esp, 0x10
mov eax, dword [ebp - 0xb8]
mov eax, dword [eax + 0xe2]
mov dword [ebp - 0xa4], eax
mov eax, dword [ebp - 0xb8]
mov eax, dword [eax + 0x1ba]
mov ecx, dword [ebp - 0xb8]
mov dword [ecx + 0xe2], eax
mov eax, dword [ebp - 0xa4]
mov ecx, dword [ebp - 0xb8]
mov dword [ecx + 0x1ba], eax
mov eax, dword [ebp - 0xa4]
mov dword [ebp - 0x74], eax
mov dword [ebp - 0xbc], 1
mov dword [ebp - 0xd4], 1
mov eax, dword [ebp - 0xb8]
push eax
call fcn.00407455
add esp, 4
mov eax, dword [ebp - 0xb8]
mov eax, dword [eax + 0x25e]
mov dword [ebp - 0x1c], eax
mov eax, dword [ebp - 0xb8]
mov eax, dword [eax + 0x262]
mov dword [ebp - 0x2c], eax
mov eax, dword [ebp - 0xb8]
mov eax, dword [eax + 0x266]
mov dword [ebp - 0x48], eax
mov eax, dword [ebp - 0xb8]
mov eax, dword [eax + 0x26a]
mov dword [ebp - 0x60], eax
mov eax, dword [ebp - 0xb8]
mov eax, dword [eax + 0x25a]
mov dword [ebp - 0x44], eax
mov eax, dword [ebp - 0xb8]
mov eax, dword [eax + 0x286]
mov dword [ebp - 0xa4], eax
mov esi, dword [ebp - 0xb8]
lea edi, [ebp - 0x40]
add esi, 0x398
mov ecx, 5
rep movsd dword es:[edi], dword [esi]
mov eax, dword [ebp - 0xb8]
add eax, 0x272
lea ecx, [ebp - 0x5c]
mov edx, dword [eax]
mov dword [ecx], edx
mov edx, dword [eax + 4]
mov dword [ecx + 4], edx
mov edx, dword [eax + 8]
mov dword [ecx + 8], edx
mov eax, dword [eax + 0xc]
mov dword [ecx + 0xc], eax
mov eax, dword [ebp - 0xb8]
mov eax, dword [eax + 0x3c4]
mov ecx, dword [ebp - 0xb8]
mov dword [ecx + 0x25e], eax
mov eax, dword [ebp - 0xb8]
mov eax, dword [eax + 0x3c8]
mov ecx, dword [ebp - 0xb8]
mov dword [ecx + 0x262], eax
mov eax, dword [ebp - 0xb8]
mov eax, dword [eax + 0x3cc]
mov ecx, dword [ebp - 0xb8]
mov dword [ecx + 0x266], eax
mov eax, dword [ebp - 0xb8]
mov eax, dword [eax + 0x3d0]
mov ecx, dword [ebp - 0xb8]
mov dword [ecx + 0x26a], eax
mov eax, dword [ebp - 0xb8]
mov eax, dword [eax + 0x3c0]
mov ecx, dword [ebp - 0xb8]
mov dword [ecx + 0x25a], eax
mov esi, dword [ebp - 0xb8]
mov edi, dword [ebp - 0xb8]
add edi, 0x398
add esi, 0x3ac
mov ecx, 5
rep movsd dword es:[edi], dword [esi]
mov eax, dword [ebp - 0xb8]
add eax, 0x3d8
mov ecx, dword [ebp - 0xb8]
add ecx, 0x272
mov edx, dword [eax]
mov dword [ecx], edx
mov edx, dword [eax + 4]
mov dword [ecx + 4], edx
mov edx, dword [eax + 8]
mov dword [ecx + 8], edx
mov eax, dword [eax + 0xc]
mov dword [ecx + 0xc], eax
mov eax, dword [ebp - 0xb8]
mov eax, dword [eax + 0x3d4]
mov ecx, dword [ebp - 0xb8]
mov dword [ecx + 0x286], eax
mov eax, dword [ebp - 0xb8]
cmp dword [eax + 0x4a], 0x2d
jne 0x408a2a
mov dword [ebp - 0x28], 0
mov eax, dword [ebp - 0x1c]
mov ecx, dword [ebp - 0xb8]
mov dword [ecx + 0x3c4], eax
mov eax, dword [ebp - 0x2c]
mov ecx, dword [ebp - 0xb8]
mov dword [ecx + 0x3c8], eax
mov eax, dword [ebp - 0x48]
mov ecx, dword [ebp - 0xb8]
mov dword [ecx + 0x3cc], eax
mov eax, dword [ebp - 0x60]
mov ecx, dword [ebp - 0xb8]
mov dword [ecx + 0x3d0], eax
lea esi, [ebp - 0x40]
mov edi, dword [ebp - 0xb8]
add edi, 0x3ac
mov ecx, 5
rep movsd dword es:[edi], dword [esi]
lea eax, [ebp - 0x5c]
mov ecx, dword [ebp - 0xb8]
add ecx, 0x3d8
mov edx, dword [eax]
mov dword [ecx], edx
mov edx, dword [eax + 4]
mov dword [ecx + 4], edx
mov edx, dword [eax + 8]
mov dword [ecx + 8], edx
mov eax, dword [eax + 0xc]
mov dword [ecx + 0xc], eax
mov eax, dword [ebp - 0x44]
mov ecx, dword [ebp - 0xb8]
mov dword [ecx + 0x3c0], eax
mov eax, dword [ebp - 0xa4]
mov ecx, dword [ebp - 0xb8]
mov dword [ecx + 0x3d4], eax
push 0
push 0
mov eax, dword [ebp + 8]
push eax
call dword [sym.imp.USER32.dll_InvalidateRect]
push 1
push 0x4000
mov eax, dword [ebp - 0xb8]
add eax, 0x22
push eax
call fcn.004e43fc
add esp, 0xc
jmp case.0x408b3c.17
mov dword [ebp - 0xbc], 1
mov dword [ebp - 0xd4], 1
mov eax, dword [ebp - 0xb8]
push eax
call fcn.00407455
add esp, 4
jmp case.0x408b3c.17
dec dword [ebp - 0xe0]
cmp dword [ebp - 0xe0], 0x31
ja case.0x408b3c.17
mov eax, dword [ebp - 0xe0]
xor ecx, ecx
mov cl, byte [eax + 0x408b8b]
jmp dword [ecx*4 + 0x408b43]
push 1
call fcn.0049c470
add esp, 4
cmp dword [ebp - 0xbc], 0
je 0x408c03
push 1
mov eax, dword [ebp - 0xd4]
push eax
mov eax, dword [ebp - 0xb8]
mov eax, dword [eax + 0xd6]
push eax
mov eax, dword [ebp - 0xb8]
mov eax, dword [eax + 0x26]
push eax
mov eax, dword [ebp + 8]
push eax
call fcn.0043f494
add esp, 0x14
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x28], 0
je 0x408c63
cmp dword [ebp - 0xbc], 0
jne 0x408c2c
mov eax, dword [ebp - 0xb8]
mov eax, dword [eax + 0x26]
push eax
call fcn.0041a98d
add esp, 4
push 1
push 1
mov eax, dword [ebp - 0xb8]
mov eax, dword [eax + 0xd6]
push eax
mov eax, dword [ebp - 0xb8]
mov eax, dword [eax + 0x1d2]
push eax
mov eax, dword [ebp - 0xb8]
mov eax, dword [eax + 0x26]
push eax
mov eax, dword [ebp + 8]
push eax
call fcn.004375be
add esp, 0x18
mov dword [ebp - 0x18], eax
cmp dword [ebp - 0x14], 0
je 0x408c78
mov eax, dword [ebp - 0x14]
mov dword [ebp - 0x64], eax
jmp 0x408c88
cmp dword [ebp - 0x18], 0
je 0x408c88
mov eax, dword [ebp - 0x18]
mov dword [ebp - 0x64], eax
push 1
push 0xffffffffffffffff
push 0x6c
mov eax, dword [ebp - 0xb8]
push eax
mov eax, dword [ebp + 8]
push eax
call fcn.00462894
add esp, 0x14
push 0
push 0xffffffffffffffff
push 0x6a
mov eax, dword [ebp - 0xb8]
push eax
mov eax, dword [ebp + 8]
push eax
call fcn.00462894
add esp, 0x14
push 0
push 0xffffffffffffffff
push 0x6e
mov eax, dword [ebp - 0xb8]
push eax
mov eax, dword [ebp + 8]
push eax
call fcn.00462894
add esp, 0x14
cmp dword [ebp - 0xb4], 0
je 0x408d2b
cmp dword [ebp - 0x64], 0
je 0x408cf4
cmp dword [ebp - 0x64], 0xffffffff
jne 0x408d15
push 0
mov eax, dword [ebp - 0xb8]
push eax
mov eax, dword [ebp + 8]
push eax
call fcn.0041a77f
add esp, 0xc
mov dword [ebp - 0x4c], 1
jmp 0x408d2b
push 1
push 0x40
mov eax, dword [ebp - 0xb8]
add eax, 0x22
push eax
call fcn.004e43fc
add esp, 0xc
cmp dword [ebp - 0xd0], 0
je 0x408d6b
push 0
push 1
mov eax, dword [ebp - 0xb8]
push eax
call fcn.004ad68d
add esp, 0xc
mov eax, dword [ebp - 0xb8]
mov eax, dword [eax + 0x1ee]
push eax
push 1
mov eax, dword [ebp + 8]
push eax
call fcn.004ad12d
add esp, 0xc
jmp 0x408d84
cmp dword [ebp - 0x4c], 0
jne 0x408d84
mov eax, dword [ebp - 0xb8]
push eax
call fcn.004ba2f8
add esp, 4
push 0x7d00
push 2
call fcn.004d4fdd
add esp, 8
push 0
push 2
call fcn.004d52cc
add esp, 8
mov eax, dword [ebp - 0xb8]
mov eax, dword [eax + 0xd6]
push eax
call fcn.0047947b
add esp, 4
cmp dword [ebp - 0xb4], 0
je 0x408def
mov eax, dword [ebp + 8]
push eax
call dword [sym.imp.USER32.dll_GetDC]
mov dword [ebp - 0x20], eax
mov eax, dword [ebp - 0xb8]
push eax
mov eax, dword [ebp - 0x20]
push eax
call fcn.0043cc8c
add esp, 8
mov eax, dword [ebp - 0x20]
push eax
mov eax, dword [ebp + 8]
push eax
call dword [sym.imp.USER32.dll_ReleaseDC]
cmp dword [ebp - 0xb4], 0
je 0x408e8a
mov eax, dword [ebp - 0x98]
mov ecx, dword [ebp - 0xb8]
mov dword [ecx + 0x196], eax
mov eax, dword [ebp - 0xa0]
mov ecx, dword [ebp - 0xb8]
mov dword [ecx + 0x18e], eax
mov eax, dword [ebp - 0x9c]
mov ecx, dword [ebp - 0xb8]
mov dword [ecx + 0x192], eax
mov eax, dword [ebp - 0x94]
mov ecx, dword [ebp - 0xb8]
mov dword [ecx + 0x19a], eax
mov eax, dword [ebp - 0x78]
mov ecx, dword [ebp - 0xb8]
mov dword [ecx + 0x1b6], eax
mov eax, dword [ebp - 0x74]
mov ecx, dword [ebp - 0xb8]
mov dword [ecx + 0x1ba], eax
lea eax, [ebp - 0x88]
mov ecx, dword [ebp - 0xb8]
add ecx, 0x1a6
mov edx, dword [eax]
mov dword [ecx], edx
mov edx, dword [eax + 4]
mov dword [ecx + 4], edx
mov edx, dword [eax + 8]
mov dword [ecx + 8], edx
mov eax, dword [eax + 0xc]
mov dword [ecx + 0xc], eax
jmp 0x408ea5
push 1
push 0x40
mov eax, dword [ebp - 0xb8]
add eax, 0x22
push eax
call fcn.004e43fc
add esp, 0xc
cmp dword [ebp + 0xc], 0
jne 0x408ebc
mov eax, dword [ebp - 0xb8]
mov dword [eax + 0x4a], 0
mov eax, dword [ebp - 0x24]
push eax
call dword [sym.imp.KERNEL32.dll_GlobalUnlock]
mov eax, dword [ebp - 0x64]
jmp 0x408ece
pop edi
pop esi
pop ebx
leave
ret