Function at 0x418370
Capabilities:
Get graphical window text

Disassembly:
mov eax, dword [esp + 4]
sub esp, 0xfa0
and eax, 0xff
push ebx
push esi
cmp eax, 4
push edi
mov esi, ecx
ja case.default.0x418b86
jmp dword [eax*4 + 0x418d3c]
push 4
mov ecx, 0x60d508
call fcn.0040f040
mov ecx, dword [0x60d518]
lea eax, [esp + 0xc]
push 0x3e8
push eax
push ecx
call dword [sym.imp.user32.dll_GetWindowTextA]
test eax, eax
jne 0x4183ef
mov edi, 0x473e64
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov byte [0x6fdd08], al
mov edx, ecx
mov esi, edi
mov edi, 0x6fdd09
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
pop edi
pop esi
pop ebx
add esp, 0xfa0
ret 4
mov eax, dword [0x60d518]
push 0x47cc04
push eax
call dword [sym.imp.user32.dll_SetWindowTextA]
lea edi, [esp + 0xc]
or ecx, 0xffffffff
xor eax, eax
mov byte [0x6fdd08], 3
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov edx, ecx
mov esi, edi
mov edi, 0x6fdd09
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
pop edi
pop esi
pop ebx
add esp, 0xfa0
ret 4
push 0xffffffffffffffff
mov ecx, 0x60d508
call fcn.0040f040
mov ecx, dword [0x60d51c]
lea eax, [esp + 0xc]
push 0x3e8
push eax
push ecx
call dword [sym.imp.user32.dll_GetWindowTextA]
test eax, eax
je case.default.0x418b86
mov edx, dword [0x60d51c]
push 0x47cc04
push edx
call dword [sym.imp.user32.dll_SetWindowTextA]
movsx eax, byte [esp + 0xc]
sub eax, 0x21
je 0x418cf5
mov ebx, 2
sub eax, ebx
je 0x418cdd
sub eax, 0x1d
je 0x418c85
lea eax, [esp + 0xc]
push 0x473e5c
push eax
call fcn.00465ff0
add esp, 8
test eax, eax
jne 0x41853a
cmp dword [0x6311a0], 0xc
je case.default.0x418b86
mov ecx, 0x6fd298
call fcn.00435410
mov ecx, 0x6fd750
call fcn.00436fd0
mov eax, dword [0x6fd778]
xor ebx, ebx
cmp eax, ebx
je 0x4184e8
mov ecx, 0x47cc08
call fcn.0040a2d0
cmp dword [0x6fd2c8], ebx
je 0x4184fa
mov ecx, 0x47cc08
call fcn.0040aab0
mov ecx, 0x6fd778
call fcn.00445d40
mov ecx, 0x6fd2c8
call fcn.00445d40
mov ecx, 0x6fdc28
call fcn.0043b0e0
mov ecx, 0x732388
call fcn.0043eea0
push 1
mov ecx, 0x6f9ae8
call fcn.004307f0
pop edi
pop esi
pop ebx
add esp, 0xfa0
ret 4
push 5
lea ecx, [esp + 0x10]
push 0x473e54
push ecx
call fcn.00462260
add esp, 0xc
test eax, eax
jne 0x418666
push 0x472290
push 0x6fd27c
call fcn.00465ff0
add esp, 8
test eax, eax
je 0x41859c
push 0x473e48
push 0x6fd27c
call fcn.00465ff0
add esp, 8
test eax, eax
je 0x41859c
push 0x473e3c
push 0x6fd27c
call fcn.00465ff0
add esp, 8
test eax, eax
jne case.default.0x418b86
lea edi, [esp + 0xc]
or ecx, 0xffffffff
xor eax, eax
xor ebx, ebx
xor edx, edx
mov byte [esp + 0x3f4], bl
repne scasb al, byte es:[edi]
not ecx
dec ecx
cmp ecx, 6
jl 0x4185e8
mov al, byte [esp + edx + 0x12]
cmp al, 0x20
je 0x4185e1
mov byte [esp + edx + 0x3f4], al
lea edi, [esp + 0xc]
or ecx, 0xffffffff
xor eax, eax
inc edx
repne scasb al, byte es:[edi]
not ecx
dec ecx
lea eax, [edx + 6]
cmp eax, ecx
jle 0x4185ba
jmp 0x4185e8
mov byte [esp + edx + 0x3f4], bl
lea ecx, [esp + 0x3f4]
push 0x47cc04
push ecx
call fcn.00465ff0
add esp, 8
test eax, eax
jne 0x418623
mov dl, byte [0x61c5e4]
mov ecx, 0x6fdcd0
push edx
push 0x473e14
call fcn.00442d70
pop edi
pop esi
pop ebx
add esp, 0xfa0
ret 4
lea eax, [esp + 0x3f4]
push eax
call fcn.00461923
add esp, 4
mov ecx, 0x47cc08
push eax
call fcn.0040a8e0
lea ecx, [esp + 0x3f4]
push ecx
call fcn.00461923
add esp, 4
lea edx, [esp + 0xc]
push eax
push 0x473df0
push edx
call fcn.0046105f
add esp, 0xc
jmp 0x418a6c
lea edx, [esp + 0xc]
push 0x473de8
push edx
call fcn.00465ff0
add esp, 8
test eax, eax
jne 0x4186e9
mov cl, byte [0x47c0c0]
mov eax, 1
cmp cl, al
jne case.default.0x418b86
mov ecx, dword [0x47c0b4]
xor ebx, ebx
cmp ecx, ebx
jne 0x4186c1
mov dword [0x47c0b4], eax
mov al, byte [0x61c5e4]
push eax
push 0x473dcc
mov ecx, 0x6fdcd0
call fcn.00442d70
pop edi
pop esi
pop ebx
add esp, 0xfa0
ret 4
mov cl, byte [0x61c5e4]
mov dword [0x47c0b4], ebx
push ecx
push 0x473db0
mov ecx, 0x6fdcd0
call fcn.00442d70
pop edi
pop esi
pop ebx
add esp, 0xfa0
ret 4
lea edx, [esp + 0xc]
push 0x473da8
push edx
call fcn.00465ff0
add esp, 8
test eax, eax
jne 0x418769
cmp byte [0x47c0c0], bl
jne case.default.0x418b86
mov eax, dword [0x47c0bc]
xor ebx, ebx
cmp eax, ebx
jne 0x418741
mov al, byte [0x61c5e4]
mov ecx, 0x6fdcd0
push eax
push 0x473d80
mov dword [0x47c0bc], 1
call fcn.00442d70
pop edi
pop esi
pop ebx
add esp, 0xfa0
ret 4
mov cl, byte [0x61c5e4]
mov dword [0x47c0bc], ebx
push ecx
push 0x473d58
mov ecx, 0x6fdcd0
call fcn.00442d70
pop edi
pop esi
pop ebx
add esp, 0xfa0
ret 4
lea edx, [esp + 0xc]
push 0x473d50
push edx
call fcn.00465ff0
add esp, 8
test eax, eax
jne 0x4187ea
cmp byte [0x47c0c0], 3
jne case.default.0x418b86
mov eax, dword [0x47c0b8]
xor ebx, ebx
cmp eax, ebx
jne 0x4187c2
mov al, byte [0x61c5e4]
mov ecx, 0x6fdcd0
push eax
push 0x473d34
mov dword [0x47c0b8], 1
call fcn.00442d70
pop edi
pop esi
pop ebx
add esp, 0xfa0
ret 4
mov cl, byte [0x61c5e4]
mov dword [0x47c0b8], ebx
push ecx
push 0x473d18
mov ecx, 0x6fdcd0
call fcn.00442d70
pop edi
pop esi
pop ebx
add esp, 0xfa0
ret 4
lea edx, [esp + 0xc]
push 0x473d10
push edx
call fcn.00465ff0
add esp, 8
test eax, eax
jne 0x418824
cmp byte [0x47c0c0], bl
jne case.default.0x418b86
push 0xffffffffffffffff
mov ecx, 0x47cc08
call fcn.00409150
pop edi
pop esi
pop ebx
add esp, 0xfa0
ret 4
push 7
lea eax, [esp + 0x10]
push 0x473d08
push eax
call fcn.00462260
add esp, 0xc
test eax, eax
jne 0x418a8d
cmp byte [0x47c0c0], 4
jne case.default.0x418b86
lea edi, [esp + 0xc]
or ecx, 0xffffffff
xor eax, eax
xor ebx, ebx
xor edx, edx
mov esi, 8
repne scasb al, byte es:[edi]
not ecx
dec ecx
push ebp
cmp ecx, esi
mov byte [esp + 0x3f8], bl
jl 0x4188aa
lea ebp, [esp + 0x3f8]
lea ecx, [esp + 0x18]
sub ebp, ecx
mov al, byte [esp + esi + 0x10]
cmp al, 0x20
je 0x4188a2
lea ecx, [esi + ebp]
inc edx
lea edi, [esp + 0x10]
inc esi
mov byte [esp + ecx + 0x10], al
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
cmp esi, ecx
jle 0x41887d
jmp 0x4188aa
mov byte [esp + edx + 0x3f8], bl
inc esi
lea edx, [esp + 0x3f8]
push 0x47cc04
push edx
call fcn.00465ff0
add esp, 8
test eax, eax
pop ebp
jne 0x4188e5
mov al, byte [0x61c5e4]
mov ecx, 0x6fdcd0
push eax
push 0x473cdc
call fcn.00442d70
pop edi
pop esi
pop ebx
add esp, 0xfa0
ret 4
lea edi, [esp + 0xc]
or ecx, 0xffffffff
xor eax, eax
xor edx, edx
repne scasb al, byte es:[edi]
not ecx
dec ecx
mov byte [esp + 0xbc4], bl
cmp esi, ecx
jg 0x41892d
mov al, byte [esp + esi + 0xc]
cmp al, 0x20
je 0x418925
mov byte [esp + edx + 0xbc4], al
inc edx
lea edi, [esp + 0xc]
or ecx, 0xffffffff
xor eax, eax
inc esi
repne scasb al, byte es:[edi]
not ecx
dec ecx
cmp esi, ecx
jle 0x418900
jmp 0x41892d
mov byte [esp + edx + 0xbc4], bl
inc esi
lea ecx, [esp + 0xbc4]
push 0x47cc04
push ecx
call fcn.00465ff0
add esp, 8
test eax, eax
jne 0x418968
mov dl, byte [0x61c5e4]
mov ecx, 0x6fdcd0
push edx
push 0x473cb0
call fcn.00442d70
pop edi
pop esi
pop ebx
add esp, 0xfa0
ret 4
lea edi, [esp + 0xc]
or ecx, 0xffffffff
xor eax, eax
xor edx, edx
repne scasb al, byte es:[edi]
not ecx
dec ecx
mov byte [esp + 0x7dc], bl
cmp esi, ecx
jg 0x4189af
mov al, byte [esp + esi + 0xc]
cmp al, 0x20
je 0x4189a8
mov byte [esp + edx + 0x7dc], al
inc edx
lea edi, [esp + 0xc]
or ecx, 0xffffffff
xor eax, eax
inc esi
repne scasb al, byte es:[edi]
not ecx
dec ecx
cmp esi, ecx
jle 0x418983
jmp 0x4189af
mov byte [esp + edx + 0x7dc], bl
lea eax, [esp + 0x7dc]
push 0x47cc04
push eax
call fcn.00465ff0
add esp, 8
test eax, eax
jne 0x4189ea
mov cl, byte [0x61c5e4]
push ecx
push 0x473c84
mov ecx, 0x6fdcd0
call fcn.00442d70
pop edi
pop esi
pop ebx
add esp, 0xfa0
ret 4
lea edx, [esp + 0x7dc]
push edx
call fcn.00461923
add esp, 4
push eax
lea eax, [esp + 0xbc8]
push eax
call fcn.00461923
add esp, 4
lea ecx, [esp + 0x3f8]
push eax
push ecx
call fcn.00461923
add esp, 4
mov ecx, 0x47cc08
push eax
call fcn.0040a710
lea edx, [esp + 0x7dc]
push edx
call fcn.00461923
add esp, 4
push eax
lea eax, [esp + 0xbc8]
push eax
call fcn.00461923
add esp, 4
lea ecx, [esp + 0x3f8]
push eax
push ecx
call fcn.00461923
add esp, 4
lea edx, [esp + 0x14]
push eax
push 0x473c54
push edx
call fcn.0046105f
add esp, 0x14
mov al, byte [0x61c5e4]
lea ecx, [esp + 0xc]
push eax
push ecx
mov ecx, 0x6fdcd0
call fcn.00442d70
pop edi
pop esi
pop ebx
add esp, 0xfa0
ret 4
lea edx, [esp + 0xc]
push 0x473c44
push edx
call fcn.00465ff0
add esp, 8
test eax, eax
jne 0x418ac6
cmp byte [0x47c0c0], 5
jne case.default.0x418b86
mov ecx, 0x47cc08
call fcn.004091d0
pop edi
pop esi
pop ebx
add esp, 0xfa0
ret 4
lea eax, [esp + 0xc]
mov ecx, 0x60d530
push eax
call fcn.0040fb50
test eax, eax
je 0x418ae7
mov cl, byte [0x61c5e4]
push ecx
push 0x473c1c
jmp 0x418a77
mov al, byte [0x47c0c0]
cmp al, 1
jne 0x418b14
mov eax, dword [0x47c0b4]
test eax, eax
je 0x418b73
lea edx, [esp + 0xc]
mov ecx, 0x47cc08
push edx
call fcn.00408fb0
pop edi
pop esi
pop ebx
add esp, 0xfa0
ret 4
cmp al, bl
jne 0x418b45
mov eax, dword [0x47c0bc]
test eax, eax
je 0x418b73
lea eax, [esp + 0xc]
push eax
call fcn.00461923
add esp, 4
mov ecx, 0x47cc08
push eax
call fcn.00409150
pop edi
pop esi
pop ebx
add esp, 0xfa0
ret 4
cmp al, 3
jne 0x418b73
mov eax, dword [0x47c0b8]
test eax, eax
je 0x418b73
lea ecx, [esp + 0xc]
push ecx
call fcn.00461923
add esp, 4
mov ecx, esi
push eax
call fcn.00422a90
pop edi
pop esi
pop ebx
add esp, 0xfa0
ret 4
mov eax, dword [0x6fdd08]
and eax, 0xff
cmp eax, 3
ja case.default.0x418b86
jmp dword [eax*4 + 0x418d50]
lea edx, [esp + 0xc]
mov ecx, 0x47cc08
push edx
push 0x6307e8
call fcn.004096e0
pop edi
pop esi
pop ebx
add esp, 0xfa0
ret 4
push 0x47cc04
push 0x630fdc
call fcn.00465ff0
add esp, 8
test eax, eax
jne 0x418bd3
mov al, byte [0x61c5e4]
push eax
push 0x473c00
jmp 0x418a77
lea ecx, [esp + 0xc]
push ecx
push 0x630fdc
push 0x6307e8
mov ecx, 0x47cc08
call fcn.004092e0
pop edi
pop esi
pop ebx
add esp, 0xfa0
ret 4
mov dl, byte [0x61c5e4]
push edx
push 0x473bdc
jmp 0x418a77
push 0x6307e8
push 0x6fdd09
call fcn.00465ff0
add esp, 8
test eax, eax
je case.default.0x418b86
lea eax, [esp + 0xc]
mov ecx, 0x47cc08
push eax
push 0x6fdd09
push 0x6307e8
call fcn.00409220
lea ecx, [esp + 0xc]
lea edx, [esp + 0x3f4]
push ecx
push 0x473bd0
push edx
call fcn.0046105f
add esp, 0xc
lea eax, [esp + 0x3f4]
mov ecx, 0x6fdcd0
push 9
push eax
call fcn.004430c0
push 0x6fdd09
mov ecx, 0x47cc08
call fcn.00409040
pop edi
pop esi
pop ebx
add esp, 0xfa0
ret 4
mov al, byte [esp + 0xd]
test al, al
je case.default.0x418b86
push 0x47cc04
push 0x630fdc
call fcn.00465ff0
add esp, 8
test eax, eax
jne 0x418cb8
mov cl, byte [0x61c5e4]
push ecx
push 0x473c00
jmp 0x418a77
lea edx, [esp + 0xd]
mov ecx, 0x47cc08
push edx
push 0x630fdc
push 0x6307e8
call fcn.004092e0
pop edi
pop esi
pop ebx
add esp, 0xfa0
ret 4
mov al, byte [esp + 0xd]
test al, al
je case.default.0x418b86
mov al, byte [0x61c5e4]
push eax
push 0x473bdc
jmp 0x418a77
mov al, byte [esp + 0xd]
test al, al
je case.default.0x418b86
lea ecx, [esp + 0xd]
push ecx
push 0x6307e8
mov ecx, 0x47cc08
call fcn.0040ab90
pop edi
pop esi
pop ebx
add esp, 0xfa0
ret 4
push 3
jmp 0x418d23
push 4
mov ecx, 0x60d508
call fcn.0040f040
pop edi
pop esi
pop ebx
add esp, 0xfa0
ret 4