Function at 0x45ae28
Capabilities:
Check for foreground window switch
Encrypt data using speck
Find taskbar
Hide graphical window
Hide the windows taskbar

Disassembly:
push ebp
mov ebp, esp
add esp, 0xffffff78
push ebx
push esi
push edi
xor eax, eax
mov dword [ebp - 0x5c], eax
mov dword [ebp - 0x84], eax
mov dword [ebp - 0x88], eax
xor eax, eax
push ebp
push 0x45da39
push dword fs:[eax]
mov dword fs:[eax], esp
mov byte [ebp - 0x11], 0
mov eax, dword [ebp + 0xc]
mov dword [ebp - 0x10], eax
mov eax, dword [ebp + 0x10]
mov dword [ebp - 0xc], eax
mov eax, dword [ebp + 0x14]
mov dword [ebp - 8], eax
xor eax, eax
mov dword [ebp - 4], eax
cmp byte [0x4758d0], 0
je 0x45ae8f
lea ecx, [ebp - 0x5c]
mov edx, 4
mov eax, dword [ebp + 0xc]
call fcn.00407398
mov eax, dword [ebp - 0x5c]
call fcn.00452624
mov eax, dword [0x475868]
call fcn.0042a1ec
cmp eax, dword [ebp + 8]
je 0x45aeba
mov eax, dword [ebp + 0x14]
push eax
mov eax, dword [ebp + 0x10]
push eax
mov eax, dword [ebp + 0xc]
push eax
mov eax, dword [ebp + 8]
push eax
call sub.user32.dll_DefWindowProcA
mov esi, eax
jmp 0x45da13
mov eax, dword [ebp + 0xc]
cmp eax, 0x214
jg 0x45b029
je 0x45cfb6
cmp eax, 0x84
jg 0x45af89
je 0x45ba23
cmp eax, 0x11
jg 0x45af3e
je 0x45bc54
cmp eax, 0x10
ja case.0x45b0e0.1039
jmp dword [eax*4 + 0x45aefa]
cmp eax, 0x1f
jg 0x45af69
je 0x45cefc
sub eax, 0x14
je 0x45bac8
sub eax, 2
je 0x45bc54
sub eax, 6
je 0x45b821
jmp case.0x45b0e0.1039
sub eax, 0x24
je 0x45b277
sub eax, 0x22
je 0x45cf74
sub eax, 4
je 0x45cf0d
jmp case.0x45b0e0.1039
cmp eax, 0x104
jg 0x45afe5
je 0x45cc84
cmp eax, 0xa3
jg 0x45afc3
je 0x45b98d
sub eax, 0x85
je 0x45ba7f
dec eax
je 0x45b8ea
sub eax, 0x1a
je 0x45b9f6
jmp case.0x45b0e0.1039
sub eax, 0xa5
je 0x45b8d3
sub eax, 0x5b
je 0x45b803
sub eax, 2
je 0x45bbf5
jmp case.0x45b0e0.1039
cmp eax, 0x113
jg 0x45b012
je 0x45ceae
sub eax, 0x105
je 0x45cca5
sub eax, 0xc
je 0x45bcba
dec eax
je 0x45b3e2
jmp case.0x45b0e0.1039
sub eax, 0x211
je 0x45b181
dec eax
je 0x45b18d
jmp case.0x45b0e0.1039
cmp eax, 0x40c
jg 0x45b0c5
je 0x45cd7a
cmp eax, 0x404
jg 0x45b094
je 0x45ccfc
cmp eax, 0x3b9
jg 0x45b076
je 0x45cf50
sub eax, 0x231
je 0x45d562
dec eax
je 0x45d573
sub eax, 0xe0
je 0x45b199
jmp case.0x45b0e0.1039
sub eax, 0x401
je 0x45ccc6
dec eax
je 0x45ccd8
dec eax
je 0x45ccea
jmp case.0x45b0e0.1039
add eax, 0xfffffbfb
cmp eax, 6
ja case.0x45b0e0.1039
jmp dword [eax*4 + 0x45b0a9]
cmp eax, 0x423
jg 0x45b13f
je 0x45ce47
add eax, 0xfffffbf3
cmp eax, 0x15
ja case.0x45b0e0.1039
jmp dword [eax*4 + 0x45b0e7]
cmp eax, 0x427
jg 0x45b16a
je 0x45ce9c
sub eax, 0x424
je 0x45ce5e
dec eax
je 0x45ce78
dec eax
je 0x45ce8a
jmp case.0x45b0e0.1039
sub eax, 0x465
je 0x45b217
dec eax
je 0x45b234
jmp case.0x45b0e0.1039
mov byte [0x4758d0], 1
jmp case.0x45d427.0
mov byte [0x4758d0], 0
jmp case.0x45d427.0
push 0
push 2
push 0
push 0x12
call sub.user32.dll_keybd_event
cmp dword [ebp - 0xc], 0xffffffff
sete bl
mov eax, dword [0x475868]
cmp byte [eax + 0xc92], 0
je case.0x45d427.0
mov eax, dword [ebp - 0xc]
cmp eax, 0xfffffffe
sete dl
or dl, bl
jne 0x45b1d5
cmp eax, 2
jne case.0x45d427.0
xor eax, eax
mov al, bl
shl eax, 0x1d
push eax
mov ecx, 0x2c
mov edx, pe_nt_image_headers32
mov eax, dword [0x475868]
call fcn.0045f370
xor eax, eax
mov al, bl
shl eax, 0x1d
add eax, 0xc0000000
push eax
mov ecx, 0x2c
mov edx, 0x101
mov eax, dword [0x475868]
call fcn.0045f370
jmp case.0x45d427.0
mov al, byte [0x45da4c]
push eax
push 0
push 0
xor ecx, ecx
xor edx, edx
mov eax, dword [0x475868]
call fcn.00464f04
jmp case.0x45d427.0
mov eax, dword [0x475868]
cmp byte [eax + 0xc92], 0
je case.0x45d427.0
mov eax, dword [ebp - 8]
push eax
mov ecx, dword [ebp - 0xc]
mov edx, pe_nt_image_headers32
mov eax, dword [0x475868]
call fcn.0045f370
mov eax, dword [ebp - 8]
push eax
mov ecx, dword [ebp - 0xc]
mov edx, 0x101
mov eax, dword [0x475868]
call fcn.0045f370
jmp case.0x45d427.0
mov esi, dword [ebp + 0x14]
mov eax, dword [0x475868]
cmp dword [eax + 0x3090], 0
je 0x45b2a1
lea edx, [ebp - 0x10]
mov ebx, dword [0x475868]
mov eax, dword [ebx + 0x3094]
call dword [ebx + 0x3090]
mov byte [ebp - 0x11], 1
mov eax, dword [0x475868]
mov eax, dword [eax + 0xe68]
mov edx, dword [0x475868]
sub eax, dword [edx + 0xe60]
add eax, eax
mov dword [esi + 0x20], eax
mov eax, dword [0x475868]
mov eax, dword [eax + 0xe6c]
mov edx, dword [0x475868]
sub eax, dword [edx + 0xe64]
add eax, eax
mov dword [esi + 0x24], eax
mov eax, dword [0x475868]
mov eax, dword [eax + 0x1e8]
cmp byte [eax + 0x72], 0
je case.0x45d427.0
mov dword [ebp - 0x58], 0x28
mov eax, dword [0x475868]
call fcn.0042a1ec
mov edx, 2
call fcn.00452df8
lea edx, [ebp - 0x58]
call fcn.00452bc4
test eax, eax
setne bl
mov eax, dword [0x475868]
cmp dword [eax + 0x208], 0
setne al
test al, bl
je 0x45b352
mov eax, dword [ebp - 0x44]
sub eax, dword [ebp - 0x54]
mov dword [esi + 0x10], eax
mov eax, dword [ebp - 0x3c]
sub eax, dword [ebp - 0x44]
mov dword [esi + 8], eax
mov eax, dword [ebp - 0x40]
sub eax, dword [ebp - 0x50]
mov dword [esi + 0x14], eax
mov eax, dword [ebp - 0x38]
sub eax, dword [ebp - 0x40]
mov dword [esi + 0xc], eax
jmp case.0x45d427.0
mov eax, dword [0x475868]
test byte [eax + 0x9f4], bl
je 0x45b387
push 0
mov eax, dword [0x475868]
mov eax, dword [eax + 0x3c]
push eax
mov eax, dword [0x475868]
mov eax, dword [eax + 0x38]
push eax
push 0
push 0
mov eax, dword [0x475868]
call fcn.0042a1ec
push eax
call sub.user32.dll_MoveWindow
mov eax, dword [0x475868]
mov eax, dword [eax + 0xe50]
mov dword [esi + 0x10], eax
mov eax, dword [0x475868]
mov eax, dword [eax + 0xe58]
sub eax, dword [esi + 0x10]
mov dword [esi + 8], eax
test bl, bl
je 0x45b3b0
mov eax, dword [ebp - 0x54]
sub dword [esi + 0x10], eax
mov eax, dword [0x475868]
mov eax, dword [eax + 0xe54]
mov dword [esi + 0x14], eax
mov eax, dword [0x475868]
mov eax, dword [eax + 0xe5c]
sub eax, dword [esi + 0x14]
mov dword [esi + 0xc], eax
test bl, bl
je case.0x45d427.0
mov eax, dword [ebp - 0x50]
sub dword [esi + 0x14], eax
jmp case.0x45d427.0
mov eax, dword [ebp + 0x10]
and eax, 0xfff0
cmp eax, 0xf030
jne 0x45b40b
mov eax, dword [0x475868]
mov byte [eax + 0x9f5], 1
mov eax, dword [0x475868]
mov byte [eax + 0x9f4], 1
jmp 0x45b434
mov eax, dword [ebp + 0x10]
and eax, 0xfff0
cmp eax, 0xf120
jne 0x45b434
mov eax, dword [0x475868]
cmp byte [eax + 0x9f6], 0
je 0x45b434
mov eax, dword [0x475868]
mov byte [eax + 0x9f5], 0
mov eax, dword [ebp + 0x10]
and eax, 0xfff0
cmp eax, 0xf030
je 0x45b44e
cmp eax, 0xf120
je 0x45b44e
xor edx, edx
jmp 0x45b450
mov dl, 1
mov ecx, dword [0x475868]
mov byte [ecx + 0x9f6], dl
sub eax, 0xf020
je 0x45b4a0
sub eax, 0x10
je 0x45b714
sub eax, 0x30
je 0x45b481
sub eax, 0xc0
je 0x45b714
jmp case.0x45d427.0
push 0
push 0
push 0x10
mov eax, dword [0x475868]
call fcn.0042a1ec
push eax
call sub.user32.dll_PostMessageA
mov byte [ebp - 0x11], 1
jmp case.0x45d427.0
mov eax, dword [0x475868]
cmp dword [eax + 0x2f68], 0
je case.0x45d427.0
cmp byte [0x475cd0], 0
jne case.0x45d427.0
mov eax, dword [0x473978]
cmp dword [eax], 0
je 0x45b4ee
mov eax, dword [0x473978]
mov eax, dword [eax]
cmp byte [eax + 0x44], 0
je 0x45b4ee
push 0
push 0
push 0x10
mov eax, dword [0x473978]
mov eax, dword [eax]
call fcn.0042a1ec
push eax
call sub.user32.dll_PostMessageA
mov eax, dword [0x475868]
cmp byte [eax + 0x3111], 0
je 0x45b67a
cmp dword [ebp + 0x14], 0xfffffa18
je 0x45b5e0
cmp dword [ebp + 0x14], 0xfffffa17
je 0x45b5e0
mov eax, dword [0x475868]
cmp byte [eax + 0xc4e], 0
jne 0x45b5b7
mov eax, dword [ebp + 8]
push eax
call sub.user32.dll_IsZoomed
neg eax
sbb eax, eax
neg eax
mov byte [ebp - 0x11], al
mov eax, dword [0x475868]
mov eax, dword [eax + 0x2f68]
mov byte [eax + 0x55f], 1
mov byte [eax + 0x55e], 1
mov byte [eax + 0x47e], 1
xor eax, eax
push ebp
push 0x45b59a
push dword fs:[eax]
mov dword fs:[eax], esp
push 0
push 0
push 0xb
mov eax, dword [ebp + 8]
push eax
call sub.user32.dll_SendMessageA
cmp byte [ebp - 0x11], 0
je 0x45b58c
push 3
mov eax, dword [ebp + 8]
push eax
call sub.user32.dll_ShowWindow
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x45b5a1
ret
xor eax, eax
mov al, byte [ebp - 0x11]
mov edx, 0xfffffa18
sub edx, eax
push edx
push 0xf020
push 0x112
mov eax, dword [ebp + 8]
push eax
call sub.user32.dll_PostMessageA
mov byte [ebp - 0x11], 1
jmp case.0x45d427.0
mov byte [ebp - 0x11], 0
xor eax, eax
mov dword [ebp + 0x14], eax
mov eax, dword [0x475868]
cmp byte [eax + 0xc4e], 0
jne 0x45b626
mov eax, dword [0x475868]
mov eax, dword [eax + 0x2f68]
mov byte [eax + 0x47e], 0
mov byte [eax + 0x55f], 0
mov byte [eax + 0x55e], 0
push 0
push 1
push 0xb
mov eax, dword [ebp + 8]
push eax
call sub.user32.dll_SendMessageA
mov eax, dword [0x475868]
mov eax, dword [eax + 0x2f68]
cmp byte [eax + 0x55c], 0
je case.0x45d427.0
push 0
mov eax, dword [0x475868]
mov eax, dword [eax + 0x2f60]
push eax
call sub.user32.dll_ShowWindow
mov eax, dword [0x475868]
cmp byte [eax + 0xc4e], 0
je case.0x45d427.0
push 0
push 0
push 0x420
mov eax, dword [ebp + 8]
push eax
call sub.user32.dll_PostMessageA
jmp case.0x45d427.0
mov eax, dword [0x475868]
mov eax, dword [eax + 0x2f68]
cmp byte [eax + 0x55c], 0
je case.0x45d427.0
cmp dword [ebp + 0x14], 0xfffffa18
je 0x45b6fa
cmp dword [ebp + 0x14], 0xfffffa17
je 0x45b6fa
mov byte [0x475cd0], 1
xor eax, eax
push ebp
push 0x45b6ce
push dword fs:[eax]
mov dword fs:[eax], esp
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x45b6d5
mov byte [0x475cd0], 0
ret
mov eax, dword [ebp + 8]
push eax
mov eax, dword [0x475868]
mov eax, dword [eax + 0x2f60]
push eax
call sub.user32.dll_SetParent
jmp case.0x45d427.0
push 0
push 0
push 0x465
mov eax, dword [ebp + 8]
push eax
call sub.user32.dll_PostMessageA
mov eax, dword [0x475868]
cmp dword [eax + 0x2f68], 0
je case.0x45d427.0
cmp byte [0x475cd0], 0
jne case.0x45d427.0
mov eax, dword [0x475868]
mov eax, dword [eax + 0x2f68]
mov byte [eax + 0x55d], 0
mov eax, dword [0x475868]
mov eax, dword [eax + 0x2f60]
push eax
call sub.user32.dll_SetFocus
mov eax, dword [0x475868]
cmp byte [eax + 0x3111], 0
jne 0x45b79e
mov eax, dword [0x475868]
mov eax, dword [eax + 0x2f68]
cmp byte [eax + 0x55c], 0
je 0x45b7ec
push 0
push 0
push 0x41f
mov eax, dword [ebp + 8]
push eax
call sub.user32.dll_PostMessageA
jmp 0x45b7ec
mov eax, dword [0x473930]
mov eax, dword [eax]
mov edx, dword [eax + 0x24]
mov eax, dword [0x475868]
call fcn.00452ae0
mov eax, dword [0x475868]
mov eax, dword [eax + 0x2f68]
cmp byte [eax + 0x55c], 0
je 0x45b7da
push 0
push 0
push 0x41f
mov eax, dword [ebp + 8]
push eax
call sub.user32.dll_PostMessageA
jmp 0x45b7ec
push 0
push 0
push 0x41f
mov eax, dword [ebp + 8]
push eax
call sub.user32.dll_PostMessageA
mov eax, dword [0x475868]
mov eax, dword [eax + 0x2f68]
mov byte [eax + 0x55d], 0
jmp case.0x45d427.0
mov eax, dword [0x475868]
mov eax, dword [eax + 0x2f60]
test eax, eax
je case.0x45d427.0
push eax
call sub.user32.dll_SetActiveWindow
jmp case.0x45d427.0
cmp dword [ebp + 0x10], 0
je 0x45b83a
push 9
mov eax, dword [0x475868]
mov eax, dword [eax + 0x2f60]
push eax
call sub.user32.dll_ShowWindow
mov eax, dword [0x475868]
cmp byte [eax + 0xc0a], 0
je 0x45b8a4
cmp dword [ebp + 0x10], 0
jne 0x45b872
mov eax, dword [0x475868]
mov eax, dword [eax + 0x30b4]
cmp eax, dword [ebp + 0x14]
jne 0x45b872
push 0xfffffffffffffffd
push 1
push 0x86
mov eax, dword [ebp + 8]
push eax
call sub.user32.dll_SendMessageA
jmp 0x45b8a0
cmp dword [ebp + 0x10], 0
je 0x45b8a0
mov eax, dword [0x475868]
mov eax, dword [eax + 0x2f68]
test eax, eax
je 0x45b8a0
cmp byte [eax + 0x55c], 0
je 0x45b8a0
cmp byte [eax + 0x55d], 0
je 0x45b8a0
mov byte [eax + 0x55d], 0
mov byte [ebp - 0x11], 1
cmp dword [ebp + 0x10], 0
jne case.0x45d427.0
mov eax, dword [0x475868]
mov eax, dword [eax + 0x30b4]
cmp eax, dword [ebp + 0x14]
je case.0x45d427.0
xor edx, edx
mov eax, dword [0x475868]
call fcn.00462ebc
jmp case.0x45d427.0
push 0
push 0
push 0x409
mov eax, dword [ebp + 8]
push eax
call sub.user32.dll_PostMessageA
jmp case.0x45d427.0
mov eax, dword [0x475868]
cmp byte [eax + 0xc0a], 0
je case.0x45d427.0
cmp dword [ebp + 0x14], 0xfffffffd
je case.0x45d427.0
cmp dword [ebp + 0x10], 0
jne 0x45b934
call sub.user32.dll_GetForegroundWindow
mov edx, dword [0x475868]
cmp eax, dword [edx + 0x2f60]
je 0x45b94e
mov eax, dword [0x475868]
call fcn.0042a1ec
mov ebx, eax
call sub.user32.dll_GetForegroundWindow
cmp ebx, eax
je 0x45b94e
mov eax, dword [ebp + 0x14]
push eax
mov eax, dword [ebp + 0x10]
push eax
mov eax, dword [ebp + 0xc]
push eax
mov eax, dword [ebp + 8]
push eax
call sub.user32.dll_DefWindowProcA
mov dword [ebp - 4], eax
jmp 0x45b984
cmp dword [ebp + 0x10], 0
jne 0x45b97d
call sub.user32.dll_GetForegroundWindow
mov edx, dword [0x475868]
cmp eax, dword [edx + 0x2f60]
jne 0x45b97d
push 0
push 1
mov eax, dword [ebp + 0xc]
push eax
mov eax, dword [ebp + 8]
push eax
call sub.user32.dll_DefWindowProcA
mov dword [ebp - 4], eax
jmp 0x45b984
mov dword [ebp - 4], 1
mov byte [ebp - 0x11], 1
jmp case.0x45d427.0
mov eax, dword [0x475868]
mov eax, dword [eax + 0x1e8]
mov al, byte [eax + 0x72]
mov byte [ebp - 0x11], al
cmp byte [ebp - 0x11], 0
je case.0x45d427.0
lea edx, [ebp - 0x6c]
mov eax, dword [ebp - 8]
call fcn.00406418
lea edx, [ebp - 0x6c]
lea ecx, [ebp - 0x64]
mov eax, dword [0x475868]
call fcn.004261a8
mov ebx, dword [ebp - 0x60]
lea edx, [ebp - 0x7c]
mov eax, dword [0x475868]
call fcn.00464d48
cmp ebx, dword [ebp - 0x78]
jge case.0x45d427.0
push 0
push 0x90
push 0x111
mov eax, dword [ebp + 8]
push eax
call sub.user32.dll_PostMessageA
jmp case.0x45d427.0
mov eax, dword [0x475868]
mov eax, dword [eax + 0xeb0]
test eax, eax
je 0x45ba11
mov edx, eax
mov eax, dword [0x475868]
call fcn.0046501c
mov eax, dword [0x475868]
xor edx, edx
mov dword [eax + 0xeb0], edx
jmp case.0x45d427.0
mov eax, dword [0x475868]
cmp byte [eax + 0xc0a], 0
je case.0x45d427.0
lea edx, [ebp - 0x10]
mov ebx, dword [0x475868]
mov eax, dword [ebx + 0x3094]
call dword [ebx + 0x3090]
mov eax, dword [0x475868]
mov eax, dword [eax + 0x1e8]
cmp byte [eax + 0x72], 0
jne 0x45ba76
cmp dword [ebp - 4], 1
jne 0x45ba76
mov eax, dword [0x475868]
cmp byte [eax + 0xd62], 0
je 0x45ba76
mov dword [ebp - 4], 2
mov byte [ebp - 0x11], 1
jmp case.0x45d427.0
mov eax, dword [0x475868]
mov eax, dword [eax + 0x2f68]
test eax, eax
je 0x45baa0
cmp byte [eax + 0x47e], 0
je 0x45baa0
mov byte [ebp - 0x11], 1
jmp case.0x45d427.0
mov eax, dword [0x475868]
cmp byte [eax + 0xc0a], 0
je case.0x45d427.0
call sub.user32.dll_GetForegroundWindow
mov edx, dword [0x475868]
cmp eax, dword [edx + 0x2f60]
jmp case.0x45d427.0
mov eax, dword [0x475868]
cmp byte [eax + 0x2f77], 0
jne 0x45badf
mov byte [ebp - 0x11], 1
jmp case.0x45d427.0
mov eax, dword [0x475868]
cmp byte [eax + 0x2f76], 0
je case.0x45d427.0
mov eax, dword [0x475868]
mov eax, dword [eax + 0x1e8]
cmp byte [eax + 0x72], 0
jne case.0x45d427.0
lea edx, [ebp - 0x30]
mov eax, dword [0x475868]
call fcn.00464d48
push 4
call sub.gdi32.dll_GetStockObject
push eax
lea eax, [ebp - 0x30]
push eax
mov eax, dword [ebp + 0x10]
push eax
call sub.user32.dll_FillRect
jmp case.0x45d427.0
mov eax, dword [0x475868]
call fcn.004635e4
mov eax, dword [0x475868]
cmp byte [eax + 0x9fc], 0
je 0x45bb75
mov eax, dword [0x475868]
add eax, 0xa00
test eax, eax
je 0x45bb75
mov eax, dword [0x475868]
add eax, 0xa00
push eax
push 2
call sub.shell32.dll_Shell_NotifyIconA
test eax, eax
je 0x45bb75
mov eax, dword [0x475868]
mov byte [eax + 0x9fc], 0
mov eax, dword [0x475868]
cmp dword [eax + 0x2f60], 0
je 0x45bb9a
push 0
push 0
push 0x10
mov eax, dword [0x475868]
mov eax, dword [eax + 0x2f60]
push eax
call sub.user32.dll_PostMessageA
mov eax, dword [0x473978]
cmp dword [eax], 0
je 0x45bbc9
mov eax, dword [0x473978]
mov eax, dword [eax]
cmp byte [eax + 0x44], 0
je 0x45bbc9
push 0
push 0
push 0x10
mov eax, dword [0x473978]
mov eax, dword [eax]
call fcn.0042a1ec
push eax
call sub.user32.dll_PostMessageA
mov byte [ebp - 0x11], 1
mov eax, dword [0x4738b8]
cmp dword [eax], 0
je case.0x45d427.0
mov eax, dword [0x4738b8]
mov eax, dword [eax]
call fcn.004674b8
mov eax, dword [0x4738b8]
xor edx, edx
mov dword [eax], edx
jmp case.0x45d427.0
mov eax, dword [0x475868]
cmp dword [eax + 0x2f68], 0
je case.0x45d427.0
cmp dword [ebp - 0xc], 0x1b
jne case.0x45d427.0
mov eax, dword [0x475868]
mov eax, dword [eax + 0x2f68]
cmp byte [eax + 0x54], 0
je case.0x45d427.0
mov eax, dword [0x475868]
cmp dword [eax + 0x2f60], 0
je case.0x45d427.0
push 0
push 0
push 0x10
mov eax, dword [0x475868]
mov eax, dword [eax + 0x2f60]
push eax
call sub.user32.dll_PostMessageA
jmp case.0x45d427.0
mov eax, dword [0x473978]
cmp dword [eax], 0
je 0x45bc85
mov eax, dword [0x473978]
mov eax, dword [eax]
cmp byte [eax + 0x44], 0
je 0x45bc85
push 0
push 0
push 0x10
mov eax, dword [0x473978]
mov eax, dword [eax]
call fcn.0042a1ec
push eax
call sub.user32.dll_SendMessageA
jmp 0x45bcaa
mov eax, dword [0x475868]
cmp dword [eax + 0x2f60], 0
je 0x45bcaa
push 0
push 0
push 0x10
mov eax, dword [0x475868]
mov eax, dword [eax + 0x2f60]
push eax
call sub.user32.dll_PostMessageA
mov dword [ebp - 4], 1
mov byte [ebp - 0x11], 1
jmp case.0x45d427.0
cmp dword [ebp - 0xc], 0x81
jne 0x45bd6e
cmp dword [ebp - 8], 0
jne 0x45bd6e
mov eax, dword [0x475868]
cmp dword [eax + 0x2f60], 0
je 0x45bd6e
mov eax, dword [0x473978]
cmp dword [eax], 0
je 0x45bcfa
mov eax, dword [0x473978]
mov eax, dword [eax]
cmp byte [eax + 0x44], 0
jne 0x45bd4b
mov eax, dword [0x475868]
add eax, 0xa00
test eax, eax
je 0x45bd2a
mov eax, dword [0x475868]
add eax, 0xa00
push eax
push 2
call sub.shell32.dll_Shell_NotifyIconA
test eax, eax
je 0x45bd2a
mov eax, dword [0x475868]
mov byte [eax + 0x9fc], 0
push 0
push 0xf060
push 0x112
mov eax, dword [0x475868]
call fcn.0042a1ec
push eax
call sub.user32.dll_SendMessageA
jmp case.0x45d427.0
push 0
push 0xf060
push 0x112
mov eax, dword [0x473978]
mov eax, dword [eax]
call fcn.0042a1ec
push eax
call sub.user32.dll_SendMessageA
jmp case.0x45d427.0
cmp dword [ebp - 0xc], 0x8c
jne 0x45bdaa
cmp dword [ebp - 8], 0
jne 0x45bdaa
mov eax, dword [0x473930]
mov eax, dword [eax]
call fcn.00422af0
push 0
push 0xf120
push 0x112
mov eax, dword [0x475868]
call fcn.0042a1ec
push eax
call sub.user32.dll_SendMessageA
jmp case.0x45d427.0
cmp dword [ebp - 0xc], 0x90
jne 0x45beb1
cmp dword [ebp - 8], 0
jne 0x45beb1
mov eax, dword [0x475868]
cmp byte [eax + 0xe71], 0
jne 0x45beb1
mov eax, dword [0x475868]
cmp byte [eax + 0xe72], 0
jne 0x45beb1
mov eax, dword [0x475868]
cmp byte [eax + 0xe73], 0
jne 0x45beb1
mov eax, dword [0x475868]
cmp byte [eax + 0xe74], 0
jne 0x45beb1
call sub.user32.dll_ReleaseCapture
mov eax, dword [0x475868]
cmp byte [eax + 0x2f18], 0
je 0x45be36
push 0
push 0x85
push 0x111
mov eax, dword [ebp + 8]
push eax
call sub.user32.dll_SendMessageA
jmp case.0x45d427.0
mov eax, dword [0x473930]
mov eax, dword [eax]
mov eax, dword [eax + 0x24]
push eax
call sub.user32.dll_IsIconic
test eax, eax
je 0x45be5b
mov eax, dword [0x473930]
mov eax, dword [eax]
call fcn.00422af0
jmp case.0x45d427.0
mov eax, dword [0x475868]
call fcn.0042a1ec
push eax
call sub.user32.dll_IsZoomed
test eax, eax
je 0x45be90
push 0
push 0xf120
push 0x112
mov eax, dword [0x475868]
call fcn.0042a1ec
push eax
call sub.user32.dll_SendMessageA
jmp case.0x45d427.0
push 0
push 0xf030
push 0x112
mov eax, dword [0x475868]
call fcn.0042a1ec
push eax
call sub.user32.dll_SendMessageA
jmp case.0x45d427.0
cmp dword [ebp - 0xc], 0x8e
jne 0x45becf
cmp dword [ebp - 8], 0
jne 0x45becf
mov eax, dword [0x475868]
call fcn.0046494c
jmp case.0x45d427.0
cmp dword [ebp - 0xc], 0x8f
jne 0x45bef8
cmp dword [ebp - 8], 0
jne 0x45bef8
push 0
push 0x82
push 0x111
mov eax, dword [ebp + 8]
push eax
call sub.user32.dll_PostMessageA
jmp case.0x45d427.0
cmp dword [ebp - 0xc], 0x8d
jne 0x45bf53
cmp dword [ebp - 8], 0
jne 0x45bf53
mov eax, dword [0x475868]
add eax, 0xa00
test eax, eax
je 0x45bf37
mov eax, dword [0x475868]
add eax, 0xa00
push eax
push 2
call sub.shell32.dll_Shell_NotifyIconA
test eax, eax
je 0x45bf37
mov eax, dword [0x475868]
mov byte [eax + 0x9fc], 0
push 0
push 0
push 0x10
mov eax, dword [0x475868]
mov eax, dword [eax + 0x2f60]
push eax
call sub.user32.dll_PostMessageA
jmp case.0x45d427.0
cmp dword [ebp - 0xc], 0x85
jne 0x45c41f
mov eax, dword [0x475868]
cmp dword [eax + 0x2f60], 0
je 0x45c41f
xor esi, esi
mov eax, dword [0x475868]
cmp byte [eax + 0x30c6], 0
jne 0x45da13
mov eax, dword [0x475868]
cmp byte [eax + 0x30c7], 0
jne 0x45da13
mov eax, dword [0x475868]
cmp byte [eax + 0x2f18], 0
je 0x45da13
mov eax, dword [0x475868]
mov byte [eax + 0x2f18], 0
mov eax, dword [0x475868]
mov eax, dword [eax + 0x2f68]
mov byte [eax + 0x55d], 0
push 0
mov eax, dword [0x475868]
call fcn.0042a1ec
push eax
call sub.user32.dll_ShowWindow
push 5
push 0
push 0
push 0xffffc568
push 0xffffc568
push 0
mov eax, dword [0x475868]
mov eax, dword [eax + 0x2f60]
push eax
call sub.user32.dll_SetWindowPos
mov eax, dword [0x475868]
mov eax, dword [eax + 0x2f68]
mov byte [eax + 0x40], 1
mov eax, dword [0x475868]
mov eax, dword [eax + 0x2f68]
cmp byte [eax + 0x55c], 0
je 0x45c065
push 0x38b20
push 0xfeda
push 0
mov eax, dword [0x475868]
mov eax, dword [eax + 0x2f60]
push eax
call sub.user32.dll_SendMessageA
push 9
mov eax, dword [0x475868]
mov eax, dword [eax + 0x2f60]
push eax
call sub.user32.dll_ShowWindow
mov eax, dword [0x475868]
mov edx, dword [eax + 0x208]
mov eax, dword [0x475868]
call fcn.0045dabc
cmp dword [ebp - 8], 0
jne 0x45c10a
mov eax, dword [0x475868]
mov eax, dword [eax + 0x2f1c]
push eax
push 0xfffffffffffffff0
mov eax, dword [0x475868]
call fcn.0042a1ec
push eax
call sub.user32.dll_SetWindowLongA
mov byte [0x475cd0], 1
xor eax, eax
push ebp
push 0x45c103
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, dword [0x475868]
cmp byte [eax + 0x136], 2
jne 0x45c0c6
mov eax, dword [0x475868]
call fcn.0042a1ec
mov edx, 3
call fcn.00452834
jmp 0x45c0ee
mov eax, dword [0x475868]
call fcn.0042a1ec
mov edx, 6
call fcn.00452834
mov eax, dword [0x475868]
call fcn.0042a1ec
mov edx, 9
call fcn.00452834
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x45c11c
mov byte [0x475cd0], 0
ret
push 0
mov eax, dword [0x475868]
call fcn.0042a1ec
push eax
call sub.user32.dll_ShowWindow
push 0x401
push 0
push 0
mov eax, dword [0x475868]
call fcn.0042a1ec
push eax
call sub.user32.dll_RedrawWindow
mov eax, dword [0x475868]
cmp byte [eax + 0xd22], 0
je 0x45c14a
mov ebx, 4
jmp 0x45c14c
xor ebx, ebx
push ebx
mov eax, dword [0x475868]
mov eax, dword [eax + 0x2f14]
mov edx, dword [0x475868]
sub eax, dword [edx + 0x2f0c]
push eax
mov eax, dword [0x475868]
mov eax, dword [eax + 0x2f10]
mov edx, dword [0x475868]
sub eax, dword [edx + 0x2f08]
push eax
mov eax, dword [0x475868]
mov eax, dword [eax + 0x2f0c]
push eax
mov eax, dword [0x475868]
mov eax, dword [eax + 0x2f08]
push eax
push 0xfffffffffffffffe
mov eax, dword [0x475868]
call fcn.0042a1ec
push eax
call sub.user32.dll_SetWindowPos
mov eax, dword [0x475868]
mov dl, byte [eax + 0x2f04]
mov eax, dword [0x475868]
mov eax, dword [eax + 0x1e8]
call fcn.0044e884
mov eax, dword [0x475868]
cmp byte [eax + 0x2f04], 0
je 0x45c1de
mov eax, dword [0x475868]
cmp byte [eax + 0x2e78], 0
jne 0x45c1e2
xor edx, edx
jmp 0x45c1e4
mov dl, 1
mov eax, dword [0x475868]
mov eax, dword [eax + 0x1f0]
call fcn.004264b8
mov eax, dword [0x475868]
cmp byte [eax + 0x2f04], 0
je 0x45c210
mov eax, dword [0x475868]
cmp byte [eax + 0x2e75], 0
jne 0x45c214
xor edx, edx
jmp 0x45c216
mov dl, 1
mov eax, dword [0x475868]
mov eax, dword [eax + 0x1f4]
call fcn.004264b8
mov eax, dword [0x475868]
cmp byte [eax + 0x2f04], 0
je 0x45c242
mov eax, dword [0x475868]
cmp byte [eax + 0x2e76], 0
jne 0x45c246
xor edx, edx
jmp 0x45c248
mov dl, 1
mov eax, dword [0x475868]
mov eax, dword [eax + 0x1f8]
call fcn.004264b8
mov eax, dword [0x475868]
cmp byte [eax + 0x2f04], 0
je 0x45c274
mov eax, dword [0x475868]
cmp byte [eax + 0x2e77], 0
jne 0x45c278
xor edx, edx
jmp 0x45c27a
mov dl, 1
mov eax, dword [0x475868]
mov eax, dword [eax + 0x1fc]
call fcn.004264b8
mov eax, dword [0x475868]
call fcn.0042a1ec
push eax
mov eax, dword [0x475868]
mov eax, dword [eax + 0x2f60]
push eax
call sub.user32.dll_SetParent
lea edx, [ebp - 0x30]
mov eax, dword [0x475868]
call fcn.00455228
mov eax, dword [ebp - 0x2c]
mov dword [0x475cbc], eax
mov eax, dword [ebp - 0x30]
mov dword [0x475cb8], eax
mov eax, dword [ebp - 0x28]
sub eax, dword [ebp - 0x30]
mov dword [0x475cc0], eax
mov eax, dword [ebp - 0x24]
sub eax, dword [ebp - 0x2c]
mov dword [0x475cc4], eax
cmp dword [ebp - 8], 0
jne 0x45c31b
mov eax, dword [0x475868]
cmp byte [eax + 0x136], 2
jne 0x45c305
push 0
push 2
push 5
mov eax, dword [0x475868]
call fcn.0042a1ec
push eax
call sub.user32.dll_SendMessageA
jmp 0x45c31b
push 0
push 0
push 5
mov eax, dword [0x475868]
call fcn.0042a1ec
push eax
call sub.user32.dll_SendMessageA
push 0xfffffffffffffff0
mov eax, dword [0x475868]
mov eax, dword [eax + 0x2f60]
push eax
call sub.user32.dll_GetWindowLongA
or eax, 0x10000000
push eax
push 0xfffffffffffffff0
mov eax, dword [0x475868]
mov eax, dword [eax + 0x2f60]
push eax
call sub.user32.dll_SetWindowLongA
push 0xffffffffffffffec
mov eax, dword [0x475868]
mov eax, dword [eax + 0x2f60]
push eax
call sub.user32.dll_GetWindowLongA
and eax, 0xfffbffff
push eax
push 0xffffffffffffffec
mov eax, dword [0x475868]
mov eax, dword [eax + 0x2f60]
push eax
call sub.user32.dll_SetWindowLongA
push 1
push 0
push 0
mov eax, dword [0x475868]
mov eax, dword [eax + 0x2f60]
push eax
call sub.user32.dll_RedrawWindow
push 5
push 0
push 0
push 0
push 0
push 0
mov eax, dword [0x475868]
mov eax, dword [eax + 0x2f60]
push eax
call sub.user32.dll_SetWindowPos
mov eax, dword [0x475868]
mov edx, dword [eax + 0x2f60]
mov eax, dword [0x475868]
call fcn.00452ae0
mov eax, dword [0x475868]
cmp byte [eax + 0x3111], 0
jne 0x45c3e2
mov eax, dword [0x473930]
mov eax, dword [eax]
mov edx, dword [eax + 0x24]
mov cl, 1
mov eax, dword [0x475868]
call fcn.00452a68
jmp 0x45c3fb
push 0
push 0
push 0x41f
mov eax, dword [0x475868]
call fcn.0042a1ec
push eax
call sub.user32.dll_PostMessageA
mov eax, dword [0x475868]
call fcn.0042a1ec
push eax
call sub.user32.dll_SetForegroundWindow
mov eax, dword [0x475868]
mov eax, dword [eax + 0x2f68]
mov byte [eax + 0x40], 0
jmp case.0x45d427.0
cmp dword [ebp - 0xc], 0x84
jne 0x45c850
mov eax, dword [0x475868]
cmp dword [eax + 0x2f60], 0
je 0x45c850
xor esi, esi
mov eax, dword [0x475868]
cmp byte [eax + 0x30c6], 0
jne 0x45da13
mov eax, dword [0x475868]
cmp byte [eax + 0x30c7], 0
jne 0x45da13
mov eax, dword [0x475868]
cmp byte [eax + 0x2f18], 0
jne 0x45da13
mov eax, dword [0x475868]
mov byte [eax + 0x2f18], 1
mov eax, dword [0x475868]
lea esi, [eax + 0xe60]
lea edi, [ebp - 0x30]
mov ecx, 4
rep movsd dword es:[edi], dword [esi]
cmp dword [ebp - 8], 0
jne 0x45c4d6
mov eax, dword [0x475868]
add eax, 0x2f08
push eax
mov eax, dword [0x475868]
call fcn.0042a1ec
push eax
call sub.user32.dll_GetWindowRect
push 0xfffffffffffffff0
mov eax, dword [0x475868]
call fcn.0042a1ec
push eax
call sub.user32.dll_GetWindowLongA
mov edx, dword [0x475868]
mov dword [edx + 0x2f1c], eax
mov eax, dword [0x475868]
mov eax, dword [eax + 0x1e8]
mov al, byte [eax + 0x72]
mov edx, dword [0x475868]
mov byte [edx + 0x2f04], al
mov eax, dword [0x475868]
mov eax, dword [eax + 0x1e8]
xor edx, edx
call fcn.0044e884
mov eax, dword [0x475868]
mov eax, dword [eax + 0x1f0]
xor edx, edx
call fcn.004264b8
mov eax, dword [0x475868]
mov eax, dword [eax + 0x1f4]
xor edx, edx
call fcn.004264b8
mov eax, dword [0x475868]
mov eax, dword [eax + 0x1f8]
xor edx, edx
call fcn.004264b8
mov eax, dword [0x475868]
mov eax, dword [eax + 0x1fc]
xor edx, edx
call fcn.004264b8
push 5
push 0
push 0
push 0xffffc568
push 0xffffc568
push 0
mov eax, dword [0x475868]
mov eax, dword [eax + 0x2f60]
push eax
call sub.user32.dll_SetWindowPos
push 0xfffffffffffffff0
mov eax, dword [0x475868]
mov eax, dword [eax + 0x2f60]
push eax
call sub.user32.dll_GetWindowLongA
and eax, 0xefffffff
push eax
push 0xfffffffffffffff0
mov eax, dword [0x475868]
mov eax, dword [eax + 0x2f60]
push eax
call sub.user32.dll_SetWindowLongA
push 0xffffffffffffffec
mov eax, dword [0x475868]
mov eax, dword [eax + 0x2f60]
push eax
call sub.user32.dll_GetWindowLongA
or eax, 0x40000
push eax
push 0xffffffffffffffec
mov eax, dword [0x475868]
mov eax, dword [eax + 0x2f60]
push eax
call sub.user32.dll_SetWindowLongA
push 0x82080000
push 0xfffffffffffffff0
mov eax, dword [0x475868]
call fcn.0042a1ec
push eax
call sub.user32.dll_SetWindowLongA
push 5
mov eax, dword [0x475868]
call fcn.0042a1ec
push eax
call sub.user32.dll_ShowWindow
call sub.user32.dll_GetDesktopWindow
push eax
mov eax, dword [0x475868]
mov eax, dword [eax + 0x2f60]
push eax
call sub.user32.dll_SetParent
lea edx, [ebp - 0x30]
mov eax, dword [0x475868]
call fcn.0045aaa8
push 0xffffffffffffffec
mov eax, dword [0x475868]
call fcn.0042a1ec
push eax
call sub.user32.dll_GetWindowLongA
and eax, 0xfffffff7
push eax
push 0xffffffffffffffec
mov eax, dword [0x475868]
call fcn.0042a1ec
push eax
call sub.user32.dll_SetWindowLongA
push 0xffffffffffffffec
mov eax, dword [0x475868]
call fcn.0042a1ec
push eax
call sub.user32.dll_GetWindowLongA
push eax
push 0
push 0xfffffffffffffff0
mov eax, dword [0x475868]
call fcn.0042a1ec
push eax
call sub.user32.dll_GetWindowLongA
push eax
lea eax, [ebp - 0x30]
push eax
call sub.user32.dll_AdjustWindowRectEx
mov eax, dword [0x475868]
cmp byte [eax + 0x3111], 0
je 0x45c68f
mov eax, dword [0x473930]
mov eax, dword [eax]
mov edx, dword [eax + 0x24]
mov eax, dword [0x475868]
call fcn.00452ae0
jmp 0x45c6a5
mov eax, dword [0x473930]
mov eax, dword [eax]
mov edx, dword [eax + 0x24]
mov cl, 1
mov eax, dword [0x475868]
call fcn.00452a68
mov eax, dword [0x475868]
mov eax, dword [eax + 0x2f68]
cmp byte [eax + 0x55c], 0
jne 0x45c7c3
push 4
mov eax, dword [ebp - 0x24]
sub eax, dword [ebp - 0x2c]
push eax
mov eax, dword [ebp - 0x28]
sub eax, dword [ebp - 0x30]
push eax
mov eax, dword [ebp - 0x2c]
push eax
mov eax, dword [ebp - 0x30]
push eax
push 0
mov eax, dword [0x475868]
call fcn.0042a1ec
push eax
call sub.user32.dll_SetWindowPos
mov eax, dword [0x475868]
call fcn.0042a1ec
push eax
mov eax, dword [0x475868]
mov eax, dword [eax + 0x2f60]
push eax
call sub.user32.dll_SetParent
lea edx, [ebp - 0x30]
mov eax, dword [0x475868]
call fcn.00455228
push 0xffffffffffffffff
mov eax, dword [ebp - 0x24]
sub eax, dword [ebp - 0x2c]
push eax
mov eax, dword [ebp - 0x28]
sub eax, dword [ebp - 0x30]
push eax
mov eax, dword [ebp - 0x2c]
push eax
mov eax, dword [ebp - 0x30]
push eax
mov eax, dword [0x475868]
mov eax, dword [eax + 0x2f60]
push eax
call sub.user32.dll_MoveWindow
mov eax, dword [ebp - 0x2c]
mov dword [0x475cbc], eax
mov eax, dword [ebp - 0x30]
mov dword [0x475cb8], eax
mov eax, dword [ebp - 0x28]
sub eax, dword [ebp - 0x30]
mov dword [0x475cc0], eax
mov eax, dword [ebp - 0x24]
sub eax, dword [ebp - 0x2c]
mov dword [0x475cc4], eax
push 0
mov eax, dword [0x475868]
mov eax, dword [eax + 0x2f60]
push eax
call sub.user32.dll_ShowWindow
push 5
mov eax, dword [0x475868]
mov eax, dword [eax + 0x2f60]
push eax
call sub.user32.dll_ShowWindow
push 9
mov eax, dword [0x475868]
call fcn.0042a1ec
push eax
call sub.user32.dll_ShowWindow
push 0x13
push 0
push 0
push 0
push 0
mov eax, dword [0x475868]
call fcn.0042a1ec
push eax
push 0
push 0x45da50
call sub.user32.dll_FindWindowA
push eax
call sub.user32.dll_SetWindowPos
jmp case.0x45d427.0
mov eax, dword [0x475868]
mov eax, dword [eax + 0x2f68]
mov byte [eax + 0x55d], 1
xor eax, eax
mov dword [0x475cb8], eax
xor eax, eax
mov dword [0x475cbc], eax
mov eax, dword [ebp - 0x28]
sub eax, dword [ebp - 0x30]
mov dword [0x475cc0], eax
mov eax, dword [ebp - 0x24]
sub eax, dword [ebp - 0x2c]
mov dword [0x475cc4], eax
push 0xfffffffffffffff0
mov eax, dword [0x475868]
mov eax, dword [eax + 0x2f60]
push eax
call sub.user32.dll_GetWindowLongA
push eax
push 0xfffffffffffffff0
mov eax, dword [0x475868]
mov eax, dword [eax + 0x2f60]
push eax
call sub.user32.dll_SetWindowLongA
push 0
mov eax, dword [0x475868]
call fcn.0042a1ec
push eax
call sub.user32.dll_ShowWindow
push 0
push 0
push 0x424
mov eax, dword [0x475868]
call fcn.0042a1ec
push eax
call sub.user32.dll_PostMessageA
jmp case.0x45d427.0
cmp dword [ebp - 0xc], 0x86
jne 0x45c8c3
cmp dword [ebp - 8], 0
jne 0x45c8c3
mov eax, dword [0x475868]
cmp dword [eax + 0x2f60], 0
je 0x45c8c3
xor esi, esi
mov eax, dword [0x475868]
cmp byte [eax + 0x30c6], 0
jne 0x45da13
mov eax, dword [0x475868]
cmp byte [eax + 0x2f18], 0
je 0x45c8a9
push 0
push 0x85
push 0x111
mov eax, dword [ebp + 8]
push eax
call sub.user32.dll_PostMessageA
jmp case.0x45d427.0
push 0
push 0x84
push 0x111
mov eax, dword [ebp + 8]
push eax
call sub.user32.dll_PostMessageA
jmp case.0x45d427.0
cmp dword [ebp - 0xc], 0x83
jne 0x45c8ef
cmp dword [ebp - 8], 0
jne 0x45c8ef
mov eax, dword [0x475868]
cmp dword [eax + 0x2f60], 0
je 0x45c8ef
mov eax, dword [0x475868]
call fcn.0046494c
jmp case.0x45d427.0
cmp dword [ebp - 0xc], 0x82
jne 0x45c962
test dword [ebp - 8], 0xfffffffe
jne 0x45c962
mov eax, dword [0x475868]
cmp dword [eax + 0x2f60], 0
je 0x45c962
mov eax, dword [0x473978]
cmp dword [eax], 0
je 0x45c92a
mov eax, dword [0x473978]
mov eax, dword [eax]
cmp byte [eax + 0x44], 0
jne case.0x45d427.0
mov edx, dword [ebp - 8]
mov eax, dword [0x475868]
call fcn.0045a8f8
test al, al
je case.0x45d427.0
push 0
push 0
push 0x10
mov eax, dword [0x475868]
mov eax, dword [eax + 0x2f60]
push eax
call sub.user32.dll_PostMessageA
mov byte [0x475c98], 1
jmp case.0x45d427.0
cmp dword [ebp - 0xc], 0x87
jne 0x45ca69
cmp dword [ebp - 8], 0
jne 0x45ca69
mov eax, dword [0x475868]
cmp dword [eax + 0x2f60], 0
je 0x45ca69
mov eax, dword [0x475868]
mov al, byte [eax + 0xd22]
xor al, 1
mov edx, dword [0x475868]
mov byte [edx + 0xd22], al
mov eax, dword [0x475868]
mov al, byte [eax + 0xd22]
mov edx, dword [0x475868]
mov edx, dword [edx + 0x2f68]
mov byte [edx + 0x9be], al
mov eax, dword [0x475868]
mov al, byte [eax + 0xd22]
push eax
mov eax, dword [0x475868]
mov edx, dword [eax + 0x30dc]
mov eax, dword [0x475868]
mov eax, dword [eax + 0x30c8]
mov ecx, 0x45da68
call fcn.00433778
mov eax, dword [0x475868]
cmp byte [eax + 0xd22], 0
je 0x45ca32
push 3
push 0
push 0
push 0
push 0
push 0xffffffffffffffff
mov eax, dword [ebp + 8]
push eax
call sub.user32.dll_SetWindowPos
push 3
push 0
push 0
push 0
push 0
push 0xffffffffffffffff
mov eax, dword [0x475868]
mov eax, dword [eax + 0x2f60]
push eax
call sub.user32.dll_SetWindowPos
jmp case.0x45d427.0
push 3
push 0
push 0
push 0
push 0
push 0
mov eax, dword [ebp + 8]
push eax
call sub.user32.dll_SetWindowPos
push 3
push 0
push 0
push 0
push 0
push 0
mov eax, dword [0x475868]
mov eax, dword [eax + 0x2f60]
push eax
call sub.user32.dll_SetWindowPos
jmp case.0x45d427.0
cmp dword [ebp - 0xc], 0x88
jne 0x45caed
cmp dword [ebp - 8], 0
jne 0x45caed
mov eax, dword [0x475868]
cmp dword [eax + 0x2f60], 0
je 0x45caed
mov eax, dword [0x475868]
mov bl, byte [eax + 0xc2a]
mov eax, dword [0x475868]
mov eax, dword [eax + 0x2f68]
mov byte [eax + 0x9bf], bl
xor bl, 1
mov eax, dword [0x475868]
mov byte [eax + 0xc2a], bl
mov eax, dword [0x475868]
mov al, byte [eax + 0xc2a]
push eax
mov eax, dword [0x475868]
mov edx, dword [eax + 0x30dc]
mov eax, dword [0x475868]
mov eax, dword [eax + 0x30c8]
mov ecx, 0x45da7c
call fcn.00433778
mov eax, dword [0x475868]
cmp byte [eax + 0xc2a], 0
jmp case.0x45d427.0
cmp dword [ebp - 0xc], 0x89
jne 0x45cb8e
cmp dword [ebp - 8], 0
jne 0x45cb8e
mov eax, dword [0x475868]
cmp dword [eax + 0x2f60], 0
je 0x45cb8e
mov eax, dword [0x475868]
mov al, byte [eax + 0xd32]
xor al, 1
mov edx, dword [0x475868]
mov byte [edx + 0xd32], al
mov eax, dword [0x475868]
mov al, byte [eax + 0xd32]
mov edx, dword [0x475868]
mov edx, dword [edx + 0x2f68]
mov byte [edx + 0x9c0], al
mov eax, dword [0x475868]
mov al, byte [eax + 0xd32]
push eax
mov eax, dword [0x475868]
mov edx, dword [eax + 0x30dc]
mov eax, dword [0x475868]
mov eax, dword [eax + 0x30c8]
mov ecx, 0x45da8c
call fcn.00433778
mov eax, dword [0x475868]
mov dl, byte [eax + 0xd32]
mov eax, dword [0x475868]
call fcn.00463318
jmp case.0x45d427.0
cmp dword [ebp - 0xc], 0x8a
jne 0x45cc5f
cmp dword [ebp - 8], 0
jne 0x45cc5f
mov eax, dword [0x475868]
cmp dword [eax + 0x2f60], 0
je 0x45cc5f
mov eax, dword [0x475868]
mov bl, byte [eax + 0xc5e]
mov eax, dword [0x475868]
mov eax, dword [eax + 0x2f68]
mov byte [eax + 0xa45], bl
xor bl, 1
mov eax, dword [0x475868]
mov byte [eax + 0xc5e], bl
mov eax, dword [0x475868]
mov al, byte [eax + 0xc5e]
push eax
mov eax, dword [0x475868]
mov edx, dword [eax + 0x30dc]
mov eax, dword [0x475868]
mov eax, dword [eax + 0x30c8]
mov ecx, 0x45daa8
call fcn.00433778
mov eax, dword [0x475868]
cmp byte [eax + 0xc5e], 0
je 0x45cc48
mov eax, dword [0x475868]
mov eax, dword [eax + 0xc38]
call fcn.004477e8
cmp al, 2
jne case.0x45d427.0
mov eax, dword [0x475868]
mov eax, dword [eax + 0xc38]
call fcn.004475ac
jmp case.0x45d427.0
push 0
push 0
push 0x406
mov eax, dword [ebp + 8]
push eax
call sub.user32.dll_PostMessageA
jmp case.0x45d427.0
mov eax, dword [0x473978]
cmp dword [eax], 0
je case.0x45d427.0
mov eax, dword [0x473978]
mov eax, dword [eax]
call fcn.0042a1ec
push eax
call sub.user32.dll_SetFocus
jmp case.0x45d427.0
mov dword [ebp - 4], 1
lea edx, [ebp - 0x10]
mov eax, dword [0x475868]
call fcn.00462f3c
cmp dword [ebp - 4], 0
sete byte [ebp - 0x11]
jmp case.0x45d427.0
mov dword [ebp - 4], 1
lea edx, [ebp - 0x10]
mov eax, dword [0x475868]
call fcn.00462f60
cmp dword [ebp - 4], 0
sete byte [ebp - 0x11]
jmp case.0x45d427.0
lea edx, [ebp - 0x10]
mov eax, dword [0x475868]
call fcn.0045f1a4
jmp case.0x45d427.0
lea edx, [ebp - 0x10]
mov eax, dword [0x475868]
call fcn.0045f1c8
jmp case.0x45d427.0
lea edx, [ebp - 0x10]
mov eax, dword [0x475868]
call fcn.0045f670
jmp case.0x45d427.0
lea edx, [ebp - 0x10]
mov eax, dword [0x475868]
call fcn.0045f1cc
jmp case.0x45d427.0
lea edx, [ebp - 0x10]
mov eax, dword [0x475868]
call fcn.0045f1e4
jmp case.0x45d427.0
lea edx, [ebp - 0x10]
mov eax, dword [0x475868]
call fcn.0045f1e8
jmp case.0x45d427.0
lea edx, [ebp - 0x10]
mov eax, dword [0x475868]
call fcn.0045f298
jmp case.0x45d427.0
lea edx, [ebp - 0x10]
mov eax, dword [0x475868]
call fcn.0045f38c
jmp case.0x45d427.0
lea edx, [ebp - 0x10]
mov eax, dword [0x475868]
call fcn.0045f52c
jmp case.0x45d427.0
lea edx, [ebp - 0x10]
mov eax, dword [0x475868]
call fcn.0045f58c
jmp case.0x45d427.0
lea edx, [ebp - 0x10]
mov eax, dword [0x475868]
call fcn.00460e3c
jmp case.0x45d427.0
lea edx, [ebp - 0x10]
mov eax, dword [0x475868]
call fcn.00462eb8
jmp case.0x45d427.0
lea edx, [ebp - 0x10]
mov eax, dword [0x475868]
call fcn.00461c28
cmp dword [ebp - 4], 0
setne byte [ebp - 0x11]
jmp case.0x45d427.0
mov eax, dword [0x475868]
cmp byte [eax + 0x2f74], 0
je case.0x45d427.0
mov eax, dword [0x475868]
cmp byte [eax + 0xe00], 0
jne case.0x45d427.0
xor edx, edx
mov eax, dword [0x475868]
call fcn.00462ebc
jmp case.0x45d427.0
lea edx, [ebp - 0x10]
mov eax, dword [0x475868]
call fcn.004549e0
jmp case.0x45d427.0
lea edx, [ebp - 0x10]
mov eax, dword [0x475868]
call fcn.0046312c
jmp case.0x45d427.0
lea edx, [ebp - 0x10]
mov eax, dword [0x475868]
call fcn.004631dc
jmp case.0x45d427.0
lea edx, [ebp - 0x10]
mov eax, dword [0x475868]
call fcn.00463200
jmp case.0x45d427.0
lea edx, [ebp - 0x10]
mov eax, dword [0x475868]
call fcn.00463210
jmp case.0x45d427.0
mov eax, dword [0x475868]
mov eax, dword [eax + 0x2f60]
mov dword [ebp - 4], eax
mov byte [ebp - 0x11], 1
jmp case.0x45d427.0
push 0x15
push 0
push 0
push 0
push 0
push 0
mov eax, dword [ebp + 8]
push eax
call sub.user32.dll_SetWindowPos
jmp case.0x45d427.0
lea edx, [ebp - 0x10]
mov eax, dword [0x475868]
call fcn.00463220
jmp case.0x45d427.0
lea edx, [ebp - 0x10]
mov eax, dword [0x475868]
call fcn.00463238
jmp case.0x45d427.0
lea edx, [ebp - 0x10]
mov eax, dword [0x475868]
call fcn.0046324c
jmp case.0x45d427.0
lea edx, [ebp - 0x10]
mov eax, dword [0x475868]
call fcn.00460574
jmp case.0x45d427.0
mov eax, dword [0x475868]
mov eax, dword [eax + 0x2f64]
push eax
call sub.user32.dll_IsMenu
test eax, eax
je case.0x45d427.0
mov eax, dword [0x475868]
mov eax, dword [eax + 0x2f64]
push eax
call sub.user32.dll_DestroyMenu
mov eax, dword [0x475868]
xor edx, edx
mov dword [eax + 0x2f64], edx
jmp case.0x45d427.0
xor edx, edx
mov eax, dword [0x475868]
call fcn.00462ebc
jmp case.0x45d427.0
cmp dword [ebp + 0x10], 0xfffc0568
jne case.0x45d427.0
mov eax, dword [ebp + 0x14]
cmp dword [eax], 0x70
jne case.0x45d427.0
mov edx, dword [eax + 8]
mov ecx, dword [edx]
mov edx, dword [eax + 8]
add edx, 4
mov eax, dword [0x475868]
add eax, 0x32c0
call fcn.00403a80
mov byte [ebp - 0x11], 1
mov dword [ebp - 4], 0x4d
jmp case.0x45d427.0
lea edx, [ebp - 0x10]
mov eax, dword [0x475868]
call fcn.00452eec
jmp case.0x45d427.0
lea edx, [ebp - 0x10]
mov eax, dword [0x475868]
call fcn.0045f290
jmp case.0x45d427.0
mov eax, dword [0x475868]
cmp byte [eax + 0xcb2], 0
je case.0x45d427.0
mov eax, dword [0x475868]
cmp byte [eax + 0x2f6e], 0
je case.0x45d427.0
mov eax, dword [ebp + 0x14]
cmp dword [eax + 4], 0
jne 0x45cfad
mov edx, dword [eax + 0x18]
or edx, 4
or edx, 0x10
mov dword [eax + 0x18], edx
mov byte [ebp - 0x11], 1
jmp case.0x45d427.0
mov eax, dword [0x475868]
call fcn.0042a384
test al, al
je case.0x45d427.0
mov eax, dword [0x475868]
mov byte [eax + 0x2f76], 1
mov eax, dword [0x475868]
cmp byte [eax + 0xe72], 0
jne 0x45d010
mov eax, dword [0x475868]
cmp byte [eax + 0xe71], 0
jne 0x45d010
mov eax, dword [0x475868]
cmp byte [eax + 0xe74], 0
jne 0x45d010
mov eax, dword [0x475868]
cmp byte [eax + 0xe73], 0
je 0x45d0c7
mov eax, dword [0x475868]
call fcn.00463ccc
cmp al, 5
je 0x45d0c7
mov eax, dword [0x475868]
call fcn.00463ccc
cmp al, 4
je 0x45d0c7
mov eax, dword [ebp + 0x14]
mov edx, dword [ebp + 0x10]
sub edx, 1
je 0x45d049
sub edx, 3
je 0x45d049
sub edx, 3
jne 0x45d05c
mov edx, dword [eax + 8]
mov ecx, dword [0x475868]
sub edx, dword [ecx + 0x2ee4]
mov dword [eax], edx
jmp 0x45d07f
mov edx, dword [ebp + 0x10]
sub edx, 2
je 0x45d06e
sub edx, 3
je 0x45d06e
sub edx, 3
jne 0x45d07f
mov edx, dword [eax]
mov ecx, dword [0x475868]
add edx, dword [ecx + 0x2ee4]
mov dword [eax + 8], edx
mov edx, dword [ebp + 0x10]
add edx, 0xfffffffa
sub edx, 3
jae 0x45d0a1
mov edx, dword [eax + 4]
mov ecx, dword [0x475868]
add edx, dword [ecx + 0x2ee8]
mov dword [eax + 0xc], edx
jmp case.0x45d427.0
mov edx, dword [ebp + 0x10]
add edx, 0xfffffffd
sub edx, 3
jae case.0x45d427.0
mov edx, dword [eax + 0xc]
mov ecx, dword [0x475868]
sub edx, dword [ecx + 0x2ee8]
mov dword [eax + 4], edx
jmp case.0x45d427.0
mov eax, dword [0x475868]
cmp byte [eax + 0xcf2], 0
je 0x45d41b
lea eax, [ebp - 0x1c]
push eax
call sub.user32.dll_GetCursorPos
mov eax, dword [ebp - 0xc]
cmp eax, 8
ja case.0x45d427.0
jmp dword [eax*4 + 0x45d0f5]
mov edx, dword [ebp - 8]
mov eax, dword [0x475868]
call fcn.0045ad68
cmp dword [ebp - 0xc], 3
jne 0x45d13d
mov edx, dword [ebp - 8]
mov eax, dword [0x475868]
call fcn.0045ada8
mov ebx, eax
jmp 0x45d14c
mov edx, dword [ebp - 8]
mov eax, dword [0x475868]
call fcn.0045ade8
mov ebx, eax
test bl, bl
je case.0x45d427.0
mov edx, dword [ebp - 8]
mov eax, dword [0x475868]
call fcn.0045ad68
jmp case.0x45d427.0
mov edx, dword [ebp - 8]
mov eax, dword [0x475868]
call fcn.0045ade8
cmp dword [ebp - 0xc], 1
jne 0x45d18a
mov edx, dword [ebp - 8]
mov eax, dword [0x475868]
call fcn.0045ad28
mov ebx, eax
jmp 0x45d199
mov edx, dword [ebp - 8]
mov eax, dword [0x475868]
call fcn.0045ad68
mov ebx, eax
test bl, bl
je case.0x45d427.0
mov edx, dword [ebp - 8]
mov eax, dword [0x475868]
call fcn.0045ade8
jmp case.0x45d427.0
mov eax, dword [0x475868]
push dword [eax + 0x30]
mov eax, dword [ebp - 0x1c]
pop edx
sub eax, edx
mov edx, dword [0x475868]
sub eax, dword [edx + 0x38]
cdq
xor eax, edx
sub eax, edx
mov ecx, eax
mov eax, dword [0x475868]
mov eax, dword [eax + 0x34]
sub eax, dword [ebp - 0x18]
cdq
xor eax, edx
sub eax, edx
cmp ecx, eax
jge 0x45d219
mov edx, dword [ebp - 8]
mov eax, dword [0x475868]
call fcn.0045ada8
mov edx, dword [ebp - 8]
mov eax, dword [0x475868]
call fcn.0045ad68
test al, al
je case.0x45d427.0
mov edx, dword [ebp - 8]
mov eax, dword [0x475868]
call fcn.0045ada8
jmp case.0x45d427.0
mov edx, dword [ebp - 8]
mov eax, dword [0x475868]
call fcn.0045ad68
mov edx, dword [ebp - 8]
mov eax, dword [0x475868]
call fcn.0045ada8
test al, al
je case.0x45d427.0
mov edx, dword [ebp - 8]
mov eax, dword [0x475868]
call fcn.0045ad68
jmp case.0x45d427.0
mov eax, dword [0x475868]
push dword [eax + 0x30]
mov eax, dword [ebp - 0x1c]
pop edx
sub eax, edx
cdq
xor eax, edx
sub eax, edx
mov ecx, eax
mov eax, dword [0x475868]
mov eax, dword [eax + 0x34]
sub eax, dword [ebp - 0x18]
cdq
xor eax, edx
sub eax, edx
cmp ecx, eax
jge 0x45d2aa
mov edx, dword [ebp - 8]
mov eax, dword [0x475868]
call fcn.0045ada8
mov edx, dword [ebp - 8]
mov eax, dword [0x475868]
call fcn.0045ad28
test al, al
je case.0x45d427.0
mov edx, dword [ebp - 8]
mov eax, dword [0x475868]
call fcn.0045ada8
jmp case.0x45d427.0
mov edx, dword [ebp - 8]
mov eax, dword [0x475868]
call fcn.0045ad28
mov edx, dword [ebp - 8]
mov eax, dword [0x475868]
call fcn.0045ada8
test al, al
je case.0x45d427.0
mov edx, dword [ebp - 8]
mov eax, dword [0x475868]
call fcn.0045ad28
jmp case.0x45d427.0
mov eax, dword [0x475868]
push dword [eax + 0x30]
mov eax, dword [ebp - 0x1c]
pop edx
sub eax, edx
mov edx, dword [0x475868]
sub eax, dword [edx + 0x38]
cdq
xor eax, edx
sub eax, edx
mov ecx, eax
mov eax, dword [0x475868]
mov eax, dword [eax + 0x34]
mov edx, dword [0x475868]
add eax, dword [edx + 0x3c]
sub eax, dword [ebp - 0x18]
cdq
xor eax, edx
sub eax, edx
cmp ecx, eax
jge 0x45d34d
mov edx, dword [ebp - 8]
mov eax, dword [0x475868]
call fcn.0045ade8
mov edx, dword [ebp - 8]
mov eax, dword [0x475868]
call fcn.0045ad68
test al, al
je case.0x45d427.0
mov edx, dword [ebp - 8]
mov eax, dword [0x475868]
call fcn.0045ade8
jmp case.0x45d427.0
mov edx, dword [ebp - 8]
mov eax, dword [0x475868]
call fcn.0045ad68
mov edx, dword [ebp - 8]
mov eax, dword [0x475868]
call fcn.0045ade8
test al, al
je case.0x45d427.0
mov edx, dword [ebp - 8]
mov eax, dword [0x475868]
call fcn.0045ad68
jmp case.0x45d427.0
mov eax, dword [0x475868]
push dword [eax + 0x30]
mov eax, dword [ebp - 0x1c]
pop edx
sub eax, edx
cdq
xor eax, edx
sub eax, edx
mov ecx, eax
mov eax, dword [0x475868]
mov eax, dword [eax + 0x34]
mov edx, dword [0x475868]
add eax, dword [edx + 0x3c]
sub eax, dword [ebp - 0x18]
cdq
xor eax, edx
sub eax, edx
cmp ecx, eax
jge 0x45d3e7
mov edx, dword [ebp - 8]
mov eax, dword [0x475868]
call fcn.0045ade8
mov edx, dword [ebp - 8]
mov eax, dword [0x475868]
call fcn.0045ad28
test al, al
je case.0x45d427.0
mov edx, dword [ebp - 8]
mov eax, dword [0x475868]
call fcn.0045ade8
jmp case.0x45d427.0
mov edx, dword [ebp - 8]
mov eax, dword [0x475868]
call fcn.0045ad28
mov edx, dword [ebp - 8]
mov eax, dword [0x475868]
call fcn.0045ade8
test al, al
je case.0x45d427.0
mov edx, dword [ebp - 8]
mov eax, dword [0x475868]
call fcn.0045ad28
jmp case.0x45d427.0
mov eax, dword [ebp - 0xc]
cmp eax, 8
ja case.0x45d427.0
jmp dword [eax*4 + 0x45d42e]
mov edx, dword [ebp - 8]
mov eax, dword [0x475868]
call fcn.0045acc0
jmp case.0x45d427.0
mov edx, dword [ebp - 8]
mov eax, dword [0x475868]
call fcn.0045acf8
jmp case.0x45d427.0
mov edx, dword [ebp - 8]
mov eax, dword [0x475868]
call fcn.0045ac90
jmp case.0x45d427.0
mov edx, dword [ebp - 8]
mov eax, dword [0x475868]
call fcn.0045ac5c
jmp case.0x45d427.0
mov edx, dword [ebp - 8]
mov eax, dword [0x475868]
call fcn.0045acc0
mov edx, dword [ebp - 8]
mov eax, dword [0x475868]
call fcn.0045ac90
jmp case.0x45d427.0
mov edx, dword [ebp - 8]
mov eax, dword [0x475868]
call fcn.0045acc0
mov edx, dword [ebp - 8]
mov eax, dword [0x475868]
call fcn.0045ac5c
jmp case.0x45d427.0
mov edx, dword [ebp - 8]
mov eax, dword [0x475868]
call fcn.0045acf8
mov edx, dword [ebp - 8]
mov eax, dword [0x475868]
call fcn.0045ac90
jmp case.0x45d427.0
mov edx, dword [ebp - 8]
mov eax, dword [0x475868]
call fcn.0045acf8
mov edx, dword [ebp - 8]
mov eax, dword [0x475868]
call fcn.0045ac5c
jmp case.0x45d427.0
lea eax, [ebp - 0x30]
push eax
mov eax, dword [ebp + 8]
push eax
call sub.user32.dll_GetWindowRect
mov edx, dword [ebp - 0x30]
mov eax, dword [0x475868]
call fcn.00425f88
mov edx, dword [ebp - 0x2c]
mov eax, dword [0x475868]
call fcn.00425fa8
mov edx, dword [ebp - 0x28]
sub edx, dword [ebp - 0x30]
mov eax, dword [0x475868]
call fcn.00425fc8
mov edx, dword [ebp - 0x24]
sub edx, dword [ebp - 0x2c]
mov eax, dword [0x475868]
call fcn.00425fe8
jmp case.0x45d427.0
mov eax, dword [0x475868]
mov byte [eax + 0x2f76], 1
jmp case.0x45d427.0
mov eax, dword [0x475868]
mov byte [eax + 0x2f76], 0
jmp case.0x45d427.0
xor edx, edx
push ebp
push 0x45d763
push dword fs:[edx]
mov dword fs:[edx], esp
mov eax, dword [0x475868]
mov eax, dword [eax + 0x2f68]
test eax, eax
je 0x45d749
cmp byte [eax + 0x55c], 0
jne 0x45d749
lea eax, [ebp - 0x30]
push eax
mov eax, dword [ebp + 8]
push eax
call sub.user32.dll_GetWindowRect
lea edx, [ebp - 0x30]
mov eax, dword [0x475868]
call fcn.00426d3c
lea edx, [ebp - 0x30]
mov eax, dword [0x475868]
call fcn.00464d48
mov eax, dword [ebp - 0x2c]
mov dword [0x475cbc], eax
mov eax, dword [ebp - 0x30]
mov dword [0x475cb8], eax
mov eax, dword [ebp - 0x28]
sub eax, dword [ebp - 0x30]
mov dword [0x475cc0], eax
mov eax, dword [ebp - 0x24]
sub eax, dword [ebp - 0x2c]
mov dword [0x475cc4], eax
mov byte [0x475cc8], 1
mov eax, dword [0x475868]
mov eax, dword [eax + 0x2eac]
mov edx, dword [0x475868]
or eax, dword [edx + 0x2eb0]
je 0x45d749
mov eax, dword [0x475868]
call fcn.00427e20
mov edi, eax
dec edi
test edi, edi
jl 0x45d749
inc edi
xor esi, esi
mov edx, esi
mov eax, dword [0x475868]
call fcn.00427df0
mov ebx, eax
mov eax, dword [ebx + 0xc]
test al, 4
je 0x45d678
mov eax, dword [0x475868]
mov edx, dword [eax + esi*4 + 0x2fa4]
mov eax, dword [0x475868]
add edx, dword [eax + 0x38]
mov eax, dword [0x475868]
sub edx, dword [eax + 0x2eac]
mov eax, ebx
call fcn.00425f88
jmp 0x45d6c5
test al, 1
jne 0x45d6c5
mov eax, dword [ebx + 0x38]
sar eax, 1
jns 0x45d686
adc eax, 0
mov dword [ebp - 0x20], eax
mov eax, dword [0x475868]
mov eax, dword [eax + esi*4 + 0x2fa4]
add eax, dword [ebp - 0x20]
mov edx, dword [0x475868]
imul dword [edx + 0x38]
mov dword [ebp - 0x80], eax
fild dword [ebp - 0x80]
mov eax, dword [0x475868]
fild dword [eax + 0x2eac]
fdivp st(1)
call fcn.00402980
mov edx, eax
sub edx, dword [ebp - 0x20]
mov eax, ebx
call fcn.00425f88
mov eax, dword [ebx + 0xc]
test al, 8
je 0x45d6f4
mov eax, dword [0x475868]
mov edx, dword [eax + esi*4 + 0x3018]
mov eax, dword [0x475868]
add edx, dword [eax + 0x3c]
mov eax, dword [0x475868]
sub edx, dword [eax + 0x2eb0]
mov eax, ebx
call fcn.00425fa8
jmp 0x45d741
test al, 2
jne 0x45d741
mov eax, dword [ebx + 0x3c]
sar eax, 1
jns 0x45d702
adc eax, 0
mov dword [ebp - 0x20], eax
mov eax, dword [0x475868]
mov eax, dword [eax + esi*4 + 0x3018]
add eax, dword [ebp - 0x20]
mov edx, dword [0x475868]
imul dword [edx + 0x3c]
mov dword [ebp - 0x80], eax
fild dword [ebp - 0x80]
mov eax, dword [0x475868]
fild dword [eax + 0x2eb0]
fdivp st(1)
call fcn.00402980
mov edx, eax
sub edx, dword [ebp - 0x20]
mov eax, ebx
call fcn.00425fa8
inc esi
dec edi
jne 0x45d63b
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push case.0x45d427.0
mov eax, dword [0x475868]
mov byte [eax + 0x2f76], 0
ret
cmp dword [0x475868], 0
je case.0x45d427.0
mov eax, dword [0x475868]
mov eax, dword [eax + 0x2f8c]
cmp eax, dword [ebp + 0xc]
jne 0x45d85b
cmp dword [ebp + 0x10], 0
jne 0x45d80c
mov eax, dword [0x475868]
mov dword [eax + 0x2f8c], 0xffffffff
lea edx, [ebp - 0x84]
xor eax, eax
call fcn.004028b0
mov eax, dword [ebp - 0x84]
lea edx, [ebp - 0x5c]
call fcn.0040784c
mov eax, dword [ebp - 0x5c]
push eax
lea edx, [ebp - 0x88]
mov eax, dword [ebp + 0x14]
call fcn.0045ab74
mov eax, dword [ebp - 0x88]
lea edx, [ebp - 0x84]
call fcn.0040784c
mov eax, dword [ebp - 0x84]
pop edx
call fcn.004071a8
test eax, eax
jne case.0x45d427.0
push 0
push 0xf060
push 0x112
mov eax, dword [ebp + 8]
push eax
call sub.user32.dll_SendMessageA
jmp case.0x45d427.0
mov edx, dword [ebp + 0x14]
mov eax, dword [ebp + 0x10]
call fcn.0045aba8
test al, al
je case.0x45d427.0
mov eax, dword [0x475868]
cmp dword [eax + 0x2f60], 0
je case.0x45d427.0
mov eax, dword [ebp + 0x14]
push eax
mov eax, dword [ebp + 0x10]
push eax
mov eax, dword [0x475868]
mov eax, dword [eax + 0x2f8c]
push eax
mov eax, dword [0x475868]
mov eax, dword [eax + 0x2f60]
push eax
call sub.user32.dll_PostMessageA
jmp case.0x45d427.0
mov eax, dword [0x475868]
mov eax, dword [eax + 0x2f5c]
cmp eax, dword [ebp + 0xc]
jne case.0x45d427.0
mov dword [ebp - 4], 0xffffffff
mov byte [ebp - 0x11], 1
mov eax, dword [ebp - 0xc]
sub eax, 1
jb 0x45d886
je 0x45d892
jmp case.0x45d427.0
mov eax, 0x45dab4
mov eax, dword [eax]
mov dword [ebp - 4], eax
jmp case.0x45d427.0
mov eax, dword [ebp - 8]
and eax, 1
sub eax, 1
jb 0x45d8a1
je 0x45d8b3
jmp 0x45d8cf
mov eax, dword [0x475cb8]
mov dword [ebp - 0x1c], eax
mov eax, dword [0x475cbc]
mov dword [ebp - 0x18], eax
jmp 0x45d8cf
mov eax, dword [0x475cb8]
add eax, dword [0x475cc0]
mov dword [ebp - 0x1c], eax
mov eax, dword [0x475cbc]
add eax, dword [0x475cc4]
mov dword [ebp - 0x18], eax
lea eax, [ebp - 0x1c]
push eax
mov eax, dword [ebp + 8]
push eax
call sub.user32.dll_ClientToScreen
mov eax, dword [ebp - 8]
and eax, 0xfe
sub eax, 1
jb 0x45d8ee
dec eax
je 0x45d8f6
jmp case.0x45d427.0
mov eax, dword [ebp - 0x1c]
mov dword [ebp - 4], eax
jmp case.0x45d427.0
mov eax, dword [ebp - 0x18]
mov dword [ebp - 4], eax
mov esi, dword [ebp - 4]
mov eax, dword [ebp - 0x10]
cmp eax, 0x400
jle 0x45d914
cmp eax, 0x432
jg 0x45d914
mov byte [ebp - 0x11], 1
mov eax, dword [ebp + 0x14]
mov dword [ebp - 8], eax
mov bl, byte [ebp - 0x11]
xor bl, 1
test bl, bl
je 0x45d934
cmp dword [ebp - 0x10], 0x112
jne 0x45d934
push 1
call sub.kernel32.dll_Sleep
test bl, bl
je 0x45da13
cmp dword [ebp - 0x10], 0x112
jne 0x45d976
mov eax, dword [0x475868]
cmp dword [eax + 0x2f68], 0
je 0x45d976
mov eax, dword [ebp + 0x10]
and eax, 0xfff0
sub eax, 0xf090
je 0x45d967
sub eax, 0x70
jne 0x45d976
mov eax, dword [0x475868]
mov eax, dword [eax + 0x2f68]
mov byte [eax + 0x57], 1
mov eax, dword [0x475868]
cmp dword [eax + 0x3090], 0
je 0x45d99e
lea edx, [ebp - 0x10]
mov ebx, dword [0x475868]
mov eax, dword [ebx + 0x3094]
call dword [ebx + 0x3090]
mov esi, dword [ebp - 4]
jmp 0x45d9b5
mov eax, dword [ebp + 0x14]
push eax
mov eax, dword [ebp + 0x10]
push eax
mov eax, dword [ebp + 0xc]
push eax
mov eax, dword [ebp + 8]
push eax
call sub.user32.dll_DefWindowProcA
mov esi, eax
cmp dword [ebp - 0x10], 0x112
jne 0x45d9ef
mov eax, dword [0x475868]
cmp dword [eax + 0x2f68], 0
je 0x45d9ef
mov eax, dword [ebp + 0x10]
and eax, 0xfff0
sub eax, 0xf090
je 0x45d9e0
sub eax, 0x70
jne 0x45d9ef
mov eax, dword [0x475868]
mov eax, dword [eax + 0x2f68]
mov byte [eax + 0x57], 0
cmp dword [ebp - 0x10], 0x112
jne 0x45da13
mov eax, dword [ebp - 0xc]
and eax, 0xfff0
cmp eax, 0xf030
jne 0x45da13
mov eax, dword [0x475868]
mov byte [eax + 0x9f4], 0
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x45da40
lea eax, [ebp - 0x88]
mov edx, 2
call fcn.004039c0
lea eax, [ebp - 0x5c]
call fcn.0040399c
ret