Function at 0x45a390
Capabilities:
Get graphical window text

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x38
mov eax, dword [0x53a090]
xor eax, ebp
mov dword [ebp - 8], eax
mov eax, dword [ebp + 8]
push ebx
push esi
push edi
mov edi, dword [eax + 4]
mov ebx, ecx
mov dword [ebp - 0x34], ebx
mov dword [ebp - 0x30], edi
call fcn.00446f50
mov esi, dword [sym.imp.USER32.dll_SendMessageW]
push 0
push 0
push 0x889
push eax
mov dword [0x56e17c], eax
call esi
mov dword [0x56e1a4], eax
xor eax, eax
cmp dword [0x56e938], eax
push 0
sete al
push eax
push 0x84c
push dword [0x56e17c]
call esi
push 0
push dword [0x56e224]
push 0x8d4
push dword [0x56e17c]
call esi
push 0
push dword [0x56e920]
push 0x8d6
push dword [0x56e17c]
call esi
push 0
push dword [0x56e6e0]
push 0x7f4
push dword [0x56e17c]
call esi
push 0
push dword [0x56e234]
push 0x84a
push dword [0x56e17c]
call esi
mov eax, dword [0x56e17c]
xor ecx, ecx
mov dword [ebp - 0x2c], eax
cmp dword [0x56a9c0], ecx
je 0x45a47a
cmp dword [0x567294], ecx
jne 0x45a475
push ecx
push ecx
push 0xfa2
push eax
call esi
xor ecx, ecx
cmp eax, 2
mov eax, dword [ebp - 0x2c]
setne cl
add ecx, 2
jmp 0x45a47a
mov ecx, 1
push 0
push ecx
push 0x854
push eax
call esi
cmp dword [0x56e1b0], 0
push 0
jne 0x45a494
push 0
jmp 0x45a4a1
xor eax, eax
cmp dword [0x56e92c], eax
setne al
inc eax
push eax
push 0x8dc
push dword [0x56e17c]
call esi
mov ecx, dword [0x56e238]
cmp ecx, 5
jne 0x45a4bf
push 0
push 1
jmp 0x45a51b
cmp ecx, 6
jne 0x45a4ca
push 0
push 2
jmp 0x45a51b
dec ecx
xor eax, eax
cmp ecx, 3
ja case.default.0x45a4d2
jmp dword [ecx*4 + 0x45aa8c]
mov eax, 1
jmp case.default.0x45a4d2
mov eax, 2
jmp case.default.0x45a4d2
mov eax, dword [0x56e234]
test eax, eax
jne case.default.0x45a4d2
mov eax, dword [0x56e6e0]
jmp case.default.0x45a4d2
mov eax, dword [0x56e234]
test eax, eax
jne 0x45a505
mov eax, dword [0x56e6e0]
add eax, eax
push 0
push eax
push 0x9a0
push dword [0x56e17c]
call esi
push 0
push 0
push 0x9a8
push dword [0x56e17c]
call esi
cmp dword [0x56e6c8], 0
je 0x45a5e9
mov ecx, dword [0x56e90c]
xor ebx, ebx
mov dword [ebp - 0x2c], ebx
test ecx, ecx
jne 0x45a54f
mov ecx, 0x16
mov dword [0x56e90c], ecx
mov eax, 0x66666667
imul ecx
sar edx, 2
mov edi, edx
shr edi, 0x1f
add edi, edx
mov edx, ecx
lea eax, [edi + edi*4]
add eax, eax
sub edx, eax
dec edx
je 0x45a574
dec edx
jne 0x45a57c
lea ebx, [edx + 1]
jmp 0x45a57c
mov ebx, 1
mov dword [ebp - 0x2c], ebx
mov eax, 0x51eb851f
imul ecx
sar edx, 5
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
mov eax, 0x66666667
lea ecx, [ecx + ecx*4]
add ecx, ecx
sub edi, ecx
lea ecx, [edi + edi*4]
add ecx, ecx
imul ecx
sar edx, 2
mov eax, edx
shr eax, 0x1f
add eax, edx
dec eax
je 0x45a5b8
dec eax
mov eax, dword [ebp - 0x2c]
jne 0x45a5c1
or ebx, 2
jmp 0x45a5c1
mov eax, dword [ebp - 0x2c]
or ebx, 2
or eax, 2
push 0
push eax
push 0x99e
push dword [0x56e17c]
call esi
push 0
push ebx
push 0x99c
push dword [0x56e17c]
call esi
mov ebx, dword [ebp - 0x34]
mov edi, dword [ebp - 0x30]
jmp 0x45a5fa
push 0
push 0
push 0x99c
push dword [0x56e17c]
call esi
cmp dword [0x56daac], 0
push 0
je 0x45a615
xor eax, eax
cmp dword [0x56e944], 1
setne al
inc eax
push eax
jmp 0x45a617
push 0
push 0x93b
push dword [0x56e17c]
call esi
push 0
push dword [0x56e194]
push 0x939
push dword [0x56e17c]
call esi
push 0
push 2
push 0x8c2
push dword [0x56e17c]
call esi
mov eax, dword [0x56a834]
neg eax
sbb eax, eax
and eax, 0x10
push eax
push 1
push 0x8c2
push dword [0x56e17c]
call esi
call fcn.004663d0
mov ecx, dword [0x56e1a4]
push 0
mov eax, dword [ecx]
push 2
push 0x8c0
call dword [eax + 0xcc]
mov ecx, dword [0x56e1a4]
push 0xfe000000
mov eax, dword [ecx]
push 2
push 0x8c4
call dword [eax + 0xcc]
mov eax, dword [0x56daa0]
mov ecx, dword [0x56e1a4]
neg eax
mov edx, dword [ecx]
sbb eax, eax
and eax, 0xb
push eax
push 2
push 0x8c2
call dword [edx + 0xcc]
mov ecx, dword [0x56e1a4]
push 1
mov eax, dword [ecx]
push 2
push 0x8c6
call dword [eax + 0xcc]
mov ecx, dword [0x56e1a4]
push 0xe
mov eax, dword [ecx]
push 0x1f
push 0x7f8
call dword [eax + 0xcc]
mov ecx, dword [0x56e1a4]
push 0xc
mov eax, dword [ecx]
push 0x1e
push 0x7f8
call dword [eax + 0xcc]
mov ecx, dword [0x56e1a4]
push 9
mov eax, dword [ecx]
push 0x1d
push 0x7f8
call dword [eax + 0xcc]
mov ecx, dword [0x56e1a4]
push 0xa
mov eax, dword [ecx]
push 0x1c
push 0x7f8
call dword [eax + 0xcc]
mov ecx, dword [0x56e1a4]
push 0xd
mov eax, dword [ecx]
push 0x19
push 0x7f8
call dword [eax + 0xcc]
mov ecx, dword [0x56e1a4]
push 0xf
mov eax, dword [ecx]
push 0x1a
push 0x7f8
call dword [eax + 0xcc]
mov ecx, dword [0x56e1a4]
push 0xb
mov eax, dword [ecx]
push 0x1b
push 0x7f8
call dword [eax + 0xcc]
mov ecx, dword [0x56e1a4]
push 0
mov eax, dword [ecx]
push 0x10
push 0x8b9
call dword [eax + 0xcc]
xor eax, eax
cmp dword [0x56a9bc], eax
push 0
setne al
push eax
push 0x7e5
push dword [0x56e17c]
call esi
push 0
push dword [0x56a9b0]
push 0x934
push dword [0x56e17c]
call esi
push 0
mov esi, dword [sym.imp.USER32.dll_CreateWindowExW]
push edi
push 0xfb04
push ebx
push 0x64
push 0x64
push 0
push 0
push 0x56000000
push 0
push 0x40a074
push 0x200
call esi
mov dword [0x56d45c], eax
mov eax, dword [0x565b28]
test eax, eax
je 0x45a8b7
push 0x409bbc
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
test eax, eax
je 0x45a8b7
call eax
test eax, eax
je 0x45a8b7
push 0xffffffffffffffec
push dword [0x56e17c]
mov dword [0x56d208], 1
call dword [sym.imp.USER32.dll_GetWindowLongW]
and eax, 0xfffffdff
push eax
push 0xffffffffffffffec
push dword [0x56e17c]
call dword [sym.imp.USER32.dll_SetWindowLongW]
push 0x27
push 0
push 0
push 0
push 0
push 0
push dword [0x56e17c]
call dword [sym.imp.USER32.dll_SetWindowPos]
mov eax, 0x600
cmp word [0x56e1ac], ax
jae 0x45a8c1
lea eax, [ebp - 0x18]
push eax
push dword [0x56d45c]
call dword [sym.imp.USER32.dll_GetClientRect]
lea eax, [ebp - 0x28]
push eax
push dword [0x56d45c]
call dword [sym.imp.USER32.dll_GetWindowRect]
mov eax, dword [ebp - 0x18]
sub eax, dword [ebp - 0x10]
sub eax, dword [ebp - 0x28]
add eax, dword [ebp - 0x20]
cdq
sub eax, edx
sar eax, 1
mov dword [0x56d224], eax
mov eax, dword [ebp - 0x14]
sub eax, dword [ebp - 0xc]
sub eax, dword [ebp - 0x24]
add eax, dword [ebp - 0x1c]
cdq
sub eax, edx
sar eax, 1
mov dword [0x56d458], eax
jmp 0x45a8d5
mov dword [0x56d208], 0
mov dword [0x56d458], 0
mov dword [0x56d224], 0
mov edx, edi
mov ecx, ebx
call fcn.0045aaa0
push 0
push edi
push 0xfb05
push ebx
push 0xa
push 0xa
push 0
push 0
push 0x46000000
push 0
push 0x40a090
push 0
call esi
push 0x56e260
push 0xfb05
push ebx
call dword [sym.imp.USER32.dll_SetDlgItemTextW]
push 0
push edi
push 0xfb06
push ebx
push 0xa
push 0xa
push 0xa
push 0xa
push 0x46000000
push 0
push 0x40a090
push 0
call esi
push 0
call dword [sym.imp.KERNEL32.dll_GetTickCount]
push eax
push 0xfb06
push ebx
call dword [sym.imp.USER32.dll_SetDlgItemInt]
push 1
push ebx
call dword [sym.imp.SHELL32.dll_DragAcceptFiles]
mov ebx, dword [sym.imp.KERNEL32.dll_LocalAlloc]
push 0x268
push 0x40
call ebx
push 0x268
mov esi, eax
push 0
push esi
call fcn.00518020
mov edi, dword [sym.imp.KERNEL32.dll_lstrcpynW]
add esp, 0xc
push 0x100
push 0x40a0a0
push esi
call edi
mov ecx, esi
mov dword [esi + 0x200], 1
mov dword [esi + 0x204], 0x18
mov dword [0x56e918], esi
call fcn.00456fa0
push 0x268
push 0x40
call ebx
push 0x268
mov esi, eax
push 0
push esi
call fcn.00518020
add esp, 0xc
push 0x100
push 0x40a0bc
push esi
call edi
mov ecx, esi
mov dword [esi + 0x200], 2
mov dword [esi + 0x204], 0x10
mov dword [0x56e1bc], esi
call fcn.00456fa0
push 0x268
push 0x40
call ebx
push 0x268
mov esi, eax
push 0
push esi
call fcn.00518020
add esp, 0xc
push 0x100
push 0x40a0d4
push esi
call edi
mov ecx, esi
mov dword [esi + 0x200], 2
mov dword [esi + 0x204], 0x10
mov dword [0x56e19c], esi
call fcn.00456fa0
cmp dword [0x56e17c], 0
je 0x45aa76
cmp dword [0x56d45c], 0
je 0x45aa76
cmp dword [0x56a9b4], 0
je 0x45aa76
cmp dword [0x56d21c], 0
je 0x45aa76
cmp dword [0x56a838], 0
je 0x45aa76
xor eax, eax
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 8]
xor ecx, ebp
call fcn.0050ecf7
mov esp, ebp
pop ebp
ret
mov ecx, dword [ebp - 8]
pop edi
pop esi
xor ecx, ebp
or eax, 0xffffffff
pop ebx
call fcn.0050ecf7
mov esp, ebp
pop ebp
ret