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

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x29c
mov eax, dword [0x5512ec]
xor eax, ebp
mov dword [ebp - 4], eax
cmp dword [0x59d2ec], 0
push ebx
push esi
push edi
mov edi, ecx
mov dword [ebp - 0x288], 0
mov dword [ebp - 0x290], edi
mov dword [ebp - 0x28c], 0
jne 0x43570a
push str.IsWow64Process2
push ecx
mov ecx, str.Kernel32
call fcn.0042c000
add esp, 4
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [0x59d2ec], eax
push 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 - 0x280], eax
cmp esi, 0xffffffff
je 0x435740
test esi, esi
je 0x435740
push esi
push edi
call dword [sym.imp.USER32.dll_ReleaseDC]
mov dword [0x5a2ae4], 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 [0x5a289c], eax
call ebx
push 0x3f9
push edi
mov dword [0x5a2514], eax
call ebx
push 0x3ea
push edi
mov dword [0x5a23c4], eax
call ebx
push 0x3ed
push edi
mov dword [0x5a29cc], eax
call ebx
push 0x3ef
push edi
mov dword [0x5a29d8], eax
call ebx
push 0x3f2
push edi
mov dword [0x5a2898], eax
call ebx
push 0x3f3
push edi
mov dword [0x55a794], eax
call ebx
push 0x402
push edi
mov dword [0x5a2764], eax
call ebx
push 0x3f6
push edi
mov dword [0x5a2884], eax
call ebx
push 0x3f4
push edi
mov dword [0x59d520], eax
call ebx
push 0x3fc
push edi
mov dword [0x5a2888], eax
call ebx
push 0x3eb
push edi
mov dword [0x5a28a0], eax
call ebx
mov esi, eax
mov byte [0x59d050], 0
push 2
push 0x40
mov dword [0x59d4d0], esi
call fcn.004b6706
add esp, 8
mov dword [ebp - 0x278], eax
push 0x40
push eax
push esi
call dword [sym.imp.USER32.dll_GetWindowTextW]
mov esi, eax
call dword [sym.imp.KERNEL32.dll_GetLastError]
test esi, esi
mov dword [ebp - 0x27c], eax
mov esi, dword [ebp - 0x278]
je 0x435864
push 0
push 0
push 0x40
push 0x59d050
push 0xffffffffffffffff
push esi
push 0
push 0xfde9
call dword [sym.imp.KERNEL32.dll_WideCharToMultiByte]
test eax, eax
jne 0x435864
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x27c], eax
test esi, esi
je 0x435871
push esi
call fcn.004d1211
add esp, 4
mov byte [0x59d08f], 0
push dword [ebp - 0x27c]
call dword [sym.imp.KERNEL32.dll_SetLastError]
push 2
push 0x40
call fcn.004b6706
mov esi, eax
add esp, 8
test esi, esi
je 0x4358da
push 0x40
push esi
push 0xffffffffffffffff
push 0x59d050
push 0
push 0xfde9
call dword [sym.imp.KERNEL32.dll_MultiByteToWideChar]
push 0x40
push esi
call dword [sym.imp.USER32.dll_CharUpperBuffW]
push 0
push 0
push 0x40
push 0x59d050
push 0xffffffffffffffff
push esi
push 0
push 0xfde9
call dword [sym.imp.KERNEL32.dll_WideCharToMultiByte]
push esi
call fcn.004d1211
add esp, 4
mov ecx, dword [0x59d4d0]
mov edx, 0x59d050
call fcn.0042c6c0
push 2
push edi
call ebx
push 2
push 0x40
mov esi, eax
mov byte [0x59d4d8], 0
call fcn.004b6706
add esp, 8
mov dword [ebp - 0x278], eax
push 0x40
push eax
push esi
call dword [sym.imp.USER32.dll_GetWindowTextW]
mov esi, eax
call dword [sym.imp.KERNEL32.dll_GetLastError]
test esi, esi
mov dword [ebp - 0x27c], eax
mov esi, dword [ebp - 0x278]
je 0x435957
push 0
push 0
push 0x40
push 0x59d4d8
push 0xffffffffffffffff
push esi
push 0
push 0xfde9
call dword [sym.imp.KERNEL32.dll_WideCharToMultiByte]
test eax, eax
jne 0x435957
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x27c], eax
test esi, esi
je 0x435964
push esi
call fcn.004d1211
add esp, 4
mov byte [0x59d517], 0
push dword [ebp - 0x27c]
call dword [sym.imp.KERNEL32.dll_SetLastError]
push 2
push 0x40
call fcn.004b6706
mov esi, eax
add esp, 8
test esi, esi
je 0x4359cd
push 0x40
push esi
push 0xffffffffffffffff
push 0x59d4d8
push 0
push 0xfde9
call dword [sym.imp.KERNEL32.dll_MultiByteToWideChar]
push 0x40
push esi
call dword [sym.imp.USER32.dll_CharUpperBuffW]
push 0
push 0
push 0x40
push 0x59d4d8
push 0xffffffffffffffff
push esi
push 0
push 0xfde9
call dword [sym.imp.KERNEL32.dll_WideCharToMultiByte]
push esi
call fcn.004d1211
add esp, 4
mov ecx, 0x59d4d8
mov eax, str.SCHLIEEN
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x4359f7
test dl, dl
je 0x4359f3
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x4359f7
add eax, 2
add ecx, 2
test dl, dl
jne 0x4359d7
xor eax, eax
jmp 0x4359fc
sbb eax, eax
or eax, 1
test eax, eax
jne 0x435a26
mov ax, word [0x5361fc]
movq xmm0, qword [str.SCHLIESSEN]
mov word [0x59d4e0], ax
mov al, byte [0x5361fe]
movq qword [0x59d4d8], xmm0
mov byte [0x59d4e2], al
push 2
push edi
call ebx
mov edx, 0x59d4d8
mov ecx, eax
call fcn.0042c6c0
push 0x40
push 0x3f6
push edi
call ebx
mov edx, 0x59d440
mov ecx, eax
call fcn.0042c620
add esp, 4
push 0xbe0
call fcn.0041e970
add esp, 4
test eax, eax
je 0x435a87
push 0xbe0
call fcn.0041e970
add esp, 4
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x435a71
sub eax, edx
inc eax
cmp eax, 0x40
jb 0x435a87
mov eax, 0x40
jmp 0x435ab2
push 0xbe0
call fcn.0041e970
add esp, 4
test eax, eax
je 0x435ab1
push 0xbe0
call fcn.0041e970
add esp, 4
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x435aa8
sub eax, edx
inc eax
push eax
push 0xbe0
call fcn.0041e970
add esp, 4
push eax
push 0x59d480
call fcn.004aab70
add esp, 0xc
push 0xbe0
call fcn.0041e970
add esp, 4
test eax, eax
je 0x435b06
push 0xbe0
call fcn.0041e970
add esp, 4
lea edx, [eax + 1]
nop
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x435af0
sub eax, edx
inc eax
cmp eax, 0x40
jb 0x435b06
mov eax, 0x40
jmp 0x435b31
push 0xbe0
call fcn.0041e970
add esp, 4
test eax, eax
je 0x435b30
push 0xbe0
call fcn.0041e970
add esp, 4
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x435b27
sub eax, edx
inc eax
push 2
push 0x40
mov byte [eax + 0x59d47f], 0
call fcn.004b6706
mov esi, eax
add esp, 8
test esi, esi
je 0x435b8e
push 0x40
push esi
push 0xffffffffffffffff
push 0x59d440
push 0
push 0xfde9
call dword [sym.imp.KERNEL32.dll_MultiByteToWideChar]
push 0x40
push esi
call dword [sym.imp.USER32.dll_CharUpperBuffW]
push 0
push 0
push 0x40
push 0x59d440
push 0xffffffffffffffff
push esi
push 0
push 0xfde9
call dword [sym.imp.KERNEL32.dll_WideCharToMultiByte]
push esi
call fcn.004d1211
add esp, 4
push 2
push 0x40
call fcn.004b6706
mov esi, eax
add esp, 8
test esi, esi
je 0x435be4
push 0x40
push esi
push 0xffffffffffffffff
push 0x59d480
push 0
push 0xfde9
call dword [sym.imp.KERNEL32.dll_MultiByteToWideChar]
push 0x40
push esi
call dword [sym.imp.USER32.dll_CharUpperBuffW]
push 0
push 0
push 0x40
push 0x59d480
push 0xffffffffffffffff
push esi
push 0
push 0xfde9
call dword [sym.imp.KERNEL32.dll_WideCharToMultiByte]
push esi
call fcn.004d1211
add esp, 4
push 0x3f6
push edi
call ebx
mov edx, 0x59d440
mov ecx, eax
call fcn.0042c6c0
push 0xbbf
call fcn.0041e970
add esp, 4
test eax, eax
je 0x435c36
push 0xbbf
call fcn.0041e970
add esp, 4
lea edx, [eax + 1]
nop dword [eax]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x435c20
sub eax, edx
inc eax
cmp eax, 0x40
jb 0x435c36
mov eax, 0x40
jmp 0x435c61
push 0xbbf
call fcn.0041e970
add esp, 4
test eax, eax
je 0x435c60
push 0xbbf
call fcn.0041e970
add esp, 4
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x435c57
sub eax, edx
inc eax
push eax
push 0xbbf
call fcn.0041e970
add esp, 4
push eax
push 0x59d290
call fcn.004aab70
add esp, 0xc
push 0xbbf
call fcn.0041e970
add esp, 4
test eax, eax
je 0x435cb6
push 0xbbf
call fcn.0041e970
add esp, 4
lea edx, [eax + 1]
nop
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x435ca0
sub eax, edx
inc eax
cmp eax, 0x40
jb 0x435cb6
mov eax, 0x40
jmp 0x435ce1
push 0xbbf
call fcn.0041e970
add esp, 4
test eax, eax
je 0x435ce0
push 0xbbf
call fcn.0041e970
add esp, 4
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x435cd7
sub eax, edx
inc eax
push 2
push 0x40
mov byte [eax + 0x59d28f], 0
call fcn.004b6706
mov esi, eax
add esp, 8
test esi, esi
je 0x435d3e
push 0x40
push esi
push 0xffffffffffffffff
push 0x59d290
push 0
push 0xfde9
call dword [sym.imp.KERNEL32.dll_MultiByteToWideChar]
push 0x40
push esi
call dword [sym.imp.USER32.dll_CharUpperBuffW]
push 0
push 0
push 0x40
push 0x59d290
push 0xffffffffffffffff
push esi
push 0
push 0xfde9
call dword [sym.imp.KERNEL32.dll_WideCharToMultiByte]
push esi
call fcn.004d1211
add esp, 4
call fcn.0045c4b0
mov ecx, edi
call fcn.00459c10
mov ecx, edi
call fcn.00459dc0
mov ecx, edi
call fcn.0045a080
mov ecx, edi
call fcn.0045a6d0
push 0xcf4
call fcn.0041e970
mov ecx, dword [0x5a2888]
add esp, 4
mov edx, eax
call fcn.00459a60
push 0xcf5
call fcn.0041e970
mov ecx, dword [0x5a28a0]
add esp, 4
mov edx, eax
call fcn.00459a60
push str.Segoe_UI
push 0
push 2
push 0
push 0
push 1
push 0
push 0
push 0
push 0x190
push 0
push 0
push 0
push dword [ebp - 0x280]
call dword [sym.imp.GDI32.dll_CreateFontA]
mov ecx, edi
mov dword [0x5a23f0], eax
call fcn.00452e40
push 0x80
lea eax, [ebp - 0xb0]
push eax
push edi
call dword [sym.imp.USER32.dll_GetWindowTextA]
lea eax, [ebp - 0xb0]
push 0x5333c4
push eax
call fcn.004e8cb5
add esp, 8
mov esi, 0x5a2530
nop word [eax + eax]
push 0x52fc64
push 0
call fcn.004e8cb5
add esp, 8
test eax, eax
je 0x435e2a
push eax
call fcn.004e83cb
mov word [esi], ax
add esp, 4
add esi, 2
cmp esi, 0x5a2536
jl 0x435e00
cmp dword [0x55a750], 0
mov eax, str._Portable_
mov ebx, 0x52ad5a
cmove eax, ebx
push eax
movzx eax, word [0x5a2534]
push str.__Alpha_
push eax
movzx eax, word [0x5a2532]
push eax
movzx eax, word [0x5a2530]
push eax
push str.Rufus__d._d._d_s_s
lea eax, [ebp - 0xb0]
push 0x80
push eax
call fcn.004050d0
add esp, 0x20
mov byte [ebp - 0x31], 0
lea edx, [ebp - 0xb0]
mov ecx, edi
call fcn.0042c6c0
lea eax, [ebp - 0xb0]
push eax
push 0
call dword [sym.imp.USER32.dll_FindWindowA]
cmp dword [0x55a7cc], 0
mov dword [0x55a7e0], eax
je 0x435f0d
mov eax, 0x5b
mov dword [ebp - 0x12], 0
mov word [ebp - 0x2c], ax
xorps xmm0, xmm0
lea eax, [ebp - 0x268]
movq qword [ebp - 0x1a], xmm0
push eax
movups xmmword [ebp - 0x2a], xmm0
mov word [ebp - 0xe], 0
call fcn.004e5272
add esp, 4
lea eax, [ebp - 0x268]
push eax
lea eax, [ebp - 0x2b]
push 0x1e
push eax
call fcn.004eb035
add esp, 0xc
test eax, eax
jne 0x435f0d
lea ecx, [ebp - 0x2c]
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x435ef3
sub ecx, edx
lea eax, [ebp - 0x2c]
push eax
mov byte [ebp + ecx - 0x2d], 0x5d
call fcn.0044b0b0
add esp, 4
cmp dword [0x55a750], 0
je 0x435f1d
mov eax, str._Portable_
jmp 0x435f2c
cmp dword [0x55b1f8], 0
mov eax, str._AppStore_version_
cmove eax, ebx
push eax
movzx eax, word [0x5a2534]
push str.__Alpha_
push eax
movzx eax, word [0x5a2532]
push eax
movzx eax, word [0x5a2530]
push eax
push str.Rufus_x86_v_d._d._d_s_s
call fcn.0044b0b0
add esp, 0x18
cmp dword [0x59d2ec], 0
je 0x436019
lea eax, [ebp - 0x28c]
push eax
lea eax, [ebp - 0x288]
push eax
call dword [sym.imp.KERNEL32.dll_GetCurrentProcess]
push eax
call dword [0x59d2ec]
test eax, eax
je 0x436019
mov eax, dword [ebp - 0x288]
test ax, ax
jne 0x435f9d
mov eax, 0x14c
mov dword [ebp - 0x288], eax
mov ecx, dword [ebp - 0x28c]
mov edx, 0x1c0
cmp cx, dx
je 0x435fb7
mov edx, 0xaa64
cmp cx, dx
jne 0x436019
mov edx, 0x14c
cmp ax, dx
je 0x435fcb
mov edx, 0x8664
cmp ax, dx
jne 0x436019
movzx eax, cx
cmp eax, 0x8664
ja 0x435ff8
je 0x435ff1
sub eax, 0x14c
je 0x435fea
sub eax, 0x74
jne 0x435fff
mov eax, 0x53239c
jmp 0x43600b
mov eax, 0x532390
jmp 0x43600b
mov eax, 0x53238c
jmp 0x43600b
cmp eax, 0xaa64
je 0x436006
mov eax, str.unknown
jmp 0x43600b
mov eax, str.arm64
push eax
push str.Notice:_Running_emulated_on__s_platform
call fcn.0044b0b0
add esp, 8
xor esi, esi
mov dword [ebp - 0x280], 0x55330f
xor edi, edi
mov dword [ebp - 0x27c], esi
mov dword [ebp - 0x278], edi
mov edx, dword [esi*4 + 0x5275c8]
lea eax, [ebp - 0x284]
mov ecx, dword [0x5a29d0]
push 1
push eax
push str.ldlinux_sys
push 0xa
mov dword [ebp - 0x284], 0
call fcn.00449730
mov ebx, eax
add esp, 0x10
test ebx, ebx
jne 0x43607e
lea eax, [esi + 4]
push eax
push str.Warning:_could_not_read_embedded_Syslinux_v_d_version
call fcn.0044b0b0
add esp, 8
jmp 0x4363d0
mov eax, dword [ebp - 0x284]
mov esi, 0x52ad5a
mov dword [ebp - 0xc], 0x554e494c
mov word [ebp - 8], 0x2058
mov dword [ebp - 0x264], esi
cmp eax, 0x100
jb 0x43617d
mov edi, 0x40
add eax, 0xffffffc0
cmp eax, edi
jbe 0x436177
mov ecx, dword [ebp - 0x284]
nop dword [eax]
mov eax, dword [edi + ebx]
lea edx, [ebp - 0xc]
cmp eax, dword [edx]
jne 0x436165
movzx eax, word [edi + ebx + 4]
cmp ax, word [edx + 4]
jne 0x436165
mov al, byte [edi + ebx - 3]
cmp al, 0x49
jne 0x4360f5
cmp byte [edi + ebx - 2], 0x53
jne 0x436165
cmp byte [edi + ebx - 1], 0x4f
je 0x436106
jmp 0x436165
cmp al, 0x53
jne 0x436165
cmp byte [edi + ebx - 2], 0x59
jne 0x436165
cmp byte [edi + ebx - 1], al
jne 0x436165
add edi, 6
lea ecx, [ebp - 0x274]
push 0xa
push ecx
lea eax, [edi + ebx]
push eax
mov dword [ebp - 0x294], eax
call fcn.004e4431
movzx ecx, al
add esp, 0xc
mov eax, 0x100
imul ecx, eax
lea eax, [ebp - 0x274]
push 0xa
push eax
mov eax, dword [ebp - 0x274]
inc eax
movzx esi, cx
push eax
call fcn.004e4431
movzx eax, al
add esp, 0xc
add ax, si
movzx eax, ax
mov dword [ebp - 0x298], eax
test ax, ax
jne 0x4361ca
mov ecx, dword [ebp - 0x284]
inc edi
lea eax, [ecx - 0x40]
cmp edi, eax
jb 0x4360c0
mov esi, dword [ebp - 0x264]
mov edi, dword [ebp - 0x278]
xor ecx, ecx
mov eax, dword [ebp - 0x27c]
mov word [eax*2 + 0x5a2648], cx
movzx eax, cl
push eax
movzx eax, cx
shr eax, 8
push eax
mov eax, dword [ebp - 0x280]
push str._d._02d
add eax, 0xfffffff5
push 0xc
push eax
call fcn.004050d0
mov eax, dword [ebp - 0x280]
add esp, 0x14
mov byte [eax], 0
test esi, esi
jne 0x436347
xor ecx, ecx
inc ecx
jmp 0x436377
mov edx, dword [ebp - 0x274]
test edx, edx
jne 0x4361d8
xor ecx, ecx
jmp 0x4361e9
mov ecx, edx
lea esi, [ecx + 1]
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4361e0
sub ecx, esi
mov byte [edx + ecx], 0
xor edi, edi
mov eax, dword [ebp - 0x274]
mov byte [eax], 0x2f
mov eax, dword [ebp - 0x294]
mov ecx, dword [ebp - 0x274]
mov dl, byte [eax]
cmp dl, byte [ecx + 1]
jne 0x43621f
lea esi, [ecx + 1]
nop
cmp dl, 0x20
je 0x43621f
mov dl, byte [eax + 1]
inc eax
inc esi
inc edi
cmp dl, byte [esi]
je 0x436210
cmp byte [edi + ecx + 1], 0x2d
lea eax, [edi + 1]
cmovne eax, edi
cmp eax, 4
jb 0x436241
mov byte [ecx + eax], 0x2f
mov ecx, dword [ebp - 0x274]
add ecx, eax
mov dword [ebp - 0x274], ecx
test ecx, ecx
jne 0x43624a
or eax, 0xffffffff
jmp 0x436260
mov edx, ecx
lea esi, [edx + 1]
nop
mov al, byte [edx]
inc edx
test al, al
jne 0x436250
sub edx, esi
lea eax, [edx - 1]
test eax, eax
je 0x43627c
mov dl, byte [eax + ecx]
cmp dl, 0x20
je 0x43626d
cmp dl, 0x2a
jne 0x43627c
mov byte [eax + ecx], 0
mov ecx, dword [ebp - 0x274]
sub eax, 1
jne 0x436260
mov edx, 1
test ecx, ecx
je 0x436327
mov esi, ecx
lea edi, [esi + 1]
nop
mov al, byte [esi]
inc esi
test al, al
jne 0x436290
sub esi, edi
cmp edx, esi
jae 0x436327
cmp byte [edx + ecx], 0x3c
jne 0x4362b1
mov byte [edx + ecx], 0x5f
mov ecx, dword [ebp - 0x274]
cmp byte [edx + ecx], 0x3e
jne 0x4362c1
mov byte [edx + ecx], 0x5f
mov ecx, dword [ebp - 0x274]
cmp byte [edx + ecx], 0x3a
jne 0x4362d1
mov byte [edx + ecx], 0x5f
mov ecx, dword [ebp - 0x274]
cmp byte [edx + ecx], 0x7c
jne 0x4362e1
mov byte [edx + ecx], 0x5f
mov ecx, dword [ebp - 0x274]
cmp byte [edx + ecx], 0x2a
jne 0x4362f1
mov byte [edx + ecx], 0x5f
mov ecx, dword [ebp - 0x274]
cmp byte [edx + ecx], 0x3f
jne 0x436301
mov byte [edx + ecx], 0x5f
mov ecx, dword [ebp - 0x274]
cmp byte [edx + ecx], 0x5c
jne 0x436311
mov byte [edx + ecx], 0x5f
mov ecx, dword [ebp - 0x274]
cmp byte [edx + ecx], 0x2f
jne 0x436321
mov byte [edx + ecx], 0x5f
mov ecx, dword [ebp - 0x274]
inc edx
jmp 0x436281
cmp byte [ecx + 1], 0
mov esi, 0x52ad5a
mov eax, dword [ebp - 0x298]
mov edi, dword [ebp - 0x278]
cmovne esi, ecx
movzx ecx, ax
jmp 0x43617f
mov ecx, esi
lea edx, [ecx + 1]
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x436350
sub ecx, edx
lea eax, [ecx + 1]
cmp eax, 0x20
jae 0x436372
mov ecx, esi
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x436366
sub ecx, edx
inc ecx
jmp 0x436377
mov ecx, 0x20
push ecx
lea eax, [edi + 0x5a1ca0]
push esi
push eax
call fcn.004aab70
add esp, 0xc
test esi, esi
jne 0x43638f
inc esi
jmp 0x4363b9
mov ecx, esi
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x436394
sub ecx, edx
lea eax, [ecx + 1]
cmp eax, 0x20
jae 0x4363b4
lea ecx, [esi + 1]
mov al, byte [esi]
inc esi
test al, al
jne 0x4363a8
sub esi, ecx
inc esi
jmp 0x4363b9
mov esi, 0x20
push ebx
mov byte [edi + esi + 0x5a1c9f], 0
call fcn.004d1211
mov esi, dword [ebp - 0x27c]
add esp, 4
add dword [ebp - 0x280], 0xc
inc esi
add edi, 0x20
mov dword [ebp - 0x27c], esi
mov dword [ebp - 0x278], edi
cmp esi, 2
jb 0x436033
push 0x58b27a
push str.Windows_version:__s
call fcn.0044b0b0
push 0x5a1cc0
push 0x553310
push 0x5a1ca0
push 0x553304
push str.Syslinux_versions:__s_s___s_s
call fcn.0044b0b0
add esp, 0x1c
push str.2.06
push str.0.4.6a
push str.Grub_versions:__s___s
call fcn.0044b0b0
mov esi, dword [sym.imp.KERNEL32.dll_GetUserDefaultUILanguage]
add esp, 0xc
call esi
push 0
push 0x55
lea ecx, [ebp - 0x260]
movzx eax, ax
push ecx
push eax
call dword [sym.imp.KERNEL32.dll_LCIDToLocaleName]
test eax, eax
jle 0x43647b
push 0
push 0
push 0x55
push 0x59d790
push 0xffffffffffffffff
lea eax, [ebp - 0x260]
push eax
push 0
push 0xfde9
call dword [sym.imp.KERNEL32.dll_WideCharToMultiByte]
jmp 0x436498
mov eax, dword [str.en_US]
mov dword [0x59d790], eax
mov ax, word [0x539018]
mov word [0x59d794], ax
mov byte [0x59d795], 0
push 0x59d790
call esi
movzx eax, ax
push eax
push str.System_locale_ID:_0x_04X___s_
call fcn.0044b0b0
add esp, 0xc
cmp dword [0x55b210], 0
je 0x4364cb
push 0x5a0980
push 0x525f4c
call fcn.0044b0b0
add esp, 8
mov eax, dword [0x55a798]
mov dword [0x55b210], 0
test byte [eax + 4], 2
je 0x4364fa
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.0044b0b0
push str.If_you_think_you_can_help_update_this_translation__please_e_mail_the_author_of_this_application
call fcn.0044b0b0
add esp, 0xc
push 0x205
push str.Found__d_officially_revoked_UEFI_bootloaders_from_embedded_list
call fcn.0044b0b0
add esp, 8
call fcn.00428a60
test eax, eax
je 0x43652a
push dword [0x55b208]
push str.Found__d_additional_revoked_UEFI_bootloaders_from_this_systems_SKUSiPolicy.p7b
call fcn.0044b0b0
add esp, 8
jmp 0x436537
push str.WARNING:_Could_not_parse_this_systems_SkuSiPolicy.p7b_for_additional_revoked_UEFI_bootloaders
call fcn.0044b0b0
add esp, 4
push 4
lea eax, [ebp - 0x264]
mov edx, str.SYSTEMCurrentControlSetPoliciesMicrosoftFVE
push eax
push 4
mov ecx, 0x80000002
call fcn.0042db00
add esp, 0xc
cmp dword [ebp - 0x264], 0
je 0x43656a
push str.WARNING:_This_system_has_a_policy_set_to_prevent_write_access_to_FIXED_drives_not_using_BitLocker
call fcn.0044b0b0
add esp, 4
push 4
lea eax, [ebp - 0x264]
mov edx, str.SYSTEMCurrentControlSetControlStorageDevicePoliciesWriteProtect
push eax
push 4
mov ecx, 0x80000002
call fcn.0042db00
add esp, 0xc
cmp dword [ebp - 0x264], 0
je 0x43659d
push str.WARNING:_This_system_has_a_policy_set_to_prevent_write_access_to_storage_devices
call fcn.0044b0b0
add esp, 4
cmp dword [0x55325c], 0
jne 0x4365b3
push str.Notice:_Windows_VDS_is_unavailable
call fcn.0044b0b0
add esp, 4
push 0x59ea10
push 0x515350
push 0x17
push 0
push 0x515920
call dword [sym.imp.ole32.dll_CoCreateInstance]
test eax, eax
jns 0x4365ea
push eax
push str.CoCreateInstance_for_TaskbarList_failed:_error__X_n
call fcn.0044b0b0
add esp, 8
mov dword [0x59ea10], 0
jmp 0x436604
mov ecx, dword [0x59ea10]
test ecx, ecx
je 0x436604
mov eax, dword [ecx]
push 2
push dword [0x5a2ae4]
mov eax, dword [eax + 0x28]
push ecx
call eax
mov ebx, dword [sym.imp.USER32.dll_SendMessageW]
push 0xffff0000
push 0
push 0x401
push dword [0x55a794]
call ebx
mov esi, 1
cmp esi, 1
jne 0x43664c
push esi
push 0xbda
call fcn.0041e970
mov ecx, dword [0x5a2888]
mov edx, 0x143
push eax
push 0
call fcn.0042c2a0
add esp, 0x10
inc esi
jmp 0x436623
cmp esi, 2
jne 0x436658
mov eax, 0x52ad5a
jmp 0x43666c
push dword [esi*4 + 0x5275c4]
push 0xc0f
call fcn.0041e970
add esp, 8
push eax
xor eax, eax
cmp esi, 2
setne al
lea eax, [eax*2 + 2]
push eax
push 0xbdb
call fcn.0041e970
mov ecx, dword [0x5a2888]
add esp, 0xc
mov edx, 0x143
push eax
push 0
call fcn.0042c2a0
inc esi
add esp, 8
cmp esi, 5
jle 0x436623
push 0
push 0
push 0x14e
push dword [0x5a2888]
call ebx
call fcn.0045ed20
call fcn.0042e5e0
push 0x80
push ecx
push 0x536590
push 0xbd6
call fcn.0041e970
mov ecx, dword [0x5a28a0]
add esp, 0xc
mov edx, 0x143
push eax
push 0
call fcn.0042c2a0
add esp, 8
push eax
push 0x151
push dword [0x5a28a0]
call ebx
mov esi, 0x81
lea edi, [esi - 0x7a]
nop dword [eax]
push esi
push ecx
lea eax, [esi - 0x7f]
push eax
push esi
push 0xc25
call fcn.0041e970
mov ecx, dword [0x5a28a0]
mov edx, 0x143
push eax
push 0
call fcn.0042c2a0
add esp, 0x18
push eax
push 0x151
push dword [0x5a28a0]
call ebx
inc esi
sub edi, 1
jne 0x436710
push edi
push edi
push 0x14e
push dword [0x5a28a0]
call ebx
push 4
push 0x10
mov dword [0x5a2528], 0x10
mov dword [0x5a2524], edi
call fcn.004b6706
add esp, 8
mov dword [0x5a2520], eax
test eax, eax
jne 0x43678c
push str.Could_not_allocate_string_array
call fcn.0044b0b0
add esp, 4
push 4
push 0x10
mov dword [0x5a23d8], 0x10
mov dword [0x5a23d4], 0
call fcn.004b6706
add esp, 8
mov dword [0x5a23d0], eax
test eax, eax
jne 0x4367c2
push str.Could_not_allocate_string_array
call fcn.0044b0b0
add esp, 4
mov edi, dword [ebp - 0x290]
mov ebx, dword [sym.imp.USER32.dll_CheckDlgButton]
push 1
push 0x3f0
push edi
call ebx
push 1
push 0x3f7
push edi
call ebx
mov ecx, edi
call fcn.0045cde0
push str.Segoe_UI
push 0
push 2
push 0
push 0
push 1
push 0
push 0
push 0
push 0x258
push 0
push 0
push 0
push 0x48
push 0x5a
push dword [0x5a2ae4]
call dword [sym.imp.USER32.dll_GetDC]
push eax
call dword [sym.imp.GDI32.dll_GetDeviceCaps]
push eax
push 0xe
call dword [sym.imp.KERNEL32.dll_MulDiv]
neg eax
push eax
call dword [sym.imp.GDI32.dll_CreateFontA]
mov edx, eax
xor ebx, ebx
mov dword [ebp - 0x264], edx
mov dword [ebp - 0x278], ebx
push 1
push edx
push 0x30
push dword [ebx + 0x528098]
push edi
call dword [sym.imp.USER32.dll_SendDlgItemMessageA]
push dword [ebx + 0x528098]
push edi
call dword [sym.imp.USER32.dll_GetDlgItem]
push 0x100
mov ebx, eax
lea eax, [ebp - 0x1b0]
push 0
push eax
call fcn.004ab0f0
add esp, 0xc
lea eax, [ebp - 0x1b0]
push 0x7c
push eax
push ebx
call dword [sym.imp.USER32.dll_GetWindowTextW]
lea esi, [ebp - 0x1b0]
lea ecx, [esi + 2]
mov ax, word [esi]
add esi, 2
test ax, ax
jne 0x436892
sub esi, ecx
sar esi, 1
cmp esi, 0x7e
jb 0x4368bd
push 0x243
push str.D:_a_rufus_rufus_srcui.c
push str.wlen___ARRAYSIZE_wtmp____2
call fcn.004dfbbc
add esp, 0xc
lea eax, [ebp - 0x1b0]
mov dword [ebp + esi*2 - 0x1b0], 0x200020
push eax
push ebx
call dword [sym.imp.USER32.dll_SetWindowTextW]
mov esi, dword [sym.imp.USER32.dll_GetWindowRect]
lea eax, [ebp - 0x1c]
push eax
push ebx
call esi
push 2
lea eax, [ebp - 0x1c]
push eax
push edi
push 0
call dword [sym.imp.USER32.dll_MapWindowPoints]
xor edx, edx
mov ecx, ebx
call fcn.00452f10
push 4
push edx
push eax
push dword [ebp - 0x18]
push dword [ebp - 0x1c]
push 0
push ebx
call dword [sym.imp.USER32.dll_SetWindowPos]
mov ebx, dword [ebp - 0x278]
mov edx, dword [ebp - 0x264]
add ebx, 4
mov dword [ebp - 0x278], ebx
cmp ebx, 0xc
jb 0x436842
mov ecx, edi
call fcn.0045a9e0
movss xmm0, dword [0x553328]
xor ecx, ecx
comiss xmm0, dword [0x549a28]
jae 0x436a81
mov edx, 0x527f30
mov dword [ebp - 0x284], 0x12
mov dword [ebp - 0x280], edx
nop
xor eax, eax
mov dword [ebp - 0x278], 0
cmp dword [edx], 0x3f0
mov dword [ebp - 0x27c], edx
sete al
add eax, 4
add eax, ecx
mov dword [ebp - 0x274], eax
mov eax, edx
nop dword [eax + eax]
mov eax, dword [eax]
test eax, eax
je 0x436a30
push eax
push edi
call dword [sym.imp.USER32.dll_GetDlgItem]
mov ebx, eax
lea eax, [ebp - 0x270]
push eax
push ebx
call esi
push 2
lea eax, [ebp - 0x270]
push eax
push edi
push 0
call dword [sym.imp.USER32.dll_MapWindowPoints]
push 3
push ebx
call dword [sym.imp.USER32.dll_GetWindow]
mov ecx, dword [ebp - 0x264]
mov edi, eax
sub ecx, dword [ebp - 0x26c]
mov edx, dword [ebp - 0x270]
mov eax, dword [ebp - 0x274]
add eax, dword [ebp - 0x26c]
push 0
push ecx
mov ecx, dword [ebp - 0x268]
sub ecx, edx
push ecx
push eax
push edx
push edi
push ebx
call dword [sym.imp.USER32.dll_SetWindowPos]
mov ecx, dword [ebp - 0x278]
mov eax, dword [ebp - 0x27c]
inc ecx
mov edi, dword [ebp - 0x290]
add eax, 4
mov esi, dword [sym.imp.USER32.dll_GetWindowRect]
mov dword [ebp - 0x278], ecx
mov dword [ebp - 0x27c], eax
cmp ecx, 5
jl 0x436990
mov edx, dword [ebp - 0x280]
mov ecx, dword [ebp - 0x274]
add edx, 0x14
sub dword [ebp - 0x284], 1
mov dword [ebp - 0x280], edx
jne 0x436960
add dword [0x59f52c], 0x24
add ecx, 8
add dword [0x59f530], 0x41
add dword [0x5a0958], 0xc
add dword [0x5a0954], 0xd
call fcn.0045b2e0
push 1
push 0
push edi
call dword [sym.imp.USER32.dll_InvalidateRect]
mov esi, dword [sym.imp.USER32.dll_SendMessageW]
push 0
push 0
push 0x8006
push dword [0x55a7d0]
call esi
mov ebx, dword [sym.imp.USER32.dll_GetDlgItem]
push 0
push 7
push 0xc5
push 0x3fa
push edi
call ebx
push eax
call esi
push 0
push dword [0x5a29d0]
push 0x3ee
push dword [0x5a2ae4]
push 0x80000000
push 0x80000000
push 0x80000000
push 0x80000000
push 0x50000800
push 0
push str.msctls_statusbar32
push 0
call dword [sym.imp.USER32.dll_CreateWindowExW]
mov dword [0x5a1980], eax
lea eax, [ebp - 0x1c]
push eax
push dword [0x5a2ae4]
call dword [sym.imp.USER32.dll_GetClientRect]
movss xmm0, dword [0x553328]
mulss xmm0, dword [0x549ac8]
mov edx, dword [ebp - 0x14]
mov eax, edx
mov dword [ebp - 0x264], edx
cvttss2si ecx, xmm0
sub eax, ecx
mov dword [ebp - 0x268], eax
lea eax, [ebp - 0x268]
push eax
push 2
push 0x404
push dword [0x5a1980]
call esi
push str.Segoe_UI
push 0
push 2
push 0
push 0
push 1
push 0
push 0
push 0
push 0x1f4
push 0
push 0
push 0
push 0x48
push 0x5a
push dword [0x5a2ae4]
call dword [sym.imp.USER32.dll_GetDC]
push eax
call dword [sym.imp.GDI32.dll_GetDeviceCaps]
push eax
push 9
call dword [sym.imp.KERNEL32.dll_MulDiv]
neg eax
push eax
call dword [sym.imp.GDI32.dll_CreateFontA]
push 1
push eax
push 0x30
push dword [0x5a1980]
call esi
push 0xffffffffffffffff
push ecx
push 0xc55
call fcn.0041e970
mov ecx, dword [0x5a29cc]
add esp, 8
mov edx, eax
call fcn.00450900
add esp, 4
push 0xffffffffffffffff
push ecx
push 0xc56
call fcn.0041e970
mov ecx, dword [0x5a29d8]
add esp, 8
mov edx, eax
call fcn.00450900
add esp, 4
push 0xffffffffffffffff
push ecx
push 0xc57
call fcn.0041e970
mov ecx, dword [0x5a2898]
add esp, 8
mov edx, eax
call fcn.00450900
add esp, 4
push 0xffffffffffffffff
push ecx
push 0xc58
call fcn.0041e970
mov ecx, dword [0x5a23dc]
add esp, 8
mov edx, eax
call fcn.00450900
add esp, 4
push 0xffffffffffffffff
push ecx
push 0xc58
call fcn.0041e970
mov ecx, dword [0x5a23ec]
add esp, 8
mov edx, eax
call fcn.00450900
add esp, 4
push 0xffffffffffffffff
push ecx
push 0xc59
call fcn.0041e970
add esp, 8
mov esi, eax
push 0x3f1
push edi
call ebx
mov edx, esi
mov ecx, eax
call fcn.00450900
add esp, 4
push 0xffffffffffffffff
push ecx
push 0xc5a
call fcn.0041e970
add esp, 8
mov esi, eax
push 0x3f0
push edi
call ebx
mov edx, esi
mov ecx, eax
call fcn.00450900
add esp, 4
push 0xffffffffffffffff
push ecx
push 0xc5c
call fcn.0041e970
mov ecx, dword [0x5a2764]
add esp, 8
mov edx, eax
call fcn.00450900
add esp, 4
push 0xffffffffffffffff
push ecx
push 0xc5d
call fcn.0041e970
add esp, 8
mov ecx, dword [0x59d520]
mov edx, eax
call fcn.00450900
add esp, 4
push 0x2710
push ecx
push 0xc5e
call fcn.0041e970
add esp, 8
mov esi, eax
push 0x3f7
push edi
call ebx
mov edx, esi
mov ecx, eax
call fcn.00450900
add esp, 4
push 0x2710
push ecx
push 0xc5f
call fcn.0041e970
add esp, 8
mov esi, eax
push 0x3f8
push edi
call ebx
mov edx, esi
mov ecx, eax
call fcn.00450900
add esp, 4
push 0x2710
push ecx
push 0xc60
call fcn.0041e970
mov ecx, dword [0x5a28a0]
add esp, 8
mov edx, eax
call fcn.00450900
add esp, 4
push 0xffffffffffffffff
push ecx
push 0xc61
call fcn.0041e970
add esp, 8
mov esi, eax
push 0x3fd
push edi
call ebx
mov edx, esi
mov ecx, eax
call fcn.00450900
add esp, 4
push 0xffffffffffffffff
push ecx
push 0xc62
call fcn.0041e970
add esp, 8
mov esi, eax
push 0x3fe
push edi
call ebx
mov edx, esi
mov ecx, eax
call fcn.00450900
add esp, 4
push 0xffffffffffffffff
push ecx
push 0xc63
call fcn.0041e970
mov ecx, dword [0x59d4d0]
add esp, 8
mov edx, eax
call fcn.00450900
add esp, 4
push 0xffffffffffffffff
push ecx
push 0xc5b
call fcn.0041e970
mov ecx, dword [0x5a2514]
add esp, 8
mov edx, eax
call fcn.00450900
add esp, 4
push 0x7530
push ecx
push 0xc4e
call fcn.0041e970
mov ecx, dword [0x5a23c4]
add esp, 8
mov edx, eax
call fcn.00450900
add esp, 4
push 0x7530
push ecx
push 0xc4f
call fcn.0041e970
add esp, 8
mov esi, eax
push 0x7d5
push edi
call ebx
mov edx, esi
mov ecx, eax
call fcn.00450900
add esp, 4
push 0x7530
push ecx
push 0xce9
call fcn.0041e970
mov ecx, dword [0x5a2884]
add esp, 8
mov edx, eax
call fcn.00450900
add esp, 4
push 0x7530
push ecx
push 0xc35
call fcn.0041e970
add esp, 8
mov esi, eax
push 0x403
push edi
call ebx
mov edx, esi
mov ecx, eax
call fcn.00450900
add esp, 4
push 0x7530
push ecx
push 0xc35
call fcn.0041e970
add esp, 8
mov esi, eax
push 0x3fa
push edi
call ebx
mov edx, esi
mov ecx, eax
call fcn.00450900
add esp, 4
push 0x7530
push ecx
push 0xc36
call fcn.0041e970
add esp, 8
mov esi, eax
push 0x3fb
push edi
call ebx
mov edx, esi
mov ecx, eax
call fcn.00450900
add esp, 4
cmp dword [0x5a2504], 0
jne 0x436ebc
xor ecx, ecx
call fcn.0045b6f0
cmp dword [0x5a2508], 0
jne 0x436ecc
xor ecx, ecx
call fcn.0045b910
call fcn.0045c130
cmp dword [0x59d518], 0
je 0x436eed
push 0
push 0x3f6
push 0x111
push edi
call dword [sym.imp.USER32.dll_PostMessageW]
call fcn.0045ee20
xor eax, eax
cmp dword [0x55b1f4], eax
setne al
push eax
push 0x3fe
push dword [0x5a2ae4]
call dword [sym.imp.USER32.dll_CheckDlgButton]
push 0xc8a
push 0
push 0
push 1
call fcn.0041ed70
mov ecx, dword [ebp - 4]
add esp, 0x10
xor ecx, ebp
pop edi
pop esi
pop ebx
call fcn.004a8b60
mov esp, ebp
pop ebp
ret