Function at 0x4c4e60
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 0x4c4ec0
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.00515c10
add esp, 0x18
cmp eax, 1
jne 0x4c620e
mov ecx, dword [edi + 8]
cmp ecx, eax
je 0x4c620e
cmp ecx, 2
je 0x4c620e
push 6
push esi
push edi
call fcn.0048abf0
add esp, 0xc
pop edi
pop esi
add esp, 0x30
ret
mov eax, dword [edi + 0x40]
test eax, eax
je 0x4c6209
cmp ecx, 2
jne 0x4c4edb
mov edx, dword [eax + 0x40]
test edx, edx
je 0x4c6209
mov esi, dword [eax + 0x1c]
mov edx, 1
cmp esi, edx
jne 0x4c4ef4
cmp ecx, 2
jne 0x4c4efc
mov esi, dword [eax + 0x40]
cmp dword [esi + 0x1c], edx
je 0x4c4efc
pop edi
mov eax, edx
pop esi
add esp, 0x30
ret
mov edx, dword [eax + 0xc]
test edx, edx
jne 0x4c61d5
cmp ecx, 2
jne 0x4c4f1a
mov ecx, dword [eax + 0x40]
mov eax, dword [ecx + 0xc]
test eax, eax
jne 0x4c61d5
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 0x4c4f38
mov eax, dword [edx + 0x40]
mov ecx, dword [eax]
push ecx
jmp 0x4c4f60
mov eax, dword [edx]
push eax
call fcn.005157e0
add esp, 4
test eax, eax
je 0x4c4fa7
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 0x4c4f50
mov edx, dword [edi + 0x40]
mov eax, dword [edx]
push eax
call fcn.005cbe51
mov ebp, eax
add esp, 4
cmp ebp, 0x270e
jle 0x4c4fae
mov ebp, 0x270e
mov ebx, dword [esp + 0x4c]
mov ecx, dword [ebx + 0x40]
mov edx, dword [ecx]
push 0x70
push edx
call fcn.005828e0
mov edi, eax
add esp, 8
test edi, edi
je 0x4c50a7
push edi
call fcn.005827d0
add esp, 4
mov esi, eax
xor ebp, ebp
jmp 0x4c5181
mov ebp, 0x270f
jmp 0x4c4f77
test ebp, ebp
jne 0x4c4f77
mov esi, dword [0x64531c]
mov ebp, dword [sym.imp.USER32.dll_wsprintfA]
xor ebx, ebx
test esi, esi
je 0x4c5092
jmp 0x4c4fd0
mov ecx, dword [esi + 0xbf4]
cmp ecx, dword [esp + 0x5c]
je 0x4c4ff9
mov eax, dword [esi + 0x71c]
cmp eax, 5
jl 0x4c5084
cmp eax, 7
jle 0x4c4ff9
cmp eax, 9
jne 0x4c5084
mov ecx, dword [edi + 8]
mov eax, 2
cmp ecx, eax
jne 0x4c507a
cmp dword [esi + 0x71c], eax
jne 0x4c504a
mov eax, dword [esi + 0x720]
cmp eax, 3
je 0x4c501d
cmp eax, 4
jne 0x4c504a
lea edi, [esi + 8]
push 0x20
push edi
call fcn.005cbf10
add esp, 8
test eax, eax
jne 0x4c5033
mov eax, edi
jmp 0x4c5034
inc eax
mov edx, dword [esp + 0x58]
push eax
push 0x5ebdb8
push edx
call ebp
mov edi, dword [esp + 0x58]
add esp, 0xc
jmp 0x4c505d
mov edx, dword [esp + 0x58]
lea eax, [esi + 8]
sub edx, eax
mov cl, byte [eax]
mov byte [edx + eax], cl
inc eax
test cl, cl
jne 0x4c5053
mov eax, dword [esp + 0x58]
mov ecx, dword [edi + 0x40]
mov edx, dword [ecx]
push 1
push 0
push eax
push edx
call fcn.00581d70
add esp, 0x10
test eax, eax
je 0x4c5084
jmp 0x4c5083
cmp dword [esi + 0x71c], 9
jne 0x4c5084
inc ebx
mov esi, dword [esi + 0xe54]
test esi, esi
jne 0x4c4fd0
mov eax, dword [esp + 0x50]
push ebx
push 0x5e6a4c
push eax
call ebp
add esp, 0xc
jmp case.default.0x4c5ae1
mov esi, dword [0x64531c]
test esi, esi
je case.default.0x4c5ae1
mov edi, dword [esp + 0x58]
lea esp, [esp]
mov eax, dword [esi + 0xbf4]
cmp eax, dword [esp + 0x5c]
je 0x4c50e9
mov eax, dword [esi + 0x71c]
cmp eax, 5
jl 0x4c5243
cmp eax, 7
jle 0x4c50e9
cmp eax, 9
jne 0x4c5243
cmp dword [esi + 0x71c], 2
jne 0x4c5133
mov eax, dword [esi + 0x720]
cmp eax, 3
je 0x4c5102
cmp eax, 4
jne 0x4c5133
lea edi, [esi + 8]
push 0x20
push edi
call fcn.005cbf10
add esp, 8
test eax, eax
jne 0x4c5118
mov eax, edi
jmp 0x4c5119
inc eax
mov ecx, dword [esp + 0x58]
push eax
push 0x5ebdb8
push ecx
call dword [sym.imp.USER32.dll_wsprintfA]
mov edi, dword [esp + 0x64]
add esp, 0xc
jmp 0x4c514a
lea eax, [esi + 8]
mov edx, edi
sub edx, eax
lea ebx, [ebx]
mov cl, byte [eax]
mov byte [edx + eax], cl
inc eax
test cl, cl
jne 0x4c5140
cmp ebp, 0x270f
mov eax, dword [ebx + 8]
jne 0x4c5213
cmp eax, 2
jne 0x4c51fa
mov edx, dword [ebx + 0x40]
mov eax, dword [edx]
push 1
push 0
push edi
push eax
call fcn.00581d70
add esp, 0x10
test eax, eax
je 0x4c5243
xor ebp, ebp
mov edi, dword [esi]
test edi, edi
je case.default.0x4c5ae1
test ebp, ebp
jne case.default.0x4c5ae1
test esi, esi
lea edx, [esp + 0x18]
push edx
je 0x4c5dbf
mov eax, dword [esi]
push eax
call fcn.00584e40
mov eax, dword [ebx + 0x10]
add esp, 8
test eax, eax
je 0x4c5d5a
mov ecx, dword [ebx]
push 0x2e
push ecx
call fcn.005ccc30
mov edi, eax
add esp, 8
test edi, edi
je 0x4c5d5a
push 0x5e74a4
push edi
call fcn.005e31f5
add esp, 8
test eax, eax
jne 0x4c5256
mov edx, dword [esp + 0x18]
mov eax, dword [esp + 0x50]
push edx
push 0x5e6a4c
push eax
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0xc
jmp case.default.0x4c5ae1
mov ecx, dword [ebx + 0x40]
mov edx, dword [ecx]
push edi
push edx
call fcn.005e31f5
add esp, 8
test eax, eax
je 0x4c517d
jmp 0x4c5243
cmp eax, 2
jne 0x4c5231
mov eax, dword [ebx + 0x40]
mov ecx, dword [eax]
push 1
push 0
push edi
push ecx
call fcn.00581d70
add esp, 0x10
test eax, eax
je 0x4c523b
jmp 0x4c523a
cmp dword [esi + 0x71c], 9
jne 0x4c523b
dec ebp
test ebp, ebp
jle 0x4c517f
mov esi, dword [esi + 0xe54]
test esi, esi
jne 0x4c50c0
jmp case.default.0x4c5ae1
push 0x5e74a0
push edi
call fcn.005e31f5
add esp, 8
test eax, eax
jne 0x4c5285
mov ecx, dword [esp + 0x1c]
push ecx
mov edx, dword [esp + 0x54]
push 0x5e6a4c
push edx
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0xc
jmp case.default.0x4c5ae1
push 0x5e749c
push edi
call fcn.005e31f5
add esp, 8
test eax, eax
jne 0x4c52b4
mov eax, dword [esp + 0x20]
mov ecx, dword [esp + 0x50]
push eax
push 0x5e6a4c
push ecx
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0xc
jmp case.default.0x4c5ae1
push 0x5e7498
push edi
call fcn.005e31f5
add esp, 8
test eax, eax
jne 0x4c52e3
mov edx, dword [esp + 0x24]
mov eax, dword [esp + 0x50]
push edx
push 0x5e6a4c
push eax
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0xc
jmp case.default.0x4c5ae1
push 0x5ec174
push edi
call fcn.005e31f5
add esp, 8
test eax, eax
jne 0x4c5360
mov ecx, dword [esi]
push ecx
call fcn.00582c10
add esp, 4
test eax, eax
lea edx, [esp + 0x18]
je 0x4c5317
mov eax, dword [0x645328]
push edx
push eax
call dword [sym.imp.USER32.dll_ClientToScreen]
jmp 0x4c5343
mov ecx, dword [esp + 0x18]
push 0
push edx
lea eax, [esp + 0x18]
push eax
push 0
mov dword [esp + 0x20], ecx
call fcn.005028a0
mov eax, dword [esp + 0x20]
mov ecx, dword [esp + 0x28]
add esp, 0x10
sub eax, ecx
mov dword [esp + 0x10], eax
mov dword [esp + 0x18], eax
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x50]
push ecx
push 0x5e6a4c
push edx
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0xc
jmp case.default.0x4c5ae1
push 0x5ec16c
push edi
call fcn.005e31f5
add esp, 8
test eax, eax
jne 0x4c53de
mov eax, dword [esi]
push eax
call fcn.00582c10
add esp, 4
test eax, eax
lea ecx, [esp + 0x18]
je 0x4c5395
mov edx, dword [0x645328]
push ecx
push edx
call dword [sym.imp.USER32.dll_ClientToScreen]
jmp 0x4c53c1
mov eax, dword [esp + 0x1c]
push 0
push ecx
lea edx, [esp + 0x18]
push edx
push 0
mov dword [esp + 0x24], eax
call fcn.005028a0
mov eax, dword [esp + 0x24]
mov ecx, dword [esp + 0x2c]
add esp, 0x10
sub eax, ecx
mov dword [esp + 0x14], eax
mov dword [esp + 0x1c], eax
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x50]
push eax
push 0x5e6a4c
push ecx
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0xc
jmp case.default.0x4c5ae1
push 0x5ec424
push edi
call fcn.005e31f5
add esp, 8
test eax, eax
jne 0x4c540f
mov edx, dword [esi + 0x864]
mov eax, dword [esp + 0x50]
push edx
push 0x5e6a4c
push eax
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0xc
jmp case.default.0x4c5ae1
push 0x5ec41c
push edi
call fcn.005e31f5
add esp, 8
test eax, eax
jne 0x4c5440
mov ecx, dword [esi + 0x868]
mov edx, dword [esp + 0x50]
push ecx
push 0x5e6a4c
push edx
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0xc
jmp case.default.0x4c5ae1
push 0x5ec414
push edi
call fcn.005e31f5
add esp, 8
test eax, eax
jne 0x4c548b
mov esi, dword [esi + 0x95c]
test esi, esi
je case.default.0x4c5ae1
lea eax, [esp + 0x28]
push eax
push 0x18
push esi
call dword [sym.imp.GDI32.dll_GetObjectA]
mov ecx, dword [esp + 0x2c]
mov edx, dword [esp + 0x50]
push ecx
push 0x5e6a4c
push edx
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0xc
jmp case.default.0x4c5ae1
push 0x5ec40c
push edi
call fcn.005e31f5
add esp, 8
test eax, eax
jne 0x4c54d6
mov esi, dword [esi + 0x95c]
test esi, esi
je case.default.0x4c5ae1
lea eax, [esp + 0x28]
push eax
push 0x18
push esi
call dword [sym.imp.GDI32.dll_GetObjectA]
mov ecx, dword [esp + 0x30]
mov edx, dword [esp + 0x50]
push ecx
push 0x5e6a4c
push edx
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0xc
jmp case.default.0x4c5ae1
push str..sbtext
push edi
call fcn.005e31f5
add esp, 8
test eax, eax
jne 0x4c5503
push esi
call fcn.00555030
push eax
mov eax, dword [esp + 0x58]
push 4
push eax
call fcn.00423900
add esp, 0x10
jmp case.default.0x4c5ae1
push str..sbcolor
push edi
call fcn.005e31f5
add esp, 8
test eax, eax
jne 0x4c5589
mov esi, dword [esi + 0x724]
cmp esi, 1
jne 0x4c553a
mov ecx, dword [str.message]
mov eax, dword [esp + 0x50]
mov dword [eax], ecx
mov edx, dword [0x5e84c0]
mov dword [eax + 4], edx
jmp case.default.0x4c5ae1
cmp esi, 3
jne 0x4c555b
mov ecx, dword [str.event]
mov eax, dword [esp + 0x50]
mov dword [eax], ecx
mov dx, word [0x5ec3f0]
mov word [eax + 4], dx
jmp case.default.0x4c5ae1
cmp esi, 2
jne case.default.0x4c5ae1
mov ecx, dword [str.highlight]
mov eax, dword [esp + 0x50]
mov dword [eax], ecx
mov edx, dword [0x5ea760]
mov dword [eax + 4], edx
mov cx, word [0x5ea764]
mov word [eax + 8], cx
jmp case.default.0x4c5ae1
push str..sbstate
push edi
call fcn.005e31f5
add esp, 8
test eax, eax
jne 0x4c55c7
mov eax, dword [0x60a0fc]
test eax, eax
je 0x4c61ad
push esi
call fcn.005552c0
add esp, 4
test eax, eax
je 0x4c61ad
mov edx, dword [esp + 0x50]
mov word [edx], 0x31
jmp case.default.0x4c5ae1
push str..tbstate
push edi
call fcn.005e31f5
add esp, 8
test eax, eax
jne 0x4c560b
mov eax, dword [0x60a270]
test eax, eax
je 0x4c55fd
push esi
call fcn.00570dd0
add esp, 4
test eax, eax
je 0x4c55fd
mov ecx, dword [esp + 0x50]
mov word [ecx], 0x31
jmp case.default.0x4c5ae1
mov edx, dword [esp + 0x50]
mov word [edx], 0x30
jmp case.default.0x4c5ae1
push str..state
push edi
call fcn.005e31f5
add esp, 8
test eax, eax
jne 0x4c5759
mov eax, dword [esi]
push eax
call dword [sym.imp.USER32.dll_IsWindowVisible]
test eax, eax
jne 0x4c56d2
mov eax, dword [0x60a0fc]
test eax, eax
je 0x4c5686
mov eax, dword [0x60a270]
test eax, eax
je 0x4c565e
push esi
call fcn.005552c0
add esp, 4
test eax, eax
jne 0x4c565e
push esi
call fcn.00570dd0
add esp, 4
test eax, eax
je 0x4c56ae
mov eax, dword [0x60a0fc]
test eax, eax
je 0x4c5686
mov eax, dword [0x60a270]
test eax, eax
jne 0x4c567d
push esi
call fcn.005552c0
add esp, 4
test eax, eax
je 0x4c56ae
mov eax, dword [0x60a0fc]
test eax, eax
jne 0x4c56d2
mov eax, dword [0x60a270]
test eax, eax
je 0x4c569c
push esi
call fcn.00570dd0
add esp, 4
test eax, eax
je 0x4c56ae
mov eax, dword [0x60a0fc]
test eax, eax
jne 0x4c56d2
mov eax, dword [0x60a270]
test eax, eax
jne 0x4c56d2
mov edx, dword [str.hidden]
mov ecx, dword [esp + 0x50]
mov dword [ecx], edx
mov ax, word [0x5ebc94]
mov word [ecx + 4], ax
mov dl, byte [0x5ebc96]
mov byte [ecx + 6], dl
jmp case.default.0x4c5ae1
mov eax, dword [esi]
push eax
call dword [sym.imp.USER32.dll_IsIconic]
test eax, eax
je 0x4c5703
mov edx, dword [str.minimized]
mov ecx, dword [esp + 0x50]
mov dword [ecx], edx
mov eax, dword [0x5ebc88]
mov dword [ecx + 4], eax
mov dx, word [0x5ebc8c]
mov word [ecx + 8], dx
jmp case.default.0x4c5ae1
mov eax, dword [esi]
push eax
call dword [sym.imp.USER32.dll_IsZoomed]
test eax, eax
je 0x4c5734
mov edx, dword [str.maximized]
mov ecx, dword [esp + 0x50]
mov dword [ecx], edx
mov eax, dword [0x5ebc7c]
mov dword [ecx + 4], eax
mov dx, word [0x5ebc80]
mov word [ecx + 8], dx
jmp case.default.0x4c5ae1
mov ecx, dword [str.normal]
mov eax, dword [esp + 0x50]
mov dword [eax], ecx
mov dx, word [0x5ebc74]
mov word [eax + 4], dx
mov cl, byte [0x5ebc76]
mov byte [eax + 6], cl
jmp case.default.0x4c5ae1
push str..icon
push edi
call fcn.005e31f5
add esp, 8
test eax, eax
jne 0x4c57cb
mov eax, dword [0x60a0fc]
test eax, eax
je 0x4c579c
push esi
call fcn.005552c0
mov edx, dword [esp + 0x54]
add esp, 4
test eax, eax
je 0x4c57c0
mov ax, word [0x5e7288]
mov word [edx], ax
mov cl, byte [0x5e728a]
mov byte [edx + 2], cl
jmp case.default.0x4c5ae1
mov eax, dword [esi]
push eax
call dword [sym.imp.USER32.dll_IsIconic]
test eax, eax
je 0x4c57bc
mov ecx, dword [esi]
push ecx
call dword [sym.imp.USER32.dll_IsWindowVisible]
test eax, eax
je 0x4c57bc
mov edx, dword [esp + 0x50]
jmp 0x4c5785
mov edx, dword [esp + 0x50]
mov dword [edx], 0x66666f
jmp case.default.0x4c5ae1
push str..mdi
push edi
call fcn.005e31f5
add esp, 8
test eax, eax
jne 0x4c5827
mov eax, dword [esi]
push eax
call fcn.00582c10
mov ecx, dword [esp + 0x54]
add esp, 4
test eax, eax
je 0x4c5807
mov edx, dword [str._true]
mov dword [ecx], edx
mov ax, word [0x5e6a28]
mov word [ecx + 4], ax
jmp case.default.0x4c5ae1
mov edx, dword [str._false]
mov dword [ecx], edx
mov ax, word [0x5e6a18]
mov word [ecx + 4], ax
mov dl, byte [0x5e6a1a]
mov byte [ecx + 6], dl
jmp case.default.0x4c5ae1
push str..font
push edi
call fcn.005e31f5
add esp, 8
test eax, eax
jne 0x4c5854
mov edx, dword [esp + 0x50]
lea eax, [esi + 0x98c]
sub edx, eax
mov cl, byte [eax]
mov byte [edx + eax], cl
inc eax
test cl, cl
jne 0x4c5845
jmp case.default.0x4c5ae1
push str..fontbold
push edi
call fcn.005e31f5
add esp, 8
test eax, eax
jne 0x4c5892
cmp dword [esi + 0x9f4], 0x2bc
mov eax, dword [esp + 0x50]
jne 0x4c59f1
mov ecx, dword [str._true]
mov dword [eax], ecx
mov dx, word [0x5e6a28]
mov word [eax + 4], dx
jmp case.default.0x4c5ae1
push str..fontsize
push edi
call fcn.005e31f5
add esp, 8
test eax, eax
jne 0x4c58c3
mov edx, dword [esi + 0x9f0]
mov eax, dword [esp + 0x50]
push edx
push 0x5e6a4c
push eax
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0xc
jmp case.default.0x4c5ae1
push str..fontcs
push edi
call fcn.005e31f5
add esp, 8
test eax, eax
jne 0x4c58f4
mov ecx, dword [esi + 0x9f8]
mov edx, dword [esp + 0x50]
push ecx
push 0x5e6a4c
push edx
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0xc
jmp case.default.0x4c5ae1
push str..utf
push edi
call fcn.005e31f5
add esp, 8
test eax, eax
jne 0x4c5925
mov eax, dword [esi + 0xa08]
mov ecx, dword [esp + 0x50]
push eax
push 0x5e6a4c
push ecx
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0xc
jmp case.default.0x4c5ae1
push 6
push str..title
push edi
call fcn.005e325e
add esp, 0xc
test eax, eax
jne 0x4c5987
mov edi, dword [esp + 0x58]
mov edx, dword [esi]
push pe_nt_image_headers32
push edi
push edx
call dword [sym.imp.USER32.dll_GetWindowTextA]
push 0x20
push edi
mov byte [edi + 0x100], 0
call fcn.005cbf10
add esp, 8
test eax, eax
je case.default.0x4c5ae1
mov cl, byte [eax + 1]
inc eax
test cl, cl
je case.default.0x4c5ae1
mov edx, dword [esp + 0x50]
sub edx, eax
mov cl, byte [eax]
mov byte [edx + eax], cl
inc eax
test cl, cl
jne 0x4c5978
jmp case.default.0x4c5ae1
push str..logfile
push edi
call fcn.005e31f5
add esp, 8
test eax, eax
jne 0x4c59c2
mov eax, dword [esi + 0x6a8]
test eax, eax
je case.default.0x4c5ae1
mov edx, dword [esp + 0x50]
lea eax, [esi + 0x4a0]
sub edx, eax
mov cl, byte [eax]
mov byte [edx + eax], cl
inc eax
test cl, cl
jne 0x4c59b3
jmp case.default.0x4c5ae1
push str..stamp
push edi
call fcn.005e31f5
add esp, 8
test eax, eax
jne 0x4c5a2d
mov esi, dword [esi + 0x744]
cmp esi, 1
je 0x4c5a12
cmp esi, 2
jne 0x4c59ed
mov eax, dword [0x63e7b4]
test eax, eax
jne 0x4c5a12
mov eax, dword [esp + 0x50]
mov ecx, dword [str._false]
mov dword [eax], ecx
mov dx, word [0x5e6a18]
mov word [eax + 4], dx
mov cl, byte [0x5e6a1a]
mov byte [eax + 6], cl
jmp case.default.0x4c5ae1
mov edx, dword [esp + 0x50]
mov eax, dword [str._true]
mov dword [edx], eax
mov cx, word [0x5e6a28]
mov word [edx + 4], cx
jmp case.default.0x4c5ae1
push str..ontop
push edi
call fcn.005e31f5
add esp, 8
test eax, eax
jne 0x4c5a57
mov edx, dword [esi]
push 0xffffffffffffffec
push edx
call dword [sym.imp.USER32.dll_GetWindowLongA]
test al, 8
mov eax, dword [esp + 0x50]
je 0x4c59f1
jmp 0x4c587a
push str..type
push edi
call fcn.005e31f5
add esp, 8
test eax, eax
jne 0x4c5c6d
mov edx, dword [0x5e6984]
mov eax, dword [esp + 0x50]
mov dword [eax], edx
mov ecx, dword [0x5e6988]
mov dword [eax + 4], ecx
mov ecx, dword [esi + 0x71c]
cmp ecx, 9
ja case.default.0x4c5ae1
jmp dword [ecx*4 + 0x4c6214]
mov edx, dword [str.status]
mov dword [eax], edx
mov cx, word [0x5e7724]
mov word [eax + 4], cx
mov dl, byte [0x5e7726]
mov byte [eax + 6], dl
jmp case.default.0x4c5ae1
mov ecx, dword [str.channel]
mov dword [eax], ecx
mov edx, dword [0x5e6ec0]
mov dword [eax + 4], edx
jmp case.default.0x4c5ae1
mov esi, dword [esi + 0x720]
lea ecx, [esi - 1]
cmp ecx, 3
ja case.default.0x4c5ae1
jmp dword [ecx*4 + 0x4c623c]
mov ecx, dword [str.query]
mov dword [eax], ecx
mov dx, word [0x5e84e0]
mov word [eax + 4], dx
jmp case.default.0x4c5ae1
mov ecx, dword [str.message]
mov dword [eax], ecx
mov edx, dword [0x5e84c0]
mov dword [eax + 4], edx
jmp case.default.0x4c5ae1
mov ecx, dword [str.chat]
mov dword [eax], ecx
mov dl, byte [0x5e8488]
mov byte [eax + 4], dl
jmp case.default.0x4c5ae1
mov ecx, dword [str.fserve]
mov dword [eax], ecx
mov dx, word [0x5e91b8]
mov word [eax + 4], dx
mov cl, byte [0x5e91ba]
mov byte [eax + 6], cl
jmp case.default.0x4c5ae1
mov esi, dword [esi + 0x720]
dec esi
je 0x4c5b68
dec esi
jne case.default.0x4c5ae1
mov dword [eax], 0x746567
jmp case.default.0x4c5ae1
mov edx, dword [str.send]
mov dword [eax], edx
mov cl, byte [0x5e95e8]
mov byte [eax + 4], cl
jmp case.default.0x4c5ae1
mov edx, dword [str.chanlist]
mov dword [eax], edx
mov ecx, dword [0x5ec380]
mov dword [eax + 4], ecx
mov dl, byte [0x5ec384]
mov byte [eax + 8], dl
jmp case.default.0x4c5ae1
mov ecx, dword [str.finger]
mov dword [eax], ecx
mov dx, word [0x5e91f4]
mov word [eax + 4], dx
mov cl, byte [0x5e91f6]
mov byte [eax + 6], cl
jmp case.default.0x4c5ae1
mov edx, dword [str.urls]
mov dword [eax], edx
mov cl, byte [0x5ec378]
mov byte [eax + 4], cl
jmp case.default.0x4c5ae1
mov edx, dword [str.notify]
mov dword [eax], edx
mov cx, word [0x5e84cc]
mov word [eax + 4], cx
mov dl, byte [0x5e84ce]
mov byte [eax + 6], dl
jmp case.default.0x4c5ae1
mov ecx, dword [str.links]
mov dword [eax], ecx
mov dx, word [0x5e99f4]
mov word [eax + 4], dx
jmp case.default.0x4c5ae1
mov ecx, dword [esi + 0x754]
test ecx, ecx
je 0x4c5c2d
mov ecx, dword [str.picture]
mov dword [eax], ecx
mov edx, dword [0x5e6c5c]
mov dword [eax + 4], edx
jmp case.default.0x4c5ae1
cmp dword [esi + 0x720], 1
jne 0x4c5c4c
mov ecx, dword [str.listbox]
mov dword [eax], ecx
mov edx, dword [0x5ec36c]
mov dword [eax + 4], edx
jmp case.default.0x4c5ae1
mov ecx, dword [str.custom]
mov dword [eax], ecx
mov dx, word [0x5e84f0]
mov word [eax + 4], dx
mov cl, byte [0x5e84f2]
mov byte [eax + 6], cl
jmp case.default.0x4c5ae1
push str..anysc
push edi
call fcn.005e31f5
add esp, 8
test eax, eax
jne 0x4c5cb0
mov eax, dword [esi + 0xbfc]
test eax, eax
mov edx, dword [esp + 0x50]
jne 0x4c5a16
mov eax, dword [str._false]
mov dword [edx], eax
mov cx, word [0x5e6a18]
mov word [edx + 4], cx
mov al, byte [0x5e6a1a]
mov byte [edx + 6], al
jmp case.default.0x4c5ae1
push str..hwnd
push edi
call fcn.005e31f5
add esp, 8
test eax, eax
jne 0x4c5cdd
mov ecx, dword [esi]
mov edx, dword [esp + 0x50]
push ecx
push 0x5e6a4c
push edx
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0xc
jmp case.default.0x4c5ae1
push str..wid
push edi
call fcn.005e31f5
add esp, 8
test eax, eax
jne 0x4c5d0b
mov eax, dword [esi + 4]
mov ecx, dword [esp + 0x50]
push eax
push 0x5e6a4c
push ecx
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0xc
jmp case.default.0x4c5ae1
push str..cid
push edi
call fcn.005e31f5
add esp, 8
test eax, eax
jne case.default.0x4c5ae1
mov edx, dword [esi + 0xbf4]
push edx
call fcn.00502a60
add esp, 4
test eax, eax
je 0x4c61ad
mov eax, dword [esi + 0xbf4]
mov ecx, dword [eax + 8]
mov edx, dword [esp + 0x50]
push ecx
push 0x5e6a4c
push edx
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0xc
jmp case.default.0x4c5ae1
cmp dword [esi + 0x71c], 2
jne 0x4c5da3
mov eax, dword [esi + 0x720]
cmp eax, 3
je 0x4c5d73
cmp eax, 4
jne 0x4c5da3
add esi, 8
push 0x20
push esi
call fcn.005cbf10
add esp, 8
test eax, eax
jne 0x4c5d89
mov eax, esi
jmp 0x4c5d8a
inc eax
mov ecx, dword [esp + 0x50]
push eax
push 0x5ebdb8
push ecx
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0xc
jmp case.default.0x4c5ae1
mov edx, dword [esp + 0x50]
lea eax, [esi + 8]
sub edx, eax
lea esp, [esp]
mov cl, byte [eax]
mov byte [eax + edx], cl
inc eax
test cl, cl
jne 0x4c5db0
jmp case.default.0x4c5ae1
push edi
call dword [sym.imp.USER32.dll_GetWindowRect]
mov eax, dword [ebx + 0x10]
test eax, eax
je case.default.0x4c5ae1
mov eax, dword [ebx]
push 0x2e
push eax
call fcn.005ccc30
mov esi, eax
add esp, 8
test esi, esi
je case.default.0x4c5ae1
push 0x5e74a4
push esi
call fcn.005e31f5
add esp, 8
test eax, eax
je 0x4c5343
push 0x5e74a0
push esi
call fcn.005e31f5
add esp, 8
test eax, eax
jne 0x4c5e2d
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x50]
push eax
push 0x5e6a4c
push ecx
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0xc
jmp case.default.0x4c5ae1
push 0x5e749c
push esi
call fcn.005e31f5
add esp, 8
test eax, eax
jne 0x4c5e62
mov edx, dword [esp + 0x20]
mov edi, dword [esp + 0x18]
mov eax, dword [esp + 0x50]
sub edx, edi
push edx
push 0x5e6a4c
push eax
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0xc
jmp case.default.0x4c5ae1
push 0x5e7498
push esi
call fcn.005e31f5
add esp, 8
test eax, eax
jne 0x4c5e81
mov ecx, dword [esp + 0x24]
sub ecx, dword [esp + 0x1c]
jmp 0x4c5347
push 0x5ec174
push esi
call fcn.005e31f5
add esp, 8
test eax, eax
jne 0x4c5efc
cmp edi, dword [0x645328]
jne 0x4c5ec7
lea eax, [esp + 0x18]
push 1
push eax
call fcn.004eb290
mov eax, dword [esp + 0x20]
mov ecx, dword [esp + 0x58]
add esp, 8
push eax
push 0x5e6a4c
push ecx
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0xc
jmp case.default.0x4c5ae1
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 0x5e6a4c
push ecx
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0xc
jmp case.default.0x4c5ae1
push 0x5ec16c
push esi
call fcn.005e31f5
add esp, 8
test eax, eax
jne 0x4c5f77
cmp edi, dword [0x645328]
jne 0x4c5f42
lea edx, [esp + 0x18]
push 1
push edx
call fcn.004eb290
mov edx, dword [esp + 0x24]
mov eax, dword [esp + 0x58]
add esp, 8
push edx
push 0x5e6a4c
push eax
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0xc
jmp case.default.0x4c5ae1
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 0x5e6a4c
push eax
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0xc
jmp case.default.0x4c5ae1
push 0x5ec424
push esi
call fcn.005e31f5
add esp, 8
test eax, eax
jne 0x4c5fd1
cmp edi, dword [0x645328]
jne 0x4c5fa2
lea ecx, [esp + 0x18]
push 0
push ecx
call fcn.004eb290
add esp, 8
jmp 0x4c5fae
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 0x5e6a4c
push ecx
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0xc
jmp case.default.0x4c5ae1
push 0x5ec41c
push esi
call fcn.005e31f5
add esp, 8
test eax, eax
jne 0x4c6022
cmp edi, dword [0x645328]
jne 0x4c6009
lea edx, [esp + 0x18]
push 0
push edx
call fcn.004eb290
mov ecx, dword [esp + 0x2c]
mov edi, dword [esp + 0x24]
add esp, 8
sub ecx, edi
jmp 0x4c5347
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]
jmp 0x4c5347
push str..state
push esi
call fcn.005e31f5
add esp, 8
test eax, eax
jne 0x4c60d5
mov eax, dword [0x644578]
test eax, eax
mov esi, dword [sym.imp.USER32.dll_IsWindowVisible]
je 0x4c6068
push edi
call esi
test eax, eax
jne 0x4c6068
mov ecx, dword [str.tray]
mov eax, dword [esp + 0x50]
mov dword [eax], ecx
mov dl, byte [0x5e8d74]
mov byte [eax + 4], dl
jmp case.default.0x4c5ae1
push edi
call dword [sym.imp.USER32.dll_IsIconic]
test eax, eax
jne 0x4c56df
push edi
call esi
test eax, eax
je 0x4c56df
push edi
call dword [sym.imp.USER32.dll_IsZoomed]
test eax, eax
je 0x4c60b2
mov ecx, dword [str.maximized]
mov eax, dword [esp + 0x50]
mov dword [eax], ecx
mov edx, dword [0x5ebc7c]
mov dword [eax + 4], edx
mov cx, word [0x5ebc80]
mov word [eax + 8], cx
jmp case.default.0x4c5ae1
mov eax, dword [str.normal]
mov edx, dword [esp + 0x50]
mov dword [edx], eax
mov cx, word [0x5ebc74]
mov word [edx + 4], cx
mov al, byte [0x5ebc76]
mov byte [edx + 6], al
jmp case.default.0x4c5ae1
push str..icon
push esi
call fcn.005e31f5
add esp, 8
test eax, eax
jne 0x4c6128
push edi
call dword [sym.imp.USER32.dll_IsIconic]
test eax, eax
je 0x4c6119
push edi
call dword [sym.imp.USER32.dll_IsWindowVisible]
test eax, eax
je 0x4c6119
mov cx, word [0x5e7288]
mov eax, dword [esp + 0x50]
mov word [eax], cx
mov dl, byte [0x5e728a]
mov byte [eax + 2], dl
jmp case.default.0x4c5ae1
mov eax, dword [esp + 0x50]
mov dword [eax], 0x66666f
jmp case.default.0x4c5ae1
push str..type
push esi
call fcn.005e31f5
add esp, 8
test eax, eax
jne 0x4c6183
cmp edi, dword [0x645324]
jne 0x4c6158
mov edx, dword [0x5e7530]
mov ecx, dword [esp + 0x50]
mov dword [ecx], edx
mov al, byte [0x5e7534]
mov byte [ecx + 4], al
jmp case.default.0x4c5ae1
cmp edi, dword [0x645328]
jne 0x4c616c
mov ecx, dword [esp + 0x50]
mov dword [ecx], 0x69646d
jmp case.default.0x4c5ae1
mov edx, dword [str.desktop]
mov eax, dword [esp + 0x50]
mov dword [eax], edx
mov ecx, dword [0x5ec360]
mov dword [eax + 4], ecx
jmp case.default.0x4c5ae1
push str..hwnd
push esi
call fcn.005e31f5
add esp, 8
test eax, eax
jne 0x4c619b
push edi
jmp 0x4c526d
push str..wid
push esi
call fcn.005e31f5
add esp, 8
test eax, eax
jne 0x4c61b8
mov eax, dword [esp + 0x50]
mov word [eax], 0x30
jmp case.default.0x4c5ae1
push str..cid
push esi
call fcn.005e31f5
add esp, 8
test eax, eax
jne case.default.0x4c5ae1
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 0x4c6202
mov esi, dword [esp + 0x40]
mov edx, dword [edi + 0x40]
mov eax, dword [esi]
push edx
push eax
call fcn.004e3140
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 0x4c61e4
mov dword [edi + 8], 0
mov eax, 2
pop edi
pop esi
add esp, 0x30
ret