Function at 0x4adbc0
Capabilities:
Get graphical window text

Disassembly:
sub esp, 0x34
push esi
push edi
mov edi, dword [esp + 0x40]
mov eax, edx
mov edx, dword [edi + 8]
test edx, edx
mov dword [esp + 8], eax
jne 0x4adc1a
mov esi, dword [esp + 0x4c]
mov edx, dword [esp + 0x48]
push 0x63
push esi
push edx
mov edx, dword [eax]
push edi
call fcn.004f48e0
cmp eax, 1
jne 0x4aed95
mov ecx, dword [edi + 8]
cmp ecx, eax
je 0x4aed95
cmp ecx, 2
je 0x4aed95
push 6
mov edx, esi
mov ecx, edi
call fcn.00479d70
pop edi
pop esi
add esp, 0x34
ret 0x14
mov eax, dword [edi + 0x40]
test eax, eax
je 0x4aed90
cmp edx, 2
jne 0x4adc35
mov ecx, dword [eax + 0x40]
test ecx, ecx
je 0x4aed90
mov esi, dword [eax + 0x1c]
mov ecx, 1
cmp esi, ecx
jne 0x4adc4e
cmp edx, 2
jne 0x4adc58
mov esi, dword [eax + 0x40]
cmp dword [esi + 0x1c], ecx
je 0x4adc58
pop edi
mov eax, ecx
pop esi
add esp, 0x34
ret 0x14
mov ecx, dword [eax + 0xc]
test ecx, ecx
jne 0x4aed5d
cmp edx, 2
jne 0x4adc76
mov eax, dword [eax + 0x40]
mov ecx, dword [eax + 0xc]
test ecx, ecx
jne 0x4aed5d
mov edi, dword [esp + 0x40]
push ebx
mov ebx, dword [esp + 0x50]
mov byte [ebx], 0
cmp dword [edi + 8], 2
mov ecx, dword [edi + 0x40]
push ebp
jne 0x4adc94
mov edx, dword [ecx + 0x40]
mov eax, dword [edx]
push eax
jmp 0x4adcb6
mov ecx, dword [ecx]
call fcn.004f4570
test eax, eax
je 0x4adce7
mov edx, dword [edi + 0x40]
mov ecx, dword [edx]
mov edx, ebx
mov al, byte [ecx]
inc ecx
mov byte [edx], al
inc edx
test al, al
jne 0x4adca6
mov eax, dword [edi + 0x40]
mov ecx, dword [eax]
push ecx
call fcn.005705cb
mov ebp, eax
add esp, 4
cmp ebp, 0x270e
jle 0x4adcee
mov ebp, 0x270e
mov ecx, ebx
call fcn.00542dc0
mov edi, eax
test edi, edi
je 0x4adde4
xor esi, esi
xor ebp, ebp
jmp 0x4adeb1
mov ebp, 0x270f
jmp 0x4adccd
test ebp, ebp
jne 0x4adccd
mov esi, dword [0x5b430c]
test esi, esi
mov dword [esp + 0x54], ebp
mov ebp, dword [sym.imp.USER32.dll_wsprintfA]
je 0x4addcb
lea ebx, [ebx]
mov edx, dword [esp + 0x58]
cmp dword [esi + 0xbbc], edx
je 0x4add39
mov eax, dword [esi + 0x708]
cmp eax, 5
jl 0x4addbd
cmp eax, 7
jle 0x4add39
cmp eax, 9
jne 0x4addbd
mov ecx, dword [edi + 8]
mov eax, 2
cmp ecx, eax
jne 0x4addb0
cmp dword [esi + 0x708], eax
jne 0x4add86
mov eax, dword [esi + 0x70c]
cmp eax, 3
je 0x4add5d
cmp eax, 4
jne 0x4add86
lea edi, [esi + 8]
push 0x20
push edi
call fcn.00570260
add esp, 8
test eax, eax
jne 0x4add73
mov eax, edi
jmp 0x4add74
inc eax
push eax
push 0x587e74
push ebx
call ebp
mov edi, dword [esp + 0x54]
add esp, 0xc
jmp 0x4add9a
lea eax, [esi + 8]
mov edx, ebx
sub edx, eax
lea ecx, [ecx]
mov cl, byte [eax]
mov byte [edx + eax], cl
inc eax
test cl, cl
jne 0x4add90
mov eax, dword [edi + 0x40]
mov ecx, dword [eax]
push 1
push 0
mov edx, ebx
call fcn.00542310
test eax, eax
je 0x4addbd
jmp 0x4addb9
cmp dword [esi + 0x708], 9
jne 0x4addbd
inc dword [esp + 0x54]
mov esi, dword [esi + 0xd9c]
test esi, esi
jne 0x4add10
mov ecx, dword [esp + 0x54]
mov edx, dword [esp + 0x4c]
push ecx
push 0x583948
push edx
call ebp
add esp, 0xc
jmp case.default.0x4ae685
mov esi, dword [0x5b430c]
test esi, esi
je case.default.0x4ae685
mov eax, dword [esi + 0xbbc]
cmp eax, dword [esp + 0x58]
je 0x4ade1b
mov eax, dword [esi + 0x708]
cmp eax, 5
jl 0x4adf70
cmp eax, 7
jle 0x4ade1b
cmp eax, 9
jne 0x4adf70
mov eax, dword [esi + 0x708]
mov edi, 2
cmp eax, edi
jne 0x4ade68
mov eax, dword [esi + 0x70c]
cmp eax, 3
je 0x4ade3a
cmp eax, 4
jne 0x4ade68
lea edi, [esi + 8]
push 0x20
push edi
call fcn.00570260
add esp, 8
test eax, eax
jne 0x4ade50
mov eax, edi
jmp 0x4ade51
inc eax
push eax
push 0x587e74
push ebx
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0xc
mov edi, 2
jmp 0x4ade7a
lea eax, [esi + 8]
mov edx, ebx
sub edx, eax
nop
mov cl, byte [eax]
mov byte [edx + eax], cl
inc eax
test cl, cl
jne 0x4ade70
cmp ebp, 0x270f
mov eax, dword [esp + 0x48]
mov ecx, dword [eax + 8]
jne 0x4adf44
cmp ecx, edi
jne 0x4adf2b
mov ecx, dword [eax + 0x40]
mov ecx, dword [ecx]
push 1
push 0
mov edx, ebx
call fcn.00542310
test eax, eax
je 0x4adf70
xor ebp, ebp
mov edi, dword [esi]
test edi, edi
je case.default.0x4ae685
test ebp, ebp
jne case.default.0x4ae685
test esi, esi
lea edx, [esp + 0x1c]
je 0x4ae94f
mov ecx, dword [esi]
call fcn.00544a10
mov edx, dword [esp + 0x48]
mov eax, dword [edx + 0x10]
test eax, eax
je 0x4ae8d6
mov eax, edx
mov ecx, dword [eax]
push 0x2e
push ecx
call fcn.00570980
mov ebp, eax
add esp, 8
test ebp, ebp
je 0x4ae8d6
push 0x58433c
push ebp
call fcn.005809c6
add esp, 8
test eax, eax
jne 0x4adf83
mov edx, dword [esp + 0x1c]
push edx
mov eax, dword [esp + 0x50]
push 0x583948
push eax
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0xc
jmp case.default.0x4ae685
mov edx, dword [eax + 0x40]
mov eax, dword [edx]
push ebx
push eax
call fcn.005809c6
add esp, 8
test eax, eax
je 0x4adead
jmp 0x4adf70
cmp ecx, edi
jne 0x4adf5e
mov ecx, dword [eax + 0x40]
mov ecx, dword [ecx]
push 1
push 0
mov edx, ebx
call fcn.00542310
test eax, eax
je 0x4adf68
jmp 0x4adf67
cmp dword [esi + 0x708], 9
jne 0x4adf68
dec ebp
test ebp, ebp
jle 0x4adeaf
mov esi, dword [esi + 0xd9c]
test esi, esi
jne 0x4addf2
jmp case.default.0x4ae685
push 0x584338
push ebp
call fcn.005809c6
add esp, 8
test eax, eax
jne 0x4adfb2
mov ecx, dword [esp + 0x20]
mov edx, dword [esp + 0x4c]
push ecx
push 0x583948
push edx
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0xc
jmp case.default.0x4ae685
push 0x584334
push ebp
call fcn.005809c6
add esp, 8
test eax, eax
jne 0x4adfe1
mov eax, dword [esp + 0x24]
mov ecx, dword [esp + 0x4c]
push eax
push 0x583948
push ecx
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0xc
jmp case.default.0x4ae685
push 0x584330
push ebp
call fcn.005809c6
add esp, 8
test eax, eax
jne 0x4ae010
mov edx, dword [esp + 0x28]
mov eax, dword [esp + 0x4c]
push edx
push 0x583948
push eax
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0xc
jmp case.default.0x4ae685
push 0x588224
push ebp
call fcn.005809c6
add esp, 8
test eax, eax
jne 0x4ae06f
mov ecx, dword [esi]
call fcn.00543010
test eax, eax
lea ecx, [esp + 0x1c]
je 0x4ae044
mov edx, dword [0x5b4318]
push ecx
push edx
call dword [sym.imp.USER32.dll_ClientToScreen]
jmp 0x4adf0e
mov eax, dword [esp + 0x1c]
push 0
push ecx
lea edx, [esp + 0x1c]
xor ecx, ecx
mov dword [esp + 0x1c], eax
call fcn.004e2580
mov eax, dword [esp + 0x14]
sub eax, dword [esp + 0x1c]
mov dword [esp + 0x14], eax
mov dword [esp + 0x1c], eax
jmp 0x4adf0e
push 0x58821c
push ebp
call fcn.005809c6
add esp, 8
test eax, eax
jne 0x4ae0d4
mov ecx, dword [esi]
call fcn.00543010
test eax, eax
lea ecx, [esp + 0x1c]
je 0x4ae0a7
mov edx, dword [0x5b4318]
push ecx
push edx
call dword [sym.imp.USER32.dll_ClientToScreen]
mov edx, dword [esp + 0x20]
jmp 0x4adf12
mov eax, dword [esp + 0x20]
push 0
push ecx
lea edx, [esp + 0x1c]
xor ecx, ecx
mov dword [esp + 0x20], eax
call fcn.004e2580
mov eax, dword [esp + 0x18]
sub eax, dword [esp + 0x20]
mov dword [esp + 0x18], eax
mov dword [esp + 0x20], eax
mov edx, eax
jmp 0x4adf12
push 0x5884a4
push ebp
call fcn.005809c6
add esp, 8
test eax, eax
jne 0x4ae105
mov ecx, dword [esi + 0x84c]
mov edx, dword [esp + 0x4c]
push ecx
push 0x583948
push edx
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0xc
jmp case.default.0x4ae685
push 0x58849c
push ebp
call fcn.005809c6
add esp, 8
test eax, eax
jne 0x4ae136
mov eax, dword [esi + 0x850]
mov ecx, dword [esp + 0x4c]
push eax
push 0x583948
push ecx
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0xc
jmp case.default.0x4ae685
push 0x588494
push ebp
call fcn.005809c6
add esp, 8
test eax, eax
jne 0x4ae181
mov esi, dword [esi + 0x948]
test esi, esi
je case.default.0x4ae685
lea edx, [esp + 0x2c]
push edx
push 0x18
push esi
call dword [sym.imp.GDI32.dll_GetObjectA]
mov eax, dword [esp + 0x30]
mov ecx, dword [esp + 0x4c]
push eax
push 0x583948
push ecx
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0xc
jmp case.default.0x4ae685
push 0x58848c
push ebp
call fcn.005809c6
add esp, 8
test eax, eax
jne 0x4ae1cc
mov esi, dword [esi + 0x948]
test esi, esi
je case.default.0x4ae685
lea edx, [esp + 0x2c]
push edx
push 0x18
push esi
call dword [sym.imp.GDI32.dll_GetObjectA]
mov eax, dword [esp + 0x34]
mov ecx, dword [esp + 0x4c]
push eax
push 0x583948
push ecx
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0xc
jmp case.default.0x4ae685
push str..sbtext
push ebp
call fcn.005809c6
add esp, 8
test eax, eax
jne 0x4ae1f9
mov ecx, esi
call fcn.005273b0
mov ecx, dword [esp + 0x4c]
push eax
mov edx, 4
call fcn.0041ee40
jmp case.default.0x4ae685
push str..sbcolor
push ebp
call fcn.005809c6
add esp, 8
test eax, eax
jne 0x4ae27c
mov esi, dword [esi + 0x710]
cmp esi, 1
jne 0x4ae230
mov edx, dword [str.message]
mov eax, dword [esp + 0x4c]
mov dword [eax], edx
mov ecx, dword [0x584cd8]
mov dword [eax + 4], ecx
jmp case.default.0x4ae685
cmp esi, 3
jne 0x4ae250
mov eax, dword [str.event]
mov edx, dword [esp + 0x4c]
mov dword [edx], eax
mov cx, word [0x588470]
mov word [edx + 4], cx
jmp case.default.0x4ae685
cmp esi, 2
jne case.default.0x4ae685
mov eax, dword [str.highlight]
mov edx, dword [esp + 0x4c]
mov dword [edx], eax
mov ecx, dword [0x586a38]
mov dword [edx + 4], ecx
mov ax, word [0x586a3c]
mov word [edx + 8], ax
jmp case.default.0x4ae685
push str..state
push ebp
call fcn.005809c6
add esp, 8
test eax, eax
jne 0x4ae395
mov eax, dword [0x59bd48]
test eax, eax
mov ebx, dword [sym.imp.USER32.dll_IsIconic]
mov ebp, dword [sym.imp.USER32.dll_IsWindowVisible]
je 0x4ae2e3
mov eax, dword [esi + 0xa20]
test eax, eax
jne 0x4ae310
push edi
call ebx
test eax, eax
jne 0x4ae2bf
push edi
call ebp
test eax, eax
jne 0x4ae310
mov edx, dword [str.hidden]
mov ecx, dword [esp + 0x4c]
mov dword [ecx], edx
mov ax, word [0x58770c]
mov word [ecx + 4], ax
mov dl, byte [0x58770e]
mov byte [ecx + 6], dl
jmp case.default.0x4ae685
mov eax, dword [esi]
push eax
call ebp
test eax, eax
jne 0x4ae310
mov edx, dword [str.hidden]
mov ecx, dword [esp + 0x4c]
mov dword [ecx], edx
mov ax, word [0x58770c]
mov word [ecx + 4], ax
mov dl, byte [0x58770e]
mov byte [ecx + 6], dl
jmp case.default.0x4ae685
push edi
call ebx
test eax, eax
jne 0x4ae371
push edi
call ebp
test eax, eax
je 0x4ae371
push edi
call dword [sym.imp.USER32.dll_IsZoomed]
test eax, eax
je 0x4ae34e
mov ecx, dword [str.maximized]
mov eax, dword [esp + 0x4c]
mov dword [eax], ecx
mov edx, dword [0x5876f4]
mov dword [eax + 4], edx
mov cx, word [0x5876f8]
mov word [eax + 8], cx
jmp case.default.0x4ae685
mov eax, dword [str.normal]
mov edx, dword [esp + 0x4c]
mov dword [edx], eax
mov cx, word [0x5876ec]
mov word [edx + 4], cx
mov al, byte [0x5876ee]
mov byte [edx + 6], al
jmp case.default.0x4ae685
mov edx, dword [str.minimized]
mov ecx, dword [esp + 0x4c]
mov dword [ecx], edx
mov eax, dword [0x587700]
mov dword [ecx + 4], eax
mov dx, word [0x587704]
mov word [ecx + 8], dx
jmp case.default.0x4ae685
push str..icon
push ebp
call fcn.005809c6
add esp, 8
test eax, eax
jne 0x4ae405
mov eax, dword [0x59bd48]
test eax, eax
je 0x4ae3d6
mov eax, dword [esi + 0xa20]
test eax, eax
mov eax, dword [esp + 0x4c]
je 0x4ae3fa
mov cx, word [0x584120]
mov word [eax], cx
mov dl, byte [0x584122]
mov byte [eax + 2], dl
jmp case.default.0x4ae685
mov ecx, dword [esi]
push ecx
call dword [sym.imp.USER32.dll_IsIconic]
test eax, eax
je 0x4ae3f6
mov edx, dword [esi]
push edx
call dword [sym.imp.USER32.dll_IsWindowVisible]
test eax, eax
je 0x4ae3f6
mov eax, dword [esp + 0x4c]
jmp 0x4ae3be
mov eax, dword [esp + 0x4c]
mov dword [eax], 0x66666f
jmp case.default.0x4ae685
push str..mdi
push ebp
call fcn.005809c6
add esp, 8
test eax, eax
jne 0x4ae441
mov ecx, edi
call fcn.00543010
test eax, eax
mov ecx, dword [esp + 0x4c]
je 0x4ae5ae
mov edx, dword [str._true]
mov dword [ecx], edx
mov ax, word [0x583924]
mov word [ecx + 4], ax
jmp case.default.0x4ae685
push str..font
push ebp
call fcn.005809c6
add esp, 8
test eax, eax
jne 0x4ae46f
mov edx, dword [esp + 0x4c]
lea eax, [esi + 0x978]
sub edx, eax
nop
mov cl, byte [eax]
mov byte [edx + eax], cl
inc eax
test cl, cl
jne 0x4ae460
jmp case.default.0x4ae685
push str..fontbold
push ebp
call fcn.005809c6
add esp, 8
test eax, eax
jne 0x4ae4ca
cmp dword [esi + 0x9e0], 0x190
mov eax, dword [esp + 0x4c]
jle 0x4ae4a9
mov ecx, dword [str._true]
mov dword [eax], ecx
mov dx, word [0x583924]
mov word [eax + 4], dx
jmp case.default.0x4ae685
mov ecx, dword [str._false]
mov dword [eax], ecx
mov dx, word [0x583914]
mov word [eax + 4], dx
mov cl, byte [0x583916]
mov byte [eax + 6], cl
jmp case.default.0x4ae685
push str..fontsize
push ebp
call fcn.005809c6
add esp, 8
test eax, eax
jne 0x4ae4e7
mov edx, dword [esi + 0x9dc]
jmp 0x4adf12
push 6
push str..title
push ebp
call fcn.00580a2f
add esp, 0xc
test eax, eax
jne 0x4ae543
push 0x100
push ebx
push edi
call dword [sym.imp.USER32.dll_GetWindowTextA]
push 0x20
push ebx
mov byte [ebx + 0x100], 0
call fcn.00570260
add esp, 8
test eax, eax
je case.default.0x4ae685
mov cl, byte [eax + 1]
inc eax
test cl, cl
je case.default.0x4ae685
mov edx, dword [esp + 0x4c]
sub edx, eax
mov cl, byte [eax]
mov byte [edx + eax], cl
inc eax
test cl, cl
jne 0x4ae534
jmp case.default.0x4ae685
push str..logfile
push ebp
call fcn.005809c6
add esp, 8
test eax, eax
jne 0x4ae57f
mov eax, dword [esi + 0x6a8]
test eax, eax
je case.default.0x4ae685
mov edx, dword [esp + 0x4c]
lea eax, [esi + 0x4a0]
sub edx, eax
nop
mov cl, byte [eax]
mov byte [edx + eax], cl
inc eax
test cl, cl
jne 0x4ae570
jmp case.default.0x4ae685
push str..stamp
push ebp
call fcn.005809c6
add esp, 8
test eax, eax
jne 0x4ae5d7
mov esi, dword [esi + 0x730]
cmp esi, 1
je 0x4ae5ce
cmp esi, 2
jne 0x4ae5aa
mov eax, dword [0x5ad0f4]
test eax, eax
jne 0x4ae5ce
mov ecx, dword [esp + 0x4c]
mov edx, dword [str._false]
mov dword [ecx], edx
mov ax, word [0x583914]
mov word [ecx + 4], ax
mov dl, byte [0x583916]
mov byte [ecx + 6], dl
jmp case.default.0x4ae685
mov eax, dword [esp + 0x4c]
jmp 0x4ae491
push str..ontop
push ebp
call fcn.005809c6
add esp, 8
test eax, eax
jne 0x4ae5fb
mov eax, dword [esi]
push 0xffffffffffffffec
push eax
call dword [sym.imp.USER32.dll_GetWindowLongA]
test al, 8
jmp 0x4ae420
push str..type
push ebp
call fcn.005809c6
add esp, 8
test eax, eax
jne 0x4ae811
mov ecx, dword [str.unknown]
mov eax, dword [esp + 0x4c]
mov dword [eax], ecx
mov edx, dword [0x583884]
mov dword [eax + 4], edx
mov ecx, dword [esi + 0x708]
cmp ecx, 9
ja case.default.0x4ae685
jmp dword [ecx*4 + 0x4aeda0]
mov ecx, dword [str.status]
mov dword [eax], ecx
mov dx, word [0x584584]
mov word [eax + 4], dx
mov cl, byte [0x584586]
mov byte [eax + 6], cl
jmp case.default.0x4ae685
mov edx, dword [str.channel]
mov dword [eax], edx
mov ecx, dword [0x583d98]
mov dword [eax + 4], ecx
jmp case.default.0x4ae685
mov esi, dword [esi + 0x70c]
lea ecx, [esi - 1]
cmp ecx, 3
ja case.default.0x4ae685
jmp dword [ecx*4 + 0x4aedc8]
mov edx, dword [str.query]
mov dword [eax], edx
mov cx, word [0x584cf8]
mov word [eax + 4], cx
jmp case.default.0x4ae685
mov edx, dword [str.message]
mov dword [eax], edx
mov ecx, dword [0x584cd8]
mov dword [eax + 4], ecx
jmp case.default.0x4ae685
mov edx, dword [str.chat]
mov dword [eax], edx
mov cl, byte [0x585a54]
mov byte [eax + 4], cl
jmp case.default.0x4ae685
mov edx, dword [str.fserve]
mov dword [eax], edx
mov cx, word [0x5855cc]
mov word [eax + 4], cx
mov dl, byte [0x5855ce]
mov byte [eax + 6], dl
jmp case.default.0x4ae685
mov esi, dword [esi + 0x70c]
dec esi
je 0x4ae70c
dec esi
jne case.default.0x4ae685
mov dword [eax], 0x746567
jmp case.default.0x4ae685
mov ecx, dword [str.send]
mov dword [eax], ecx
mov dl, byte [0x5859d8]
mov byte [eax + 4], dl
jmp case.default.0x4ae685
mov ecx, dword [str.chanlist]
mov dword [eax], ecx
mov edx, dword [0x58842c]
mov dword [eax + 4], edx
mov cl, byte [0x588430]
mov byte [eax + 8], cl
jmp case.default.0x4ae685
mov edx, dword [str.finger]
mov dword [eax], edx
mov cx, word [0x585608]
mov word [eax + 4], cx
mov dl, byte [0x58560a]
mov byte [eax + 6], dl
jmp case.default.0x4ae685
mov ecx, dword [str.urls]
mov dword [eax], ecx
mov dl, byte [0x588424]
mov byte [eax + 4], dl
jmp case.default.0x4ae685
mov ecx, dword [str.notify]
mov dword [eax], ecx
mov dx, word [0x584ce4]
mov word [eax + 4], dx
mov cl, byte [0x584ce6]
mov byte [eax + 6], cl
jmp case.default.0x4ae685
mov edx, dword [str.links]
mov dword [eax], edx
mov cx, word [0x585db4]
mov word [eax + 4], cx
jmp case.default.0x4ae685
mov ecx, dword [esi + 0x744]
test ecx, ecx
je 0x4ae7d1
mov edx, dword [str.picture]
mov dword [eax], edx
mov ecx, dword [0x583b38]
mov dword [eax + 4], ecx
jmp case.default.0x4ae685
cmp dword [esi + 0x70c], 1
jne 0x4ae7f0
mov edx, dword [str.listbox]
mov dword [eax], edx
mov ecx, dword [0x588418]
mov dword [eax + 4], ecx
jmp case.default.0x4ae685
mov edx, dword [str.custom]
mov dword [eax], edx
mov cx, word [0x588410]
mov word [eax + 4], cx
mov dl, byte [0x588412]
mov byte [eax + 6], dl
jmp case.default.0x4ae685
push str..anysc
push ebp
call fcn.005809c6
add esp, 8
test eax, eax
jne 0x4ae83a
mov eax, dword [esi + 0xbc4]
test eax, eax
mov eax, dword [esp + 0x4c]
je 0x4ae4a9
jmp 0x4ae491
push str..hwnd
push ebp
call fcn.005809c6
add esp, 8
test eax, eax
jne 0x4ae853
mov edx, dword [esi]
jmp 0x4adf12
push str..wid
push ebp
call fcn.005809c6
add esp, 8
test eax, eax
jne 0x4ae881
mov ecx, dword [esi + 4]
mov edx, dword [esp + 0x4c]
push ecx
push 0x583948
push edx
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0xc
jmp case.default.0x4ae685
push str..cid
push ebp
call fcn.005809c6
add esp, 8
test eax, eax
jne case.default.0x4ae685
mov ecx, dword [esi + 0xbbc]
call fcn.004e2760
test eax, eax
je 0x4ae8c8
mov eax, dword [esi + 0xbbc]
mov ecx, dword [eax + 8]
mov edx, dword [esp + 0x4c]
push ecx
push 0x583948
push edx
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0xc
jmp case.default.0x4ae685
mov eax, dword [esp + 0x4c]
mov word [eax], 0x30
jmp case.default.0x4ae685
cmp dword [esi + 0x708], 2
jne 0x4ae936
mov eax, dword [esi + 0x70c]
cmp eax, 3
je 0x4ae8ef
cmp eax, 4
jne 0x4ae936
add esi, 8
push 0x20
push esi
call fcn.00570260
add esp, 8
test eax, eax
jne 0x4ae91c
mov ecx, dword [esp + 0x4c]
mov eax, esi
push eax
push 0x587e74
push ecx
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0xc
jmp case.default.0x4ae685
mov ecx, dword [esp + 0x4c]
inc eax
push eax
push 0x587e74
push ecx
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0xc
jmp case.default.0x4ae685
mov edx, dword [esp + 0x4c]
lea eax, [esi + 8]
sub edx, eax
nop
mov cl, byte [eax]
mov byte [eax + edx], cl
inc eax
test cl, cl
jne 0x4ae940
jmp case.default.0x4ae685
push edx
push edi
call dword [sym.imp.USER32.dll_GetWindowRect]
mov eax, dword [esp + 0x48]
mov ecx, dword [eax + 0x10]
test ecx, ecx
je case.default.0x4ae685
mov ecx, eax
mov edx, dword [ecx]
push 0x2e
push edx
call fcn.00570980
mov esi, eax
add esp, 8
test esi, esi
je case.default.0x4ae685
push 0x58433c
push esi
call fcn.005809c6
add esp, 8
test eax, eax
jne 0x4ae9ae
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x4c]
push eax
push 0x583948
push ecx
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0xc
jmp case.default.0x4ae685
push 0x584338
push esi
call fcn.005809c6
add esp, 8
test eax, eax
jne 0x4ae9c9
mov edx, dword [esp + 0x20]
jmp 0x4adf12
push 0x584334
push esi
call fcn.005809c6
add esp, 8
test eax, eax
jne 0x4ae9fe
mov ecx, dword [esp + 0x24]
mov edi, dword [esp + 0x1c]
mov edx, dword [esp + 0x4c]
sub ecx, edi
push ecx
push 0x583948
push edx
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0xc
jmp case.default.0x4ae685
push 0x584330
push esi
call fcn.005809c6
add esp, 8
test eax, eax
jne 0x4aea33
mov eax, dword [esp + 0x28]
mov ebx, dword [esp + 0x20]
mov ecx, dword [esp + 0x4c]
sub eax, ebx
push eax
push 0x583948
push ecx
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0xc
jmp case.default.0x4ae685
push 0x588224
push esi
call fcn.005809c6
add esp, 8
test eax, eax
jne 0x4aeaad
cmp edi, dword [0x5b4318]
jne 0x4aea78
mov edx, 1
lea ecx, [esp + 0x1c]
call fcn.004cf680
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 0x4c]
push ecx
push 0x583948
push edx
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0xc
jmp case.default.0x4ae685
lea edx, [esp + 0x1c]
push edx
push edi
call dword [sym.imp.USER32.dll_GetClientRect]
lea eax, [esp + 0x1c]
push eax
push edi
call dword [sym.imp.USER32.dll_ClientToScreen]
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 0x4c]
push ecx
push 0x583948
push edx
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0xc
jmp case.default.0x4ae685
push 0x58821c
push esi
call fcn.005809c6
add esp, 8
test eax, eax
jne 0x4aeaff
cmp edi, dword [0x5b4318]
jne 0x4aeade
mov edx, 1
lea ecx, [esp + 0x1c]
call fcn.004cf680
mov edx, dword [esp + 0x20]
jmp 0x4adf12
lea eax, [esp + 0x1c]
push eax
push edi
call dword [sym.imp.USER32.dll_GetClientRect]
lea ecx, [esp + 0x1c]
push ecx
push edi
call dword [sym.imp.USER32.dll_ClientToScreen]
mov edx, dword [esp + 0x20]
jmp 0x4adf12
push 0x5884a4
push esi
call fcn.005809c6
add esp, 8
test eax, eax
jne 0x4aeb46
cmp edi, dword [0x5b4318]
lea ecx, [esp + 0x1c]
jne 0x4aeb31
xor edx, edx
call fcn.004cf680
mov edx, dword [esp + 0x24]
sub edx, dword [esp + 0x1c]
jmp 0x4adf12
push ecx
push edi
call dword [sym.imp.USER32.dll_GetClientRect]
mov edx, dword [esp + 0x24]
sub edx, dword [esp + 0x1c]
jmp 0x4adf12
push 0x58849c
push esi
call fcn.005809c6
add esp, 8
test eax, eax
jne 0x4aeb8d
cmp edi, dword [0x5b4318]
lea ecx, [esp + 0x1c]
jne 0x4aeb78
xor edx, edx
call fcn.004cf680
mov edx, dword [esp + 0x28]
sub edx, dword [esp + 0x20]
jmp 0x4adf12
push ecx
push edi
call dword [sym.imp.USER32.dll_GetClientRect]
mov edx, dword [esp + 0x28]
sub edx, dword [esp + 0x20]
jmp 0x4adf12
push str..state
push esi
call fcn.005809c6
add esp, 8
test eax, eax
jne 0x4aec5b
mov eax, dword [0x5b3c00]
test eax, eax
mov esi, dword [sym.imp.USER32.dll_IsWindowVisible]
je 0x4aebd2
push edi
call esi
test eax, eax
jne 0x4aebd2
mov edx, dword [str.tray]
mov ecx, dword [esp + 0x4c]
mov dword [ecx], edx
mov al, byte [0x5851bc]
mov byte [ecx + 4], al
jmp case.default.0x4ae685
push edi
call dword [sym.imp.USER32.dll_IsIconic]
test eax, eax
jne 0x4aec38
push edi
call esi
test eax, eax
je 0x4aec38
push edi
call dword [sym.imp.USER32.dll_IsZoomed]
test eax, eax
je 0x4aec13
mov edx, dword [str.maximized]
mov ecx, dword [esp + 0x4c]
mov dword [ecx], edx
mov eax, dword [0x5876f4]
mov dword [ecx + 4], eax
mov dx, word [0x5876f8]
mov word [ecx + 8], dx
jmp case.default.0x4ae685
mov ecx, dword [str.normal]
mov eax, dword [esp + 0x4c]
mov dword [eax], ecx
mov dx, word [0x5876ec]
mov word [eax + 4], dx
mov cl, byte [0x5876ee]
mov byte [eax + 6], cl
jmp case.default.0x4ae685
mov eax, dword [str.minimized]
mov edx, dword [esp + 0x4c]
mov dword [edx], eax
mov ecx, dword [0x587700]
mov dword [edx + 4], ecx
mov ax, word [0x587704]
mov word [edx + 8], ax
jmp case.default.0x4ae685
push str..icon
push esi
call fcn.005809c6
add esp, 8
test eax, eax
jne 0x4aecad
push edi
call dword [sym.imp.USER32.dll_IsIconic]
test eax, eax
je 0x4aec9e
push edi
call dword [sym.imp.USER32.dll_IsWindowVisible]
test eax, eax
je 0x4aec9e
mov dx, word [0x584120]
mov ecx, dword [esp + 0x4c]
mov word [ecx], dx
mov al, byte [0x584122]
mov byte [ecx + 2], al
jmp case.default.0x4ae685
mov ecx, dword [esp + 0x4c]
mov dword [ecx], 0x66666f
jmp case.default.0x4ae685
push str..type
push esi
call fcn.005809c6
add esp, 8
test eax, eax
jne 0x4aed0b
cmp edi, dword [0x5b4314]
jne 0x4aece0
mov eax, dword [0x5843c8]
mov edx, dword [esp + 0x4c]
mov dword [edx], eax
mov cl, byte [0x5843cc]
mov byte [edx + 4], cl
jmp case.default.0x4ae685
cmp edi, dword [0x5b4318]
jne 0x4aecf4
mov edx, dword [esp + 0x4c]
mov dword [edx], 0x69646d
jmp case.default.0x4ae685
mov ecx, dword [str.desktop]
mov eax, dword [esp + 0x4c]
mov dword [eax], ecx
mov edx, dword [0x588404]
mov dword [eax + 4], edx
jmp case.default.0x4ae685
push str..hwnd
push esi
call fcn.005809c6
add esp, 8
test eax, eax
jne 0x4aed23
push edi
jmp 0x4adf13
push str..wid
push esi
call fcn.005809c6
add esp, 8
test eax, eax
jne 0x4aed40
mov ecx, dword [esp + 0x4c]
mov word [ecx], 0x30
jmp case.default.0x4ae685
push str..cid
push esi
call fcn.005809c6
add esp, 8
test eax, eax
jne case.default.0x4ae685
mov edx, dword [esp + 0x4c]
mov word [edx], 0x30
pop ebp
pop ebx
mov esi, dword [esp + 0x40]
mov eax, dword [esi + 8]
test eax, eax
jle 0x4aed89
mov edi, dword [esp + 8]
lea esp, [esp]
mov edx, dword [esi + 0x40]
mov ecx, dword [edi]
call fcn.004c7fe0
mov dword [edi], eax
mov ecx, dword [esi + 8]
dec ecx
mov eax, ecx
test eax, eax
mov dword [esi + 8], ecx
jg 0x4aed70
mov dword [esi + 8], 0
mov eax, 2
pop edi
pop esi
add esp, 0x34
ret 0x14