Function at 0x1400229d0
Capabilities:
Read file on windows

Disassembly:
push r15
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x458
xor ebx, ebx
mov qword [rsp + 0x4a0], rcx
call fcn.14002290f
mov qword [rsp + 0x48], rax
test rax, rax
je 0x140022d5b
lea r12, [rsp + 0x50]
mov r9, rax
mov r8d, 0x400
mov edx, 1
mov rcx, r12
call sub.msvcrt.dll_fread
lea rcx, str.Invalid_loc_file:_the_file_is_too_small_
cmp rax, 0x3ff
jbe 0x140022a3a
xor eax, eax
cmp byte [rsp + 0x50], 0x80
jbe 0x140022a46
lea rcx, str.Invalid_loc_file:_the_file_should_not_have_a_BOM__Byte_Order_Mark_
call fcn.1400380b9
xor ebx, ebx
jmp 0x140022ae4
mov dl, byte [r12 + rax]
inc rax
cmp dl, 0xd
jne 0x140022a5d
cmp byte [r12 + rax], 0xa
je 0x140022af3
cmp rax, 0x3ff
jne 0x140022a46
lea rcx, str.Invalid_loc_file:_the_file_MUST_be_saved_in_DOS_mode__CR_LF_
jmp 0x140022a3a
lea rdx, [0x1400949ee]
mov rcx, r12
inc dword [rbp]
call sub.msvcrt.dll_strspn
movsx ecx, byte [rsp + rax + 0x50]
lea edx, [rcx - 0x61]
cmp dl, 0x15
jbe 0x140022b29
mov rcx, qword [rsp + 0x48]
call sub.msvcrt.dll_ftell
mov r8, qword [rsp + 0x48]
mov edx, 0x400
mov rcx, r12
mov r15d, eax
call sub.msvcrt.dll_fgets
test rax, rax
jne 0x140022a6e
test rbx, rbx
jne 0x140022d13
mov rax, qword [0x1400b4d20]
xor ebx, ebx
cmp qword [rax + 8], rax
setne bl
jne 0x140022ae4
mov rdx, qword [rsp + 0x4a0]
lea rcx, str.localization:__s_contains_no_valid_locale_sections_n
call fcn.1400380b9
mov rcx, qword [rsp + 0x48]
call sub.msvcrt.dll_fclose
jmp 0x140022d5b
mov rcx, qword [rsp + 0x48]
xor r8d, r8d
xor edx, edx
or r14d, 0xffffffff
or r13d, 0xffffffff
xor edi, edi
xor ebx, ebx
call sub.msvcrt.dll_fseek
mov rbp, qword [0x1400b4d10]
xor eax, eax
mov byte [rsp + 0x50], 0
mov dword [rbp], eax
call fcn.14001e011
jmp 0x140022a91
mov rsi, 0xffffffffffdff7fe
bt rsi, rdx
jb 0x140022a91
lea rdx, [r12 + rax + 1]
call fcn.14002207e
mov rsi, rax
test rax, rax
je 0x140022d06
mov al, byte [rax]
lea edx, [rax - 2]
cmp dl, 1
jbe 0x140022b62
cmp al, 6
jne 0x140022d06
cmp al, 3
je 0x140022b73
cmp al, 6
jne 0x140022c51
jmp 0x140022bf3
test rbx, rbx
je 0x140022baf
test edi, edi
jne 0x140022bab
lea rcx, str.localization:_no_compatible_version_was_found___this_locale_will_be_ignored_n
call fcn.1400380b9
mov rdx, qword [rbx + 0x30]
mov rax, qword [rbx + 0x28]
xor ecx, ecx
mov qword [rdx], rax
mov qword [rax + 8], rdx
mov qword [rbx + 0x28], rcx
mov qword [rbx + 0x30], rcx
mov rcx, rbx
call fcn.14001de48
jmp 0x140022baf
mov dword [rbx + 0xc], r15d
mov rcx, qword [rsp + 0x48]
mov rbx, rsi
xor edi, edi
call sub.msvcrt.dll_ftell
lea rdx, [rsi + 0x28]
mov dword [rsi + 8], eax
mov rax, qword [0x1400b4d20]
mov rcx, qword [rax]
mov qword [rsi + 0x30], rax
mov qword [rax], rdx
mov qword [rsi + 0x28], rcx
mov qword [rcx + 8], rdx
mov rdx, qword [rsi + 0x18]
lea rcx, str.localization:_found_locale__s_n
call fcn.1400380b9
jmp 0x140022a91
xor r15d, r15d
test rbx, rbx
jne 0x140022c22
mov rax, qword [0x1400b4d00]
mov r8d, dword [rbp]
lea rcx, str._s__d_:__a_ttributes_cannot_precede__l_ocale_n
mov rdx, qword [rax]
jmp 0x140022ca6
cmp r9b, 0x72
jne 0x140022c35
or dword [rbx + 4], 1
inc r15
mov rdx, qword [rsi + 0x18]
movsx r9d, byte [rdx + r15]
test r9b, r9b
jne 0x140022c15
jmp 0x140022d06
mov rax, qword [0x1400b4d00]
mov r8d, dword [rbp]
lea rcx, str._s__d_:_unknown_attribute__c___ignored_n
mov rdx, qword [rax]
call fcn.1400380b9
jmp 0x140022c1f
mov r8d, dword [rbp]
test edi, edi
je 0x140022c77
mov rax, qword [0x1400b4d00]
mov r9d, edi
lea rcx, str._s__d_:__v_ersion_was_already_provided_at_line__d_n
mov rdx, qword [rax]
call fcn.1400380b9
jmp 0x140022d06
cmp byte [rsi + 1], 2
je 0x140022c90
mov rax, qword [0x1400b4d00]
lea rcx, str._s__d_:__v_ersion_format_is_invalid_n
mov rdx, qword [rax]
jmp 0x140022ca6
test rbx, rbx
jne 0x140022cad
mov rax, qword [0x1400b4d00]
lea rcx, str._s__d_:__v_ersion_cannot_precede__l_ocale_n
mov rdx, qword [rax]
call fcn.1400380b9
jmp 0x140022d06
cmp r13d, 0xffffffff
mov rax, qword [rsi + 0x10]
jne 0x140022cc3
mov r13d, dword [rax]
mov r14d, dword [rax + 4]
mov edi, r8d
jmp 0x140022d06
mov edx, dword [rax]
cmp edx, r13d
jb 0x140022cd5
cmp r13d, edx
jne 0x140022d03
cmp dword [rax + 4], r14d
jae 0x140022d03
or dword [rbx + 4], 2
lea rcx, str._s__d_:_the_version_of_this_translation_is_older_than_the_base_one_and_may_result_in_some_messages_not_being_properly_translated._nIf_you_are_the_translator__please_update_your_translation_with_the_changes_that_intervened_between_v_d._d_and_v_d._d._nSee_https:__github.com_pbatard_rufus_blob_master_res_loc_ChangeLog.txt_n
mov dword [rsp + 0x30], r14d
mov dword [rsp + 0x28], r13d
mov edx, dword [rax + 4]
mov dword [rsp + 0x20], edx
mov r9d, dword [rax]
mov rax, qword [0x1400b4d00]
mov rdx, qword [rax]
call fcn.1400380b9
mov edi, dword [rbp]
mov rcx, rsi
call fcn.14001de48
jmp 0x140022a91
test edi, edi
jne 0x140022d49
lea rcx, str.localization:_no_compatible_version_was_found___this_locale_will_be_ignored_n
call fcn.1400380b9
mov rdx, qword [rbx + 0x30]
mov rax, qword [rbx + 0x28]
mov rcx, rbx
mov qword [rdx], rax
mov qword [rax + 8], rdx
xor edx, edx
mov qword [rbx + 0x28], rdx
mov qword [rbx + 0x30], rdx
call fcn.14001de48
jmp 0x140022abe
mov rcx, qword [rsp + 0x48]
call sub.msvcrt.dll_ftell
mov dword [rbx + 0xc], eax
jmp 0x140022abe
mov eax, ebx
add rsp, 0x458
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret