Function at 0x4157a0
Capabilities:
Get graphical window text

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x7c
mov dword [ebp - 0xc], 0x8cff0ea7
mov dword [ebp - 0x14], 2
push ebx
mov dword [ebp - 0x20], 0x52e4a6b2
push esi
mov esi, dword [sym.imp.GDI32.dll_GetPaletteEntries]
mov byte [ebp - 1], 0
cmp byte [ebp - 1], 0
push edi
mov dword [ebp - 0x28], edx
mov byte [ebp - 2], cl
je 0x4157e4
push 0
push 0x1136
push 0x1646
push 0
call esi
mov ebx, dword [sym.imp.USER32.dll_EnumChildWindows]
mov edi, dword [sym.imp.USER32.dll_GetDesktopWindow]
mov dword [ebp - 0xc], 0x1a
jmp 0x4158a4
mov dword [ebp - 8], 0x3ee76373
mov byte [ebp - 1], 0
cmp byte [ebp - 1], 0
je 0x415816
push 0
push 0
call edi
push eax
call ebx
mov eax, dword [ebp - 8]
cmp eax, dword [ebp - 0xc]
jl 0x415821
mov eax, dword [ebp - 8]
mov eax, dword [ebp - 8]
xor edx, edx
cmp eax, 0xd4a55f07
mov eax, dword [ebp - 8]
setne dl
xor ecx, ecx
cmp eax, 1
mov eax, dword [ebp - 0xc]
setge cl
sub edx, ecx
neg edx
sbb edx, edx
xor ecx, ecx
inc edx
cmp edx, eax
setl cl
xor edx, edx
cmp ecx, 0x856c
mov ecx, dword [ebp - 0xc]
setge dl
neg ecx
sbb ecx, ecx
xor eax, eax
inc ecx
cmp ecx, edx
setne al
imul eax, dword [ebp - 8]
imul eax, eax, 0x3989
add eax, dword [ebp - 8]
cmp eax, 1
mov eax, dword [ebp - 0x14]
sbb edx, edx
xor ecx, ecx
neg edx
cmp edx, eax
setl cl
mov dword [ebp - 8], ecx
cmp dword [ebp - 8], 0xd5228033
jne 0x415891
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x14]
xor ecx, ecx
cmp eax, 0xdb81ff48
setg cl
mov dword [ebp - 0x20], ecx
dec dword [ebp - 0xc]
cmp dword [ebp - 0xc], 0xffffffeb
jl 0x4157fc
cmp byte [ebp - 2], 0
je 0x4159ba
mov dword [ebp - 8], 0x8cff0ea7
mov dword [ebp - 0x14], 2
mov dword [ebp - 0x20], 0x52e4a6b2
mov byte [ebp - 2], 0
cmp byte [ebp - 2], 0
je 0x4158e7
push 0
push 0x1136
push 0x1646
push 0
call esi
mov dword [ebp - 8], 0x1a
jmp 0x41599b
mov dword [ebp - 0xc], 0x3ee76373
mov byte [ebp - 2], 0
cmp byte [ebp - 2], 0
je 0x41590d
push 0
push 0
call edi
push eax
call ebx
mov eax, dword [ebp - 0xc]
cmp eax, dword [ebp - 8]
jl 0x415918
mov eax, dword [ebp - 0xc]
mov eax, dword [ebp - 0xc]
xor edx, edx
cmp eax, 0xd4a55f07
mov eax, dword [ebp - 0xc]
setne dl
xor ecx, ecx
cmp eax, 1
mov eax, dword [ebp - 8]
setge cl
sub edx, ecx
neg edx
sbb edx, edx
xor ecx, ecx
inc edx
cmp edx, eax
setl cl
xor edx, edx
cmp ecx, 0x856c
mov ecx, dword [ebp - 8]
setge dl
neg ecx
sbb ecx, ecx
xor eax, eax
inc ecx
cmp ecx, edx
setne al
imul eax, dword [ebp - 0xc]
imul eax, eax, 0x3989
add eax, dword [ebp - 0xc]
cmp eax, 1
mov eax, dword [ebp - 0x14]
sbb edx, edx
xor ecx, ecx
neg edx
cmp edx, eax
setl cl
mov dword [ebp - 0xc], ecx
cmp dword [ebp - 0xc], 0xd5228033
jne 0x415988
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x14]
xor ecx, ecx
cmp eax, 0xdb81ff48
setg cl
mov dword [ebp - 0x20], ecx
dec dword [ebp - 8]
cmp dword [ebp - 8], 0xffffffeb
jl 0x4158f3
push 0x1dc7
push 0
call edi
push eax
call dword [sym.imp.USER32.dll_GetWindowTextA]
jmp 0x415ca0
mov dword [ebp - 0x24], 0xb2c2
xor ebx, ebx
mov dword [ebp - 0x24], 0xffffffff
push 3
mov dword [ebp - 0x1c], 0x88d9
mov dword [ebp - 8], ebx
pop ecx
jmp 0x4159e7
mov eax, dword [ebp - 8]
mov dword [ebp + eax*4 - 0x70], 0x27689351
inc dword [ebp - 8]
cmp dword [ebp - 8], ecx
jl 0x4159d9
mov dword [ebp - 8], ebx
jmp 0x4159ff
mov eax, dword [ebp - 8]
mov dword [ebp + eax*4 - 0x7c], 0xac46ddcd
inc dword [ebp - 8]
cmp dword [ebp - 8], ecx
jl 0x4159f1
dec dword [ebp - 0x1c]
mov dword [ebp - 0xc], 0x313dd33a
mov dword [ebp - 0x20], 0xfffffff7
mov dword [ebp - 0xc], ebx
jmp 0x415a3b
mov dword [ebp - 0x10], ebx
jmp 0x415a2d
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0x64], 0xfffffffb
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], ecx
jl 0x415a1f
mov eax, dword [ebp - 0x5c]
mov dword [ebp - 0x20], eax
inc dword [ebp - 0xc]
cmp dword [ebp - 0xc], 0xc
jge 0x415a1a
xor esi, esi
lea ecx, [ebp - 0x34]
inc esi
mov dword [ebp - 0xc], esi
push 2
call fcn.0040f233
mov dword [ebp - 0x10], 6
lea ecx, [ebp - 0x4c]
mov dword [ebp - 0x14], 0xfffffffa
mov dword [ebp - 8], 0x2955d482
mov dword [ebp - 0x18], 0xdef05de0
mov dword [ebp - 0x1c], 0xfffffffc
push esi
call fcn.0040f233
mov dword [ebp - 8], 0xcf2842c5
mov dword [ebp - 8], 0xd1892f88
mov dword [ebp - 0x24], ebx
mov dword [ebp - 0x20], 0x826cce71
mov dword [ebp - 8], 0x37d796e9
mov dword [ebp - 8], 0x4084f7cb
mov dword [ebp - 8], ebx
jmp 0x415ab4
mov ecx, dword [ebp - 8]
mov eax, dword [ebp - 0x34]
mov dword [eax + ecx*4], ebx
inc dword [ebp - 8]
cmp dword [ebp - 8], 2
jl 0x415aa8
mov dword [ebp - 8], ebx
jmp 0x415acb
mov ecx, dword [ebp - 8]
mov eax, dword [ebp - 0x4c]
mov dword [eax + ecx*4], esi
inc dword [ebp - 8]
cmp dword [ebp - 8], esi
jl 0x415abf
mov ecx, dword [ebp - 0x14]
xor edx, edx
mov eax, dword [ebp - 0xc]
cmp ecx, eax
mov ecx, dword [ebp - 0x14]
mov esi, dword [ebp - 0x34]
setg dl
sub ecx, edx
mov edx, dword [ebp - 0x10]
neg ecx
sbb ecx, ecx
xor eax, eax
inc ecx
cmp ecx, dword [esi + 4]
setg al
xor ecx, ecx
cmp eax, 0xffffffff
setg cl
sub edx, ecx
imul edx, dword [ebp - 0xc]
mov eax, dword [ebp - 0x34]
add edx, dword [esi + 4]
mov dword [eax], edx
dec dword [ebp - 0x10]
mov dword [ebp - 8], 0xc761
mov eax, dword [ebp - 8]
neg eax
jne 0x415b2b
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0xc]
mov eax, dword [ebp - 8]
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x18]
mov ecx, 0xc63704b
sub ecx, eax
mov eax, dword [ebp - 0x4c]
mov dword [eax], ecx
cmp dword [ebp - 8], ebx
jne 0x415b48
cmp dword [ebp - 0xc], ebx
jne 0x415b48
mov ecx, ebx
jmp 0x415b4b
xor ecx, ecx
inc ecx
mov eax, dword [ebp - 0xc]
sub eax, ecx
add eax, dword [ebp - 0x1c]
mov dword [ebp - 8], eax
mov eax, dword [ebp - 8]
mov eax, dword [ebp - 0x10]
mov esi, dword [esi + 4]
dec eax
neg eax
sbb eax, eax
xor ecx, ecx
neg eax
mov dword [ebp - 8], eax
mov eax, dword [ebp - 8]
cmp esi, eax
setle cl
xor eax, eax
cmp ecx, 0x6a17
setge al
xor edx, edx
cmp eax, esi
mov eax, dword [ebp - 0x24]
setle dl
xor ecx, ecx
cmp edx, eax
setle cl
cmp ecx, dword [ebp - 0xc]
jne 0x415b97
mov eax, dword [ebp - 0x20]
cmp dword [ebp - 0x10], 0x3c3a871d
jl 0x415bae
mov eax, dword [ebp - 0x34]
cmp dword [eax], ebx
jne 0x415bae
xor esi, esi
mov edx, ebx
inc esi
jmp 0x415bb3
xor esi, esi
inc esi
mov edx, esi
mov eax, dword [ebp - 0x14]
xor ecx, ecx
cmp edx, eax
setne cl
sub ecx, 0xd9e6264a
neg ecx
sbb ecx, ecx
xor edx, edx
inc ecx
imul ecx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x34]
mov dword [eax], ecx
mov eax, dword [ebp - 0x14]
mov dword [ebp - 8], esi
mov ecx, dword [ebp - 8]
mov eax, dword [ebp - 0xc]
cmp ecx, eax
setle dl
xor ecx, ecx
sub edx, dword [ebp - 0xc]
sub edx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x10]
cmp eax, edx
setge cl
sub ecx, dword [ebp - 0x20]
mov dword [ebp - 8], ecx
lea ecx, [ebp - 0x4c]
call fcn.0040f305
lea ecx, [ebp - 0x34]
call fcn.0040f305
push 2
lea ecx, [ebp - 0x58]
call fcn.0040f233
push esi
lea ecx, [ebp - 0x40]
call fcn.0040f233
mov dword [ebp - 8], ebx
jmp 0x415c2e
mov ecx, dword [ebp - 8]
mov eax, dword [ebp - 0x58]
mov dword [eax + ecx*4], ebx
inc dword [ebp - 8]
cmp dword [ebp - 8], 2
jl 0x415c22
mov dword [ebp - 8], ebx
jmp 0x415c49
mov ecx, dword [ebp - 8]
mov eax, dword [ebp - 0x40]
mov dword [eax + ecx*4], 9
inc dword [ebp - 8]
cmp dword [ebp - 8], esi
jl 0x415c39
mov byte [ebp - 2], bl
cmp byte [ebp - 2], bl
je 0x415c66
push ebx
push ebx
push 0x1df0
call edi
push eax
call dword [sym.imp.USER32.dll_SendMessageW]
mov eax, dword [ebp - 0x40]
mov dword [eax], ebx
mov byte [ebp - 2], bl
cmp byte [ebp - 2], bl
je 0x415c7d
push ebx
call edi
push eax
call dword [sym.imp.USER32.dll_EndDialog]
mov eax, dword [ebp - 0x40]
inc dword [eax]
cmp dword [eax], esi
jle 0x415c6b
lea ecx, [ebp - 0x40]
call fcn.0040f305
lea ecx, [ebp - 0x58]
call fcn.0040f305
mov eax, dword [ebp - 0x28]
mov ecx, dword [eax]
mov eax, dword [ebp + 8]
mov dword [eax], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret