Function at 0x10058c30
Capabilities:
Check for time delay via gettickcount

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x10159226
mov eax, dword fs:[0]
push eax
sub esp, 0x77c
mov eax, dword [0x101a4494]
xor eax, ebp
mov dword [ebp - 0x10], eax
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x3e0], ecx
mov eax, dword [ebp - 0x3e0]
cmp dword [eax], 0
jne 0x10058c73
xor al, al
jmp 0x1005bb28
mov dword [ebp - 0x3e8], 0
mov ecx, dword [ebp - 0x3e0]
add ecx, 0x2a4
push ecx
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
push 0
mov ecx, dword [ebp - 0x3e0]
add ecx, 0x110
call fcn.10054d30
mov dword [ebp - 0x3e8], eax
push 0
mov ecx, dword [ebp - 0x3e0]
add ecx, 0x110
call fcn.10055360
mov edx, dword [ebp - 0x3e0]
add edx, 0x2a4
push edx
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
cmp dword [ebp - 0x3e8], 0
je 0x10058dfd
mov byte [ebp - 0x3f1], 0
mov eax, dword [ebp - 0x3e8]
cmp dword [eax + 0x108], 0
je 0x10058d36
mov ecx, dword [ebp - 0x3e8]
mov ecx, dword [ecx + 0x108]
add ecx, 0x38
call fcn.10062b90
movzx edx, al
test edx, edx
je 0x10058d36
mov eax, dword [ebp - 0x3e8]
push eax
mov ecx, dword [ebp - 0x3e8]
mov ecx, dword [ecx + 0x108]
add ecx, 0x38
call fcn.10062be0
movzx edx, al
test edx, edx
je 0x10058d36
mov byte [ebp - 0x3f1], 1
movzx eax, byte [ebp - 0x3f1]
test eax, eax
jne 0x10058dbd
mov dword [ebp - 0x420], 0
jmp 0x10058d5c
mov ecx, dword [ebp - 0x420]
add ecx, 1
mov dword [ebp - 0x420], ecx
mov ecx, dword [ebp - 0x3e0]
add ecx, 0xc8
call fcn.10054e40
cmp dword [ebp - 0x420], eax
jge 0x10058dbd
mov edx, dword [ebp - 0x3e8]
cmp dword [edx + 0x108], 0
je 0x10058dbd
mov eax, dword [ebp - 0x420]
push eax
mov ecx, dword [ebp - 0x3e0]
add ecx, 0xc8
call fcn.10054530
mov dword [ebp - 0x4b8], eax
mov ecx, dword [ebp - 0x3e8]
push ecx
mov edx, dword [ebp - 0x4b8]
mov eax, dword [edx]
mov ecx, dword [ebp - 0x4b8]
mov edx, dword [eax]
call edx
jmp 0x10058d4d
mov eax, dword [ebp - 0x3e8]
mov dword [ebp - 0x5bc], eax
mov ecx, dword [ebp - 0x5bc]
mov dword [ebp - 0x49c], ecx
cmp dword [ebp - 0x49c], 0
je 0x10058df3
push 1
mov ecx, dword [ebp - 0x49c]
call fcn.10056e40
mov dword [ebp - 0x5b8], eax
jmp 0x10058dfd
mov dword [ebp - 0x5b8], 0
cmp dword [ebp - 0x3e8], 0
jne 0x10058c7d
mov dword [ebp - 0x424], 0
jmp 0x10058e25
mov edx, dword [ebp - 0x424]
add edx, 1
mov dword [ebp - 0x424], edx
mov ecx, dword [ebp - 0x3e0]
add ecx, 0xec
call fcn.10054e40
cmp dword [ebp - 0x424], eax
jge 0x10058eb0
mov byte [ebp - 0x3f2], 0
mov eax, dword [ebp - 0x424]
push eax
mov ecx, dword [ebp - 0x3e0]
add ecx, 0xec
call fcn.10054530
mov dword [ebp - 0x4a4], eax
lea ecx, [ebp - 0x3f2]
push ecx
mov edx, dword [ebp + 0x10]
push edx
mov eax, dword [ebp + 0xc]
push eax
mov ecx, dword [ebp + 8]
push ecx
mov edx, dword [ebp - 0x4a4]
mov eax, dword [edx]
mov ecx, dword [ebp - 0x4a4]
mov edx, dword [eax]
call edx
mov dword [ebp - 0x5b4], eax
movzx eax, byte [ebp - 0x3f2]
test eax, eax
je 0x10058eab
mov ecx, dword [ebp + 0x14]
mov edx, dword [ebp - 0x5b4]
mov dword [ecx], edx
mov al, 1
jmp 0x1005bb28
jmp 0x10058e16
mov eax, dword [ebp + 8]
mov dword [ebp - 0x3e4], eax
cmp dword [ebp - 0x3e4], 0x111
ja 0x10058f08
cmp dword [ebp - 0x3e4], 0x111
je 0x1005b916
mov ecx, dword [ebp - 0x3e4]
sub ecx, 5
mov dword [ebp - 0x3e4], ecx
cmp dword [ebp - 0x3e4], 0xfd
ja case.default.0x10058f9a
mov edx, dword [ebp - 0x3e4]
movzx eax, byte [edx + 0x1005bb74]
jmp dword [eax*4 + 0x1005bb44]
cmp dword [ebp - 0x3e4], 0x200
ja 0x10058f59
cmp dword [ebp - 0x3e4], 0x200
je 0x1005a84e
cmp dword [ebp - 0x3e4], 0x113
je 0x1005a281
cmp dword [ebp - 0x3e4], 0x133
je 0x1005b954
cmp dword [ebp - 0x3e4], 0x138
je 0x1005b954
jmp case.default.0x10058f9a
cmp dword [ebp - 0x3e4], 0x20a
ja 0x10058fa1
cmp dword [ebp - 0x3e4], 0x20a
je 0x1005b2b4
mov ecx, dword [ebp - 0x3e4]
sub ecx, 0x201
mov dword [ebp - 0x3e4], ecx
cmp dword [ebp - 0x3e4], 3
ja case.default.0x10058f9a
mov edx, dword [ebp - 0x3e4]
jmp dword [edx*4 + 0x1005bc74]
cmp dword [ebp - 0x3e4], 0x318
ja 0x10058ff2
cmp dword [ebp - 0x3e4], 0x318
je 0x1005a003
cmp dword [ebp - 0x3e4], 0x215
je 0x1005ae50
cmp dword [ebp - 0x3e4], 0x2a1
je 0x1005a423
cmp dword [ebp - 0x3e4], 0x2a3
je 0x1005a7e6
jmp case.default.0x10058f9a
cmp dword [ebp - 0x3e4], 0x31e
je 0x1005922c
cmp dword [ebp - 0x3e4], 0x8001
je 0x10059013
jmp case.default.0x10058f9a
mov eax, dword [ebp - 0x3e0]
add eax, 0x104
push eax
lea ecx, [ebp - 0x710]
call fcn.10054190
mov dword [ebp - 4], 0
mov ecx, dword [ebp - 0x3e0]
add ecx, 0x104
call fcn.10054a20
mov dword [ebp - 0x428], 0
jmp 0x1005905d
mov ecx, dword [ebp - 0x428]
add ecx, 1
mov dword [ebp - 0x428], ecx
lea ecx, [ebp - 0x710]
call fcn.10054e40
cmp dword [ebp - 0x428], eax
jge 0x100590a6
mov edx, dword [ebp - 0x428]
push edx
lea ecx, [ebp - 0x710]
call fcn.10054530
mov dword [ebp - 0x458], eax
cmp dword [ebp - 0x458], 0
je 0x100590a4
mov eax, dword [ebp - 0x458]
mov edx, dword [eax]
mov ecx, dword [ebp - 0x458]
mov eax, dword [edx + 4]
call eax
jmp 0x1005904e
lea ecx, [ebp - 0x710]
call fcn.10054a20
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x710]
call fcn.10054330
jmp case.default.0x10058f9a
xor ecx, ecx
mov dword [ebp - 0x57c], ecx
mov dword [ebp - 0x578], ecx
mov dword [ebp - 0x574], ecx
mov dword [ebp - 0x570], ecx
mov dword [ebp - 0x56c], ecx
mov dword [ebp - 0x568], ecx
mov dword [ebp - 0x564], ecx
mov dword [ebp - 0x560], ecx
mov edx, dword [ebp - 0x3e0]
mov eax, dword [edx + 0x70]
mov ecx, dword [edx + 0x74]
mov dword [ebp - 0x570], eax
mov dword [ebp - 0x56c], ecx
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp - 0x574], eax
mov edx, dword [ebp - 0x3e0]
cmp dword [edx + 0x64], 0
je 0x10059166
mov dword [ebp - 0x57c], 0xa
mov eax, dword [ebp - 0x3e0]
mov ecx, dword [eax + 0x64]
mov dword [ebp - 0x578], ecx
lea edx, [ebp - 0x57c]
push edx
mov eax, dword [ebp - 0x3e0]
mov ecx, dword [eax + 0x64]
mov edx, dword [ebp - 0x3e0]
mov eax, dword [ecx]
mov ecx, dword [edx + 0x64]
mov edx, dword [eax + 0x158]
call edx
mov eax, dword [ebp - 0x3e0]
cmp dword [eax + 0x68], 0
je 0x100591ae
mov dword [ebp - 0x57c], 0xe
mov ecx, dword [ebp - 0x3e0]
mov edx, dword [ecx + 0x68]
mov dword [ebp - 0x578], edx
lea eax, [ebp - 0x57c]
push eax
mov ecx, dword [ebp - 0x3e0]
mov edx, dword [ecx + 0x68]
mov eax, dword [ebp - 0x3e0]
mov edx, dword [edx]
mov ecx, dword [eax + 0x68]
mov eax, dword [edx + 0x158]
call eax
push 0
mov ecx, dword [ebp - 0x3e0]
call fcn.1005e270
push 4
mov ecx, dword [ebp - 0x3e0]
mov edx, dword [ecx]
push edx
call dword [sym.imp.USER32.dll_GetWindow]
mov dword [ebp - 0x4a8], eax
cmp dword [ebp - 0x4a8], 0
je 0x100591e8
mov eax, dword [ebp - 0x4a8]
push eax
call dword [sym.imp.USER32.dll_SetFocus]
jmp case.default.0x10058f9a
mov ecx, dword [ebp - 0x3e0]
cmp dword [ecx + 0x2a0], 0
jne 0x1005921c
mov edx, dword [ebp - 0x3e0]
mov byte [edx + 0xbd], 1
push 0
push 0
mov eax, dword [ebp - 0x3e0]
mov ecx, dword [eax]
push ecx
call dword [sym.imp.USER32.dll_InvalidateRect]
mov edx, dword [ebp + 0x14]
mov dword [edx], 1
mov al, 1
jmp 0x1005bb28
mov eax, dword [ebp - 0x3e0]
add eax, 0x2a0
push eax
call fcn.10057ce0
add esp, 4
jmp case.default.0x10058f9a
xor ecx, ecx
mov dword [ebp - 0x238], ecx
mov dword [ebp - 0x234], ecx
mov dword [ebp - 0x230], ecx
mov dword [ebp - 0x22c], ecx
push 0
lea edx, [ebp - 0x238]
push edx
mov eax, dword [ebp - 0x3e0]
mov ecx, dword [eax]
push ecx
call dword [sym.imp.USER32.dll_GetUpdateRect]
test eax, eax
jne 0x10059282
mov al, 1
jmp 0x1005bb28
mov edx, dword [ebp - 0x3e0]
cmp dword [edx + 0x58], 0
jne 0x100592d4
push 0x40
push 0
lea eax, [ebp - 0x308]
push eax
call fcn.1012e610
add esp, 0xc
lea ecx, [ebp - 0x308]
push ecx
mov edx, dword [ebp - 0x3e0]
mov eax, dword [edx]
push eax
call dword [sym.imp.USER32.dll_BeginPaint]
lea ecx, [ebp - 0x308]
push ecx
mov edx, dword [ebp - 0x3e0]
mov eax, dword [edx]
push eax
call dword [sym.imp.USER32.dll_EndPaint]
mov al, 1
jmp 0x1005bb28
mov ecx, dword [ebp - 0x3e0]
movzx edx, byte [ecx + 0xc0]
test edx, edx
je 0x10059a41
push 0xffffffffffffffec
mov eax, dword [ebp - 0x3e0]
mov ecx, dword [eax]
push ecx
call dword [sym.imp.USER32.dll_GetWindowLongW]
mov dword [ebp - 0x4b0], eax
mov edx, dword [ebp - 0x4b0]
and edx, 0x80000
jne 0x1005932b
mov eax, dword [ebp - 0x4b0]
or eax, 0x80000
push eax
push 0xffffffffffffffec
mov ecx, dword [ebp - 0x3e0]
mov edx, dword [ecx]
push edx
call dword [sym.imp.USER32.dll_SetWindowLongW]
xor eax, eax
mov dword [ebp - 0x228], eax
mov dword [ebp - 0x224], eax
mov dword [ebp - 0x220], eax
mov dword [ebp - 0x21c], eax
lea ecx, [ebp - 0x228]
push ecx
mov edx, dword [ebp - 0x3e0]
mov eax, dword [edx]
push eax
call dword [sym.imp.USER32.dll_GetClientRect]
push 0x40
push 0
lea ecx, [ebp - 0x2c8]
push ecx
call fcn.1012e610
add esp, 0xc
lea edx, [ebp - 0x2c8]
push edx
mov eax, dword [ebp - 0x3e0]
mov ecx, dword [eax]
push ecx
call dword [sym.imp.USER32.dll_BeginPaint]
mov edx, dword [ebp - 0x3e0]
cmp dword [edx + 0x10], 0
je 0x100593a0
mov eax, dword [ebp - 0x3e0]
mov ecx, dword [eax + 0x10]
push ecx
call dword [sym.imp.GDI32.dll_DeleteDC]
mov edx, dword [ebp - 0x3e0]
cmp dword [edx + 0x18], 0
je 0x100593bc
mov eax, dword [ebp - 0x3e0]
mov ecx, dword [eax + 0x18]
push ecx
call dword [sym.imp.GDI32.dll_DeleteObject]
mov edx, dword [ebp - 0x3e0]
mov dword [edx + 0x10], 0
mov eax, dword [ebp - 0x3e0]
mov dword [eax + 0x18], 0
mov ecx, dword [ebp - 0x3e0]
movzx edx, byte [ecx + 0xbd]
test edx, edx
je 0x100595cf
mov eax, dword [ebp - 0x3e0]
mov byte [eax + 0xbd], 0
lea ecx, [ebp - 0x228]
push ecx
call dword [sym.imp.USER32.dll_IsRectEmpty]
test eax, eax
jne 0x100595cf
mov edx, dword [ebp - 0x3e0]
mov ecx, dword [edx + 0x58]
call fcn.10064a60
movzx eax, al
test eax, eax
je 0x100594be
mov ecx, dword [ebp - 0x3e0]
cmp dword [ecx + 0x10], 0
je 0x10059442
mov edx, dword [ebp - 0x3e0]
mov eax, dword [edx + 0x10]
push eax
call dword [sym.imp.GDI32.dll_DeleteDC]
mov ecx, dword [ebp - 0x3e0]
cmp dword [ecx + 0x18], 0
je 0x1005945e
mov edx, dword [ebp - 0x3e0]
mov eax, dword [edx + 0x18]
push eax
call dword [sym.imp.GDI32.dll_DeleteObject]
mov ecx, dword [ebp - 0x3e0]
mov dword [ecx + 0x10], 0
mov edx, dword [ebp - 0x3e0]
mov dword [edx + 0x18], 0
sub esp, 0x10
mov eax, esp
mov ecx, dword [ebp - 0x228]
mov dword [eax], ecx
mov edx, dword [ebp - 0x224]
mov dword [eax + 4], edx
mov ecx, dword [ebp - 0x220]
mov dword [eax + 8], ecx
mov edx, dword [ebp - 0x21c]
mov dword [eax + 0xc], edx
mov eax, dword [ebp - 0x3e0]
mov ecx, dword [eax + 0x58]
mov edx, dword [ebp - 0x3e0]
mov eax, dword [ecx]
mov ecx, dword [edx + 0x58]
mov edx, dword [eax + 0x38]
call edx
jmp 0x10059542
mov dword [ebp - 0x414], 0
push SysReAllocString
push 0
push 0x1005f060
mov eax, dword [ebp - 0x3e0]
mov ecx, dword [eax + 0x58]
mov edx, dword [ebp - 0x3e0]
mov eax, dword [ecx]
mov ecx, dword [edx + 0x58]
mov edx, dword [eax + 0x14c]
call edx
mov dword [ebp - 0x414], eax
cmp dword [ebp - 0x414], 0
je 0x10059542
mov eax, dword [ebp - 0x414]
mov edx, dword [eax]
mov ecx, dword [ebp - 0x414]
mov eax, dword [edx + 0x34]
call eax
sub esp, 0x10
mov ecx, esp
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 ecx, dword [ebp - 0x414]
mov edx, dword [ecx]
mov ecx, dword [ebp - 0x414]
mov eax, dword [edx + 0x38]
call eax
jmp 0x100594c8
mov ecx, dword [ebp - 0x3e0]
add ecx, 0x290
mov edx, dword [ebp - 0x228]
mov dword [ecx], edx
mov eax, dword [ebp - 0x224]
mov dword [ecx + 4], eax
mov edx, dword [ebp - 0x220]
mov dword [ecx + 8], edx
mov eax, dword [ebp - 0x21c]
mov dword [ecx + 0xc], eax
mov ecx, dword [ebp - 0x3e0]
movzx edx, byte [ecx + 0xbc]
test edx, edx
je 0x100595af
mov eax, dword [ebp - 0x3e0]
mov byte [eax + 0xbc], 0
push 0
push 0
push 0
push str.windowinit
mov ecx, dword [ebp - 0x3e0]
mov edx, dword [ecx + 0x58]
push edx
mov ecx, dword [ebp - 0x3e0]
call fcn.1005db90
push 0
push 0
push 0
push str.windowresized
mov eax, dword [ebp - 0x3e0]
mov ecx, dword [eax + 0x58]
push ecx
mov ecx, dword [ebp - 0x3e0]
call fcn.1005db90
mov edx, dword [ebp - 0x3e0]
movzx eax, byte [edx + 0xbe]
test eax, eax
je 0x100595ed
push 1
mov ecx, dword [ebp - 0x3e0]
call fcn.1005e680
mov ecx, dword [ebp - 0x3e0]
add ecx, 0x290
push ecx
lea edx, [ebp - 0x228]
push edx
lea eax, [ebp - 0x238]
push eax
call dword [sym.imp.USER32.dll_UnionRect]
push 0x10
push 0
mov ecx, dword [ebp - 0x3e0]
add ecx, 0x290
push ecx
call fcn.1012e610
add esp, 0xc
mov edx, dword [ebp - 0x220]
sub edx, dword [ebp - 0x228]
mov dword [ebp - 0x45c], edx
mov eax, dword [ebp - 0x21c]
sub eax, dword [ebp - 0x224]
mov dword [ebp - 0x5ac], eax
mov ecx, dword [ebp - 0x3e0]
movzx edx, byte [ecx + 0xbf]
test edx, edx
je 0x100596b4
mov eax, dword [ebp - 0x3e0]
cmp dword [eax + 0x18], 0
jne 0x100596b4
mov ecx, dword [ebp - 0x3e0]
mov edx, dword [ecx + 8]
push edx
call dword [sym.imp.GDI32.dll_CreateCompatibleDC]
mov ecx, dword [ebp - 0x3e0]
mov dword [ecx + 0x10], eax
mov edx, dword [ebp - 0x3e0]
add edx, 0x1c
push edx
mov eax, dword [ebp - 0x5ac]
push eax
mov ecx, dword [ebp - 0x45c]
push ecx
mov edx, dword [ebp - 0x3e0]
mov eax, dword [edx + 8]
push eax
call fcn.100697c0
add esp, 0x10
mov ecx, dword [ebp - 0x3e0]
mov dword [ecx + 0x18], eax
mov edx, dword [ebp - 0x3e0]
cmp dword [edx + 0x1c], 0
jne 0x100596dd
lea eax, [ebp - 0x2c8]
push eax
mov ecx, dword [ebp - 0x3e0]
mov edx, dword [ecx]
push edx
call dword [sym.imp.USER32.dll_EndPaint]
mov al, 1
jmp 0x1005bb28
mov eax, dword [ebp - 0x3e0]
mov ecx, dword [eax + 0x18]
push ecx
mov edx, dword [ebp - 0x3e0]
mov eax, dword [edx + 0x10]
push eax
call dword [sym.imp.GDI32.dll_SelectObject]
mov dword [ebp - 0x624], eax
mov ecx, dword [ebp - 0x3e0]
mov edx, dword [ecx + 0x10]
push edx
call dword [sym.imp.GDI32.dll_SaveDC]
mov dword [ebp - 0x5a0], eax
mov eax, dword [ebp - 0x224]
mov dword [ebp - 0x42c], eax
jmp 0x10059730
mov ecx, dword [ebp - 0x42c]
add ecx, 1
mov dword [ebp - 0x42c], ecx
mov edx, dword [ebp - 0x42c]
cmp edx, dword [ebp - 0x21c]
jge 0x10059774
mov eax, dword [ebp - 0x220]
sub eax, dword [ebp - 0x228]
shl eax, 2
push eax
push 0
mov ecx, dword [ebp - 0x42c]
imul ecx, dword [ebp - 0x45c]
mov edx, dword [ebp - 0x3e0]
mov eax, dword [edx + 0x1c]
lea ecx, [eax + ecx*4]
push ecx
call fcn.1012e610
add esp, 0xc
jmp 0x10059721
lea edx, [ebp - 0x238]
push edx
mov eax, dword [ebp - 0x3e0]
mov ecx, dword [eax + 0x10]
push ecx
mov edx, dword [ebp - 0x3e0]
mov eax, dword [edx + 0x58]
mov ecx, dword [ebp - 0x3e0]
mov edx, dword [eax]
mov ecx, dword [ecx + 0x58]
mov eax, dword [edx + 0x168]
call eax
lea ecx, [ebp - 0x238]
push ecx
mov edx, dword [ebp - 0x3e0]
mov eax, dword [edx + 0x10]
push eax
mov ecx, dword [ebp - 0x3e0]
call fcn.10057a10
mov dword [ebp - 0x430], 0
jmp 0x100597d8
mov ecx, dword [ebp - 0x430]
add ecx, 1
mov dword [ebp - 0x430], ecx
mov ecx, dword [ebp - 0x3e0]
add ecx, 0x284
call fcn.10054e40
cmp dword [ebp - 0x430], eax
jge 0x1005991f
mov edx, dword [ebp - 0x430]
push edx
mov ecx, dword [ebp - 0x3e0]
add ecx, 0x284
call fcn.10054530
mov dword [ebp - 0x434], eax
cmp dword [ebp - 0x434], 0
jne 0x1005981e
jmp 0x100597c9
mov eax, dword [ebp - 0x434]
mov edx, dword [eax]
mov ecx, dword [ebp - 0x434]
mov eax, dword [edx + 0x34]
call eax
mov ecx, dword [eax]
mov dword [ebp - 0x248], ecx
mov edx, dword [eax + 4]
mov dword [ebp - 0x244], edx
mov ecx, dword [eax + 8]
mov dword [ebp - 0x240], ecx
mov edx, dword [eax + 0xc]
mov dword [ebp - 0x23c], edx
mov ecx, dword [ebp - 0x434]
call fcn.1007b570
mov dword [ebp - 0x5a4], eax
lea eax, [ebp - 0x228]
push eax
lea ecx, [ebp - 0x248]
push ecx
lea edx, [ebp - 0x248]
push edx
call dword [sym.imp.USER32.dll_IntersectRect]
test eax, eax
je 0x1005991a
mov eax, dword [ebp - 0x244]
mov dword [ebp - 0x438], eax
jmp 0x100598a5
mov ecx, dword [ebp - 0x438]
add ecx, 1
mov dword [ebp - 0x438], ecx
mov edx, dword [ebp - 0x438]
cmp edx, dword [ebp - 0x23c]
jge 0x1005991a
mov eax, dword [ebp - 0x248]
mov dword [ebp - 0x43c], eax
jmp 0x100598d0
mov ecx, dword [ebp - 0x43c]
add ecx, 1
mov dword [ebp - 0x43c], ecx
mov edx, dword [ebp - 0x43c]
cmp edx, dword [ebp - 0x240]
jge 0x10059915
mov eax, dword [ebp - 0x438]
imul eax, dword [ebp - 0x45c]
add eax, dword [ebp - 0x43c]
shl eax, 2
mov dword [ebp - 0x5a8], eax
mov ecx, dword [ebp - 0x3e0]
mov edx, dword [ecx + 0x1c]
mov eax, dword [ebp - 0x5a8]
mov cl, byte [ebp - 0x5a4]
mov byte [edx + eax + 3], cl
jmp 0x100598c1
jmp 0x10059896
jmp 0x100597c9
mov edx, dword [ebp - 0x5a0]
push edx
mov eax, dword [ebp - 0x3e0]
mov ecx, dword [eax + 0x10]
push ecx
call dword [sym.imp.GDI32.dll_RestoreDC]
xor edx, edx
mov dword [ebp - 0x278], edx
mov dword [ebp - 0x274], edx
mov dword [ebp - 0x270], edx
mov dword [ebp - 0x26c], edx
lea eax, [ebp - 0x278]
push eax
mov ecx, dword [ebp - 0x3e0]
mov edx, dword [ecx]
push edx
call dword [sym.imp.USER32.dll_GetWindowRect]
mov eax, dword [ebp - 0x278]
mov dword [ebp - 0x780], eax
mov ecx, dword [ebp - 0x274]
mov dword [ebp - 0x77c], ecx
mov edx, dword [ebp - 0x220]
sub edx, dword [ebp - 0x228]
mov dword [ebp - 0x778], edx
mov eax, dword [ebp - 0x21c]
sub eax, dword [ebp - 0x224]
mov dword [ebp - 0x774], eax
mov dword [ebp - 0x788], 0
mov dword [ebp - 0x784], 0
mov byte [ebp - 0x440], 0
mov byte [ebp - 0x43f], 0
mov byte [ebp - 0x43e], 0xff
mov byte [ebp - 0x43d], 1
push 2
lea ecx, [ebp - 0x440]
push ecx
push 0
lea edx, [ebp - 0x788]
push edx
mov eax, dword [ebp - 0x3e0]
mov ecx, dword [eax + 0x10]
push ecx
lea edx, [ebp - 0x778]
push edx
lea eax, [ebp - 0x780]
push eax
push 0
mov ecx, dword [ebp - 0x3e0]
mov edx, dword [ecx]
push edx
call dword [sym.imp.USER32.dll_UpdateLayeredWindow]
mov eax, dword [ebp - 0x624]
push eax
mov ecx, dword [ebp - 0x3e0]
mov edx, dword [ecx + 0x10]
push edx
call dword [sym.imp.GDI32.dll_SelectObject]
lea eax, [ebp - 0x2c8]
push eax
mov ecx, dword [ebp - 0x3e0]
mov edx, dword [ecx]
push edx
call dword [sym.imp.USER32.dll_EndPaint]
mov al, 1
jmp 0x1005bb28
mov eax, dword [ebp - 0x3e0]
movzx ecx, byte [eax + 0xbd]
test ecx, ecx
je 0x10059c9e
mov edx, dword [ebp - 0x3e0]
mov byte [edx + 0xbd], 0
xor eax, eax
mov dword [ebp - 0x258], eax
mov dword [ebp - 0x254], eax
mov dword [ebp - 0x250], eax
mov dword [ebp - 0x24c], eax
lea ecx, [ebp - 0x258]
push ecx
mov edx, dword [ebp - 0x3e0]
mov eax, dword [edx]
push eax
call dword [sym.imp.USER32.dll_GetClientRect]
lea ecx, [ebp - 0x258]
push ecx
call dword [sym.imp.USER32.dll_IsRectEmpty]
test eax, eax
jne 0x10059c9e
mov edx, dword [ebp - 0x3e0]
mov ecx, dword [edx + 0x58]
call fcn.10064a60
movzx eax, al
test eax, eax
je 0x10059bbc
sub esp, 0x10
mov ecx, esp
mov edx, dword [ebp - 0x258]
mov dword [ecx], edx
mov eax, dword [ebp - 0x254]
mov dword [ecx + 4], eax
mov edx, dword [ebp - 0x250]
mov dword [ecx + 8], edx
mov eax, dword [ebp - 0x24c]
mov dword [ecx + 0xc], eax
mov ecx, dword [ebp - 0x3e0]
mov edx, dword [ecx + 0x58]
mov eax, dword [ebp - 0x3e0]
mov edx, dword [edx]
mov ecx, dword [eax + 0x58]
mov eax, dword [edx + 0x38]
call eax
mov ecx, dword [ebp - 0x3e0]
cmp dword [ecx + 0xc], 0
je 0x10059b1e
mov edx, dword [ebp - 0x3e0]
mov eax, dword [edx + 0xc]
push eax
call dword [sym.imp.GDI32.dll_DeleteDC]
mov ecx, dword [ebp - 0x3e0]
cmp dword [ecx + 0x14], 0
je 0x10059b3a
mov edx, dword [ebp - 0x3e0]
mov eax, dword [edx + 0x14]
push eax
call dword [sym.imp.GDI32.dll_DeleteObject]
mov ecx, dword [ebp - 0x3e0]
mov dword [ecx + 0xc], 0
mov edx, dword [ebp - 0x3e0]
mov dword [edx + 0x14], 0
mov eax, dword [ebp - 0x3e0]
movzx ecx, byte [eax + 0xc0]
test ecx, ecx
jne 0x10059bb7
mov edx, dword [ebp - 0x3e0]
cmp dword [edx + 0x10], 0
je 0x10059b81
mov eax, dword [ebp - 0x3e0]
mov ecx, dword [eax + 0x10]
push ecx
call dword [sym.imp.GDI32.dll_DeleteDC]
mov edx, dword [ebp - 0x3e0]
cmp dword [edx + 0x18], 0
je 0x10059b9d
mov eax, dword [ebp - 0x3e0]
mov ecx, dword [eax + 0x18]
push ecx
call dword [sym.imp.GDI32.dll_DeleteObject]
mov edx, dword [ebp - 0x3e0]
mov dword [edx + 0x10], 0
mov eax, dword [ebp - 0x3e0]
mov dword [eax + 0x18], 0
jmp 0x10059c40
mov dword [ebp - 0x410], 0
push SysReAllocString
push 0
push 0x1005f060
mov ecx, dword [ebp - 0x3e0]
mov edx, dword [ecx + 0x58]
mov eax, dword [ebp - 0x3e0]
mov edx, dword [edx]
mov ecx, dword [eax + 0x58]
mov eax, dword [edx + 0x14c]
call eax
mov dword [ebp - 0x410], eax
cmp dword [ebp - 0x410], 0
je 0x10059c40
mov ecx, dword [ebp - 0x410]
mov edx, dword [ecx]
mov ecx, dword [ebp - 0x410]
mov eax, dword [edx + 0x34]
call eax
sub esp, 0x10
mov ecx, esp
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 ecx, dword [ebp - 0x410]
mov edx, dword [ecx]
mov ecx, dword [ebp - 0x410]
mov eax, dword [edx + 0x38]
call eax
jmp 0x10059bc6
mov ecx, dword [ebp - 0x3e0]
movzx edx, byte [ecx + 0xbc]
test edx, edx
je 0x10059c7e
mov eax, dword [ebp - 0x3e0]
mov byte [eax + 0xbc], 0
push 0
push 0
push 0
push str.windowinit
mov ecx, dword [ebp - 0x3e0]
mov edx, dword [ecx + 0x58]
push edx
mov ecx, dword [ebp - 0x3e0]
call fcn.1005db90
push 0
push 0
push 0
push str.windowresized
mov eax, dword [ebp - 0x3e0]
mov ecx, dword [eax + 0x58]
push ecx
mov ecx, dword [ebp - 0x3e0]
call fcn.1005db90
mov edx, dword [ebp - 0x3e0]
movzx eax, byte [edx + 0xbe]
test eax, eax
je 0x10059cbc
push 1
mov ecx, dword [ebp - 0x3e0]
call fcn.1005e680
mov ecx, dword [ebp - 0x3e0]
movzx edx, byte [ecx + 0xbf]
test edx, edx
je 0x10059d59
mov eax, dword [ebp - 0x3e0]
cmp dword [eax + 0x14], 0
jne 0x10059d59
xor ecx, ecx
mov dword [ebp - 0x39c], ecx
mov dword [ebp - 0x398], ecx
mov dword [ebp - 0x394], ecx
mov dword [ebp - 0x390], ecx
lea edx, [ebp - 0x39c]
push edx
mov eax, dword [ebp - 0x3e0]
mov ecx, dword [eax]
push ecx
call dword [sym.imp.USER32.dll_GetClientRect]
mov edx, dword [ebp - 0x3e0]
mov eax, dword [edx + 8]
push eax
call dword [sym.imp.GDI32.dll_CreateCompatibleDC]
mov ecx, dword [ebp - 0x3e0]
mov dword [ecx + 0xc], eax
mov edx, dword [ebp - 0x390]
sub edx, dword [ebp - 0x398]
push edx
mov eax, dword [ebp - 0x394]
sub eax, dword [ebp - 0x39c]
push eax
mov ecx, dword [ebp - 0x3e0]
mov edx, dword [ecx + 8]
push edx
call dword [sym.imp.GDI32.dll_CreateCompatibleBitmap]
mov ecx, dword [ebp - 0x3e0]
mov dword [ecx + 0x14], eax
push 0x40
push 0
lea edx, [ebp - 0x3dc]
push edx
call fcn.1012e610
add esp, 0xc
lea eax, [ebp - 0x3dc]
push eax
mov ecx, dword [ebp - 0x3e0]
mov edx, dword [ecx]
push edx
call dword [sym.imp.USER32.dll_BeginPaint]
mov eax, dword [ebp - 0x3e0]
movzx ecx, byte [eax + 0xbf]
test ecx, ecx
je 0x10059f71
mov edx, dword [ebp - 0x3e0]
mov eax, dword [edx + 0x14]
push eax
mov ecx, dword [ebp - 0x3e0]
mov edx, dword [ecx + 0xc]
push edx
call dword [sym.imp.GDI32.dll_SelectObject]
mov dword [ebp - 0x5cc], eax
mov eax, dword [ebp - 0x3e0]
mov ecx, dword [eax + 0xc]
push ecx
call dword [sym.imp.GDI32.dll_SaveDC]
mov dword [ebp - 0x5c8], eax
lea edx, [ebp - 0x3d4]
push edx
mov eax, dword [ebp - 0x3e0]
mov ecx, dword [eax + 0xc]
push ecx
mov edx, dword [ebp - 0x3e0]
mov eax, dword [edx + 0x58]
mov ecx, dword [ebp - 0x3e0]
mov edx, dword [eax]
mov ecx, dword [ecx + 0x58]
mov eax, dword [edx + 0x168]
call eax
mov dword [ebp - 0x444], 0
jmp 0x10059e15
mov ecx, dword [ebp - 0x444]
add ecx, 1
mov dword [ebp - 0x444], ecx
mov ecx, dword [ebp - 0x3e0]
add ecx, 0xf8
call fcn.10054e40
cmp dword [ebp - 0x444], eax
jge 0x10059e75
mov edx, dword [ebp - 0x444]
push edx
mov ecx, dword [ebp - 0x3e0]
add ecx, 0xf8
call fcn.10054530
mov dword [ebp - 0x4b4], eax
lea eax, [ebp - 0x3d4]
push eax
mov ecx, dword [ebp - 0x3e0]
mov edx, dword [ecx + 0xc]
push edx
mov eax, dword [ebp - 0x4b4]
mov edx, dword [eax]
mov ecx, dword [ebp - 0x4b4]
mov eax, dword [edx + 0x180]
call eax
jmp 0x10059e06
mov ecx, dword [ebp - 0x5c8]
push ecx
mov edx, dword [ebp - 0x3e0]
mov eax, dword [edx + 0xc]
push eax
call dword [sym.imp.GDI32.dll_RestoreDC]
push 0xcc0020
mov ecx, dword [ebp - 0x3d0]
push ecx
mov edx, dword [ebp - 0x3d4]
push edx
mov eax, dword [ebp - 0x3e0]
mov ecx, dword [eax + 0xc]
push ecx
mov edx, dword [ebp - 0x3c8]
sub edx, dword [ebp - 0x3d0]
push edx
mov eax, dword [ebp - 0x3cc]
sub eax, dword [ebp - 0x3d4]
push eax
mov ecx, dword [ebp - 0x3d0]
push ecx
mov edx, dword [ebp - 0x3d4]
push edx
mov eax, dword [ebp - 0x3dc]
push eax
call dword [sym.imp.GDI32.dll_BitBlt]
mov ecx, dword [ebp - 0x5cc]
push ecx
mov edx, dword [ebp - 0x3e0]
mov eax, dword [edx + 0xc]
push eax
call dword [sym.imp.GDI32.dll_SelectObject]
mov ecx, dword [ebp - 0x3e0]
movzx edx, byte [ecx + 0x54]
test edx, edx
je 0x10059f6f
mov eax, dword [0x101ab7b8]
push eax
mov ecx, dword [ebp - 0x3dc]
push ecx
call dword [sym.imp.GDI32.dll_SelectObject]
mov dword [ebp - 0x5d0], eax
push 5
call dword [sym.imp.GDI32.dll_GetStockObject]
push eax
mov edx, dword [ebp - 0x3dc]
push edx
call dword [sym.imp.GDI32.dll_SelectObject]
mov eax, dword [ebp - 0x22c]
push eax
mov ecx, dword [ebp - 0x230]
push ecx
mov edx, dword [ebp - 0x234]
push edx
mov eax, dword [ebp - 0x238]
push eax
mov ecx, dword [ebp - 0x3dc]
push ecx
call dword [sym.imp.GDI32.dll_Rectangle]
mov edx, dword [ebp - 0x5d0]
push edx
mov eax, dword [ebp - 0x3dc]
push eax
call dword [sym.imp.GDI32.dll_SelectObject]
jmp 0x10059fc2
mov ecx, dword [ebp - 0x3dc]
push ecx
call dword [sym.imp.GDI32.dll_SaveDC]
mov dword [ebp - 0x614], eax
lea edx, [ebp - 0x3d4]
push edx
mov eax, dword [ebp - 0x3dc]
push eax
mov ecx, dword [ebp - 0x3e0]
mov edx, dword [ecx + 0x58]
mov eax, dword [ebp - 0x3e0]
mov edx, dword [edx]
mov ecx, dword [eax + 0x58]
mov eax, dword [edx + 0x168]
call eax
mov ecx, dword [ebp - 0x614]
push ecx
mov edx, dword [ebp - 0x3dc]
push edx
call dword [sym.imp.GDI32.dll_RestoreDC]
lea eax, [ebp - 0x3dc]
push eax
mov ecx, dword [ebp - 0x3e0]
mov edx, dword [ecx]
push edx
call dword [sym.imp.USER32.dll_EndPaint]
mov eax, dword [ebp - 0x3e0]
movzx ecx, byte [eax + 0xbd]
test ecx, ecx
je 0x10059ffc
push 0
push 0
mov edx, dword [ebp - 0x3e0]
mov eax, dword [edx]
push eax
call dword [sym.imp.USER32.dll_InvalidateRect]
mov al, 1
jmp 0x1005bb28
lea ecx, [ebp - 0x288]
push ecx
mov edx, dword [ebp - 0x3e0]
mov eax, dword [edx]
push eax
call dword [sym.imp.USER32.dll_GetClientRect]
mov ecx, dword [ebp + 0xc]
mov dword [ebp - 0x448], ecx
mov edx, dword [ebp - 0x448]
push edx
call dword [sym.imp.GDI32.dll_SaveDC]
mov dword [ebp - 0x618], eax
lea eax, [ebp - 0x288]
push eax
mov ecx, dword [ebp - 0x448]
push ecx
mov edx, dword [ebp - 0x3e0]
mov eax, dword [edx + 0x58]
mov ecx, dword [ebp - 0x3e0]
mov edx, dword [eax]
mov ecx, dword [ecx + 0x58]
mov eax, dword [edx + 0x168]
call eax
mov ecx, dword [ebp + 0x10]
and ecx, 0x10
je 0x1005a12f
push 5
mov edx, dword [ebp - 0x3e0]
mov eax, dword [edx]
push eax
call dword [sym.imp.USER32.dll_GetWindow]
mov dword [ebp - 0x418], eax
cmp dword [ebp - 0x418], 0
je 0x1005a12f
xor ecx, ecx
mov dword [ebp - 0x268], ecx
mov dword [ebp - 0x264], ecx
mov dword [ebp - 0x260], ecx
mov dword [ebp - 0x25c], ecx
lea edx, [ebp - 0x268]
push edx
mov eax, dword [ebp - 0x418]
push eax
call dword [sym.imp.USER32.dll_GetWindowRect]
push 2
lea ecx, [ebp - 0x268]
push ecx
mov edx, dword [ebp - 0x3e0]
mov eax, dword [edx]
push eax
push 0
call dword [sym.imp.USER32.dll_MapWindowPoints]
push 0
mov ecx, dword [ebp - 0x264]
neg ecx
push ecx
mov edx, dword [ebp - 0x268]
neg edx
push edx
mov eax, dword [ebp - 0x448]
push eax
call dword [sym.imp.GDI32.dll_SetWindowOrgEx]
mov ecx, dword [ebp + 0x10]
or ecx, 2
push ecx
mov edx, dword [ebp + 0xc]
push edx
push 0x317
mov eax, dword [ebp - 0x418]
push eax
call dword [sym.imp.USER32.dll_SendMessageW]
push 2
mov ecx, dword [ebp - 0x418]
push ecx
call dword [sym.imp.USER32.dll_GetWindow]
mov dword [ebp - 0x418], eax
jmp 0x1005a082
mov edx, dword [ebp - 0x618]
push edx
mov eax, dword [ebp - 0x448]
push eax
call dword [sym.imp.GDI32.dll_RestoreDC]
jmp case.default.0x10058f9a
lea ecx, [ebp - 0x504]
push ecx
mov ecx, dword [ebp - 0x3e0]
call fcn.100584f0
lea edx, [ebp - 0x50c]
push edx
mov ecx, dword [ebp - 0x3e0]
call fcn.100584b0
mov eax, dword [ebp + 0x10]
mov dword [ebp - 0x44c], eax
cmp dword [ebp - 0x504], 0
jle 0x1005a18d
mov ecx, dword [ebp - 0x44c]
mov edx, dword [ebp - 0x504]
mov dword [ecx + 0x18], edx
cmp dword [ebp - 0x500], 0
jle 0x1005a1a5
mov eax, dword [ebp - 0x44c]
mov ecx, dword [ebp - 0x500]
mov dword [eax + 0x1c], ecx
cmp dword [ebp - 0x50c], 0
jle 0x1005a1bd
mov edx, dword [ebp - 0x44c]
mov eax, dword [ebp - 0x50c]
mov dword [edx + 0x20], eax
cmp dword [ebp - 0x508], 0
jle 0x1005a1d5
mov ecx, dword [ebp - 0x44c]
mov edx, dword [ebp - 0x508]
mov dword [ecx + 0x24], edx
jmp case.default.0x10058f9a
mov eax, dword [ebp - 0x3e0]
cmp dword [eax + 0x5c], 0
je 0x1005a260
xor ecx, ecx
mov dword [ebp - 0x750], ecx
mov dword [ebp - 0x74c], ecx
mov dword [ebp - 0x748], ecx
mov dword [ebp - 0x744], ecx
mov dword [ebp - 0x740], ecx
mov dword [ebp - 0x73c], ecx
mov dword [ebp - 0x738], ecx
mov dword [ebp - 0x734], ecx
mov dword [ebp - 0x750], 0x16
mov edx, dword [ebp - 0x3e0]
mov eax, dword [edx + 0x5c]
mov dword [ebp - 0x74c], eax
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp - 0x748], eax
lea ecx, [ebp - 0x750]
push ecx
mov edx, dword [ebp - 0x3e0]
mov eax, dword [edx + 0x5c]
mov ecx, dword [ebp - 0x3e0]
mov edx, dword [eax]
mov ecx, dword [ecx + 0x5c]
mov eax, dword [edx + 0x158]
call eax
mov ecx, dword [ebp - 0x3e0]
cmp dword [ecx + 0x58], 0
je 0x1005a27a
mov edx, dword [ebp - 0x3e0]
mov ecx, dword [edx + 0x58]
call fcn.10064b30
mov al, 1
jmp 0x1005bb28
mov eax, dword [ebp + 0xc]
and eax, 0xffff
movzx ecx, ax
cmp ecx, 0xf1
jne 0x1005a2ea
mov edx, dword [ebp - 0x3e0]
add edx, 0x26c
push edx
mov ecx, dword [ebp - 0x3e0]
call fcn.100587a0
mov eax, dword [ebp - 0x3e0]
movzx ecx, byte [eax + 0x27c]
test ecx, ecx
jne 0x1005a2c9
mov dword [ebp - 0x4ac], 1
jmp 0x1005a2d3
mov dword [ebp - 0x4ac], 0
mov edx, dword [ebp - 0x3e0]
mov al, byte [ebp - 0x4ac]
mov byte [edx + 0x27c], al
jmp 0x1005a41e
mov dword [ebp - 0x450], 0
jmp 0x1005a305
mov ecx, dword [ebp - 0x450]
add ecx, 1
mov dword [ebp - 0x450], ecx
mov ecx, dword [ebp - 0x3e0]
add ecx, 0xd4
call fcn.10054e40
cmp dword [ebp - 0x450], eax
jge 0x1005a41e
mov edx, dword [ebp - 0x450]
push edx
mov ecx, dword [ebp - 0x3e0]
add ecx, 0xd4
call fcn.10054530
mov dword [ebp - 0x404], eax
mov eax, dword [ebp - 0x404]
mov ecx, dword [ebp - 0x3e0]
mov edx, dword [eax + 8]
cmp edx, dword [ecx]
jne 0x1005a419
mov eax, dword [ebp + 0xc]
and eax, 0xffff
movzx ecx, ax
mov edx, dword [ebp - 0x404]
cmp dword [edx + 0xc], ecx
jne 0x1005a419
mov eax, dword [ebp - 0x404]
movzx ecx, byte [eax + 0x10]
test ecx, ecx
jne 0x1005a419
xor edx, edx
mov dword [ebp - 0x6e4], edx
mov dword [ebp - 0x6e0], edx
mov dword [ebp - 0x6dc], edx
mov dword [ebp - 0x6d8], edx
mov dword [ebp - 0x6d4], edx
mov dword [ebp - 0x6d0], edx
mov dword [ebp - 0x6cc], edx
mov dword [ebp - 0x6c8], edx
mov dword [ebp - 0x6e4], 0x18
mov eax, dword [ebp - 0x404]
mov ecx, dword [eax]
mov dword [ebp - 0x6e0], ecx
mov edx, dword [ebp - 0x404]
mov eax, dword [edx + 4]
mov dword [ebp - 0x6cc], eax
mov ecx, dword [ebp - 0x404]
mov edx, dword [ecx]
mov dword [ebp - 0x6c8], edx
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp - 0x6dc], eax
lea eax, [ebp - 0x6e4]
push eax
mov ecx, dword [ebp - 0x404]
mov edx, dword [ecx]
mov eax, dword [ebp - 0x404]
mov edx, dword [edx]
mov ecx, dword [eax]
mov eax, dword [edx + 0x158]
call eax
jmp 0x1005a41e
jmp 0x1005a2f6
jmp case.default.0x10058f9a
mov ecx, dword [ebp - 0x3e0]
mov byte [ecx + 0xc2], 0
mov edx, dword [ebp + 0x10]
and edx, 0xffff
movsx eax, dx
mov dword [ebp - 0x4c0], eax
mov ecx, dword [ebp + 0x10]
shr ecx, 0x10
and ecx, 0xffff
movsx edx, cx
mov dword [ebp - 0x4bc], edx
mov eax, dword [ebp - 0x4bc]
push eax
mov ecx, dword [ebp - 0x4c0]
push ecx
mov ecx, dword [ebp - 0x3e0]
call fcn.10057b70
mov dword [ebp - 0x3f8], eax
cmp dword [ebp - 0x3f8], 0
jne 0x1005a484
jmp case.default.0x10058f9a
mov edx, dword [ebp - 0x3e0]
mov eax, dword [edx]
push eax
call dword [sym.imp.USER32.dll_IsWindowVisible]
test eax, eax
je 0x1005a50d
call dword [sym.imp.USER32.dll_GetFocus]
mov dword [ebp - 0x498], eax
mov ecx, dword [ebp - 0x3e0]
mov edx, dword [ebp - 0x498]
cmp edx, dword [ecx]
je 0x1005a50d
push 0x208
push 0
lea eax, [ebp - 0x218]
push eax
call fcn.1012e610
add esp, 0xc
push 0x104
lea ecx, [ebp - 0x218]
push ecx
mov edx, dword [ebp - 0x498]
push edx
call dword [sym.imp.USER32.dll_GetClassNameW]
test eax, eax
je 0x1005a50d
push str.Internet_Explorer_Server
lea eax, [ebp - 0x218]
push eax
call fcn.10137dda
add esp, 8
test eax, eax
jne 0x1005a50d
mov ecx, dword [ebp - 0x3e0]
mov edx, dword [ecx]
push edx
call dword [sym.imp.USER32.dll_SetFocus]
mov eax, dword [ebp - 0x3e0]
cmp dword [eax + 0x64], 0
je 0x1005a5af
xor ecx, ecx
mov dword [ebp - 0x704], ecx
mov dword [ebp - 0x700], ecx
mov dword [ebp - 0x6fc], ecx
mov dword [ebp - 0x6f8], ecx
mov dword [ebp - 0x6f4], ecx
mov dword [ebp - 0x6f0], ecx
mov dword [ebp - 0x6ec], ecx
mov dword [ebp - 0x6e8], ecx
mov edx, dword [ebp - 0x4c0]
mov dword [ebp - 0x6f8], edx
mov eax, dword [ebp - 0x4bc]
mov dword [ebp - 0x6f4], eax
mov dword [ebp - 0x704], 0xc
mov ecx, dword [ebp - 0x3e0]
mov edx, dword [ecx + 0x64]
mov dword [ebp - 0x700], edx
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp - 0x6fc], eax
lea eax, [ebp - 0x704]
push eax
mov ecx, dword [ebp - 0x3e0]
mov edx, dword [ecx + 0x64]
mov eax, dword [ebp - 0x3e0]
mov edx, dword [edx]
mov ecx, dword [eax + 0x64]
mov eax, dword [edx + 0x158]
call eax
mov ecx, dword [ebp - 0x3f8]
mov edx, dword [ecx]
mov ecx, dword [ebp - 0x3f8]
mov eax, dword [edx + 0xdc]
call eax
movzx ecx, al
test ecx, ecx
jne 0x1005a5d3
mov al, 1
jmp 0x1005bb28
lea edx, [ebp - 0x38c]
push edx
mov eax, dword [ebp - 0x3f8]
mov edx, dword [eax]
mov ecx, dword [ebp - 0x3f8]
mov eax, dword [edx + 0xd8]
call eax
mov dword [ebp - 4], 1
lea ecx, [ebp - 0x38c]
call fcn.10055140
movzx ecx, al
test ecx, ecx
je 0x1005a62d
mov byte [ebp - 0x405], 1
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x38c]
call fcn.10054300
mov al, byte [ebp - 0x405]
jmp 0x1005bb28
push 0x30
push 0
mov edx, dword [ebp - 0x3e0]
add edx, 0x24
push edx
call fcn.1012e610
add esp, 0xc
mov eax, dword [ebp - 0x3e0]
mov dword [eax + 0x24], 0x30
mov ecx, dword [ebp - 0x3e0]
mov dword [ecx + 0x28], 1
mov edx, dword [ebp - 0x3e0]
mov eax, dword [ebp - 0x3e0]
mov ecx, dword [eax]
mov dword [edx + 0x2c], ecx
mov edx, dword [ebp - 0x3e0]
mov eax, dword [ebp - 0x3e0]
mov ecx, dword [eax]
mov dword [edx + 0x30], ecx
mov edx, dword [ebp - 0x3e0]
mov eax, dword [0x101ab7a8]
mov dword [edx + 0x44], eax
lea ecx, [ebp - 0x38c]
call fcn.10054550
mov ecx, dword [ebp - 0x3e0]
mov dword [ecx + 0x48], eax
mov edx, dword [ebp - 0x3f8]
mov eax, dword [edx]
mov ecx, dword [ebp - 0x3f8]
mov edx, dword [eax + 0x34]
call edx
mov ecx, dword [ebp - 0x3e0]
add ecx, 0x34
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 ecx, dword [ebp - 0x3e0]
cmp dword [ecx + 0x20], 0
jne 0x1005a777
push 0
mov edx, dword [0x101ab7a8]
push edx
push 0
mov eax, dword [ebp - 0x3e0]
mov ecx, dword [eax]
push ecx
push SysReAllocString
push SysReAllocString
push SysReAllocString
push SysReAllocString
push 0x80000003
push 0
push str.tooltips_class32
push 0
call dword [sym.imp.USER32.dll_CreateWindowExW]
mov edx, dword [ebp - 0x3e0]
mov dword [edx + 0x20], eax
mov eax, dword [ebp - 0x3e0]
add eax, 0x24
push eax
push 0
push 0x432
mov ecx, dword [ebp - 0x3e0]
mov edx, dword [ecx + 0x20]
push edx
call dword [sym.imp.USER32.dll_SendMessageW]
mov eax, dword [ebp - 0x3f8]
mov edx, dword [eax]
mov ecx, dword [ebp - 0x3f8]
mov eax, dword [edx + 0xec]
call eax
push eax
push 0
push 0x418
mov ecx, dword [ebp - 0x3e0]
mov edx, dword [ecx + 0x20]
push edx
call dword [sym.imp.USER32.dll_SendMessageW]
mov eax, dword [ebp - 0x3e0]
mov ecx, dword [eax + 0x20]
push ecx
call dword [sym.imp.USER32.dll_IsWindowVisible]
test eax, eax
jne 0x1005a7cd
mov edx, dword [ebp - 0x3e0]
add edx, 0x24
push edx
push 0
push 0x436
mov eax, dword [ebp - 0x3e0]
mov ecx, dword [eax + 0x20]
push ecx
call dword [sym.imp.USER32.dll_SendMessageW]
mov edx, dword [ebp - 0x3e0]
add edx, 0x24
push edx
push 1
push 0x411
mov eax, dword [ebp - 0x3e0]
mov ecx, dword [eax + 0x20]
push ecx
call dword [sym.imp.USER32.dll_SendMessageW]
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x38c]
call fcn.10054300
mov al, 1
jmp 0x1005bb28
mov edx, dword [ebp - 0x3e0]
cmp dword [edx + 0x20], 0
je 0x1005a813
mov eax, dword [ebp - 0x3e0]
add eax, 0x24
push eax
push 0
push 0x411
mov ecx, dword [ebp - 0x3e0]
mov edx, dword [ecx + 0x20]
push edx
call dword [sym.imp.USER32.dll_SendMessageW]
mov eax, dword [ebp - 0x3e0]
movzx ecx, byte [eax + 0xc2]
test ecx, ecx
je 0x1005a83c
push 0xffffffffffffffff
push 0
push 0x200
mov edx, dword [ebp - 0x3e0]
mov eax, dword [edx]
push eax
call dword [sym.imp.USER32.dll_SendMessageW]
mov ecx, dword [ebp - 0x3e0]
mov byte [ecx + 0xc2], 0
jmp case.default.0x10058f9a
mov edx, dword [ebp - 0x3e0]
movzx eax, byte [edx + 0xc2]
test eax, eax
jne 0x1005a8fc
xor ecx, ecx
mov dword [ebp - 0x51c], ecx
mov dword [ebp - 0x518], ecx
mov dword [ebp - 0x514], ecx
mov dword [ebp - 0x510], ecx
mov dword [ebp - 0x51c], 0x10
mov dword [ebp - 0x518], 3
mov edx, dword [ebp - 0x3e0]
mov eax, dword [edx]
mov dword [ebp - 0x514], eax
mov ecx, dword [ebp - 0x3e0]
cmp dword [ecx + 0x20], 0
jne 0x1005a8b7
mov dword [ebp - 0x4d0], 0xc8
jmp 0x1005a8d6
push 0
push 3
push 0x415
mov edx, dword [ebp - 0x3e0]
mov eax, dword [edx + 0x20]
push eax
call dword [sym.imp.USER32.dll_SendMessageW]
mov dword [ebp - 0x4d0], eax
mov ecx, dword [ebp - 0x4d0]
mov dword [ebp - 0x510], ecx
lea edx, [ebp - 0x51c]
push edx
call dword [sym.imp.COMCTL32.dll__TrackMouseEvent]
mov eax, dword [ebp - 0x3e0]
mov byte [eax + 0xc2], 1
mov ecx, dword [ebp + 0x10]
and ecx, 0xffff
movsx edx, cx
mov dword [ebp - 0x47c], edx
mov eax, dword [ebp + 0x10]
shr eax, 0x10
and eax, 0xffff
movsx ecx, ax
mov dword [ebp - 0x478], ecx
mov edx, dword [ebp - 0x3e0]
mov eax, dword [ebp - 0x47c]
mov dword [edx + 0x70], eax
mov ecx, dword [ebp - 0x478]
mov dword [edx + 0x74], ecx
mov edx, dword [ebp - 0x478]
push edx
mov eax, dword [ebp - 0x47c]
push eax
mov ecx, dword [ebp - 0x3e0]
call fcn.10057b70
mov dword [ebp - 0x3ec], eax
cmp dword [ebp - 0x3ec], 0
je 0x1005a982
mov ecx, dword [ebp - 0x3ec]
mov edx, dword [ecx]
mov ecx, dword [ebp - 0x3ec]
mov eax, dword [edx + 0x20]
call eax
cmp eax, dword [ebp - 0x3e0]
je 0x1005a982
jmp case.default.0x10058f9a
xor ecx, ecx
mov dword [ebp - 0x4fc], ecx
mov dword [ebp - 0x4f8], ecx
mov dword [ebp - 0x4f4], ecx
mov dword [ebp - 0x4f0], ecx
mov dword [ebp - 0x4ec], ecx
mov dword [ebp - 0x4e8], ecx
mov dword [ebp - 0x4e4], ecx
mov dword [ebp - 0x4e0], ecx
mov edx, dword [ebp - 0x47c]
mov dword [ebp - 0x4f0], edx
mov eax, dword [ebp - 0x478]
mov dword [ebp - 0x4ec], eax
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp - 0x4f4], eax
mov ecx, dword [ebp - 0x3e0]
mov edx, dword [ebp - 0x3ec]
cmp edx, dword [ecx + 0x64]
je 0x1005aa6f
mov eax, dword [ebp - 0x3e0]
cmp dword [eax + 0x64], 0
je 0x1005aa6f
mov dword [ebp - 0x4fc], 0xa
mov ecx, dword [ebp - 0x3e0]
mov edx, dword [ecx + 0x64]
mov dword [ebp - 0x4f8], edx
lea eax, [ebp - 0x4fc]
push eax
mov ecx, dword [ebp - 0x3e0]
mov edx, dword [ecx + 0x64]
mov eax, dword [ebp - 0x3e0]
mov edx, dword [edx]
mov ecx, dword [eax + 0x64]
mov eax, dword [edx + 0x158]
call eax
mov ecx, dword [ebp - 0x3e0]
mov dword [ecx + 0x64], 0
mov edx, dword [ebp - 0x3e0]
cmp dword [edx + 0x20], 0
je 0x1005aa6f
mov eax, dword [ebp - 0x3e0]
add eax, 0x24
push eax
push 0
push 0x411
mov ecx, dword [ebp - 0x3e0]
mov edx, dword [ecx + 0x20]
push edx
call dword [sym.imp.USER32.dll_SendMessageW]
mov eax, dword [ebp - 0x3e0]
mov ecx, dword [ebp - 0x3ec]
cmp ecx, dword [eax + 0x64]
je 0x1005aacb
cmp dword [ebp - 0x3ec], 0
je 0x1005aacb
mov dword [ebp - 0x4fc], 0xb
mov edx, dword [ebp - 0x3ec]
mov dword [ebp - 0x4f8], edx
lea eax, [ebp - 0x4fc]
push eax
mov ecx, dword [ebp - 0x3ec]
mov edx, dword [ecx]
mov ecx, dword [ebp - 0x3ec]
mov eax, dword [edx + 0x158]
call eax
mov ecx, dword [ebp - 0x3e0]
mov edx, dword [ebp - 0x3ec]
mov dword [ecx + 0x64], edx
mov eax, dword [ebp - 0x3e0]
cmp dword [eax + 0x68], 0
je 0x1005ab15
mov dword [ebp - 0x4fc], 9
mov ecx, dword [ebp - 0x3e0]
mov edx, dword [ecx + 0x68]
mov dword [ebp - 0x4f8], edx
lea eax, [ebp - 0x4fc]
push eax
mov ecx, dword [ebp - 0x3e0]
mov edx, dword [ecx + 0x68]
mov eax, dword [ebp - 0x3e0]
mov edx, dword [edx]
mov ecx, dword [eax + 0x68]
mov eax, dword [edx + 0x158]
call eax
jmp 0x1005ab51
cmp dword [ebp - 0x3ec], 0
je 0x1005ab51
mov dword [ebp - 0x4fc], 9
mov ecx, dword [ebp - 0x3ec]
mov dword [ebp - 0x4f8], ecx
lea edx, [ebp - 0x4fc]
push edx
mov eax, dword [ebp - 0x3ec]
mov edx, dword [eax]
mov ecx, dword [ebp - 0x3ec]
mov eax, dword [edx + 0x158]
call eax
jmp case.default.0x10058f9a
call dword [sym.imp.USER32.dll_GetFocus]
mov dword [ebp - 0x4a0], eax
mov ecx, dword [ebp - 0x3e0]
mov edx, dword [ebp - 0x4a0]
cmp edx, dword [ecx]
je 0x1005ab9b
mov eax, dword [ebp - 0x4a0]
push eax
mov ecx, dword [ebp - 0x3e0]
mov edx, dword [ecx]
push edx
call dword [sym.imp.USER32.dll_IsChild]
test eax, eax
jne 0x1005ab9b
mov eax, dword [ebp - 0x3e0]
mov ecx, dword [eax]
push ecx
call dword [sym.imp.USER32.dll_SetFocus]
mov edx, dword [ebp + 0x10]
and edx, 0xffff
movsx eax, dx
mov dword [ebp - 0x464], eax
mov ecx, dword [ebp + 0x10]
shr ecx, 0x10
and ecx, 0xffff
movsx edx, cx
mov dword [ebp - 0x460], edx
mov eax, dword [ebp - 0x3e0]
mov ecx, dword [ebp - 0x464]
mov dword [eax + 0x70], ecx
mov edx, dword [ebp - 0x460]
mov dword [eax + 0x74], edx
mov eax, dword [ebp - 0x460]
push eax
mov ecx, dword [ebp - 0x464]
push ecx
mov ecx, dword [ebp - 0x3e0]
call fcn.10057b70
mov dword [ebp - 0x3fc], eax
cmp dword [ebp - 0x3fc], 0
jne 0x1005ac07
jmp case.default.0x10058f9a
mov edx, dword [ebp - 0x3fc]
mov eax, dword [edx]
mov ecx, dword [ebp - 0x3fc]
mov edx, dword [eax + 0x20]
call edx
cmp eax, dword [ebp - 0x3e0]
je 0x1005ac27
jmp case.default.0x10058f9a
mov eax, dword [ebp - 0x3e0]
mov ecx, dword [ebp - 0x3fc]
mov dword [eax + 0x68], ecx
mov edx, dword [ebp - 0x3fc]
mov eax, dword [edx]
mov ecx, dword [ebp - 0x3fc]
mov edx, dword [eax + 0x13c]
call edx
mov ecx, dword [ebp - 0x3e0]
call fcn.1005dcb0
xor eax, eax
mov dword [ebp - 0x53c], eax
mov dword [ebp - 0x538], eax
mov dword [ebp - 0x534], eax
mov dword [ebp - 0x530], eax
mov dword [ebp - 0x52c], eax
mov dword [ebp - 0x528], eax
mov dword [ebp - 0x524], eax
mov dword [ebp - 0x520], eax
mov dword [ebp - 0x53c], 0xd
mov ecx, dword [ebp - 0x3fc]
mov dword [ebp - 0x538], ecx
mov edx, dword [ebp + 0xc]
mov dword [ebp - 0x524], edx
mov eax, dword [ebp + 0x10]
mov dword [ebp - 0x520], eax
mov ecx, dword [ebp - 0x464]
mov dword [ebp - 0x530], ecx
mov edx, dword [ebp - 0x460]
mov dword [ebp - 0x52c], edx
mov ax, word [ebp + 0xc]
mov word [ebp - 0x526], ax
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp - 0x534], eax
lea ecx, [ebp - 0x53c]
push ecx
mov edx, dword [ebp - 0x3fc]
mov eax, dword [edx]
mov ecx, dword [ebp - 0x3fc]
mov edx, dword [eax + 0x158]
call edx
jmp case.default.0x10058f9a
mov eax, dword [ebp - 0x3e0]
mov ecx, dword [eax]
push ecx
call dword [sym.imp.USER32.dll_SetFocus]
mov edx, dword [ebp + 0x10]
and edx, 0xffff
movsx eax, dx
mov dword [ebp - 0x484], eax
mov ecx, dword [ebp + 0x10]
shr ecx, 0x10
and ecx, 0xffff
movsx edx, cx
mov dword [ebp - 0x480], edx
mov eax, dword [ebp - 0x3e0]
mov ecx, dword [ebp - 0x484]
mov dword [eax + 0x70], ecx
mov edx, dword [ebp - 0x480]
mov dword [eax + 0x74], edx
mov eax, dword [ebp - 0x480]
push eax
mov ecx, dword [ebp - 0x484]
push ecx
mov ecx, dword [ebp - 0x3e0]
call fcn.10057b70
mov dword [ebp - 0x40c], eax
cmp dword [ebp - 0x40c], 0
jne 0x1005ad7d
jmp case.default.0x10058f9a
mov edx, dword [ebp - 0x40c]
mov eax, dword [edx]
mov ecx, dword [ebp - 0x40c]
mov edx, dword [eax + 0x20]
call edx
cmp eax, dword [ebp - 0x3e0]
je 0x1005ad9d
jmp case.default.0x10058f9a
mov ecx, dword [ebp - 0x3e0]
call fcn.1005dcb0
xor eax, eax
mov dword [ebp - 0x6c4], eax
mov dword [ebp - 0x6c0], eax
mov dword [ebp - 0x6bc], eax
mov dword [ebp - 0x6b8], eax
mov dword [ebp - 0x6b4], eax
mov dword [ebp - 0x6b0], eax
mov dword [ebp - 0x6ac], eax
mov dword [ebp - 0x6a8], eax
mov dword [ebp - 0x6c4], 0x10
mov ecx, dword [ebp - 0x40c]
mov dword [ebp - 0x6c0], ecx
mov edx, dword [ebp - 0x484]
mov dword [ebp - 0x6b8], edx
mov eax, dword [ebp - 0x480]
mov dword [ebp - 0x6b4], eax
mov cx, word [ebp + 0xc]
mov word [ebp - 0x6ae], cx
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp - 0x6bc], eax
lea edx, [ebp - 0x6c4]
push edx
mov eax, dword [ebp - 0x40c]
mov edx, dword [eax]
mov ecx, dword [ebp - 0x40c]
mov eax, dword [edx + 0x158]
call eax
mov ecx, dword [ebp - 0x3e0]
mov edx, dword [ebp - 0x40c]
mov dword [ecx + 0x68], edx
jmp case.default.0x10058f9a
mov eax, dword [ebp - 0x3e0]
cmp dword [eax + 0x68], 0
je 0x1005aef1
mov ecx, dword [ebp - 0x3e0]
mov edx, dword [ebp + 0x10]
cmp edx, dword [ecx]
je 0x1005aef1
xor eax, eax
mov dword [ebp - 0x730], eax
mov dword [ebp - 0x72c], eax
mov dword [ebp - 0x728], eax
mov dword [ebp - 0x724], eax
mov dword [ebp - 0x720], eax
mov dword [ebp - 0x71c], eax
mov dword [ebp - 0x718], eax
mov dword [ebp - 0x714], eax
mov dword [ebp - 0x730], 0x1b
mov ecx, dword [ebp - 0x3e0]
mov edx, dword [ecx + 0x68]
mov dword [ebp - 0x72c], edx
mov eax, dword [ebp + 0xc]
mov dword [ebp - 0x718], eax
mov ecx, dword [ebp + 0x10]
mov dword [ebp - 0x714], ecx
lea edx, [ebp - 0x730]
push edx
mov eax, dword [ebp - 0x3e0]
mov ecx, dword [eax + 0x68]
mov edx, dword [ebp - 0x3e0]
mov eax, dword [ecx]
mov ecx, dword [edx + 0x68]
mov edx, dword [eax + 0x15c]
call edx
jmp case.default.0x10058f9a
mov eax, dword [ebp + 0x10]
and eax, 0xffff
movsx ecx, ax
mov dword [ebp - 0x4c8], ecx
mov edx, dword [ebp + 0x10]
shr edx, 0x10
and edx, 0xffff
movsx eax, dx
mov dword [ebp - 0x4c4], eax
mov ecx, dword [ebp - 0x3e0]
mov edx, dword [ebp - 0x4c8]
mov dword [ecx + 0x70], edx
mov eax, dword [ebp - 0x4c4]
mov dword [ecx + 0x74], eax
mov ecx, dword [ebp - 0x3e0]
cmp dword [ecx + 0x68], 0
jne 0x1005af45
jmp case.default.0x10058f9a
mov ecx, dword [ebp - 0x3e0]
call fcn.1005ce40
xor edx, edx
mov dword [ebp - 0x59c], edx
mov dword [ebp - 0x598], edx
mov dword [ebp - 0x594], edx
mov dword [ebp - 0x590], edx
mov dword [ebp - 0x58c], edx
mov dword [ebp - 0x588], edx
mov dword [ebp - 0x584], edx
mov dword [ebp - 0x580], edx
mov dword [ebp - 0x59c], 0xe
mov eax, dword [ebp - 0x3e0]
mov ecx, dword [eax + 0x68]
mov dword [ebp - 0x598], ecx
mov edx, dword [ebp + 0xc]
mov dword [ebp - 0x584], edx
mov eax, dword [ebp + 0x10]
mov dword [ebp - 0x580], eax
mov ecx, dword [ebp - 0x4c8]
mov dword [ebp - 0x590], ecx
mov edx, dword [ebp - 0x4c4]
mov dword [ebp - 0x58c], edx
mov ax, word [ebp + 0xc]
mov word [ebp - 0x586], ax
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp - 0x594], eax
lea ecx, [ebp - 0x59c]
push ecx
mov edx, dword [ebp - 0x3e0]
mov eax, dword [edx + 0x68]
mov ecx, dword [ebp - 0x3e0]
mov edx, dword [eax]
mov ecx, dword [ecx + 0x68]
mov eax, dword [edx + 0x158]
call eax
mov ecx, dword [ebp - 0x3e0]
mov dword [ecx + 0x68], 0
jmp case.default.0x10058f9a
mov edx, dword [ebp - 0x3e0]
mov eax, dword [edx]
push eax
call dword [sym.imp.USER32.dll_SetFocus]
mov ecx, dword [ebp + 0x10]
and ecx, 0xffff
movsx edx, cx
mov dword [ebp - 0x474], edx
mov eax, dword [ebp + 0x10]
shr eax, 0x10
and eax, 0xffff
movsx ecx, ax
mov dword [ebp - 0x470], ecx
mov edx, dword [ebp - 0x3e0]
mov eax, dword [ebp - 0x474]
mov dword [edx + 0x70], eax
mov ecx, dword [ebp - 0x470]
mov dword [edx + 0x74], ecx
mov edx, dword [ebp - 0x470]
push edx
mov eax, dword [ebp - 0x474]
push eax
mov ecx, dword [ebp - 0x3e0]
call fcn.10057b70
mov dword [ebp - 0x400], eax
cmp dword [ebp - 0x400], 0
jne 0x1005b08b
jmp case.default.0x10058f9a
mov ecx, dword [ebp - 0x400]
mov edx, dword [ecx]
mov ecx, dword [ebp - 0x400]
mov eax, dword [edx + 0x20]
call eax
cmp eax, dword [ebp - 0x3e0]
je 0x1005b0ab
jmp case.default.0x10058f9a
mov ecx, dword [ebp - 0x400]
mov edx, dword [ecx]
mov ecx, dword [ebp - 0x400]
mov eax, dword [edx + 0x13c]
call eax
mov ecx, dword [ebp - 0x3e0]
call fcn.1005dcb0
xor ecx, ecx
mov dword [ebp - 0x55c], ecx
mov dword [ebp - 0x558], ecx
mov dword [ebp - 0x554], ecx
mov dword [ebp - 0x550], ecx
mov dword [ebp - 0x54c], ecx
mov dword [ebp - 0x548], ecx
mov dword [ebp - 0x544], ecx
mov dword [ebp - 0x540], ecx
mov dword [ebp - 0x55c], 0xf
mov edx, dword [ebp - 0x400]
mov dword [ebp - 0x558], edx
mov eax, dword [ebp + 0xc]
mov dword [ebp - 0x544], eax
mov ecx, dword [ebp + 0x10]
mov dword [ebp - 0x540], ecx
mov edx, dword [ebp - 0x474]
mov dword [ebp - 0x550], edx
mov eax, dword [ebp - 0x470]
mov dword [ebp - 0x54c], eax
mov cx, word [ebp + 0xc]
mov word [ebp - 0x546], cx
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp - 0x554], eax
lea edx, [ebp - 0x55c]
push edx
mov eax, dword [ebp - 0x400]
mov edx, dword [eax]
mov ecx, dword [ebp - 0x400]
mov eax, dword [edx + 0x158]
call eax
mov ecx, dword [ebp - 0x3e0]
mov edx, dword [ebp - 0x400]
mov dword [ecx + 0x68], edx
jmp case.default.0x10058f9a
mov eax, dword [ebp + 0x10]
and eax, 0xffff
movsx ecx, ax
mov dword [ebp - 0x48c], ecx
mov edx, dword [ebp + 0x10]
shr edx, 0x10
and edx, 0xffff
movsx eax, dx
mov dword [ebp - 0x488], eax
lea ecx, [ebp - 0x48c]
push ecx
mov edx, dword [ebp - 0x3e0]
mov eax, dword [edx]
push eax
call dword [sym.imp.USER32.dll_ScreenToClient]
mov ecx, dword [ebp - 0x3e0]
mov edx, dword [ebp - 0x48c]
mov dword [ecx + 0x70], edx
mov eax, dword [ebp - 0x488]
mov dword [ecx + 0x74], eax
mov ecx, dword [ebp - 0x3e0]
cmp dword [ecx + 0x68], 0
jne 0x1005b1eb
jmp case.default.0x10058f9a
mov ecx, dword [ebp - 0x3e0]
call fcn.1005ce40
xor edx, edx
mov dword [ebp - 0x5f0], edx
mov dword [ebp - 0x5ec], edx
mov dword [ebp - 0x5e8], edx
mov dword [ebp - 0x5e4], edx
mov dword [ebp - 0x5e0], edx
mov dword [ebp - 0x5dc], edx
mov dword [ebp - 0x5d8], edx
mov dword [ebp - 0x5d4], edx
mov dword [ebp - 0x5f0], 0x11
mov eax, dword [ebp - 0x3e0]
mov ecx, dword [eax + 0x68]
mov dword [ebp - 0x5ec], ecx
mov edx, dword [ebp - 0x48c]
mov dword [ebp - 0x5e4], edx
mov eax, dword [ebp - 0x488]
mov dword [ebp - 0x5e0], eax
mov cx, word [ebp + 0xc]
mov word [ebp - 0x5da], cx
mov edx, dword [ebp - 0x3e0]
mov eax, dword [edx + 0x68]
mov dword [ebp - 0x5d4], eax
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp - 0x5e8], eax
lea ecx, [ebp - 0x5f0]
push ecx
mov edx, dword [ebp - 0x3e0]
mov eax, dword [edx + 0x68]
mov ecx, dword [ebp - 0x3e0]
mov edx, dword [eax]
mov ecx, dword [ecx + 0x68]
mov eax, dword [edx + 0x158]
call eax
mov ecx, dword [ebp - 0x3e0]
mov dword [ecx + 0x68], 0
jmp case.default.0x10058f9a
mov edx, dword [ebp + 0x10]
and edx, 0xffff
movsx eax, dx
mov dword [ebp - 0x494], eax
mov ecx, dword [ebp + 0x10]
shr ecx, 0x10
and ecx, 0xffff
movsx edx, cx
mov dword [ebp - 0x490], edx
lea eax, [ebp - 0x494]
push eax
mov ecx, dword [ebp - 0x3e0]
mov edx, dword [ecx]
push edx
call dword [sym.imp.USER32.dll_ScreenToClient]
mov eax, dword [ebp - 0x3e0]
mov ecx, dword [ebp - 0x494]
mov dword [eax + 0x70], ecx
mov edx, dword [ebp - 0x490]
mov dword [eax + 0x74], edx
mov eax, dword [ebp - 0x490]
push eax
mov ecx, dword [ebp - 0x494]
push ecx
mov ecx, dword [ebp - 0x3e0]
call fcn.10057b70
mov dword [ebp - 0x3f0], eax
cmp dword [ebp - 0x3f0], 0
jne 0x1005b336
jmp case.default.0x10058f9a
mov edx, dword [ebp - 0x3f0]
mov eax, dword [edx]
mov ecx, dword [ebp - 0x3f0]
mov edx, dword [eax + 0x20]
call edx
cmp eax, dword [ebp - 0x3e0]
je 0x1005b356
jmp case.default.0x10058f9a
push str.WebBrowserUI
mov eax, dword [ebp - 0x3f0]
mov edx, dword [eax]
mov ecx, dword [ebp - 0x3f0]
mov eax, dword [edx + 0x10]
call eax
push eax
call fcn.10137dda
add esp, 8
test eax, eax
jne 0x1005b448
mov ecx, dword [ebp - 0x3e0]
cmp dword [ecx + 0x5c], 0
je 0x1005b3ba
push str.EditUI
mov edx, dword [ebp - 0x3e0]
mov eax, dword [edx + 0x5c]
mov ecx, dword [ebp - 0x3e0]
mov edx, dword [eax]
mov ecx, dword [ecx + 0x5c]
mov eax, dword [edx + 0x10]
call eax
push eax
call fcn.10137dda
add esp, 8
test eax, eax
je 0x1005b448
xor ecx, ecx
mov dword [ebp - 0x770], ecx
mov dword [ebp - 0x76c], ecx
mov dword [ebp - 0x768], ecx
mov dword [ebp - 0x764], ecx
mov dword [ebp - 0x760], ecx
mov dword [ebp - 0x75c], ecx
mov dword [ebp - 0x758], ecx
mov dword [ebp - 0x754], ecx
mov dword [ebp - 0x770], 0x15
mov edx, dword [ebp - 0x3f0]
mov dword [ebp - 0x76c], edx
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp - 0x768], eax
lea eax, [ebp - 0x770]
push eax
mov ecx, dword [ebp - 0x3f0]
mov edx, dword [ecx]
mov ecx, dword [ebp - 0x3f0]
mov eax, dword [edx + 0x158]
call eax
push 0
push 0
push 0
push str.setfocus
mov ecx, dword [ebp - 0x3f0]
push ecx
mov ecx, dword [ebp - 0x3e0]
call fcn.1005db90
mov edx, dword [ebp + 0xc]
shr edx, 0x10
and edx, 0xffff
movsx eax, dx
mov dword [ebp - 0x61c], eax
xor ecx, ecx
mov dword [ebp - 0x644], ecx
mov dword [ebp - 0x640], ecx
mov dword [ebp - 0x63c], ecx
mov dword [ebp - 0x638], ecx
mov dword [ebp - 0x634], ecx
mov dword [ebp - 0x630], ecx
mov dword [ebp - 0x62c], ecx
mov dword [ebp - 0x628], ecx
mov dword [ebp - 0x644], 0x12
mov edx, dword [ebp - 0x3f0]
mov dword [ebp - 0x640], edx
cmp dword [ebp - 0x61c], 0
jge 0x1005b4ba
mov dword [ebp - 0x4cc], 1
jmp 0x1005b4c4
mov dword [ebp - 0x4cc], 0
mov eax, dword [ebp - 0x4cc]
and eax, 0xffff
movzx ecx, ax
mov dword [ebp - 0x62c], ecx
mov edx, dword [ebp + 0x10]
mov dword [ebp - 0x628], edx
call fcn.10058ba0
mov word [ebp - 0x62e], ax
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp - 0x63c], eax
lea eax, [ebp - 0x644]
push eax
mov ecx, dword [ebp - 0x3f0]
mov edx, dword [ecx]
mov ecx, dword [ebp - 0x3f0]
mov eax, dword [edx + 0x158]
call eax
mov ecx, dword [ebp - 0x3e0]
mov edx, dword [ecx + 0x70]
and edx, 0xffff
movzx eax, dx
mov ecx, dword [ebp - 0x3e0]
mov edx, dword [ecx + 0x74]
and edx, 0xffff
movzx ecx, dx
shl ecx, 0x10
or eax, ecx
push eax
push 0
push 0x200
mov edx, dword [ebp - 0x3e0]
mov eax, dword [edx]
push eax
call dword [sym.imp.USER32.dll_SendMessageW]
jmp case.default.0x10058f9a
mov ecx, dword [ebp - 0x3e0]
cmp dword [ecx + 0x5c], 0
jne 0x1005b56c
jmp case.default.0x10058f9a
xor edx, edx
mov dword [ebp - 0x664], edx
mov dword [ebp - 0x660], edx
mov dword [ebp - 0x65c], edx
mov dword [ebp - 0x658], edx
mov dword [ebp - 0x654], edx
mov dword [ebp - 0x650], edx
mov dword [ebp - 0x64c], edx
mov dword [ebp - 0x648], edx
mov dword [ebp - 0x664], 5
mov ax, word [ebp + 0xc]
mov word [ebp - 0x650], ax
mov ecx, dword [ebp - 0x3e0]
mov edx, dword [ecx + 0x70]
mov eax, dword [ecx + 0x74]
mov dword [ebp - 0x658], edx
mov dword [ebp - 0x654], eax
call fcn.10058ba0
mov word [ebp - 0x64e], ax
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp - 0x65c], eax
lea ecx, [ebp - 0x664]
push ecx
mov edx, dword [ebp - 0x3e0]
mov eax, dword [edx + 0x5c]
mov ecx, dword [ebp - 0x3e0]
mov edx, dword [eax]
mov ecx, dword [ecx + 0x5c]
mov eax, dword [edx + 0x158]
call eax
jmp case.default.0x10058f9a
mov ecx, dword [ebp - 0x3e0]
cmp dword [ecx + 0x5c], 0
jne 0x1005b61c
jmp case.default.0x10058f9a
xor edx, edx
mov dword [ebp - 0x684], edx
mov dword [ebp - 0x680], edx
mov dword [ebp - 0x67c], edx
mov dword [ebp - 0x678], edx
mov dword [ebp - 0x674], edx
mov dword [ebp - 0x670], edx
mov dword [ebp - 0x66c], edx
mov dword [ebp - 0x668], edx
mov dword [ebp - 0x684], 3
mov ax, word [ebp + 0xc]
mov word [ebp - 0x670], ax
mov ecx, dword [ebp - 0x3e0]
mov edx, dword [ecx + 0x70]
mov eax, dword [ecx + 0x74]
mov dword [ebp - 0x678], edx
mov dword [ebp - 0x674], eax
call fcn.10058ba0
mov word [ebp - 0x66e], ax
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp - 0x67c], eax
lea ecx, [ebp - 0x684]
push ecx
mov edx, dword [ebp - 0x3e0]
mov eax, dword [edx + 0x5c]
mov ecx, dword [ebp - 0x3e0]
mov edx, dword [eax]
mov ecx, dword [ecx + 0x5c]
mov eax, dword [edx + 0x158]
call eax
mov ecx, dword [ebp - 0x3e0]
mov edx, dword [ebp - 0x3e0]
mov eax, dword [edx + 0x5c]
mov dword [ecx + 0x6c], eax
jmp case.default.0x10058f9a
mov ecx, dword [ebp - 0x3e0]
cmp dword [ecx + 0x6c], 0
jne 0x1005b6de
jmp case.default.0x10058f9a
xor edx, edx
mov dword [ebp - 0x6a4], edx
mov dword [ebp - 0x6a0], edx
mov dword [ebp - 0x69c], edx
mov dword [ebp - 0x698], edx
mov dword [ebp - 0x694], edx
mov dword [ebp - 0x690], edx
mov dword [ebp - 0x68c], edx
mov dword [ebp - 0x688], edx
mov dword [ebp - 0x6a4], 4
mov ax, word [ebp + 0xc]
mov word [ebp - 0x690], ax
mov ecx, dword [ebp - 0x3e0]
mov edx, dword [ecx + 0x70]
mov eax, dword [ecx + 0x74]
mov dword [ebp - 0x698], edx
mov dword [ebp - 0x694], eax
call fcn.10058ba0
mov word [ebp - 0x68e], ax
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp - 0x69c], eax
lea ecx, [ebp - 0x6a4]
push ecx
mov edx, dword [ebp - 0x3e0]
mov eax, dword [edx + 0x6c]
mov ecx, dword [ebp - 0x3e0]
mov edx, dword [eax]
mov ecx, dword [ecx + 0x6c]
mov eax, dword [edx + 0x158]
call eax
mov ecx, dword [ebp - 0x3e0]
mov dword [ecx + 0x6c], 0
jmp case.default.0x10058f9a
mov edx, dword [ebp + 0x10]
and edx, 0xffff
movzx eax, dx
cmp eax, 1
je 0x1005b7a0
jmp case.default.0x10058f9a
mov ecx, dword [ebp - 0x3e0]
movzx edx, byte [ecx + 0xc3]
test edx, edx
je 0x1005b7b8
mov al, 1
jmp 0x1005bb28
xor eax, eax
mov dword [ebp - 0x46c], eax
mov dword [ebp - 0x468], eax
lea ecx, [ebp - 0x46c]
push ecx
call dword [sym.imp.USER32.dll_GetCursorPos]
lea edx, [ebp - 0x46c]
push edx
mov eax, dword [ebp - 0x3e0]
mov ecx, dword [eax]
push ecx
call dword [sym.imp.USER32.dll_ScreenToClient]
mov edx, dword [ebp - 0x468]
push edx
mov eax, dword [ebp - 0x46c]
push eax
mov ecx, dword [ebp - 0x3e0]
call fcn.10057b70
mov dword [ebp - 0x41c], eax
cmp dword [ebp - 0x41c], 0
jne 0x1005b816
jmp case.default.0x10058f9a
mov ecx, dword [ebp - 0x41c]
mov edx, dword [ecx]
mov ecx, dword [ebp - 0x41c]
mov eax, dword [edx + 0x18]
call eax
and eax, 2
jne 0x1005b833
jmp case.default.0x10058f9a
xor ecx, ecx
mov dword [ebp - 0x610], ecx
mov dword [ebp - 0x60c], ecx
mov dword [ebp - 0x608], ecx
mov dword [ebp - 0x604], ecx
mov dword [ebp - 0x600], ecx
mov dword [ebp - 0x5fc], ecx
mov dword [ebp - 0x5f8], ecx
mov dword [ebp - 0x5f4], ecx
mov dword [ebp - 0x610], 0x17
mov edx, dword [ebp + 0xc]
mov dword [ebp - 0x5f8], edx
mov eax, dword [ebp + 0x10]
mov dword [ebp - 0x5f4], eax
mov ecx, dword [ebp - 0x46c]
mov dword [ebp - 0x604], ecx
mov edx, dword [ebp - 0x468]
mov dword [ebp - 0x600], edx
call fcn.10058ba0
mov word [ebp - 0x5fa], ax
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp - 0x608], eax
lea eax, [ebp - 0x610]
push eax
mov ecx, dword [ebp - 0x41c]
mov edx, dword [ecx]
mov ecx, dword [ebp - 0x41c]
mov eax, dword [edx + 0x158]
call eax
mov al, 1
jmp 0x1005bb28
mov ecx, dword [ebp + 0x10]
mov dword [ebp - 0x4dc], ecx
cmp dword [ebp - 0x4dc], 0
je 0x1005b90d
mov edx, dword [ebp + 0x10]
push edx
mov eax, dword [ebp + 0xc]
push eax
mov ecx, dword [ebp + 8]
add ecx, 0x2000
push ecx
mov edx, dword [ebp - 0x4dc]
mov eax, dword [edx]
push eax
call dword [sym.imp.USER32.dll_SendMessageW]
mov ecx, dword [ebp + 0x14]
mov dword [ecx], eax
mov al, 1
jmp 0x1005bb28
cmp dword [ebp + 0x10], 0
jne 0x1005b91e
jmp case.default.0x10058f9a
mov edx, dword [ebp + 0x10]
mov dword [ebp - 0x620], edx
mov eax, dword [ebp + 0x10]
push eax
mov ecx, dword [ebp + 0xc]
push ecx
mov edx, dword [ebp + 8]
add edx, 0x2000
push edx
mov eax, dword [ebp - 0x620]
push eax
call dword [sym.imp.USER32.dll_SendMessageW]
mov ecx, dword [ebp + 0x14]
mov dword [ecx], eax
mov al, 1
jmp 0x1005bb28
cmp dword [ebp + 0x10], 0
jne 0x1005b95c
jmp case.default.0x10058f9a
mov edx, dword [ebp + 0x10]
mov dword [ebp - 0x5b0], edx
mov eax, dword [ebp + 0x10]
push eax
mov ecx, dword [ebp + 0xc]
push ecx
mov edx, dword [ebp + 8]
add edx, 0x2000
push edx
mov eax, dword [ebp - 0x5b0]
push eax
call dword [sym.imp.USER32.dll_SendMessageW]
mov ecx, dword [ebp + 0x14]
mov dword [ecx], eax
mov al, 1
jmp 0x1005bb28
mov dword [ebp - 0x3e8], 0
mov edx, dword [ebp - 0x3e0]
add edx, 0x2a4
push edx
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
push 0
mov ecx, dword [ebp - 0x3e0]
add ecx, 0x110
call fcn.10054d30
mov dword [ebp - 0x3e8], eax
push 0
mov ecx, dword [ebp - 0x3e0]
add ecx, 0x110
call fcn.10055360
mov eax, dword [ebp - 0x3e0]
add eax, 0x2a4
push eax
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
cmp dword [ebp - 0x3e8], 0
je 0x1005bb19
mov byte [ebp - 0x3f3], 0
mov ecx, dword [ebp - 0x3e8]
cmp dword [ecx + 0x108], 0
je 0x1005ba52
mov edx, dword [ebp - 0x3e8]
mov ecx, dword [edx + 0x108]
add ecx, 0x38
call fcn.10062b90
movzx eax, al
test eax, eax
je 0x1005ba52
mov ecx, dword [ebp - 0x3e8]
push ecx
mov edx, dword [ebp - 0x3e8]
mov ecx, dword [edx + 0x108]
add ecx, 0x38
call fcn.10062be0
movzx eax, al
test eax, eax
je 0x1005ba52
mov byte [ebp - 0x3f3], 1
movzx ecx, byte [ebp - 0x3f3]
test ecx, ecx
jne 0x1005bad9
mov dword [ebp - 0x454], 0
jmp 0x1005ba78
mov edx, dword [ebp - 0x454]
add edx, 1
mov dword [ebp - 0x454], edx
mov ecx, dword [ebp - 0x3e0]
add ecx, 0xc8
call fcn.10054e40
cmp dword [ebp - 0x454], eax
jge 0x1005bad9
mov eax, dword [ebp - 0x3e8]
cmp dword [eax + 0x108], 0
je 0x1005bad9
mov ecx, dword [ebp - 0x454]
push ecx
mov ecx, dword [ebp - 0x3e0]
add ecx, 0xc8
call fcn.10054530
mov dword [ebp - 0x4d8], eax
mov edx, dword [ebp - 0x3e8]
push edx
mov eax, dword [ebp - 0x4d8]
mov edx, dword [eax]
mov ecx, dword [ebp - 0x4d8]
mov eax, dword [edx]
call eax
jmp 0x1005ba69
mov ecx, dword [ebp - 0x3e8]
mov dword [ebp - 0x5c0], ecx
mov edx, dword [ebp - 0x5c0]
mov dword [ebp - 0x4d4], edx
cmp dword [ebp - 0x4d4], 0
je 0x1005bb0f
push 1
mov ecx, dword [ebp - 0x4d4]
call fcn.10056e40
mov dword [ebp - 0x5c4], eax
jmp 0x1005bb19
mov dword [ebp - 0x5c4], 0
cmp dword [ebp - 0x3e8], 0
jne 0x1005b99a
xor al, al
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.100f4dc3
mov esp, ebp
pop ebp
ret 0x10