Function at 0x4c9750
Capabilities:
Get graphical window text

Disassembly:
sub esp, 0x30
push esi
push edi
mov edi, dword [esp + 0x44]
mov ecx, dword [edi + 8]
test ecx, ecx
jne 0x4c97b0
mov esi, dword [esp + 0x50]
mov eax, dword [esp + 0x4c]
mov ecx, dword [esp + 0x40]
mov edx, dword [ecx]
push 0x63
push esi
push eax
mov eax, dword [esp + 0x48]
push edi
push edx
push eax
call fcn.0051c6f0
add esp, 0x18
cmp eax, 1
jne 0x4caadd
mov ecx, dword [edi + 8]
cmp ecx, eax
je 0x4caadd
cmp ecx, 2
je 0x4caadd
push 6
push esi
push edi
call fcn.0048c510
add esp, 0xc
pop edi
pop esi
add esp, 0x30
ret
mov eax, dword [edi + 0x40]
test eax, eax
je 0x4caad8
cmp ecx, 2
jne 0x4c97cb
mov edx, dword [eax + 0x40]
test edx, edx
je 0x4caad8
mov esi, dword [eax + 0x1c]
mov edx, 1
cmp esi, edx
jne 0x4c97e4
cmp ecx, 2
jne 0x4c97ec
mov esi, dword [eax + 0x40]
cmp dword [esi + 0x1c], edx
je 0x4c97ec
pop edi
mov eax, edx
pop esi
add esp, 0x30
ret
mov edx, dword [eax + 0xc]
test edx, edx
jne 0x4caaa4
cmp ecx, 2
jne 0x4c980a
mov ecx, dword [eax + 0x40]
mov eax, dword [ecx + 0xc]
test eax, eax
jne 0x4caaa4
mov esi, dword [esp + 0x50]
mov edi, dword [esp + 0x44]
mov byte [esi], 0
cmp dword [edi + 8], 2
mov edx, dword [edi + 0x40]
push ebx
push ebp
jne 0x4c9828
mov eax, dword [edx + 0x40]
mov ecx, dword [eax]
push ecx
jmp 0x4c9850
mov eax, dword [edx]
push eax
call fcn.0051c210
add esp, 4
test eax, eax
je 0x4c9897
mov ecx, dword [edi + 0x40]
mov ecx, dword [ecx]
mov edx, esi
mov edi, edi
mov al, byte [ecx]
inc ecx
mov byte [edx], al
inc edx
test al, al
jne 0x4c9840
mov edx, dword [edi + 0x40]
mov eax, dword [edx]
push eax
call fcn.005d9a55
mov ebx, eax
add esp, 4
cmp ebx, 0x270e
jle 0x4c989e
mov ebx, 0x270e
mov ebp, dword [esp + 0x4c]
mov eax, dword [ebp + 0x40]
mov ecx, dword [eax]
push 0x70
push ecx
call fcn.0058eb40
mov edi, eax
add esp, 8
test edi, edi
je 0x4c9997
push edi
call fcn.0058ea30
add esp, 4
mov esi, eax
xor ebx, ebx
jmp 0x4c9a71
mov ebx, 0x270f
jmp 0x4c9867
test ebx, ebx
jne 0x4c9867
mov esi, dword [0x6a0f38]
test esi, esi
je 0x4c997f
mov ebp, dword [esp + 0x5c]
cmp dword [esi + 0x1e90], ebp
je 0x4c98d9
mov eax, dword [esi + 0x1314]
cmp eax, 5
jl 0x4c9971
cmp eax, 7
jle 0x4c98d9
cmp eax, 9
jne 0x4c9971
mov ecx, dword [edi + 8]
mov eax, 2
cmp ecx, eax
jne 0x4c9967
cmp dword [esi + 0x1314], eax
jne 0x4c9931
mov eax, dword [esi + 0x1318]
cmp eax, 3
je 0x4c9901
cmp eax, 4
jne 0x4c9931
lea edi, [esi + 8]
push 0x20
push edi
call fcn.005d9b20
add esp, 8
test eax, eax
jne 0x4c9917
mov eax, edi
jmp 0x4c9918
inc eax
mov ecx, dword [esp + 0x58]
push eax
push 0x5fa090
push ecx
call fcn.005d9929
mov edi, dword [esp + 0x58]
add esp, 0xc
jmp 0x4c994a
mov edx, dword [esp + 0x58]
lea eax, [esi + 8]
sub edx, eax
lea ebx, [ebx]
mov cl, byte [eax]
mov byte [edx + eax], cl
inc eax
test cl, cl
jne 0x4c9940
mov edx, dword [esp + 0x58]
mov eax, dword [edi + 0x40]
mov ecx, dword [eax]
push 1
push 0
push edx
push ecx
call fcn.0058df80
add esp, 0x10
test eax, eax
je 0x4c9971
jmp 0x4c9970
cmp dword [esi + 0x1314], 9
jne 0x4c9971
inc ebx
mov esi, dword [esi + 0x21c0]
test esi, esi
jne 0x4c98b4
push ebx
mov edx, dword [esp + 0x54]
push 0x5f4a40
push edx
call fcn.005d9929
add esp, 0xc
jmp case.default.0x4ca3be
mov esi, dword [0x6a0f38]
test esi, esi
je case.default.0x4ca3be
mov edi, dword [esp + 0x58]
lea esp, [esp]
mov edx, dword [esi + 0x1e90]
cmp edx, dword [esp + 0x5c]
je 0x4c99d9
mov eax, dword [esi + 0x1314]
cmp eax, 5
jl 0x4c9b1d
cmp eax, 7
jle 0x4c99d9
cmp eax, 9
jne 0x4c9b1d
cmp dword [esi + 0x1314], 2
jne 0x4c9a22
mov eax, dword [esi + 0x1318]
cmp eax, 3
je 0x4c99f2
cmp eax, 4
jne 0x4c9a22
lea edi, [esi + 8]
push 0x20
push edi
call fcn.005d9b20
add esp, 8
test eax, eax
jne 0x4c9a08
mov eax, edi
jmp 0x4c9a09
inc eax
push eax
mov eax, dword [esp + 0x5c]
push 0x5fa090
push eax
call fcn.005d9929
mov edi, dword [esp + 0x64]
add esp, 0xc
jmp 0x4c9a3a
lea eax, [esi + 8]
mov edx, edi
sub edx, eax
lea esp, [esp]
mov cl, byte [eax]
mov byte [edx + eax], cl
inc eax
test cl, cl
jne 0x4c9a30
cmp ebx, 0x270f
mov eax, dword [ebp + 8]
jne 0x4c9aed
cmp eax, 2
jne 0x4c9ad8
mov ecx, dword [ebp + 0x40]
mov edx, dword [ecx]
push 1
push 0
push edi
push edx
call fcn.0058df80
add esp, 0x10
test eax, eax
je 0x4c9b1d
xor ebx, ebx
mov edi, dword [esi]
test edi, edi
je case.default.0x4ca3be
test ebx, ebx
jne case.default.0x4ca3be
test esi, esi
je 0x4ca686
mov edx, dword [esi]
lea ecx, [esp + 0x18]
push ecx
push edx
call fcn.00591190
mov eax, dword [ebp + 0x10]
add esp, 8
test eax, eax
je 0x4ca610
mov eax, dword [ebp]
push 0x2e
push eax
call fcn.005da7f0
mov edi, eax
add esp, 8
test edi, edi
je 0x4ca610
push 0x5f54a0
push edi
call fcn.005f1860
add esp, 8
test eax, eax
jne 0x4c9b30
mov ecx, dword [esp + 0x18]
push ecx
jmp 0x4c9980
mov eax, dword [ebp + 0x40]
mov ecx, dword [eax]
push edi
push ecx
call fcn.005f1860
add esp, 8
test eax, eax
je 0x4c9a6d
jmp 0x4c9b1d
cmp eax, 2
jne 0x4c9b0b
mov edx, dword [ebp + 0x40]
mov eax, dword [edx]
push 1
push 0
push edi
push eax
call fcn.0058df80
add esp, 0x10
test eax, eax
je 0x4c9b15
jmp 0x4c9b14
cmp dword [esi + 0x1314], 9
jne 0x4c9b15
dec ebx
test ebx, ebx
jle 0x4c9a6f
mov esi, dword [esi + 0x21c0]
test esi, esi
jne 0x4c99b0
jmp case.default.0x4ca3be
push 0x5f549c
push edi
call fcn.005f1860
add esp, 8
test eax, eax
jne 0x4c9b5e
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x50]
push eax
push 0x5f4a40
push ecx
call fcn.005d9929
add esp, 0xc
jmp case.default.0x4ca3be
push 0x5f5498
push edi
call fcn.005f1860
add esp, 8
test eax, eax
jne 0x4c9b8c
mov edx, dword [esp + 0x20]
mov eax, dword [esp + 0x50]
push edx
push 0x5f4a40
push eax
call fcn.005d9929
add esp, 0xc
jmp case.default.0x4ca3be
push 0x5f5494
push edi
call fcn.005f1860
add esp, 8
test eax, eax
jne 0x4c9ba8
mov ecx, dword [esp + 0x24]
push ecx
jmp 0x4c9980
push 0x5fa454
push edi
call fcn.005f1860
add esp, 8
test eax, eax
jne 0x4c9c3f
mov eax, dword [esi]
push eax
call fcn.0058ee70
add esp, 4
test eax, eax
lea ecx, [esp + 0x18]
je 0x4c9bfb
mov edx, dword [0x6a0f44]
push ecx
push edx
call dword [sym.imp.USER32.dll_ClientToScreen]
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x50]
push eax
push 0x5f4a40
push ecx
call fcn.005d9929
add esp, 0xc
jmp case.default.0x4ca3be
mov eax, dword [esp + 0x18]
push 0
push ecx
lea edx, [esp + 0x18]
push edx
push 0
mov dword [esp + 0x20], eax
call fcn.00508880
mov ecx, dword [esp + 0x28]
mov eax, dword [esp + 0x20]
sub eax, ecx
mov ecx, dword [esp + 0x60]
add esp, 0x10
push eax
push 0x5f4a40
push ecx
mov dword [esp + 0x1c], eax
mov dword [esp + 0x24], eax
call fcn.005d9929
add esp, 0xc
jmp case.default.0x4ca3be
push 0x5fa44c
push edi
call fcn.005f1860
add esp, 8
test eax, eax
jne 0x4c9cd6
mov edx, dword [esi]
push edx
call fcn.0058ee70
add esp, 4
test eax, eax
lea eax, [esp + 0x18]
je 0x4c9c92
mov ecx, dword [0x6a0f44]
push eax
push ecx
call dword [sym.imp.USER32.dll_ClientToScreen]
mov edx, dword [esp + 0x1c]
mov eax, dword [esp + 0x50]
push edx
push 0x5f4a40
push eax
call fcn.005d9929
add esp, 0xc
jmp case.default.0x4ca3be
mov edx, dword [esp + 0x1c]
push 0
push eax
lea ecx, [esp + 0x18]
push ecx
push 0
mov dword [esp + 0x24], edx
call fcn.00508880
mov eax, dword [esp + 0x24]
sub eax, dword [esp + 0x2c]
add esp, 0x10
mov edx, eax
push edx
mov dword [esp + 0x18], eax
mov dword [esp + 0x20], eax
mov eax, dword [esp + 0x54]
push 0x5f4a40
push eax
call fcn.005d9929
add esp, 0xc
jmp case.default.0x4ca3be
push 0x5fa710
push edi
call fcn.005f1860
add esp, 8
test eax, eax
jne 0x4c9cf4
mov ecx, dword [esi + 0x1460]
push ecx
jmp 0x4c9980
push 0x5fa708
push edi
call fcn.005f1860
add esp, 8
test eax, eax
jne 0x4c9d24
mov eax, dword [esi + 0x1464]
mov ecx, dword [esp + 0x50]
push eax
push 0x5f4a40
push ecx
call fcn.005d9929
add esp, 0xc
jmp case.default.0x4ca3be
push 0x5fa700
push edi
call fcn.005f1860
add esp, 8
test eax, eax
jne 0x4c9d6e
mov esi, dword [esi + 0x1728]
test esi, esi
je case.default.0x4ca3be
lea edx, [esp + 0x28]
push edx
push 0x18
push esi
call dword [sym.imp.GDI32.dll_GetObjectA]
mov eax, dword [esp + 0x2c]
mov ecx, dword [esp + 0x50]
push eax
push 0x5f4a40
push ecx
call fcn.005d9929
add esp, 0xc
jmp case.default.0x4ca3be
push 0x5fa6f8
push edi
call fcn.005f1860
add esp, 8
test eax, eax
jne 0x4c9db8
mov esi, dword [esi + 0x1728]
test esi, esi
je case.default.0x4ca3be
lea edx, [esp + 0x28]
push edx
push 0x18
push esi
call dword [sym.imp.GDI32.dll_GetObjectA]
mov eax, dword [esp + 0x30]
mov ecx, dword [esp + 0x50]
push eax
push 0x5f4a40
push ecx
call fcn.005d9929
add esp, 0xc
jmp case.default.0x4ca3be
push str..sbtext
push edi
call fcn.005f1860
add esp, 8
test eax, eax
jne 0x4c9de5
push esi
call fcn.0055dd00
mov edx, dword [esp + 0x54]
push eax
push 4
push edx
call fcn.00425550
add esp, 0x10
jmp case.default.0x4ca3be
push str..sbcolor
push edi
call fcn.005f1860
add esp, 8
test eax, eax
jne 0x4c9e6b
mov esi, dword [esi + 0x131c]
cmp esi, 1
jne 0x4c9e1c
mov ecx, dword [str.message]
mov eax, dword [esp + 0x50]
mov dword [eax], ecx
mov edx, dword [0x5f6554]
mov dword [eax + 4], edx
jmp case.default.0x4ca3be
cmp esi, 3
jne 0x4c9e3d
mov ecx, dword [str.event]
mov eax, dword [esp + 0x50]
mov dword [eax], ecx
mov dx, word [0x5fa6dc]
mov word [eax + 4], dx
jmp case.default.0x4ca3be
cmp esi, 2
jne case.default.0x4ca3be
mov ecx, dword [str.highlight]
mov eax, dword [esp + 0x50]
mov dword [eax], ecx
mov edx, dword [0x5f8820]
mov dword [eax + 4], edx
mov cx, word [0x5f8824]
mov word [eax + 8], cx
jmp case.default.0x4ca3be
push str..sbstate
push edi
call fcn.005f1860
add esp, 8
test eax, eax
jne 0x4c9e9b
push esi
call fcn.0055df90
mov edx, dword [esp + 0x54]
add esp, 4
neg eax
sbb eax, eax
neg eax
add eax, 0x30
mov word [edx], ax
jmp case.default.0x4ca3be
push str..tbtext
push edi
call fcn.005f1860
add esp, 8
test eax, eax
jne 0x4c9edf
mov eax, dword [esi + 4]
mov ecx, dword [0x698930]
push eax
push ecx
call fcn.0057b070
add esp, 8
test eax, eax
je case.default.0x4ca3be
mov ecx, dword [eax]
mov edx, dword [esp + 0x50]
mov edi, edi
mov al, byte [ecx]
inc ecx
mov byte [edx], al
inc edx
test al, al
jne 0x4c9ed0
jmp case.default.0x4ca3be
push str..tbstate
push edi
call fcn.005f1860
add esp, 8
test eax, eax
jne 0x4c9ef9
push esi
call fcn.0057b260
jmp 0x4c9e83
push str..state
push edi
call fcn.005f1860
add esp, 8
test eax, eax
jne 0x4ca047
mov eax, dword [esi]
push eax
call dword [sym.imp.USER32.dll_IsWindowVisible]
test eax, eax
jne 0x4c9fc0
mov eax, dword [0x61a9ec]
test eax, eax
je 0x4c9f74
mov eax, dword [0x61af40]
test eax, eax
je 0x4c9f4c
push esi
call fcn.0055df90
add esp, 4
test eax, eax
jne 0x4c9f4c
push esi
call fcn.0057b260
add esp, 4
test eax, eax
je 0x4c9f9c
mov eax, dword [0x61a9ec]
test eax, eax
je 0x4c9f74
mov eax, dword [0x61af40]
test eax, eax
jne 0x4c9f6b
push esi
call fcn.0055df90
add esp, 4
test eax, eax
je 0x4c9f9c
mov eax, dword [0x61a9ec]
test eax, eax
jne 0x4c9fc0
mov eax, dword [0x61af40]
test eax, eax
je 0x4c9f8a
push esi
call fcn.0057b260
add esp, 4
test eax, eax
je 0x4c9f9c
mov eax, dword [0x61a9ec]
test eax, eax
jne 0x4c9fc0
mov eax, dword [0x61af40]
test eax, eax
jne 0x4c9fc0
mov edx, dword [str.hidden]
mov ecx, dword [esp + 0x50]
mov dword [ecx], edx
mov ax, word [0x5f9f6c]
mov word [ecx + 4], ax
mov dl, byte [0x5f9f6e]
mov byte [ecx + 6], dl
jmp case.default.0x4ca3be
mov eax, dword [esi]
push eax
call dword [sym.imp.USER32.dll_IsIconic]
test eax, eax
je 0x4c9ff1
mov edx, dword [str.minimized]
mov ecx, dword [esp + 0x50]
mov dword [ecx], edx
mov eax, dword [0x5f9f60]
mov dword [ecx + 4], eax
mov dx, word [0x5f9f64]
mov word [ecx + 8], dx
jmp case.default.0x4ca3be
mov eax, dword [esi]
push eax
call dword [sym.imp.USER32.dll_IsZoomed]
test eax, eax
je 0x4ca022
mov edx, dword [str.maximized]
mov ecx, dword [esp + 0x50]
mov dword [ecx], edx
mov eax, dword [0x5f9f54]
mov dword [ecx + 4], eax
mov dx, word [0x5f9f58]
mov word [ecx + 8], dx
jmp case.default.0x4ca3be
mov ecx, dword [str.normal]
mov eax, dword [esp + 0x50]
mov dword [eax], ecx
mov dx, word [0x5f9f4c]
mov word [eax + 4], dx
mov cl, byte [0x5f9f4e]
mov byte [eax + 6], cl
jmp case.default.0x4ca3be
push str..icon
push edi
call fcn.005f1860
add esp, 8
test eax, eax
jne 0x4ca0b9
mov eax, dword [0x61a9ec]
test eax, eax
je 0x4ca08a
push esi
call fcn.0055df90
mov edx, dword [esp + 0x54]
add esp, 4
test eax, eax
je 0x4ca0ae
mov ax, word [0x5f5288]
mov word [edx], ax
mov cl, byte [0x5f528a]
mov byte [edx + 2], cl
jmp case.default.0x4ca3be
mov eax, dword [esi]
push eax
call dword [sym.imp.USER32.dll_IsIconic]
test eax, eax
je 0x4ca0aa
mov ecx, dword [esi]
push ecx
call dword [sym.imp.USER32.dll_IsWindowVisible]
test eax, eax
je 0x4ca0aa
mov edx, dword [esp + 0x50]
jmp 0x4ca073
mov edx, dword [esp + 0x50]
mov dword [edx], 0x66666f
jmp case.default.0x4ca3be
push str..mdi
push edi
call fcn.005f1860
add esp, 8
test eax, eax
jne 0x4ca115
mov eax, dword [esi]
push eax
call fcn.0058ee70
mov ecx, dword [esp + 0x54]
add esp, 4
test eax, eax
je 0x4ca0f5
mov edx, dword [str._true]
mov dword [ecx], edx
mov ax, word [0x5f4a14]
mov word [ecx + 4], ax
jmp case.default.0x4ca3be
mov edx, dword [str._false]
mov dword [ecx], edx
mov ax, word [0x5f4a04]
mov word [ecx + 4], ax
mov dl, byte [0x5f4a06]
mov byte [ecx + 6], dl
jmp case.default.0x4ca3be
push str..font
push edi
call fcn.005f1860
add esp, 8
test eax, eax
jne 0x4ca142
mov edx, dword [esp + 0x50]
lea eax, [esi + 0x1758]
sub edx, eax
mov cl, byte [eax]
mov byte [edx + eax], cl
inc eax
test cl, cl
jne 0x4ca133
jmp case.default.0x4ca3be
push str..fontbold
push edi
call fcn.005f1860
add esp, 8
test eax, eax
jne 0x4ca180
cmp dword [esi + 0x1890], 0x2bc
mov eax, dword [esp + 0x50]
jne 0x4ca2ce
mov ecx, dword [str._true]
mov dword [eax], ecx
mov dx, word [0x5f4a14]
mov word [eax + 4], dx
jmp case.default.0x4ca3be
push str..fontsize
push edi
call fcn.005f1860
add esp, 8
test eax, eax
jne 0x4ca1b0
mov edx, dword [esi + 0x188c]
mov eax, dword [esp + 0x50]
push edx
push 0x5f4a40
push eax
call fcn.005d9929
add esp, 0xc
jmp case.default.0x4ca3be
push str..fontcs
push edi
call fcn.005f1860
add esp, 8
test eax, eax
jne 0x4ca1ce
mov ecx, dword [esi + 0x1894]
push ecx
jmp 0x4c9980
push str..utf
push edi
call fcn.005f1860
add esp, 8
test eax, eax
jne 0x4ca1fe
mov eax, dword [esi + 0x18a4]
mov ecx, dword [esp + 0x50]
push eax
push 0x5f4a40
push ecx
call fcn.005d9929
add esp, 0xc
jmp case.default.0x4ca3be
push 6
push str..title
push edi
call fcn.005f18c9
add esp, 0xc
test eax, eax
jne 0x4ca25f
mov edi, dword [esp + 0x58]
mov edx, dword [esi]
push 0x1036
push edi
push edx
call dword [sym.imp.USER32.dll_GetWindowTextA]
push 0x20
push edi
call fcn.005d9b20
add esp, 8
test eax, eax
je case.default.0x4ca3be
mov cl, byte [eax + 1]
inc eax
test cl, cl
je case.default.0x4ca3be
mov edx, dword [esp + 0x50]
sub edx, eax
lea ebx, [ebx]
mov cl, byte [eax]
mov byte [edx + eax], cl
inc eax
test cl, cl
jne 0x4ca250
jmp case.default.0x4ca3be
push str..logfile
push edi
call fcn.005f1860
add esp, 8
test eax, eax
jne 0x4ca29f
mov eax, dword [esi + 0x12a0]
test eax, eax
je case.default.0x4ca3be
mov edx, dword [esp + 0x50]
lea eax, [esi + 0xa3a]
sub edx, eax
jmp 0x4ca290
mov cl, byte [eax]
mov byte [edx + eax], cl
inc eax
test cl, cl
jne 0x4ca290
jmp case.default.0x4ca3be
push str..stamp
push edi
call fcn.005f1860
add esp, 8
test eax, eax
jne 0x4ca30a
mov esi, dword [esi + 0x133c]
cmp esi, 1
je 0x4ca2ef
cmp esi, 2
jne 0x4ca2ca
mov eax, dword [0x682a4c]
test eax, eax
jne 0x4ca2ef
mov eax, dword [esp + 0x50]
mov ecx, dword [str._false]
mov dword [eax], ecx
mov dx, word [0x5f4a04]
mov word [eax + 4], dx
mov cl, byte [0x5f4a06]
mov byte [eax + 6], cl
jmp case.default.0x4ca3be
mov edx, dword [esp + 0x50]
mov eax, dword [str._true]
mov dword [edx], eax
mov cx, word [0x5f4a14]
mov word [edx + 4], cx
jmp case.default.0x4ca3be
push str..ontop
push edi
call fcn.005f1860
add esp, 8
test eax, eax
jne 0x4ca334
mov edx, dword [esi]
push 0xffffffffffffffec
push edx
call dword [sym.imp.USER32.dll_GetWindowLongA]
test al, 8
mov eax, dword [esp + 0x50]
je 0x4ca2ce
jmp 0x4ca168
push str..type
push edi
call fcn.005f1860
add esp, 8
test eax, eax
jne 0x4ca54a
mov edx, dword [0x5f496c]
mov eax, dword [esp + 0x50]
mov dword [eax], edx
mov ecx, dword [0x5f4970]
mov dword [eax + 4], ecx
mov ecx, dword [esi + 0x1314]
cmp ecx, 9
ja case.default.0x4ca3be
jmp dword [ecx*4 + 0x4caae4]
mov edx, dword [str.status]
mov dword [eax], edx
mov cx, word [0x5f5724]
mov word [eax + 4], cx
mov dl, byte [0x5f5726]
mov byte [eax + 6], dl
jmp case.default.0x4ca3be
mov ecx, dword [str.channel]
mov dword [eax], ecx
mov edx, dword [0x5f4eb8]
mov dword [eax + 4], edx
jmp case.default.0x4ca3be
mov esi, dword [esi + 0x1318]
lea ecx, [esi - 1]
cmp ecx, 3
ja case.default.0x4ca3be
jmp dword [ecx*4 + 0x4cab0c]
mov ecx, dword [str.query]
mov dword [eax], ecx
mov dx, word [0x5f6574]
mov word [eax + 4], dx
jmp case.default.0x4ca3be
mov ecx, dword [str.message]
mov dword [eax], ecx
mov edx, dword [0x5f6554]
mov dword [eax + 4], edx
jmp case.default.0x4ca3be
mov ecx, dword [str.chat]
mov dword [eax], ecx
mov dl, byte [0x5f651c]
mov byte [eax + 4], dl
jmp case.default.0x4ca3be
mov ecx, dword [str.fserve]
mov dword [eax], ecx
mov dx, word [0x5f7270]
mov word [eax + 4], dx
mov cl, byte [0x5f7272]
mov byte [eax + 6], cl
jmp case.default.0x4ca3be
mov esi, dword [esi + 0x1318]
dec esi
je 0x4ca445
dec esi
jne case.default.0x4ca3be
mov dword [eax], 0x746567
jmp case.default.0x4ca3be
mov edx, dword [str.send]
mov dword [eax], edx
mov cl, byte [0x5f76a0]
mov byte [eax + 4], cl
jmp case.default.0x4ca3be
mov edx, dword [str.chanlist]
mov dword [eax], edx
mov ecx, dword [0x5fa660]
mov dword [eax + 4], ecx
mov dl, byte [0x5fa664]
mov byte [eax + 8], dl
jmp case.default.0x4ca3be
mov ecx, dword [str.finger]
mov dword [eax], ecx
mov dx, word [0x5f72ac]
mov word [eax + 4], dx
mov cl, byte [0x5f72ae]
mov byte [eax + 6], cl
jmp case.default.0x4ca3be
mov edx, dword [str.urls]
mov dword [eax], edx
mov cl, byte [0x5fa658]
mov byte [eax + 4], cl
jmp case.default.0x4ca3be
mov edx, dword [str.notify]
mov dword [eax], edx
mov cx, word [0x5f6560]
mov word [eax + 4], cx
mov dl, byte [0x5f6562]
mov byte [eax + 6], dl
jmp case.default.0x4ca3be
mov ecx, dword [str.links]
mov dword [eax], ecx
mov dx, word [0x5f7aac]
mov word [eax + 4], dx
jmp case.default.0x4ca3be
mov ecx, dword [esi + 0x134c]
test ecx, ecx
je 0x4ca50a
mov ecx, dword [str.picture]
mov dword [eax], ecx
mov edx, dword [0x5f4c54]
mov dword [eax + 4], edx
jmp case.default.0x4ca3be
cmp dword [esi + 0x1318], 1
jne 0x4ca529
mov ecx, dword [str.listbox]
mov dword [eax], ecx
mov edx, dword [0x5fa64c]
mov dword [eax + 4], edx
jmp case.default.0x4ca3be
mov ecx, dword [str.custom]
mov dword [eax], ecx
mov dx, word [0x5f6584]
mov word [eax + 4], dx
mov cl, byte [0x5f6586]
mov byte [eax + 6], cl
jmp case.default.0x4ca3be
push str..anysc
push edi
call fcn.005f1860
add esp, 8
test eax, eax
jne 0x4ca58d
mov eax, dword [esi + 0x1e98]
test eax, eax
mov edx, dword [esp + 0x50]
jne 0x4ca2f3
mov eax, dword [str._false]
mov dword [edx], eax
mov cx, word [0x5f4a04]
mov word [edx + 4], cx
mov al, byte [0x5f4a06]
mov byte [edx + 6], al
jmp case.default.0x4ca3be
push str..hwnd
push edi
call fcn.005f1860
add esp, 8
test eax, eax
jne 0x4ca5a7
mov ecx, dword [esi]
push ecx
jmp 0x4c9980
push str..wid
push edi
call fcn.005f1860
add esp, 8
test eax, eax
jne 0x4ca5d4
mov eax, dword [esi + 4]
mov ecx, dword [esp + 0x50]
push eax
push 0x5f4a40
push ecx
call fcn.005d9929
add esp, 0xc
jmp case.default.0x4ca3be
push str..cid
push edi
call fcn.005f1860
add esp, 8
test eax, eax
jne case.default.0x4ca3be
mov edx, dword [esi + 0x1e90]
push edx
call fcn.00508aa0
add esp, 4
test eax, eax
je 0x4caa7c
mov eax, dword [esi + 0x1e90]
mov ecx, dword [eax + 8]
push ecx
jmp 0x4c9980
cmp dword [esi + 0x1314], 2
jne 0x4ca66e
mov eax, dword [esi + 0x1318]
cmp eax, 3
je 0x4ca629
cmp eax, 4
jne 0x4ca66e
add esi, 8
push 0x20
push esi
call fcn.005d9b20
add esp, 8
test eax, eax
jne 0x4ca655
mov ecx, dword [esp + 0x50]
mov eax, esi
push eax
push 0x5fa090
push ecx
call fcn.005d9929
add esp, 0xc
jmp case.default.0x4ca3be
mov ecx, dword [esp + 0x50]
inc eax
push eax
push 0x5fa090
push ecx
call fcn.005d9929
add esp, 0xc
jmp case.default.0x4ca3be
mov edx, dword [esp + 0x50]
lea eax, [esi + 8]
sub edx, eax
mov cl, byte [eax]
mov byte [eax + edx], cl
inc eax
test cl, cl
jne 0x4ca677
jmp case.default.0x4ca3be
lea edx, [esp + 0x18]
push edx
push edi
call dword [sym.imp.USER32.dll_GetWindowRect]
mov eax, dword [ebp + 0x10]
test eax, eax
je case.default.0x4ca3be
mov eax, dword [ebp]
push 0x2e
push eax
call fcn.005da7f0
mov esi, eax
add esp, 8
test esi, esi
je case.default.0x4ca3be
push 0x5f54a0
push esi
call fcn.005f1860
add esp, 8
test eax, eax
jne 0x4ca6d1
mov ecx, dword [esp + 0x18]
push ecx
jmp 0x4c9980
push 0x5f549c
push esi
call fcn.005f1860
add esp, 8
test eax, eax
jne 0x4ca6ff
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x50]
push eax
push 0x5f4a40
push ecx
call fcn.005d9929
add esp, 0xc
jmp case.default.0x4ca3be
push 0x5f5498
push esi
call fcn.005f1860
add esp, 8
test eax, eax
jne 0x4ca733
mov edx, dword [esp + 0x20]
mov edi, dword [esp + 0x18]
mov eax, dword [esp + 0x50]
sub edx, edi
push edx
push 0x5f4a40
push eax
call fcn.005d9929
add esp, 0xc
jmp case.default.0x4ca3be
push 0x5f5494
push esi
call fcn.005f1860
add esp, 8
test eax, eax
jne 0x4ca753
mov ecx, dword [esp + 0x24]
sub ecx, dword [esp + 0x1c]
push ecx
jmp 0x4c9980
push 0x5fa454
push esi
call fcn.005f1860
add esp, 8
test eax, eax
jne 0x4ca7cc
cmp edi, dword [0x6a0f44]
jne 0x4ca798
lea eax, [esp + 0x18]
push 1
push eax
call fcn.004f0cf0
mov eax, dword [esp + 0x20]
mov ecx, dword [esp + 0x58]
add esp, 8
push eax
push 0x5f4a40
push ecx
call fcn.005d9929
add esp, 0xc
jmp case.default.0x4ca3be
lea ecx, [esp + 0x18]
push ecx
push edi
call dword [sym.imp.USER32.dll_GetClientRect]
lea edx, [esp + 0x18]
push edx
push edi
call dword [sym.imp.USER32.dll_ClientToScreen]
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x50]
push eax
push 0x5f4a40
push ecx
call fcn.005d9929
add esp, 0xc
jmp case.default.0x4ca3be
push 0x5fa44c
push esi
call fcn.005f1860
add esp, 8
test eax, eax
jne 0x4ca845
cmp edi, dword [0x6a0f44]
jne 0x4ca811
lea edx, [esp + 0x18]
push 1
push edx
call fcn.004f0cf0
mov edx, dword [esp + 0x24]
mov eax, dword [esp + 0x58]
add esp, 8
push edx
push 0x5f4a40
push eax
call fcn.005d9929
add esp, 0xc
jmp case.default.0x4ca3be
lea eax, [esp + 0x18]
push eax
push edi
call dword [sym.imp.USER32.dll_GetClientRect]
lea ecx, [esp + 0x18]
push ecx
push edi
call dword [sym.imp.USER32.dll_ClientToScreen]
mov edx, dword [esp + 0x1c]
mov eax, dword [esp + 0x50]
push edx
push 0x5f4a40
push eax
call fcn.005d9929
add esp, 0xc
jmp case.default.0x4ca3be
push 0x5fa710
push esi
call fcn.005f1860
add esp, 8
test eax, eax
jne 0x4ca89e
cmp edi, dword [0x6a0f44]
jne 0x4ca870
lea ecx, [esp + 0x18]
push 0
push ecx
call fcn.004f0cf0
add esp, 8
jmp 0x4ca87c
lea edx, [esp + 0x18]
push edx
push edi
call dword [sym.imp.USER32.dll_GetClientRect]
mov eax, dword [esp + 0x20]
mov ebx, dword [esp + 0x18]
mov ecx, dword [esp + 0x50]
sub eax, ebx
push eax
push 0x5f4a40
push ecx
call fcn.005d9929
add esp, 0xc
jmp case.default.0x4ca3be
push 0x5fa708
push esi
call fcn.005f1860
add esp, 8
test eax, eax
jne 0x4ca8f1
cmp edi, dword [0x6a0f44]
jne 0x4ca8d7
lea edx, [esp + 0x18]
push 0
push edx
call fcn.004f0cf0
mov ecx, dword [esp + 0x2c]
mov edi, dword [esp + 0x24]
add esp, 8
sub ecx, edi
push ecx
jmp 0x4c9980
lea eax, [esp + 0x18]
push eax
push edi
call dword [sym.imp.USER32.dll_GetClientRect]
mov ecx, dword [esp + 0x24]
sub ecx, dword [esp + 0x1c]
push ecx
jmp 0x4c9980
push str..state
push esi
call fcn.005f1860
add esp, 8
test eax, eax
jne 0x4ca9a4
mov eax, dword [0x698408]
test eax, eax
mov esi, dword [sym.imp.USER32.dll_IsWindowVisible]
je 0x4ca937
push edi
call esi
test eax, eax
jne 0x4ca937
mov ecx, dword [str.tray]
mov eax, dword [esp + 0x50]
mov dword [eax], ecx
mov dl, byte [0x5f6e10]
mov byte [eax + 4], dl
jmp case.default.0x4ca3be
push edi
call dword [sym.imp.USER32.dll_IsIconic]
test eax, eax
jne 0x4c9fcd
push edi
call esi
test eax, eax
je 0x4c9fcd
push edi
call dword [sym.imp.USER32.dll_IsZoomed]
test eax, eax
je 0x4ca981
mov ecx, dword [str.maximized]
mov eax, dword [esp + 0x50]
mov dword [eax], ecx
mov edx, dword [0x5f9f54]
mov dword [eax + 4], edx
mov cx, word [0x5f9f58]
mov word [eax + 8], cx
jmp case.default.0x4ca3be
mov eax, dword [str.normal]
mov edx, dword [esp + 0x50]
mov dword [edx], eax
mov cx, word [0x5f9f4c]
mov word [edx + 4], cx
mov al, byte [0x5f9f4e]
mov byte [edx + 6], al
jmp case.default.0x4ca3be
push str..icon
push esi
call fcn.005f1860
add esp, 8
test eax, eax
jne 0x4ca9f7
push edi
call dword [sym.imp.USER32.dll_IsIconic]
test eax, eax
je 0x4ca9e8
push edi
call dword [sym.imp.USER32.dll_IsWindowVisible]
test eax, eax
je 0x4ca9e8
mov cx, word [0x5f5288]
mov eax, dword [esp + 0x50]
mov word [eax], cx
mov dl, byte [0x5f528a]
mov byte [eax + 2], dl
jmp case.default.0x4ca3be
mov eax, dword [esp + 0x50]
mov dword [eax], 0x66666f
jmp case.default.0x4ca3be
push str..type
push esi
call fcn.005f1860
add esp, 8
test eax, eax
jne 0x4caa52
cmp edi, dword [0x6a0f40]
jne 0x4caa27
mov edx, dword [0x5f5530]
mov ecx, dword [esp + 0x50]
mov dword [ecx], edx
mov al, byte [0x5f5534]
mov byte [ecx + 4], al
jmp case.default.0x4ca3be
cmp edi, dword [0x6a0f44]
jne 0x4caa3b
mov ecx, dword [esp + 0x50]
mov dword [ecx], 0x69646d
jmp case.default.0x4ca3be
mov edx, dword [str.desktop]
mov eax, dword [esp + 0x50]
mov dword [eax], edx
mov ecx, dword [0x5fa640]
mov dword [eax + 4], ecx
jmp case.default.0x4ca3be
push str..hwnd
push esi
call fcn.005f1860
add esp, 8
test eax, eax
jne 0x4caa6a
push edi
jmp 0x4c9980
push str..wid
push esi
call fcn.005f1860
add esp, 8
test eax, eax
jne 0x4caa87
mov eax, dword [esp + 0x50]
mov word [eax], 0x30
jmp case.default.0x4ca3be
push str..cid
push esi
call fcn.005f1860
add esp, 8
test eax, eax
jne case.default.0x4ca3be
mov ecx, dword [esp + 0x50]
mov word [ecx], 0x30
pop ebp
pop ebx
mov edi, dword [esp + 0x44]
mov eax, dword [edi + 8]
test eax, eax
jle 0x4caad1
mov esi, dword [esp + 0x40]
mov edx, dword [edi + 0x40]
mov eax, dword [esi]
push edx
push eax
call fcn.004e8a00
mov dword [esi], eax
mov ecx, dword [edi + 8]
add esp, 8
dec ecx
mov eax, ecx
test eax, eax
mov dword [edi + 8], ecx
jg 0x4caab3
mov dword [edi + 8], 0
mov eax, 2
pop edi
pop esi
add esp, 0x30
ret