Function at 0x46df60
Capabilities:
Get graphical window text

Disassembly:
sub esp, 0x1c
push ebx
mov ebx, dword [esp + 0x2c]
mov ecx, dword [ebx + 8]
test ecx, ecx
push esi
jne 0x46dfd6
mov esi, dword [esp + 0x3c]
mov eax, dword [esp + 0x38]
mov ecx, dword [esp + 0x2c]
mov edx, dword [ecx]
push 0x63
push esi
push eax
mov eax, dword [esp + 0x34]
push ebx
push edx
push eax
call fcn.0051c6f0
add esp, 0x18
cmp eax, 1
mov dword [esp + 8], eax
jne 0x46fad0
mov ecx, dword [ebx + 8]
cmp ecx, eax
je 0x46fad0
cmp ecx, 2
je 0x46fad0
cmp ecx, 3
je 0x46fad0
cmp ecx, 4
je 0x46fad0
push 6
push esi
push ebx
call fcn.0048c510
add esp, 0xc
pop esi
pop ebx
add esp, 0x1c
ret
mov eax, dword [ebx + 0x40]
test eax, eax
je 0x46e00a
cmp ecx, 2
jl 0x46dfe9
mov edx, dword [eax + 0x40]
test edx, edx
je 0x46e00a
cmp ecx, 3
jl 0x46dff8
mov edx, dword [eax + 0x40]
mov esi, dword [edx + 0x40]
test esi, esi
je 0x46e00a
cmp ecx, 4
jne 0x46e015
mov edx, dword [eax + 0x40]
mov edx, dword [edx + 0x40]
mov esi, dword [edx + 0x40]
test esi, esi
jne 0x46e015
pop esi
mov eax, 2
pop ebx
add esp, 0x1c
ret
mov esi, dword [eax + 0x1c]
mov edx, 1
cmp esi, edx
je 0x46e029
pop esi
mov eax, edx
pop ebx
add esp, 0x1c
ret
cmp ecx, 2
push ebp
push edi
jl 0x46e042
mov esi, dword [eax + 0x40]
cmp dword [esi + 0x1c], edx
je 0x46e042
pop edi
pop ebp
pop esi
mov eax, edx
pop ebx
add esp, 0x1c
ret
cmp ecx, 3
jl 0x46e052
mov esi, dword [eax + 0x40]
mov esi, dword [esi + 0x40]
cmp dword [esi + 0x1c], edx
jne 0x46e038
cmp ecx, 4
jne 0x46e065
mov esi, dword [eax + 0x40]
mov esi, dword [esi + 0x40]
mov esi, dword [esi + 0x40]
cmp dword [esi + 0x1c], edx
jne 0x46e038
mov esi, dword [eax + 0xc]
test esi, esi
jne 0x46fa7a
cmp ecx, 2
jl 0x46e083
mov esi, dword [eax + 0x40]
mov edi, dword [esi + 0xc]
test edi, edi
jne 0x46fa7a
cmp ecx, 3
jl 0x46e099
mov esi, dword [eax + 0x40]
mov esi, dword [esi + 0x40]
mov edi, dword [esi + 0xc]
test edi, edi
jne 0x46fa7a
cmp ecx, 4
jne 0x46e0b2
mov eax, dword [eax + 0x40]
mov ecx, dword [eax + 0x40]
mov eax, dword [ecx + 0x40]
mov ecx, dword [eax + 0xc]
test ecx, ecx
jne 0x46fa7a
mov ebp, dword [esp + 0x40]
mov byte [ebp], 0
mov eax, dword [ebx + 8]
cmp eax, edx
mov dword [esp + 0x20], 0
mov dword [esp + 0x10], 0xffffffff
jne 0x46e128
mov eax, dword [esp + 0x48]
test eax, eax
je 0x46e110
mov edx, dword [eax + 0x2ff0]
push edx
call fcn.00466d50
add esp, 4
test eax, eax
je 0x46e110
mov esi, dword [esp + 0x44]
mov ecx, edx
mov edx, esi
mov al, byte [ecx]
inc ecx
mov byte [edx], al
inc edx
test al, al
jne 0x46e0f4
mov ecx, dword [ebx + 0x40]
mov edx, dword [ecx]
push edx
call fcn.005d9a55
mov edi, eax
jmp 0x46e332
mov eax, dword [esp + 0x44]
push 6
push eax
push ebx
call fcn.0048c510
add esp, 0xc
pop edi
pop ebp
pop esi
pop ebx
add esp, 0x1c
ret
cmp eax, 2
jne 0x46e1e7
mov ecx, dword [ebx + 0x40]
mov edx, dword [ecx]
push edx
call fcn.0051c210
add esp, 4
test eax, eax
je 0x46e1bd
mov eax, dword [esp + 0x48]
test eax, eax
je 0x46e262
mov edx, dword [eax + 0x2ff0]
push edx
call fcn.00466d50
add esp, 4
test eax, eax
je 0x46e262
mov esi, dword [esp + 0x44]
mov ecx, edx
mov edx, esi
mov edi, edi
mov al, byte [ecx]
inc ecx
mov byte [edx], al
inc edx
test al, al
jne 0x46e170
mov eax, dword [ebx + 0x40]
mov ecx, dword [eax]
push ecx
call fcn.005d9a55
mov edx, dword [ebx + 0x40]
mov edi, eax
mov eax, dword [edx + 0x40]
mov ecx, dword [eax]
push ecx
call fcn.005d9a55
mov edx, dword [ebx + 0x40]
mov dword [esp + 0x18], eax
mov eax, dword [edx + 0x40]
mov ecx, dword [eax]
add esp, 8
mov edx, ebp
mov al, byte [ecx]
inc ecx
mov byte [edx], al
inc edx
test al, al
jne 0x46e1a6
mov dword [esp + 0x20], 1
jmp 0x46e335
mov edx, dword [ebx + 0x40]
mov esi, dword [esp + 0x44]
mov ecx, dword [edx]
mov edx, esi
mov al, byte [ecx]
inc ecx
mov byte [edx], al
inc edx
test al, al
jne 0x46e1c8
mov eax, dword [ebx + 0x40]
mov ecx, dword [eax + 0x40]
mov edx, dword [ecx]
push edx
call fcn.005d9a55
mov edi, eax
jmp 0x46e332
cmp eax, 3
jne 0x46e2d8
mov eax, dword [ebx + 0x40]
mov ecx, dword [eax]
push ecx
call fcn.0051c210
add esp, 4
test eax, eax
je 0x46e27a
mov eax, dword [esp + 0x48]
test eax, eax
je 0x46e262
mov edx, dword [eax + 0x2ff0]
push edx
call fcn.00466d50
add esp, 4
test eax, eax
je 0x46e262
mov esi, dword [esp + 0x44]
mov ecx, edx
mov edx, esi
mov al, byte [ecx]
inc ecx
mov byte [edx], al
inc edx
test al, al
jne 0x46e225
mov edx, dword [ebx + 0x40]
mov eax, dword [edx]
push eax
call fcn.005d9a55
mov ecx, dword [ebx + 0x40]
mov edx, dword [ecx + 0x40]
mov ecx, dword [edx]
add esp, 4
mov edi, eax
mov edx, ebp
lea esp, [esp]
mov al, byte [ecx]
inc ecx
mov byte [edx], al
inc edx
test al, al
jne 0x46e250
mov eax, dword [ebx + 0x40]
jmp 0x46e320
mov ecx, dword [esp + 0x44]
push 6
push ecx
push ebx
call fcn.0048c510
add esp, 0xc
pop edi
pop ebp
pop esi
pop ebx
add esp, 0x1c
ret
mov edx, dword [ebx + 0x40]
mov esi, dword [esp + 0x44]
mov ecx, dword [edx]
mov edx, esi
mov al, byte [ecx]
inc ecx
mov byte [edx], al
inc edx
test al, al
jne 0x46e285
mov eax, dword [ebx + 0x40]
mov ecx, dword [eax + 0x40]
mov edx, dword [ecx]
push edx
call fcn.005d9a55
mov edi, eax
mov eax, dword [ebx + 0x40]
mov ecx, dword [eax + 0x40]
mov edx, dword [ecx + 0x40]
mov eax, dword [edx]
push eax
call fcn.005d9a55
mov ecx, dword [ebx + 0x40]
mov dword [esp + 0x18], eax
mov edx, dword [ecx + 0x40]
mov eax, dword [edx + 0x40]
mov ecx, dword [eax]
add esp, 8
mov edx, ebp
mov al, byte [ecx]
inc ecx
mov byte [edx], al
inc edx
test al, al
jne 0x46e2c4
mov dword [esp + 0x20], 1
jmp 0x46e335
mov ecx, dword [ebx + 0x40]
mov esi, dword [esp + 0x44]
mov ecx, dword [ecx]
mov edx, esi
mov al, byte [ecx]
inc ecx
mov byte [edx], al
inc edx
test al, al
jne 0x46e2e3
mov edx, dword [ebx + 0x40]
mov eax, dword [edx + 0x40]
mov ecx, dword [eax]
push ecx
call fcn.005d9a55
mov edx, dword [ebx + 0x40]
mov edi, eax
mov eax, dword [edx + 0x40]
mov ecx, dword [eax + 0x40]
mov ecx, dword [ecx]
add esp, 4
mov edx, ebp
lea ecx, [ecx]
mov al, byte [ecx]
inc ecx
mov byte [edx], al
inc edx
test al, al
jne 0x46e310
mov edx, dword [ebx + 0x40]
mov eax, dword [edx + 0x40]
mov ecx, dword [eax + 0x40]
mov edx, dword [ecx + 0x40]
mov eax, dword [edx]
push eax
call fcn.005d9a55
mov dword [esp + 0x14], eax
add esp, 4
push esi
call fcn.00466db0
mov ebp, eax
add esp, 4
test ebp, ebp
mov dword [esp + 0x18], ebp
je 0x46fac2
cmp edi, 1
jl 0x46fac2
cmp edi, 0xbb8
jg 0x46fac2
mov eax, dword [esp + 0x4c]
add edi, 0x1770
test eax, eax
mov dword [esp + 0x24], edi
jne 0x46e405
mov eax, dword [ebx + 0x10]
test eax, eax
je 0x46e405
mov ecx, dword [ebx]
push 0x2e
push ecx
call fcn.005da7f0
add esp, 8
test eax, eax
je 0x46e405
push str..isid
push eax
call fcn.005f1860
add esp, 8
test eax, eax
jne 0x46e405
mov edx, dword [ebp + 0x264]
push edi
push edx
call dword [sym.imp.USER32.dll_GetDlgItem]
test eax, eax
jne 0x46e3ea
push edi
push ebp
call fcn.00468560
add esp, 8
test eax, eax
jne 0x46e3ea
mov eax, dword [esp + 0x3c]
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 0x46fa7a
mov eax, dword [str._true]
mov edx, dword [esp + 0x3c]
mov dword [edx], eax
mov cx, word [0x5f4a14]
mov word [edx + 4], cx
jmp 0x46fa7a
mov edx, dword [esp + 0x18]
mov eax, dword [edx + 0x264]
push edi
push eax
call dword [sym.imp.USER32.dll_GetDlgItem]
mov ebp, eax
test ebp, ebp
mov dword [esp + 0x28], ebp
je 0x46f973
push 0x1036
push esi
push ebp
call dword [sym.imp.USER32.dll_GetClassNameA]
push 0xfffffffffffffff0
push ebp
call dword [sym.imp.USER32.dll_GetWindowLongA]
mov dword [esp + 0x1c], eax
mov eax, dword [esp + 0x4c]
dec eax
je 0x46f6d2
dec eax
je 0x46f3b9
dec eax
je 0x46f6d2
mov eax, dword [ebx + 0x10]
test eax, eax
mov edi, dword [sym.imp.USER32.dll_SendMessageA]
je 0x46f032
mov ecx, dword [ebx]
push 0x2e
push ecx
call fcn.005da7f0
mov esi, eax
add esp, 8
test esi, esi
je 0x46f032
push str..text
push esi
call fcn.005f1860
add esp, 8
test eax, eax
je 0x46f032
push str..len
push esi
call fcn.005f1860
add esp, 8
test eax, eax
jne 0x46e5da
mov esi, dword [esp + 0x44]
mov edi, dword [esp + 0x3c]
push str.ListBox
push esi
mov word [edi], 0x30
call fcn.005f1860
add esp, 8
test eax, eax
jne 0x46e509
mov eax, dword [esp + 0x10]
cmp eax, 1
jl 0x46fa7a
push 0
dec eax
push eax
push 0x18a
push ebp
call dword [sym.imp.USER32.dll_SendMessageA]
cmp eax, 0xffffffff
mov dword [esp + 0x14], eax
je 0x46fa7a
push eax
push 0x5f4a38
push edi
call fcn.005d9929
add esp, 0xc
jmp 0x46fa7a
push esi
call fcn.0048a480
add esp, 4
test eax, eax
je 0x46e559
mov eax, dword [esp + 0x10]
test eax, eax
jl 0x46fa7a
push 0
je 0x46e5b7
dec eax
push eax
push 0x149
push ebp
call dword [sym.imp.USER32.dll_SendMessageA]
cmp eax, 0xffffffff
mov dword [esp + 0x14], eax
je 0x46fa7a
push eax
push 0x5f4a38
push edi
call fcn.005d9929
add esp, 0xc
jmp 0x46fa7a
push esi
call fcn.0048a430
add esp, 4
test eax, eax
je 0x46e5b5
mov eax, dword [esp + 0x10]
cmp eax, 1
jl 0x46fa7a
mov esi, dword [sym.imp.USER32.dll_SendMessageA]
push 0
dec eax
push eax
push 0xbb
push ebp
call esi
cmp eax, 0xffffffff
mov dword [esp + 0x14], eax
je 0x46fa7a
push 0
push eax
push 0xc1
push ebp
call esi
push eax
push 0x5f4a38
push edi
mov dword [esp + 0x20], eax
call fcn.005d9929
add esp, 0xc
jmp 0x46fa7a
push 0
push 0
push 0xe
push ebp
call dword [sym.imp.USER32.dll_SendMessageA]
push eax
push 0x5f4a38
push edi
mov dword [esp + 0x20], eax
call fcn.005d9929
add esp, 0xc
jmp 0x46fa7a
push str..lines
push esi
call fcn.005f1860
add esp, 8
test eax, eax
jne 0x46e719
mov edi, dword [esp + 0x44]
mov esi, dword [esp + 0x3c]
push str.ListBox
push edi
mov word [esi], 0x30
call fcn.005f1860
add esp, 8
test eax, eax
jne 0x46e63e
push eax
push eax
push 0x18b
push ebp
call dword [sym.imp.USER32.dll_SendMessageA]
cmp eax, 0xffffffff
mov dword [esp + 0x14], eax
je 0x46fa7a
push eax
push 0x5f4a38
push esi
call fcn.005d9929
add esp, 0xc
jmp 0x46fa7a
push edi
call fcn.0048a480
add esp, 4
test eax, eax
je 0x46e67c
push 0
push 0
push 0x146
push ebp
call dword [sym.imp.USER32.dll_SendMessageA]
cmp eax, 0xffffffff
mov dword [esp + 0x14], eax
je 0x46fa7a
push eax
push 0x5f4a38
push esi
call fcn.005d9929
add esp, 0xc
jmp 0x46fa7a
push edi
call fcn.0048a430
add esp, 4
test eax, eax
je 0x46e6b1
push 0
push 0
push 0xba
push ebp
call dword [sym.imp.USER32.dll_SendMessageA]
push eax
push 0x5f4a38
push esi
mov dword [esp + 0x20], eax
call fcn.005d9929
add esp, 0xc
jmp 0x46fa7a
push str.ScrollBar
push edi
call fcn.005f1860
add esp, 8
test eax, eax
jne 0x46e6f6
lea edx, [esp + 0x24]
push edx
mov dword [esp + 0x2c], eax
mov dword [esp + 0x28], eax
lea eax, [esp + 0x2c]
push eax
push 2
push ebp
call dword [sym.imp.USER32.dll_GetScrollRange]
mov ecx, dword [esp + 0x24]
push ecx
push 0x5f4a40
push esi
call fcn.005d9929
add esp, 0xc
jmp 0x46fa7a
push 0
push 0
push 0xe
push ebp
call dword [sym.imp.USER32.dll_SendMessageA]
xor edx, edx
test eax, eax
setg dl
mov dword [esp + 0x14], eax
add edx, 0x30
mov word [esi], dx
jmp 0x46fa7a
push str..sel
push esi
call fcn.005f1860
add esp, 8
test eax, eax
jne 0x46e973
mov edi, dword [esp + 0x44]
mov esi, dword [esp + 0x3c]
push str.ListBox
push edi
mov word [esi], 0x30
call fcn.005f1860
add esp, 8
test eax, eax
jne 0x46e879
mov eax, dword [esp + 0x1c]
test ah, 8
jne 0x46e790
test al, 8
jne 0x46e790
push 0
push 0
push 0x188
push ebp
call dword [sym.imp.USER32.dll_SendMessageA]
mov ecx, dword [esp + 0x10]
test ecx, ecx
mov dword [esp + 0x14], eax
jne 0x46e8b5
cmp eax, 0xffffffff
setne cl
add ecx, 0x30
mov word [esi], cx
jmp 0x46fa7a
mov edi, dword [sym.imp.USER32.dll_SendMessageA]
push 0
push 0
push 0x190
push ebp
call edi
mov ecx, dword [esp + 0x10]
test ecx, ecx
mov dword [esp + 0x14], eax
jne 0x46e7d5
cmp eax, 0xffffffff
je 0x46e7bb
test eax, eax
jg 0x46e8d6
xor eax, eax
push eax
push 0x5f4a38
push esi
mov dword [esp + 0x20], eax
call fcn.005d9929
add esp, 0xc
jmp 0x46fa7a
cmp eax, 0xffffffff
je 0x46fa7a
test eax, eax
jle 0x46fa7a
test ecx, ecx
jge 0x46e7ef
mov ecx, 1
dec ecx
cmp ecx, eax
mov dword [esp + 0x10], ecx
jge 0x46fa7a
lea edx, [eax*4]
push edx
call fcn.005d9f91
mov esi, eax
add esp, 4
test esi, esi
jne 0x46e82a
mov eax, dword [esp + 0x44]
push 8
push eax
push ebx
call fcn.0048c510
add esp, 0xc
pop edi
pop ebp
pop esi
pop ebx
add esp, 0x1c
ret
mov ecx, dword [esp + 0x14]
push esi
push ecx
push 0x191
push ebp
call edi
cmp eax, 0xffffffff
mov dword [esp + 0x14], eax
je 0x46e86b
test eax, eax
jle 0x46e86b
mov edx, dword [esp + 0x10]
mov eax, dword [esi + edx*4]
mov ecx, dword [esp + 0x3c]
inc eax
push eax
push 0x5f4a40
push ecx
call fcn.005d9929
push esi
call fcn.005d9fa3
add esp, 0x10
jmp 0x46fa7a
push esi
call fcn.005d9fa3
add esp, 4
jmp 0x46fa7a
push edi
call fcn.0048a480
add esp, 4
test eax, eax
je 0x46e8ea
push 0
push 0
push 0x147
push ebp
call dword [sym.imp.USER32.dll_SendMessageA]
mov ecx, dword [esp + 0x10]
test ecx, ecx
mov dword [esp + 0x14], eax
jne 0x46e8b5
xor edx, edx
cmp eax, 0xffffffff
setne dl
add edx, 0x30
mov word [esi], dx
jmp 0x46fa7a
cmp ecx, 0xffffffff
jne 0x46e8c3
mov ecx, 1
mov dword [esp + 0x10], ecx
cmp eax, 0xffffffff
je 0x46fa7a
cmp ecx, 1
jne 0x46fa7a
inc eax
push eax
push 0x5f4a38
push esi
call fcn.005d9929
add esp, 0xc
jmp 0x46fa7a
push edi
call fcn.0048a430
add esp, 4
test eax, eax
je 0x46e93c
cmp dword [esp + 0x10], 1
jl 0x46fa7a
push 0
lea eax, [esp + 0x18]
push eax
push 1
push ebp
call fcn.00489f80
mov edx, dword [esp + 0x24]
lea ecx, [esp + 0x24]
push ecx
push edx
push 1
push ebp
call fcn.0048a0e0
mov eax, dword [esp + 0x34]
inc eax
push eax
push 0x5f4a38
push esi
call fcn.005d9929
add esp, 0x2c
jmp 0x46fa7a
push str.ScrollBar
push edi
call fcn.005f1860
add esp, 8
test eax, eax
jne 0x46fa7a
push 2
push ebp
call dword [sym.imp.USER32.dll_GetScrollPos]
push eax
push 0x5f4a38
push esi
mov dword [esp + 0x20], eax
call fcn.005d9929
add esp, 0xc
jmp 0x46fa7a
push str..csel
push esi
call fcn.005f1860
add esp, 8
test eax, eax
jne 0x46eab1
mov ecx, dword [esp + 0x44]
mov esi, dword [esp + 0x3c]
push str.ListBox
push ecx
mov word [esi], 0x30
call fcn.005f1860
add esp, 8
test eax, eax
jne 0x46fa7a
push 0xffffffffffffffeb
push ebp
call dword [sym.imp.USER32.dll_GetWindowLongA]
test eax, eax
je 0x46fa7a
mov edx, dword [esp + 0x28]
mov edi, dword [sym.imp.USER32.dll_SendMessageA]
xor ebp, ebp
push ebp
push ebp
push 0x18b
push edx
call edi
cmp eax, 0xffffffff
mov dword [esp + 0x14], eax
je 0x46ea38
cmp eax, 0xfffffffe
je 0x46ea38
shl eax, 2
push eax
call fcn.005d9f91
mov ebp, eax
add esp, 4
test ebp, ebp
je 0x46efe7
mov eax, dword [esp + 0x14]
xor ebx, ebx
xor esi, esi
test eax, eax
jle 0x46ea2e
mov edx, dword [esp + 0x28]
push 0
push esi
push 0x199
push edx
call edi
cmp eax, 0xffffffff
je 0x46ea25
cmp eax, 0xfffffffe
je 0x46ea25
test eax, eax
je 0x46ea25
mov dword [ebp + ebx*4], esi
inc ebx
mov eax, dword [esp + 0x14]
inc esi
cmp esi, eax
jl 0x46ea03
mov esi, dword [esp + 0x3c]
mov eax, ebx
mov dword [esp + 0x14], eax
mov ecx, dword [esp + 0x10]
test ecx, ecx
jne 0x46ea69
cmp eax, 0xffffffff
je 0x46ea49
test eax, eax
jg 0x46ea4f
xor eax, eax
mov dword [esp + 0x14], eax
push eax
push 0x5f4a38
push esi
call fcn.005d9929
push ebp
call fcn.005d9fa3
add esp, 0x10
jmp 0x46fa7a
cmp eax, 0xffffffff
je 0x46ea84
test eax, eax
jle 0x46ea84
test ecx, ecx
jge 0x46ea7b
mov ecx, 1
dec ecx
cmp ecx, eax
mov dword [esp + 0x10], ecx
jl 0x46ea92
push ebp
call fcn.005d9fa3
add esp, 4
jmp 0x46fa7a
mov eax, dword [ebp + ecx*4]
inc eax
push eax
push 0x5f4a40
push esi
call fcn.005d9929
push ebp
call fcn.005d9fa3
add esp, 0x10
jmp 0x46fa7a
push str..cstate
push esi
call fcn.005f1860
add esp, 8
test eax, eax
jne 0x46eb42
mov ecx, dword [esp + 0x44]
mov esi, dword [esp + 0x3c]
push str.ListBox
push ecx
mov word [esi], 0x30
call fcn.005f1860
add esp, 8
test eax, eax
jne 0x46fa7a
push 0xffffffffffffffeb
push ebp
call dword [sym.imp.USER32.dll_GetWindowLongA]
test eax, eax
je 0x46fa7a
mov eax, dword [esp + 0x10]
cmp eax, 1
jl 0x46fa7a
push 0
dec eax
push eax
push 0x199
push ebp
call dword [sym.imp.USER32.dll_SendMessageA]
cmp eax, 0xffffffff
mov dword [esp + 0x14], eax
je 0x46fa7a
cmp eax, 0xfffffffe
je 0x46fa7a
push eax
push 0x5f4a38
push esi
call fcn.005d9929
add esp, 0xc
jmp 0x46fa7a
push str..state
push esi
call fcn.005f1860
add esp, 8
test eax, eax
jne 0x46ec7c
mov esi, dword [esp + 0x44]
mov edi, dword [esp + 0x3c]
push str.ListBox
push esi
mov word [edi], 0x30
call fcn.005f1860
add esp, 8
test eax, eax
jne 0x46ebb3
mov eax, dword [esp + 0x10]
cmp eax, 1
jl 0x46fa7a
push 0
dec eax
push eax
push 0x187
push ebp
call dword [sym.imp.USER32.dll_SendMessageA]
cmp eax, 0xffffffff
mov dword [esp + 0x14], eax
je 0x46fa7a
xor edx, edx
test eax, eax
setne dl
add edx, 0x30
mov word [edi], dx
jmp 0x46fa7a
push esi
call fcn.0048a480
add esp, 4
test eax, eax
je 0x46ec26
cmp dword [esp + 0x10], 1
jl 0x46fa7a
mov esi, dword [sym.imp.USER32.dll_SendMessageA]
push 0
push 0
push 0x146
push ebp
call esi
cmp eax, 0xffffffff
mov dword [esp + 0x14], eax
je 0x46fa7a
cmp dword [esp + 0x10], eax
jg 0x46fa7a
push 0
push 0
push 0x147
push ebp
call esi
cmp eax, 0xffffffff
mov dword [esp + 0x14], eax
je 0x46ec1c
mov ecx, dword [esp + 0x10]
dec ecx
cmp eax, ecx
jne 0x46ec1c
mov word [edi], 0x31
jmp 0x46fa7a
mov word [edi], 0x30
jmp 0x46fa7a
push str.Button
push esi
call fcn.005f1860
add esp, 8
test eax, eax
jne 0x46fa7a
mov ebx, dword [esp + 0x24]
mov ebp, dword [esp + 0x18]
mov edx, dword [ebp + 0x264]
mov esi, dword [sym.imp.USER32.dll_IsDlgButtonChecked]
push ebx
push edx
call esi
test al, 1
je 0x46ec62
mov word [edi], 0x31
jmp 0x46fa7a
mov eax, dword [ebp + 0x264]
push ebx
push eax
call esi
and al, 2
or al, 0x30
movzx cx, al
mov word [edi], cx
jmp 0x46fa7a
push str..next
push esi
call fcn.005f1860
add esp, 8
test eax, eax
jne 0x46ed00
mov edx, dword [esp + 0x3c]
mov edi, dword [sym.imp.USER32.dll_GetWindow]
push 2
push ebp
mov word [edx], 0x30
call edi
mov esi, eax
test esi, esi
je 0x46fa7a
mov ebx, dword [sym.imp.USER32.dll_GetDlgCtrlID]
mov ebp, dword [sym.imp.USER32.dll_GetWindowLongA]
push 0xfffffffffffffff0
push esi
call ebp
test eax, 0x10000
je 0x46ecd8
push esi
call ebx
sub eax, 0x1770
cmp eax, 1
jl 0x46ecd8
cmp eax, 0xbb8
jle 0x46ece8
push 2
push esi
call edi
mov esi, eax
test esi, esi
jne 0x46ecb8
jmp 0x46fa7a
push eax
mov eax, dword [esp + 0x40]
push 0x5f4a40
push eax
call fcn.005d9929
add esp, 0xc
jmp 0x46fa7a
push str..prev
push esi
call fcn.005f1860
add esp, 8
test eax, eax
jne 0x46ed88
mov ecx, dword [esp + 0x3c]
mov edi, dword [sym.imp.USER32.dll_GetWindow]
push 3
push ebp
mov word [ecx], 0x30
call edi
mov esi, eax
test esi, esi
je 0x46fa7a
mov ebx, dword [sym.imp.USER32.dll_GetDlgCtrlID]
mov ebp, dword [sym.imp.USER32.dll_GetWindowLongA]
lea esp, [esp]
push 0xfffffffffffffff0
push esi
call ebp
test eax, 0x10000
je 0x46ed60
push esi
call ebx
sub eax, 0x1770
cmp eax, 1
jl 0x46ed60
cmp eax, 0xbb8
jle 0x46ed70
push 3
push esi
call edi
mov esi, eax
test esi, esi
jne 0x46ed40
jmp 0x46fa7a
mov edx, dword [esp + 0x3c]
push eax
push 0x5f4a40
push edx
call fcn.005d9929
add esp, 0xc
jmp 0x46fa7a
push str..visible
push esi
call fcn.005f1860
add esp, 8
test eax, eax
jne 0x46edfd
mov eax, dword [esp + 0x44]
push str.Static
push eax
call fcn.005f1860
add esp, 8
test eax, eax
jne 0x46edb7
test byte [esp + 0x1c], 3
jne 0x46ee0f
push ebp
call dword [sym.imp.USER32.dll_IsWindowVisible]
test eax, eax
mov ecx, dword [esp + 0x3c]
je 0x46eddd
mov edx, dword [str._true]
mov dword [ecx], edx
mov ax, word [0x5f4a14]
mov word [ecx + 4], ax
jmp 0x46fa7a
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 0x46fa7a
push str..enabled
push esi
call fcn.005f1860
add esp, 8
test eax, eax
jne 0x46ee3a
push ebp
call dword [sym.imp.USER32.dll_IsWindowEnabled]
test eax, eax
mov eax, dword [esp + 0x3c]
je 0x46e3c9
mov ecx, dword [str._true]
mov dword [eax], ecx
mov dx, word [0x5f4a14]
mov word [eax + 4], dx
jmp 0x46fa7a
push str..edited
push esi
call fcn.005f1860
add esp, 8
test eax, eax
jne 0x46eeb0
mov eax, dword [str._false]
mov esi, dword [esp + 0x3c]
mov edx, esi
mov dword [edx], eax
mov cx, word [0x5f4a04]
mov word [edx + 4], cx
mov ecx, dword [esp + 0x44]
mov al, byte [0x5f4a06]
push ecx
mov byte [edx + 6], al
call fcn.0048a430
add esp, 4
test eax, eax
je 0x46fa7a
push 0
push 0
push 0xb8
push ebp
call dword [sym.imp.USER32.dll_SendMessageA]
test eax, eax
je 0x46fa7a
mov edx, dword [str._true]
mov dword [esi], edx
mov ax, word [0x5f4a14]
mov word [esi + 4], ax
jmp 0x46fa7a
push str..selstart
push esi
call fcn.005f1860
add esp, 8
test eax, eax
jne 0x46ef02
mov ecx, dword [esp + 0x44]
push ecx
call fcn.0048a430
add esp, 4
test eax, eax
je 0x46fa7a
push 0
lea edx, [esp + 0x14]
push edx
push 1
push ebp
call fcn.00489f80
mov eax, dword [esp + 0x20]
mov ecx, dword [esp + 0x4c]
push eax
push 0x5f4a40
push ecx
call fcn.005d9929
add esp, 0x1c
jmp 0x46fa7a
push str..selend
push esi
call fcn.005f1860
add esp, 8
test eax, eax
jne 0x46ef54
mov edx, dword [esp + 0x44]
push edx
call fcn.0048a430
add esp, 4
test eax, eax
je 0x46fa7a
lea eax, [esp + 0x10]
push eax
push 0
push 1
push ebp
call fcn.00489f80
mov ecx, dword [esp + 0x20]
mov edx, dword [esp + 0x4c]
push ecx
push 0x5f4a40
push edx
call fcn.005d9929
add esp, 0x1c
jmp 0x46fa7a
push str..seltext
push esi
call fcn.005f1860
add esp, 8
test eax, eax
jne 0x46fa7a
mov esi, dword [esp + 0x44]
push str.ListBox
push esi
call fcn.005f1860
add esp, 8
test eax, eax
jne 0x46f06d
mov eax, dword [esp + 0x1c]
test ah, 8
jne 0x46efb4
test al, 8
jne 0x46efb4
push 0
push 0
push 0x188
push ebp
call edi
cmp eax, 0xffffffff
mov dword [esp + 0x14], eax
je 0x46fa7a
inc eax
mov dword [esp + 0x10], eax
jmp 0x46f036
push 0
push 0
push 0x190
push ebp
call edi
cmp eax, 0xffffffff
mov dword [esp + 0x14], eax
je 0x46fa7a
test eax, eax
jle 0x46fa7a
shl eax, 2
push eax
call fcn.005d9f91
mov esi, eax
add esp, 4
test esi, esi
jne 0x46efff
mov ecx, dword [esp + 0x44]
push 8
push ecx
push ebx
call fcn.0048c510
add esp, 0xc
pop edi
pop ebp
pop esi
pop ebx
add esp, 0x1c
ret
mov edx, dword [esp + 0x14]
push esi
push edx
push 0x191
push ebp
call edi
cmp eax, 0xffffffff
mov dword [esp + 0x14], eax
je 0x46e86b
test eax, eax
jle 0x46e86b
mov eax, dword [esi]
inc eax
push esi
mov dword [esp + 0x14], eax
call fcn.005d9fa3
add esp, 4
mov esi, dword [esp + 0x44]
push str.ListBox
push esi
call fcn.005f1860
add esp, 8
test eax, eax
jne 0x46f27f
mov eax, dword [esp + 0x10]
cmp eax, 1
jl 0x46fa7a
mov ecx, dword [esp + 0x3c]
push ecx
dec eax
push eax
push 0x189
push ebp
call edi
jmp 0x46fa7a
push esi
call fcn.0048a480
add esp, 4
test eax, eax
je 0x46f09d
push 0
push 0
push 0x147
push ebp
call edi
cmp eax, 0xffffffff
mov dword [esp + 0x14], eax
je 0x46fa7a
mov dword [esp + 0x10], 0
jmp 0x46f036
push esi
call fcn.0048a430
add esp, 4
test eax, eax
je 0x46fa7a
lea ecx, [esp + 0x20]
push ecx
lea edx, [esp + 0x20]
push edx
push 1
push ebp
call fcn.00489f80
mov ecx, dword [esp + 0x2c]
lea eax, [esp + 0x38]
push eax
push ecx
push 1
push ebp
call fcn.0048a0e0
mov eax, dword [esp + 0x40]
lea edx, [esp + 0x38]
push edx
push eax
push 1
push ebp
call fcn.0048a0e0
mov eax, dword [esp + 0x58]
mov ecx, dword [esp + 0x48]
mov edi, dword [esp + 0x6c]
add esp, 0x30
cmp eax, ecx
mov ebx, eax
mov byte [esi], 0
jg 0x46f268
mov esi, dword [sym.imp.USER32.dll_SendMessageA]
push edi
push ebx
push 0xc4
push ebp
mov word [edi], 0x1036
call esi
test eax, eax
jl 0x46f11f
mov byte [eax + edi], 0
jmp 0x46f122
mov byte [edi], 0
cmp ebx, dword [esp + 0x28]
jne 0x46f1ad
push 0
push ebx
push 0xbb
push ebp
call esi
mov ecx, dword [esp + 0x1c]
sub ecx, eax
mov dword [esp + 0x14], eax
js 0x46f268
mov eax, edi
lea esi, [eax + 1]
lea esp, [esp]
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x46f150
sub eax, esi
cmp ecx, eax
jg 0x46f170
mov edx, dword [esp + 0x44]
lea eax, [ecx + edi]
sub edx, eax
mov cl, byte [eax]
mov byte [eax + edx], cl
inc eax
test cl, cl
jne 0x46f166
cmp ebx, dword [esp + 0x18]
jne 0x46f20c
mov edx, dword [esp + 0x20]
sub edx, dword [esp + 0x1c]
jns 0x46f186
xor edx, edx
mov eax, dword [esp + 0x44]
lea esi, [eax + 1]
lea ecx, [ecx]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x46f190
sub eax, esi
cmp edx, eax
jg 0x46f268
mov eax, dword [esp + 0x44]
mov byte [edx + eax], cl
jmp 0x46f268
cmp ebx, dword [esp + 0x18]
je 0x46f21b
mov esi, dword [esp + 0x44]
cmp byte [esi], 0
je 0x46f1df
mov edi, esi
dec edi
nop
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x46f1c0
mov cx, word [0x5f4c8c]
mov word [edi], cx
mov dl, byte [0x5f4c8e]
mov byte [edi + 2], dl
mov edi, dword [esp + 0x3c]
mov eax, edi
mov edx, edi
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x46f1e3
mov edi, esi
sub eax, edx
dec edi
nop
mov cl, byte [edi + 1]
inc edi
test cl, cl
jne 0x46f1f0
mov ecx, eax
shr ecx, 2
mov esi, edx
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov edi, dword [esp + 0x3c]
mov eax, dword [esp + 0x18]
inc ebx
cmp ebx, eax
jle 0x46f100
jmp 0x46f268
push 0
push ebx
push 0xbb
push ebp
call esi
mov ecx, dword [esp + 0x20]
sub ecx, eax
mov dword [esp + 0x14], eax
js 0x46f268
mov edx, dword [esp + 0x44]
cmp byte [edx], 0
je 0x46f25d
mov edi, edx
dec edi
mov edi, edi
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x46f240
mov ax, word [0x5f4c8c]
mov word [edi], ax
mov al, byte [0x5f4c8e]
mov byte [edi + 2], al
mov edi, dword [esp + 0x3c]
push ecx
push edi
push edx
call fcn.005dc480
add esp, 0xc
mov eax, dword [esp + 0x44]
mov edx, edi
sub edx, eax
mov cl, byte [eax]
mov byte [eax + edx], cl
inc eax
test cl, cl
jne 0x46f270
jmp 0x46fa7a
push esi
call fcn.0048a480
add esp, 4
test eax, eax
je 0x46f2bd
mov eax, dword [esp + 0x10]
cmp eax, 1
jge 0x46f2a9
mov edx, dword [esp + 0x3c]
push edx
push 0x1036
push 0xd
push ebp
call edi
jmp 0x46fa7a
mov ecx, dword [esp + 0x3c]
push ecx
dec eax
push eax
push 0x148
push ebp
call edi
jmp 0x46fa7a
push esi
call fcn.0048a430
add esp, 4
test eax, eax
je 0x46f305
mov eax, dword [esp + 0x10]
cmp eax, 1
jge 0x46f2dc
mov eax, 1
mov dword [esp + 0x10], eax
mov esi, dword [esp + 0x3c]
push esi
dec eax
push eax
push 0xc4
push ebp
mov word [esi], 0x1036
call edi
test eax, eax
jl 0x46f2fd
mov byte [eax + esi], 0
jmp 0x46fa7a
mov byte [esi], 0
jmp 0x46fa7a
push str.Static
push esi
call fcn.005f1860
add esp, 8
test eax, eax
jne 0x46f3a5
test byte [esp + 0x1c], 3
je 0x46f3a5
mov esi, dword [esp + 0x3c]
mov edx, dword [esp + 0x18]
mov byte [esi], 0
mov eax, dword [edx + 0x4800]
test eax, eax
je 0x46f395
mov ecx, dword [esp + 0x24]
nop
cmp dword [eax + 8], ecx
je 0x46f35f
mov eax, dword [eax + 0x454]
test eax, eax
jne 0x46f340
push esi
push 0x1036
push 0xd
push ebp
call edi
jmp 0x46fa7a
mov ecx, dword [eax + 0x440]
add eax, 0xc
test ecx, ecx
push eax
jl 0x46f37e
push ecx
push str._d__s
push esi
call fcn.005d9929
add esp, 0x10
jmp 0x46f38c
push 0x5f506c
push esi
call fcn.005d9929
add esp, 0xc
cmp byte [esi], 0
jne 0x46fa7a
push esi
push 0x1036
push 0xd
push ebp
call edi
jmp 0x46fa7a
mov eax, dword [esp + 0x3c]
push eax
push 0x1036
push 0xd
push ebp
call edi
jmp 0x46fa7a
mov eax, dword [esp + 0x10]
test eax, eax
jg 0x46f3c6
mov eax, 0x2c
push str.ListBox
push esi
mov dword [esp + 0x28], eax
mov dword [esp + 0x18], 1
call fcn.005f1860
add esp, 8
test eax, eax
jne 0x46f4d4
push eax
push eax
push 0x18b
push ebp
call dword [sym.imp.USER32.dll_SendMessageA]
cmp eax, 0xffffffff
mov dword [esp + 0x14], eax
je 0x46fa7a
mov ecx, dword [esp + 0x10]
cmp ecx, eax
jg 0x46fa7a
mov ebx, dword [esp + 0x3c]
jmp 0x46f420
mov esi, dword [esp + 0x44]
lea esp, [esp]
push esi
dec ecx
push ecx
push 0x189
push ebp
call dword [sym.imp.USER32.dll_SendMessageA]
cmp eax, 0xffffffff
je 0x46fa7a
mov eax, ebx
lea edx, [eax + 1]
lea ecx, [ecx]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x46f440
mov edi, dword [esp + 0x44]
sub eax, edx
mov edx, eax
mov eax, edi
lea esi, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x46f454
sub eax, esi
add eax, edx
cmp eax, 0x1036
ja 0x46fa7a
cmp byte [ebx], 0
je 0x46f492
mov eax, ebx
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x46f474
mov ecx, dword [esp + 0x20]
push ecx
sub eax, edx
add eax, ebx
push 0x5f5094
push eax
call fcn.005d9929
add esp, 0xc
mov eax, edi
mov edx, edi
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x46f496
mov edi, ebx
sub eax, edx
dec edi
mov cl, byte [edi + 1]
inc edi
test cl, cl
jne 0x46f4a2
mov ecx, eax
shr ecx, 2
mov esi, edx
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
mov eax, dword [esp + 0x14]
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov ecx, dword [esp + 0x10]
inc ecx
cmp ecx, eax
mov dword [esp + 0x10], ecx
jle 0x46f415
jmp 0x46fa7a
push esi
call fcn.0048a480
add esp, 4
test eax, eax
je 0x46f5d2
push 0
push 0
push 0x146
push ebp
call dword [sym.imp.USER32.dll_SendMessageA]
cmp eax, 0xffffffff
mov dword [esp + 0x14], eax
je 0x46fa7a
mov ecx, dword [esp + 0x10]
cmp ecx, eax
jg 0x46fa7a
mov ebx, dword [esp + 0x3c]
jmp 0x46f518
mov esi, dword [esp + 0x44]
push esi
dec ecx
push ecx
push 0x148
push ebp
call dword [sym.imp.USER32.dll_SendMessageA]
cmp eax, 0xffffffff
je 0x46fa7a
mov eax, ebx
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x46f535
mov edi, dword [esp + 0x44]
sub eax, edx
mov edx, eax
mov eax, edi
lea esi, [eax + 1]
lea esp, [esp]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x46f550
sub eax, esi
add eax, edx
cmp eax, 0x1036
ja 0x46fa7a
cmp byte [ebx], 0
je 0x46f58e
mov eax, ebx
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x46f570
sub eax, edx
mov edx, dword [esp + 0x20]
push edx
add eax, ebx
push 0x5f5094
push eax
call fcn.005d9929
add esp, 0xc
mov eax, edi
mov edx, edi
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x46f592
mov edi, ebx
sub eax, edx
dec edi
mov edi, edi
mov cl, byte [edi + 1]
inc edi
test cl, cl
jne 0x46f5a0
mov ecx, eax
shr ecx, 2
mov esi, edx
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
mov eax, dword [esp + 0x14]
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov ecx, dword [esp + 0x10]
inc ecx
cmp ecx, eax
mov dword [esp + 0x10], ecx
jle 0x46f514
jmp 0x46fa7a
push esi
call fcn.0048a430
add esp, 4
test eax, eax
je 0x46fa7a
push 0
push 0
push 0xba
push ebp
call dword [sym.imp.USER32.dll_SendMessageA]
mov ecx, dword [esp + 0x10]
cmp ecx, eax
mov dword [esp + 0x14], eax
jg 0x46fa7a
mov ebx, dword [esp + 0x3c]
jmp 0x46f610
mov esi, dword [esp + 0x44]
lea ecx, [ecx]
push esi
dec ecx
push ecx
push 0xc4
push ebp
mov word [esi], 0x1036
call dword [sym.imp.USER32.dll_SendMessageA]
test eax, eax
jl 0x46f62e
mov byte [eax + esi], 0
jmp 0x46f631
mov byte [esi], 0
mov eax, ebx
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x46f636
mov edi, dword [esp + 0x44]
sub eax, edx
mov edx, eax
mov eax, edi
lea esi, [eax + 1]
lea ebx, [ebx]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x46f650
sub eax, esi
add eax, edx
cmp eax, 0x1036
ja 0x46fa7a
cmp byte [ebx], 0
je 0x46f68e
mov eax, ebx
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x46f670
mov ecx, dword [esp + 0x20]
push ecx
sub eax, edx
add eax, ebx
push 0x5f5094
push eax
call fcn.005d9929
add esp, 0xc
mov eax, edi
mov edx, edi
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x46f692
mov edi, ebx
sub eax, edx
dec edi
mov edi, edi
mov cl, byte [edi + 1]
inc edi
test cl, cl
jne 0x46f6a0
mov ecx, eax
shr ecx, 2
mov esi, edx
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
mov eax, dword [esp + 0x14]
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov ecx, dword [esp + 0x10]
inc ecx
cmp ecx, eax
mov dword [esp + 0x10], ecx
jle 0x46f609
jmp 0x46fa7a
mov eax, dword [esp + 0x20]
test eax, eax
je 0x46f6e4
mov dword [esp + 0x10], 1
jmp 0x46f6f5
mov ecx, dword [esp + 0x10]
mov eax, 1
cmp ecx, eax
jge 0x46f6f5
mov dword [esp + 0x10], eax
push str.ListBox
push esi
call fcn.005f1860
add esp, 8
test eax, eax
jne 0x46f7cf
mov edi, dword [sym.imp.USER32.dll_SendMessageA]
push eax
push eax
push 0x18b
push ebp
call edi
cmp eax, 0xffffffff
mov dword [esp + 0x14], eax
je 0x46fa7a
mov ecx, dword [esp + 0x10]
cmp ecx, eax
mov esi, dword [esp + 0x3c]
mov ebx, dword [esp + 0x40]
jg 0x46f7bc
lea esp, [esp]
push esi
dec ecx
push ecx
push 0x189
push ebp
call edi
cmp eax, 0xffffffff
je 0x46f7bc
cmp dword [esp + 0x4c], 3
jne 0x46f799
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push ebx
push esi
call fcn.0051f4b0
add esp, 0x5c
test eax, eax
jle 0x46f7ab
mov edx, dword [esp + 0x10]
push edx
jmp 0x46f931
push 1
push 0
push esi
push ebx
call fcn.0058df80
add esp, 0x10
test eax, eax
jne 0x46f78f
mov ecx, dword [esp + 0x10]
mov eax, dword [esp + 0x14]
inc ecx
cmp ecx, eax
mov dword [esp + 0x10], ecx
jle 0x46f740
cmp byte [ebx], 0
je 0x46fa7a
mov word [esi], 0x30
jmp 0x46fa7a
push esi
call fcn.0048a480
add esp, 4
test eax, eax
je 0x46f891
mov edi, dword [sym.imp.USER32.dll_SendMessageA]
push 0
push 0
push 0x146
push ebp
call edi
cmp eax, 0xffffffff
mov dword [esp + 0x14], eax
je 0x46fa7a
mov ecx, dword [esp + 0x10]
cmp ecx, eax
mov esi, dword [esp + 0x3c]
mov ebx, dword [esp + 0x40]
jg 0x46f7bc
nop
push esi
dec ecx
push ecx
push 0x148
push ebp
call edi
cmp eax, 0xffffffff
je 0x46f7bc
cmp dword [esp + 0x4c], 3
jne 0x46f869
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push ebx
push esi
call fcn.0051f4b0
add esp, 0x5c
test eax, eax
jle 0x46f87b
mov eax, dword [esp + 0x10]
push eax
jmp 0x46f931
push 1
push 0
push esi
push ebx
call fcn.0058df80
add esp, 0x10
test eax, eax
jne 0x46f85f
mov ecx, dword [esp + 0x10]
mov eax, dword [esp + 0x14]
inc ecx
cmp ecx, eax
mov dword [esp + 0x10], ecx
jle 0x46f810
jmp 0x46f7bc
push esi
call fcn.0048a430
add esp, 4
test eax, eax
je 0x46fa7a
mov edi, dword [sym.imp.USER32.dll_SendMessageA]
push 0
push 0
push 0xba
push ebp
call edi
mov ecx, dword [esp + 0x10]
cmp ecx, eax
mov esi, dword [esp + 0x3c]
mov ebx, dword [esp + 0x40]
mov dword [esp + 0x14], eax
jg 0x46f7bc
lea esp, [esp]
push esi
dec ecx
push ecx
push 0xc4
push ebp
mov word [esi], 0x1036
call edi
test eax, eax
jl 0x46f8ea
mov byte [eax + esi], 0
jmp 0x46f8ed
mov byte [esi], 0
cmp dword [esp + 0x4c], 3
jne 0x46f947
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push ebx
push esi
call fcn.0051f4b0
add esp, 0x5c
test eax, eax
jle 0x46f959
mov ecx, dword [esp + 0x10]
push ecx
push 0x5f4a40
push esi
call fcn.005d9929
add esp, 0xc
mov byte [ebx], 0
jmp 0x46fa7a
push 1
push 0
push esi
push ebx
call fcn.0058df80
add esp, 0x10
test eax, eax
jne 0x46f92c
mov ecx, dword [esp + 0x10]
mov eax, dword [esp + 0x14]
inc ecx
cmp ecx, eax
mov dword [esp + 0x10], ecx
jle 0x46f8d0
jmp 0x46f7bc
mov ebp, dword [esp + 0x18]
push edi
push ebp
call fcn.00468560
add esp, 8
test eax, eax
je 0x46fac2
mov eax, dword [ebp + 0x47e0]
test eax, eax
je 0x46fa7a
push 0
push 0x1036
push esi
push edi
push eax
call dword [sym.imp.USER32.dll_GetMenuStringA]
test eax, eax
je 0x46fa7a
mov eax, dword [ebx + 0x10]
test eax, eax
je 0x46fa61
mov edx, dword [ebx]
push 0x2e
push edx
call fcn.005da7f0
mov esi, eax
add esp, 8
test esi, esi
je 0x46fa61
mov eax, dword [esp + 0x24]
push 0
mov ecx, ebp
mov edx, dword [ecx + 0x47e0]
push eax
push edx
call fcn.004f3fb0
push str..state
push esi
mov ebx, eax
call fcn.005f1860
add esp, 0x14
test eax, eax
jne 0x46fa12
mov ecx, dword [esp + 0x3c]
and bl, 8
movzx ax, bl
or ax, 0x180
shr ax, 3
mov word [ecx], ax
jmp 0x46fa7a
push str..enabled
push esi
call fcn.005f1860
add esp, 8
test eax, eax
jne 0x46fa39
mov eax, dword [esp + 0x3c]
not bl
and bl, 1
or bl, 0x30
movzx dx, bl
mov word [eax], dx
jmp 0x46fa7a
push str..text
push esi
call fcn.005f1860
add esp, 8
test eax, eax
jne 0x46fa7a
mov eax, dword [esp + 0x44]
mov edx, dword [esp + 0x3c]
sub edx, eax
mov cl, byte [eax]
mov byte [edx + eax], cl
inc eax
test cl, cl
jne 0x46fa55
jmp 0x46fa7a
mov eax, dword [esp + 0x44]
mov edx, dword [esp + 0x3c]
sub edx, eax
jmp 0x46fa70
mov cl, byte [eax]
mov byte [edx + eax], cl
inc eax
test cl, cl
jne 0x46fa70
mov edi, dword [esp + 0x38]
mov eax, dword [edi + 8]
test eax, eax
jle 0x46faae
mov esi, dword [esp + 0x34]
lea esp, [esp]
mov ecx, dword [edi + 0x40]
mov edx, dword [esi]
push ecx
push edx
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 0x46fa90
mov dword [edi + 8], 0
pop edi
pop ebp
pop esi
mov eax, 2
pop ebx
add esp, 0x1c
ret
push 6
push esi
push ebx
call fcn.0048c510
add esp, 0xc
pop edi
pop ebp
pop esi
pop ebx
add esp, 0x1c
ret