Function at 0x421b3b
Capabilities:
Get graphical window text
Identify system language via api

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x9c
mov eax, dword [0x4d8300]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
push esi
push edi
mov edi, ecx
push edi
mov dword [ebp - 0x94], edi
call dword [sym.imp.USER32.dll_GetDC]
push 0x48
mov esi, eax
push 0x5a
push esi
call dword [sym.imp.GDI32.dll_GetDeviceCaps]
push eax
push 9
call dword [sym.imp.KERNEL32.dll_MulDiv]
neg eax
mov dword [ebp - 0x8c], eax
cmp esi, 0xffffffff
je 0x421b8f
test esi, esi
je 0x421b8f
push esi
push edi
call dword [sym.imp.USER32.dll_ReleaseDC]
mov dword [0x522464], edi
call dword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
mov ebx, dword [sym.imp.USER32.dll_GetDlgItem]
push 0x3e9
push edi
call ebx
push 0x3ec
push edi
mov dword [0x5222a4], eax
call ebx
push 0x3f9
push edi
mov dword [0x521f24], eax
call ebx
push 0x3ea
push edi
mov dword [0x521da4], eax
call ebx
push 0x3ed
push edi
mov dword [0x5223d0], eax
call ebx
push 0x3ef
push edi
mov dword [0x5223dc], eax
call ebx
push 0x3f2
push edi
mov dword [0x522198], eax
call ebx
push 0x3f3
push edi
mov dword [0x4dca48], eax
call ebx
push 0x402
push edi
mov dword [0x52206c], eax
call ebx
push 0x3f6
push edi
mov dword [0x522184], eax
call ebx
push 0x3f4
push edi
mov dword [0x51dafc], eax
call ebx
push 0x3fc
push edi
mov dword [0x522188], eax
call ebx
push 0x3eb
push edi
mov dword [0x5222a8], eax
call ebx
mov esi, 0x51d708
mov dword [0x51daac], eax
push 0x40
mov edx, esi
mov ecx, eax
call fcn.0041cf7b
pop ecx
mov ecx, esi
call fcn.0041d16c
mov ecx, dword [0x51daac]
mov edx, esi
call fcn.00414106
push 0x40
pop esi
push esi
push 2
pop eax
push eax
push edi
call ebx
mov edx, 0x51dab0
mov ecx, eax
call fcn.0041cf7b
pop ecx
mov ecx, 0x51dab0
call fcn.0041d16c
push 0x51dab0
push str.SCHLIEEN
call fcn.00481660
pop ecx
pop ecx
test eax, eax
jne 0x421cb7
push str.SCHLIESSEN
push 0x51dab0
call fcn.00486c30
pop ecx
pop ecx
push 2
push edi
call ebx
mov edx, 0x51dab0
mov ecx, eax
call fcn.00414106
push esi
push 0x3f6
push edi
call ebx
mov edx, 0x51d9f8
mov ecx, eax
call fcn.0041cf7b
mov dword [esp], 0xbe0
call fcn.00414768
pop ecx
test eax, eax
je 0x421d09
push 0xbe0
call fcn.00414768
pop ecx
push eax
call fcn.004816f0
inc eax
pop ecx
cmp eax, esi
jb 0x421d09
mov eax, esi
jmp 0x421d2b
push 0xbe0
call fcn.00414768
pop ecx
test eax, eax
je 0x421d2a
push 0xbe0
call fcn.00414768
pop ecx
push eax
call fcn.004816f0
pop ecx
inc eax
push eax
push 0xbe0
call fcn.00414768
pop ecx
push eax
push 0x51da38
call fcn.00476fc0
add esp, 0xc
push 0xbe0
call fcn.00414768
pop ecx
test eax, eax
je 0x421d6f
push 0xbe0
call fcn.00414768
pop ecx
push eax
call fcn.004816f0
inc eax
pop ecx
cmp eax, esi
jb 0x421d6f
mov eax, esi
jmp 0x421d91
push 0xbe0
call fcn.00414768
pop ecx
test eax, eax
je 0x421d90
push 0xbe0
call fcn.00414768
pop ecx
push eax
call fcn.004816f0
pop ecx
inc eax
mov ecx, 0x51d9f8
mov byte [eax + 0x51da37], 0
call fcn.0041d16c
mov ecx, 0x51da38
call fcn.0041d16c
push 0x3f6
push edi
call ebx
mov edx, 0x51d9f8
mov ecx, eax
call fcn.00414106
push 0xbbf
call fcn.00414768
pop ecx
test eax, eax
je 0x421dea
push 0xbbf
call fcn.00414768
pop ecx
push eax
call fcn.004816f0
inc eax
pop ecx
cmp eax, esi
jb 0x421dea
mov eax, esi
jmp 0x421e0c
push 0xbbf
call fcn.00414768
pop ecx
test eax, eax
je 0x421e0b
push 0xbbf
call fcn.00414768
pop ecx
push eax
call fcn.004816f0
pop ecx
inc eax
push eax
push 0xbbf
call fcn.00414768
pop ecx
push eax
push 0x51d950
call fcn.00476fc0
add esp, 0xc
push 0xbbf
call fcn.00414768
pop ecx
test eax, eax
je 0x421e50
push 0xbbf
call fcn.00414768
pop ecx
push eax
call fcn.004816f0
inc eax
pop ecx
cmp eax, esi
jb 0x421e50
mov eax, esi
jmp 0x421e6f
mov esi, 0xbbf
push esi
call fcn.00414768
pop ecx
test eax, eax
je 0x421e6e
push esi
call fcn.00414768
pop ecx
push eax
call fcn.004816f0
pop ecx
inc eax
mov ecx, 0x51d950
mov byte [eax + 0x51d94f], 0
call fcn.0041d16c
call fcn.0043aef0
mov ecx, edi
call fcn.00438f51
mov ecx, edi
call fcn.004390ec
mov ecx, edi
call fcn.0043934a
mov ecx, edi
call fcn.0043963b
push 0xcf4
call fcn.00414768
pop ecx
mov ecx, dword [0x522188]
mov edx, eax
call fcn.00438e24
push 0xcf5
call fcn.00414768
pop ecx
mov ecx, dword [0x5222a8]
mov edx, eax
call fcn.00438e24
push str.Segoe_UI
xor eax, eax
push eax
push 2
push eax
push eax
push 1
push eax
push eax
push eax
push 0x190
push eax
push eax
push eax
push dword [ebp - 0x8c]
call dword [sym.imp.GDI32.dll_CreateFontA]
mov ecx, edi
mov dword [0x521f10], eax
call fcn.00434874
push 0x80
lea eax, [ebp - 0x88]
push eax
push edi
call dword [sym.imp.USER32.dll_GetWindowTextA]
lea eax, [ebp - 0x88]
push 0x4be50c
push eax
call fcn.0048b6f6
pop ecx
pop ecx
mov esi, 0x521f40
push 0x4ba134
push 0
call fcn.0048b6f6
pop ecx
pop ecx
test eax, eax
je 0x421f54
push eax
call fcn.00489021
mov word [esi], ax
add esi, 2
pop ecx
cmp esi, 0x521f46
jl 0x421f2d
cmp dword [0x4dca08], 0
mov esi, str._Portable_
mov ecx, 0x4b4dda
mov eax, esi
cmove eax, ecx
mov ebx, 0x4be50c
push eax
movzx eax, word [0x521f44]
push ebx
push eax
movzx eax, word [0x521f42]
push eax
movzx eax, word [0x521f40]
push eax
push str.FormatUsb__d._d._d_s_s
lea eax, [ebp - 0x88]
push 0x80
push eax
call fcn.00403163
add esp, 0x20
mov byte [ebp - 9], 0
lea edx, [ebp - 0x88]
mov ecx, edi
call fcn.00414106
lea eax, [ebp - 0x88]
push eax
push 0
call dword [sym.imp.USER32.dll_FindWindowA]
cmp dword [0x4dcaa4], 0
mov ecx, 0x4b4dda
mov dword [0x4dca8c], eax
mov eax, str._AppStore_version_
cmove eax, ecx
cmp dword [0x4dca08], 0
cmove esi, eax
movzx eax, word [0x521f44]
push esi
push ebx
push eax
movzx eax, word [0x521f42]
push eax
movzx eax, word [0x521f40]
push eax
push str.FormatUsb_x86_v_d._d._d_s_s
call fcn.0042ed57
add esp, 0x18
xor ebx, ebx
xor esi, esi
mov edi, 0x4da363
mov dword [ebp - 0x90], esi
mov edx, dword [ebx*4 + 0x4b1a50]
lea eax, [ebp - 0x8c]
mov ecx, dword [0x5223d4]
and dword [ebp - 0x8c], 0
push 1
push eax
push str.ldlinux_sys
push 0xa
call fcn.0042df9d
add esp, 0x10
mov dword [ebp - 0x9c], eax
test eax, eax
jne 0x422065
lea eax, [ebx + 4]
push eax
push str.Warning:_could_not_read_embedded_Syslinux_v_d_version
call fcn.0042ed57
pop ecx
jmp 0x422125
mov edx, dword [ebp - 0x8c]
lea ecx, [ebp - 0x98]
push ecx
mov ecx, eax
call fcn.00435e7f
pop ecx
movzx ecx, al
mov word [ebx*2 + 0x522068], ax
push ecx
movzx eax, ax
shr eax, 8
push eax
push str._d._02d
lea eax, [edi - 0xb]
push 0xc
push eax
call fcn.00403163
mov esi, dword [ebp - 0x98]
add esp, 0x14
mov byte [edi], 0
test esi, esi
je 0x4220c3
push esi
call fcn.004816f0
inc eax
pop ecx
cmp eax, 0x20
jb 0x4220bf
push 0x20
pop eax
jmp 0x4220cf
test esi, esi
jne 0x4220c7
xor eax, eax
jmp 0x4220ce
push esi
call fcn.004816f0
pop ecx
inc eax
push eax
mov eax, dword [ebp - 0x90]
push esi
lea eax, [eax + 0x5218c0]
push eax
call fcn.00476fc0
add esp, 0xc
test esi, esi
je 0x422100
push esi
call fcn.004816f0
inc eax
pop ecx
cmp eax, 0x20
jb 0x4220fc
push 0x20
pop eax
jmp 0x42210c
test esi, esi
jne 0x422104
xor eax, eax
jmp 0x42210b
push esi
call fcn.004816f0
pop ecx
inc eax
mov esi, dword [ebp - 0x90]
push dword [ebp - 0x9c]
mov byte [eax + esi + 0x5218bf], 0
call fcn.004812c6
inc ebx
add esi, 0x20
add edi, 0xc
mov dword [ebp - 0x90], esi
pop ecx
cmp ebx, 2
jb 0x42201b
push str.Windows
push str.Windows_version:__s
call fcn.0042ed57
push 0x5218e0
push 0x4da364
push 0x5218c0
push 0x4da358
push str.Syslinux_versions:__s_s___s_s
call fcn.0042ed57
add esp, 0x1c
push str.2.04
push str.0.4.6a
push str.Grub_versions:__s___s
call fcn.0042ed57
add esp, 0xc
call fcn.0042eb87
push eax
call dword [sym.imp.KERNEL32.dll_GetUserDefaultUILanguage]
movzx eax, ax
push eax
push str.System_locale_ID:_0x_04X___s_
call fcn.0042ed57
add esp, 0xc
cmp dword [0x4dcab4], 0
je 0x4221ba
push 0x5205a0
push 0x4b04c8
call fcn.0042ed57
pop ecx
pop ecx
mov eax, dword [0x4dca4c]
and dword [0x4dcab4], 0
test byte [eax + 4], 2
je 0x4221e6
push dword [eax + 0x18]
push str.NOTE:_The__s_translation_requires_an_update__but_the_current_translator_hasnt_submitted_one._Because_of_this__some_messages_will_only_be_displayed_in_English.
call fcn.0042ed57
push str.If_you_think_you_can_help_update_this_translation__please_e_mail_the_author_of_this_application
call fcn.0042ed57
add esp, 0xc
push 0x51ef98
push 0x4a3720
push 0x17
push 0
push 0x4a3740
call dword [sym.imp.ole32.dll_CoCreateInstance]
test eax, eax
jns 0x422217
push eax
push str.CoCreateInstance_for_TaskbarList_failed:_error__X_n
call fcn.0042ed57
and dword [0x51ef98], 0
pop ecx
pop ecx
push 2
pop edi
mov ecx, edi
call fcn.0043313c
push 0xffff0000
push 0
push 0x401
push dword [0x4dca48]
call dword [sym.imp.USER32.dll_SendMessageW]
xor esi, esi
inc esi
cmp esi, 1
jne 0x422250
push esi
push 0xbda
call fcn.00414768
pop ecx
pop ecx
jmp 0x422285
cmp esi, edi
jne 0x42225b
mov eax, 0x4b4dda
jmp 0x42226e
push dword [esi*4 + 0x4b1a4c]
push 0xc0f
call fcn.00414768
pop ecx
pop ecx
push eax
push 4
pop eax
cmp esi, edi
cmove eax, edi
push eax
push 0xbdb
call fcn.00414768
add esp, 0xc
mov ecx, dword [0x522188]
mov edx, 0x143
push eax
push 0
call fcn.0041ceeb
inc esi
pop ecx
pop ecx
cmp esi, 5
jle 0x42223c
mov esi, dword [sym.imp.USER32.dll_SendMessageW]
xor ebx, ebx
push ebx
push ebx
push 0x14e
push dword [0x522188]
call esi
call fcn.0043ca6d
call fcn.0041d7de
push 0x80
push 0x4c0d08
push 0xbd6
call fcn.00414768
mov ecx, dword [0x5222a8]
mov edx, 0x143
push eax
push ebx
call fcn.0041ceeb
add esp, 0x10
push eax
push 0x151
push dword [0x5222a8]
call esi
mov edi, dword [ebp - 0x94]
mov esi, 0x81
push 7
pop ebx
push esi
lea eax, [esi - 0x7f]
push eax
push esi
push 0xc25
call fcn.00414768
mov ecx, dword [0x5222a8]
add esp, 0xc
mov edx, 0x143
push eax
push 0
call fcn.0041ceeb
pop ecx
pop ecx
push eax
push 0x151
push dword [0x5222a8]
call dword [sym.imp.USER32.dll_SendMessageW]
inc esi
sub ebx, 1
jne 0x422306
mov esi, dword [sym.imp.USER32.dll_SendMessageW]
push ebx
push ebx
push 0x14e
push dword [0x5222a8]
call esi
push 0x40
pop ebx
mov edx, ebx
mov ecx, 0x521dc0
call fcn.0042dc5c
mov edx, ebx
mov ecx, 0x521f00
call fcn.0042dc5c
mov edx, ebx
mov ecx, 0x521de0
call fcn.0042dc5c
mov edx, ebx
mov ecx, 0x521910
call fcn.0042dc5c
push 0x10
pop edx
mov ecx, 0x521f30
call fcn.0042dc5c
push 0x10
pop edx
mov ecx, 0x521db0
call fcn.0042dc5c
mov ebx, dword [sym.imp.USER32.dll_CheckDlgButton]
push 1
push 0x3f0
push edi
call ebx
push 0
push 0x3f7
push edi
call ebx
mov ecx, edi
call fcn.0043b6f9
mov ecx, edi
call fcn.0043a35e
mov ecx, edi
call fcn.00439920
mov ecx, edi
call fcn.0043a23f
xor ebx, ebx
push ebx
push ebx
push 0x8006
push dword [0x4dca7c]
call esi
push ebx
mov ebx, dword [sym.imp.USER32.dll_GetDlgItem]
push 7
push 0xc5
push 0x3fa
push edi
call ebx
push eax
call esi
call fcn.004315c8
or esi, 0xffffffff
push esi
push 0xc55
call fcn.00414768
pop ecx
mov ecx, dword [0x5223d0]
mov edx, eax
call fcn.00432e97
pop ecx
push esi
push 0xc56
call fcn.00414768
pop ecx
mov ecx, dword [0x5223dc]
mov edx, eax
call fcn.00432e97
pop ecx
push esi
push 0xc57
call fcn.00414768
pop ecx
mov ecx, dword [0x522198]
mov edx, eax
call fcn.00432e97
pop ecx
push esi
mov esi, 0xc58
push esi
call fcn.00414768
pop ecx
mov ecx, dword [0x521dcc]
mov edx, eax
call fcn.00432e97
pop ecx
push 0xffffffffffffffff
push esi
call fcn.00414768
pop ecx
mov ecx, dword [0x521f0c]
mov edx, eax
call fcn.00432e97
pop ecx
push 0xffffffffffffffff
push 0xc59
call fcn.00414768
mov dword [esp], 0x3f1
mov esi, eax
push edi
call ebx
mov edx, esi
mov ecx, eax
call fcn.00432e97
pop ecx
push 0xffffffffffffffff
push 0xc5a
call fcn.00414768
mov dword [esp], 0x3f0
mov esi, eax
push edi
call ebx
mov edx, esi
mov ecx, eax
call fcn.00432e97
pop ecx
push 0xffffffffffffffff
push 0xc5c
call fcn.00414768
pop ecx
mov ecx, dword [0x52206c]
mov edx, eax
call fcn.00432e97
pop ecx
push 0xffffffffffffffff
push 0xc5d
call fcn.00414768
pop ecx
mov ecx, dword [0x51dafc]
mov edx, eax
call fcn.00432e97
mov dword [esp], 0x2710
push 0xc5e
call fcn.00414768
mov dword [esp], 0x3f7
mov esi, eax
push edi
call ebx
mov edx, esi
mov ecx, eax
call fcn.00432e97
mov dword [esp], 0x2710
push 0xc5f
call fcn.00414768
mov dword [esp], 0x3f8
mov esi, eax
push edi
call ebx
mov edx, esi
mov ecx, eax
call fcn.00432e97
mov dword [esp], 0x2710
push 0xc60
call fcn.00414768
pop ecx
mov ecx, dword [0x5222a8]
mov edx, eax
call fcn.00432e97
pop ecx
push 0xffffffffffffffff
push 0xc61
call fcn.00414768
mov dword [esp], 0x3fd
mov esi, eax
push edi
call ebx
mov edx, esi
mov ecx, eax
call fcn.00432e97
pop ecx
push 0xffffffffffffffff
push 0xc62
call fcn.00414768
mov dword [esp], 0x3fe
mov esi, eax
push edi
call ebx
mov edx, esi
mov ecx, eax
call fcn.00432e97
pop ecx
push 0xffffffffffffffff
push 0xc63
call fcn.00414768
pop ecx
mov ecx, dword [0x51daac]
mov edx, eax
call fcn.00432e97
pop ecx
push 0xffffffffffffffff
push 0xc5b
call fcn.00414768
pop ecx
mov ecx, dword [0x521f24]
mov edx, eax
call fcn.00432e97
pop ecx
mov esi, 0x7530
push esi
push 0xc4e
call fcn.00414768
pop ecx
mov ecx, dword [0x521da4]
mov edx, eax
call fcn.00432e97
pop ecx
push esi
push 0xc4f
call fcn.00414768
mov dword [esp], 0x7d5
mov esi, eax
push edi
call ebx
mov edx, esi
mov ecx, eax
call fcn.00432e97
pop ecx
mov esi, 0x7530
push esi
push 0xce9
call fcn.00414768
pop ecx
mov ecx, dword [0x522184]
mov edx, eax
call fcn.00432e97
pop ecx
push esi
push 0xc35
call fcn.00414768
mov dword [esp], 0x403
mov esi, eax
push edi
call ebx
mov edx, esi
mov ecx, eax
call fcn.00432e97
mov dword [esp], 0x7530
push 0xc35
call fcn.00414768
mov dword [esp], 0x3fa
mov esi, eax
push edi
call ebx
mov edx, esi
mov ecx, eax
call fcn.00432e97
mov dword [esp], 0x7530
push 0xc36
call fcn.00414768
mov dword [esp], 0x3fb
mov esi, eax
push edi
call ebx
mov edx, esi
mov ecx, eax
call fcn.00432e97
cmp dword [0x521f14], 0
pop ecx
jne 0x4226cb
xor ecx, ecx
call fcn.0043a498
cmp dword [0x521f18], 0
jne 0x4226db
xor ecx, ecx
call fcn.0043a697
call fcn.0043ac2d
cmp dword [0x51daf4], 0
je 0x4226fc
push 0
push 0x3f6
push 0x111
push edi
call dword [sym.imp.USER32.dll_PostMessageW]
call fcn.0043cb1c
xor eax, eax
cmp dword [0x4dcaa0], eax
setne al
push eax
push 0x3fe
push dword [0x522464]
call dword [sym.imp.USER32.dll_CheckDlgButton]
push 0xc8a
push 0
push 0
push 1
call fcn.00414c2d
mov ecx, dword [ebp - 4]
add esp, 0x10
xor ecx, ebp
pop edi
pop esi
pop ebx
call fcn.00475c80
leave
ret