Function at 0x414e10
Capabilities:
Get graphical window text

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x274
mov eax, dword [0x421040]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
push esi
push edi
mov edi, ecx
cmp edx, 0x111
ja 0x4150e8
je 0x414e94
mov eax, edx
sub eax, 0xf
je 0x414e65
sub eax, 1
je case.0x414eb5.204
push dword [ebp + 0xc]
push dword [ebp + 8]
push edx
push edi
call dword [sym.imp.USER32.dll_DefWindowProcW]
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.00401288
mov esp, ebp
pop ebp
ret
lea eax, [ebp - 0x250]
push eax
push edi
call dword [sym.imp.USER32.dll_BeginPaint]
lea eax, [ebp - 0x250]
push eax
push edi
call dword [sym.imp.USER32.dll_EndPaint]
xor eax, eax
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.00401288
mov esp, ebp
pop ebp
ret
mov ebx, dword [ebp + 8]
mov eax, ebx
shr eax, 0x10
test eax, eax
jne case.0x414eb5.204
movzx eax, bx
add eax, 0xffffff36
cmp eax, 5
ja case.0x414eb5.204
jmp dword [eax*4 + 0x415280]
mov ecx, 0x422b60
movzx eax, word [ecx]
lea ecx, [ecx + 2]
mov word [ecx - 0x412], ax
test ax, ax
jne 0x414ec1
push 0x422750
push dword [0x422670]
call dword [sym.imp.USER32.dll_SetWindowTextW]
xor eax, eax
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.00401288
mov esp, ebp
pop ebp
ret
lea eax, [ebp - 0x254]
push eax
call dword [sym.imp.SHELL32.dll_SHGetMalloc]
test eax, eax
js 0x414ed3
lea eax, [ebp - 0x210]
mov dword [ebp - 0x274], edi
mov dword [ebp - 0x26c], eax
lea eax, [ebp - 0x274]
push eax
mov dword [ebp - 0x270], 0
mov dword [ebp - 0x268], 0x41e6b0
mov dword [ebp - 0x264], 1
mov dword [ebp - 0x260], 0x414570
mov dword [ebp - 0x25c], 0
mov dword [ebp - 0x258], 0
call dword [sym.imp.SHELL32.dll_SHBrowseForFolderW]
mov esi, eax
test esi, esi
je 0x414f82
push 0x422750
push esi
call dword [sym.imp.SHELL32.dll_SHGetPathFromIDListW]
mov ecx, dword [ebp - 0x254]
push esi
push ecx
mov edx, dword [ecx]
call dword [edx + 0x14]
mov eax, dword [ebp - 0x254]
push eax
mov ecx, dword [eax]
call dword [ecx + 8]
jmp 0x414ed3
push dword [0x422670]
call dword [sym.imp.USER32.dll_GetWindowTextLengthW]
mov esi, eax
lea eax, [ebp - 0xd0]
lea ecx, [esi + 1]
push ecx
push eax
push dword [0x422670]
call dword [sym.imp.USER32.dll_GetWindowTextW]
add esi, esi
cmp esi, 0xc8
jae 0x41527b
xor eax, eax
xor ecx, ecx
mov word [ebp + esi - 0xd0], ax
movzx eax, word [ebp + ecx - 0xd0]
lea ecx, [ecx + 2]
mov word [ecx + 0x42274e], ax
test ax, ax
jne 0x414fd2
mov ecx, 0x422750
lea edx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x414ff1
sub ecx, edx
sar ecx, 1
jne 0x415024
push 0x1010
push 0x41e49c
push 0x41e4b0
push 0
call dword [sym.imp.USER32.dll_MessageBoxW]
push dword [0x422670]
jmp 0x415262
dec ecx
cmp ecx, 1
jle 0x415057
cmp word [ecx*2 + 0x422750], 0x5c
jne 0x415057
push 0x1010
push 0x41e4d4
push 0x41e4e8
push 0
call dword [sym.imp.USER32.dll_MessageBoxW]
push dword [0x422670]
jmp 0x415262
mov edi, dword [ebp + 0xc]
mov esi, dword [sym.imp.USER32.dll_SendMessageW]
push edi
push ebx
push 0x402
push dword [0x42264c]
call esi
push edi
push ebx
push 0x401
push dword [0x42264c]
mov dword [0x422628], 0x72
call esi
xor eax, eax
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.00401288
mov esp, ebp
pop ebp
ret
mov edi, dword [ebp + 0xc]
mov esi, dword [sym.imp.USER32.dll_SendMessageW]
push edi
push ebx
push 0x402
push dword [0x42264c]
call esi
xor eax, eax
cmp byte [0x422649], al
push edi
push ebx
setne al
push 0x401
push dword [0x42264c]
add eax, 0x6f
mov dword [0x422628], eax
call esi
xor eax, eax
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.00401288
mov esp, ebp
pop ebp
ret
mov eax, edx
sub eax, 0x401
je 0x4151e0
sub eax, 1
je 0x415119
push dword [ebp + 0xc]
push dword [ebp + 8]
push edx
push edi
call dword [sym.imp.USER32.dll_DefWindowProcW]
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.00401288
mov esp, ebp
pop ebp
ret
push dword [0x4226f8]
mov esi, dword [sym.imp.USER32.dll_SetWindowLongW]
push 0xfffffffffffffffc
push dword [0x422670]
call esi
push dword [0x4226fc]
push 0xfffffffffffffffc
push dword [0x422674]
call esi
push dword [0x422700]
push 0xfffffffffffffffc
push dword [0x422678]
call esi
push dword [0x422704]
push 0xfffffffffffffffc
push dword [0x42269c]
call esi
push dword [0x422708]
push 0xfffffffffffffffc
push dword [0x422698]
call esi
push dword [0x422668]
mov esi, dword [sym.imp.USER32.dll_DestroyWindow]
call esi
push dword [0x422670]
call esi
push dword [0x422674]
call esi
push dword [0x422678]
call esi
push dword [0x42267c]
call esi
push dword [0x422680]
call esi
push dword [0x422684]
call esi
push dword [0x422688]
call esi
push dword [0x42268c]
call esi
push dword [0x42269c]
call esi
push dword [0x422698]
call esi
xor eax, eax
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.00401288
mov esp, ebp
pop ebp
ret
movd xmm0, dword [0x422630]
cvtdq2pd xmm0, xmm0
push 1
mulsd xmm0, qword [0x41f6d8]
cvttsd2si eax, xmm0
movd xmm0, dword [0x42262c]
cvtdq2pd xmm0, xmm0
push eax
mulsd xmm0, qword [0x41f6e8]
cvttsd2si eax, xmm0
push eax
push dword [0x422644]
push dword [0x422640]
push edi
call dword [sym.imp.USER32.dll_MoveWindow]
push 0x41e468
mov edx, 0x41e478
mov ecx, 0x41e498
call fcn.004136f0
mov esi, dword [sym.imp.USER32.dll_SetWindowTextW]
add esp, 4
push eax
push edi
call esi
mov ecx, edi
call fcn.00414850
push 0x422750
push dword [0x422670]
call esi
push dword [0x422698]
call dword [sym.imp.USER32.dll_SetFocus]
mov ecx, dword [ebp - 4]
xor eax, eax
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.00401288
mov esp, ebp
pop ebp
ret
call fcn.004013b8
mov esp, 0xf700414e
dec esi
inc ecx
add byte [eax + 0x52], ch
inc ecx
add byte [eax + 0x52], ch
inc ecx
add byte [ebx - 0x6cffbeb0], bl
dec edi
inc ecx
add ah, cl
int3