Function at 0x41fe40
Capabilities:
Get graphical window text

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x4820eb
mov eax, dword fs:[0]
push eax
sub esp, 0x4f8
mov eax, dword [0x4a9d30]
xor eax, ebp
mov dword [ebp - 0x10], eax
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov eax, dword [ebp + 8]
mov edi, dword [ebp + 0x14]
mov dword [ebp - 0x4f4], eax
mov eax, dword [ebp + 0xc]
mov dword [ebp - 0x4f0], eax
mov eax, dword [ebp + 0x10]
mov dword [ebp - 0x500], eax
test edi, edi
je 0x41fef9
cmp byte [edi], 0
je 0x41fef9
mov ecx, dword [0x4a9734]
push 0x16a7
call fcn.004287d0
mov esi, eax
test esi, esi
je 0x41fef9
push 0x3e8
lea eax, [ebp - 0x40c]
push 0
push eax
call fcn.00453df0
add esp, 0xc
lea eax, [ebp - 0x40c]
push 0x3e8
push eax
push dword [esi + 0x60]
call dword [sym.imp.USER32.dll_GetWindowTextA]
lea eax, [ebp - 0x40c]
push edi
push eax
call fcn.004553e6
add esp, 8
test eax, eax
jne 0x41fef9
push 1
mov ecx, esi
call fcn.004396b0
xor eax, eax
jmp 0x42049d
mov ecx, dword [0x4a9734]
lea eax, [ebp - 0x434]
push 1
push eax
lea eax, [ebp - 0x470]
mov dword [ebp - 0x470], 2
push eax
push 0
push dword [ebp - 0x4f4]
xorps xmm0, xmm0
mov dword [ebp - 0x46c], 2
movdqu xmmword [ebp - 0x434], xmm0
push 0x1393
movdqu xmmword [ebp - 0x424], xmm0
mov dword [ebp - 0x468], 0xffffffff
movq qword [ebp - 0x414], xmm0
mov dword [ebp - 0x434], 2
mov dword [ebp - 0x430], 0xc350
mov word [ebp - 0x42c], 4
mov dword [ebp - 0x420], 3
mov dword [ebp - 0x41c], 0xc351
mov word [ebp - 0x418], 4
mov dword [0x4ad298], 1
call fcn.00429c00
push dword [ebp - 0x4f0]
mov dword [ebp - 0x4f8], eax
push str.THE_SELECTED_DATE
lea esi, [eax + 0x10e]
mov ecx, esi
call fcn.004445a0
push dword [ebp - 0x500]
mov ecx, esi
push str.THE_SELECTED_DATE_WAS_SET
call fcn.004445a0
test edi, edi
je 0x420012
cmp byte [edi], 0
je 0x420012
push edi
lea ecx, [ebp - 0x4ec]
call fcn.00425710
mov esi, dword [ebp - 0x4f8]
lea eax, [ebp - 0x4ec]
push eax
mov ecx, esi
mov dword [ebp - 4], 0
call fcn.00438db0
lea ecx, [ebp - 0x4ec]
mov dword [ebp - 4], 0xffffffff
call fcn.004257d0
jmp 0x420018
mov esi, dword [ebp - 0x4f8]
push esi
call fcn.0041f580
mov esi, dword [ebp - 0x4f0]
movzx eax, word [esi]
push eax
call fcn.00409ee0
dec ax
movzx edi, ax
movzx eax, word [esi]
push eax
call fcn.00409970
movzx eax, ax
mov dword [ebp - 0x500], eax
movzx eax, word [esi]
push eax
call fcn.0040aed0
mov ecx, dword [ebp - 0x4f8]
add esp, 0x10
movzx eax, ax
mov dword [ebp - 0x4fc], eax
push 0x16a8
call fcn.00430e00
mov esi, eax
push 0xffffffffffffffff
push 0x4858f4
mov ecx, esi
call fcn.0042d560
push 0xffffffffffffffff
push 0x4858fc
mov ecx, esi
call fcn.0042d560
push 0xffffffffffffffff
push 0x485908
mov ecx, esi
call fcn.0042d560
push 0xffffffffffffffff
push 0x485910
mov ecx, esi
call fcn.0042d560
push 0xffffffffffffffff
push 0x485918
mov ecx, esi
call fcn.0042d560
push 0xffffffffffffffff
push 0x48591c
mov ecx, esi
call fcn.0042d560
push 0xffffffffffffffff
push 0x485924
mov ecx, esi
call fcn.0042d560
push 0xffffffffffffffff
push 0x48592c
mov ecx, esi
call fcn.0042d560
push 0xffffffffffffffff
push 0x485934
mov ecx, esi
call fcn.0042d560
push 0xffffffffffffffff
push 0x485940
mov ecx, esi
call fcn.0042d560
push 0xffffffffffffffff
push 0x485948
mov ecx, esi
call fcn.0042d560
push 0xffffffffffffffff
push 0x485954
mov ecx, esi
call fcn.0042d560
xor eax, eax
test di, di
cmovs edi, eax
mov eax, dword [ebp - 0x4fc]
cmp ax, 0x46
jl 0x42012e
add eax, 0x76c
jmp 0x420133
add eax, 0x7d0
mov dword [ebp - 0x4fc], eax
mov ecx, esi
movsx eax, di
push eax
call fcn.0042f770
mov esi, dword [ebp - 0x4f8]
lea eax, [ebp - 0x4fc]
push eax
push 0x16b2
mov ecx, esi
call fcn.00431270
mov ecx, eax
call fcn.00446d40
push 0x16aa
mov ecx, esi
call fcn.00431130
mov edi, eax
xor ecx, ecx
mov dword [ebp - 0x504], edi
cmp dword [edi + 0x8e], ecx
jle 0x4201b9
xor edx, edx
test ecx, ecx
js 0x42019a
cmp ecx, dword [edi + 0x8e]
jge 0x42019a
mov eax, dword [edi + 0x8a]
add eax, edx
jmp 0x42019c
xor eax, eax
inc ecx
mov dword [eax + 0x52], 1
mov dword [eax + 0x4e], 1
add edx, 0xb1
cmp ecx, dword [edi + 0x8e]
jl 0x420184
push esi
call fcn.0041f940
mov eax, dword [ebp - 0x500]
cwde
push eax
lea eax, [ebp - 0x24]
mov byte [edi + 0x178], 1
push 0x485b00
push eax
call fcn.00453cca
xor eax, eax
add esp, 0x10
mov dword [ebp - 0x4f0], eax
cmp dword [edi + 0xbe], eax
jle 0x420272
xor esi, esi
cmp dword [edi + 0x8e], esi
jle 0x420263
lea ecx, [ecx]
push esi
push eax
mov ecx, edi
call fcn.0043d4a0
lea ecx, [ebp - 0x24]
lea esp, [esp]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x420230
test dl, dl
je 0x42022c
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x420230
add eax, 2
add ecx, 2
test dl, dl
jne 0x420210
xor eax, eax
jmp 0x420235
sbb eax, eax
or eax, 1
test eax, eax
je 0x42024a
mov eax, dword [ebp - 0x4f0]
inc esi
cmp esi, dword [edi + 0x8e]
jl 0x420200
jmp 0x420263
push dword [ebp - 0x4f0]
mov ecx, edi
mov dword [edi + 0x179], esi
call fcn.00441010
mov eax, dword [edi + 0xbe]
inc eax
mov dword [ebp - 0x4f0], eax
cmp eax, dword [edi + 0xbe]
jl 0x4201f3
cmp dword [ebp - 0x4f4], 0
mov esi, dword [sym.imp.USER32.dll_GetWindowRect]
je 0x4202cf
push 0x2c
lea eax, [ebp - 0x49c]
push 0
push eax
call fcn.00453df0
add esp, 0xc
mov dword [ebp - 0x49c], 0x2c
lea eax, [ebp - 0x49c]
push eax
push dword [ebp - 0x4f4]
call dword [sym.imp.USER32.dll_GetWindowPlacement]
test eax, eax
je 0x4202be
test byte [ebp - 0x494], 2
jne 0x4202cf
lea eax, [ebp - 0x464]
push eax
push dword [ebp - 0x4f4]
call esi
jmp 0x4202e8
push 0
lea eax, [ebp - 0x464]
push eax
push 0
push 0x30
call dword [sym.imp.USER32.dll_SystemParametersInfoA]
call dword [sym.imp.USER32.dll_GetDesktopWindow]
lea eax, [ebp - 0x444]
push eax
mov eax, dword [ebp - 0x4f8]
push dword [eax + 0x60]
call esi
mov eax, dword [ebp - 0x43c]
xorps xmm0, xmm0
sub eax, dword [ebp - 0x444]
mov edx, dword [ebp - 0x438]
sub edx, dword [ebp - 0x440]
mov dword [ebp - 0x4f4], eax
mov eax, dword [ebp - 0x458]
sub eax, dword [ebp - 0x460]
sub eax, edx
mov dword [ebp - 0x4f0], edx
cdq
sub eax, edx
mov esi, eax
mov eax, dword [ebp - 0x45c]
sub eax, dword [ebp - 0x464]
sub eax, dword [ebp - 0x4f4]
cdq
sub eax, edx
sar esi, 1
add esi, dword [ebp - 0x460]
sar eax, 1
add eax, dword [ebp - 0x464]
mov dword [ebp - 0x444], eax
add eax, dword [ebp - 0x4f4]
mov dword [ebp - 0x43c], eax
mov eax, dword [ebp - 0x4f0]
add eax, esi
mov dword [ebp - 0x440], esi
mov esi, dword [sym.imp.USER32.dll_GetSystemMetrics]
push 0x50
mov dword [ebp - 0x438], eax
movdqu xmmword [ebp - 0x454], xmm0
call esi
cmp eax, 1
jle 0x4203e2
push 0x4e
call esi
push 0x4f
mov esi, eax
call dword [sym.imp.USER32.dll_GetSystemMetrics]
push 0x4d
mov edi, eax
call dword [sym.imp.USER32.dll_GetSystemMetrics]
push 0x4c
mov dword [ebp - 0x450], eax
call dword [sym.imp.USER32.dll_GetSystemMetrics]
mov ecx, dword [ebp - 0x450]
mov dword [ebp - 0x454], eax
lea edx, [eax + esi]
lea esi, [ecx + edi]
mov dword [ebp - 0x44c], edx
mov edi, dword [ebp - 0x504]
mov dword [ebp - 0x448], esi
jmp 0x42040d
push 0
lea eax, [ebp - 0x454]
push eax
push 0
push 0x30
call dword [sym.imp.USER32.dll_SystemParametersInfoA]
mov esi, dword [ebp - 0x448]
mov edx, dword [ebp - 0x44c]
mov ecx, dword [ebp - 0x450]
mov eax, dword [ebp - 0x454]
cmp dword [ebp - 0x43c], edx
jle 0x42041d
sub edx, dword [ebp - 0x4f4]
jmp 0x420423
mov edx, dword [ebp - 0x444]
cmp dword [ebp - 0x438], esi
jle 0x420433
sub esi, dword [ebp - 0x4f0]
jmp 0x420439
mov esi, dword [ebp - 0x440]
cmp edx, eax
push 0x10
cmovl edx, eax
mov eax, dword [ebp - 0x4f0]
cmp esi, ecx
mov dword [ebp - 0x444], edx
cmovl esi, ecx
mov ecx, dword [ebp - 0x4f4]
add eax, esi
mov dword [ebp - 0x440], esi
add ecx, edx
mov dword [ebp - 0x438], eax
sub eax, esi
mov dword [ebp - 0x43c], ecx
push eax
sub ecx, edx
push ecx
push esi
mov esi, dword [ebp - 0x4f8]
push edx
push 0
push dword [esi + 0x60]
call dword [sym.imp.USER32.dll_SetWindowPos]
push 1
mov ecx, esi
call fcn.004396b0
mov eax, dword [ebp + 0x18]
mov dword [edi + 4], eax
mov eax, dword [ebp + 0x1c]
mov dword [edi + 8], eax
mov eax, esi
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.004530e4
mov esp, ebp
pop ebp
ret