Function at 0x140020290
Capabilities:
Read file on windows

Disassembly:
mov qword [rsp + 0x18], rbx
mov qword [rsp + 0x20], rbp
push rsi
push r12
push r13
push r14
push r15
sub rsp, 0x460
mov rax, qword [0x140106438]
xor rax, rsp
mov qword [rsp + 0x450], rax
xor ebp, ebp
mov qword [rsp + 0x40], rcx
mov r15d, 0xffffffff
mov esi, ebp
mov r14d, ebp
mov r13d, r15d
mov rbx, rcx
call fcn.140020170
mov r12, rax
test rax, rax
je 0x14002036a
mov r9, rax
lea edx, [rbp + 1]
mov r8d, 0x400
lea rcx, [rsp + 0x50]
call fcn.1400a6f3c
cmp rax, 0x400
jae 0x14002030c
lea rcx, str.Invalid_loc_file:_the_file_is_too_small_
jmp 0x14002035d
cmp byte [rsp + 0x50], 0x80
jbe 0x14002031c
lea rcx, str.Invalid_loc_file:_the_file_should_not_have_a_BOM__Byte_Order_Mark_
jmp 0x14002035d
mov rax, rbp
nop
cmp byte [rsp + rax + 0x50], 0xd
jne 0x14002032e
cmp byte [rsp + rax + 0x51], 0xa
je 0x1400203a2
cmp byte [rsp + rax + 0x51], 0xd
jne 0x14002033c
cmp byte [rsp + rax + 0x52], 0xa
je 0x140020399
cmp byte [rsp + rax + 0x52], 0xd
jne 0x14002034a
cmp byte [rsp + rax + 0x53], 0xa
je 0x14002039e
add rax, 3
cmp rax, 0x3ff
jb 0x140020320
lea rcx, str.Invalid_loc_file:_the_file_MUST_be_saved_in_DOS_mode__CR_LF_
call fcn.140041aa0
mov rcx, r12
call fcn.14009b928
mov eax, ebp
mov rcx, qword [rsp + 0x450]
xor rcx, rsp
call fcn.140092060
lea r11, [rsp + 0x460]
mov rbx, qword [r11 + 0x40]
mov rbp, qword [r11 + 0x48]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rsi
ret
inc rax
jmp 0x1400203a2
add rax, 2
cmp rax, 0x3ff
jae 0x140020356
xor r8d, r8d
mov qword [rsp + 0x498], rdi
xor edx, edx
mov rcx, r12
call fcn.1400a5ff0
mov dword [0x14015ae9c], ebp
mov byte [rsp + 0x50], sil
call fcn.14001abb0
mov rcx, r12
call fcn.1400a4a38
mov r8, r12
lea rcx, [rsp + 0x50]
mov edx, 0x400
mov edi, eax
call fcn.1400a62e8
test rax, rax
je 0x140020772
mov ebx, 0x200801
nop dword [rax]
inc dword [0x14015ae9c]
lea rdx, [0x1400d1134]
lea rcx, [rsp + 0x50]
call fcn.1400a66d0
mov rcx, rax
movzx r8d, byte [rsp + rax + 0x50]
lea eax, [r8 - 0x61]
cmp al, 0x15
ja 0x1400206d7
movsx eax, al
bt ebx, eax
jae 0x1400206d7
lea rdx, [rsp + 0x51]
add rdx, rcx
movzx ecx, r8b
call fcn.14001fc20
mov rbx, rax
test rax, rax
je 0x1400206d2
movzx ecx, byte [rax]
lea eax, [rcx - 2]
test al, 0xfa
jne 0x1400206a3
cmp cl, 7
je 0x1400206a3
sub ecx, 2
je 0x1400205dc
sub ecx, 1
je 0x140020522
cmp ecx, 3
jne 0x1400206d2
test rsi, rsi
jne 0x1400204ab
mov r8d, dword [0x14015ae9c]
lea rcx, str._s__d_:__a_ttributes_cannot_precede__l_ocale_n
mov rdx, qword [0x140111a60]
call fcn.140041aa0
jmp 0x1400206a3
mov rcx, qword [rbx + 0x18]
mov rdi, rbp
cmp byte [rcx], dil
je 0x1400206a7
nop dword [rax + rax]
movzx edx, byte [rcx + rdi]
mov rax, rbp
lea rcx, [0x1400d3b08]
nop
cmp byte [rcx + rax*8], dl
je 0x1400204e0
inc rax
cmp rax, 1
jb 0x1400204d0
jmp 0x1400204ed
mov ecx, dword [rcx + rax*8 + 4]
or dword [rsi + 4], ecx
cmp rax, 1
jb 0x140020510
mov rax, qword [rbx + 0x18]
lea rcx, str._s__d_:_unknown_attribute__c___ignored_n
mov r8d, dword [0x14015ae9c]
mov rdx, qword [0x140111a60]
movsx r9d, byte [rax + rdi]
call fcn.140041aa0
mov rcx, qword [rbx + 0x18]
inc rdi
cmp byte [rcx + rdi], bpl
jne 0x1400204c0
jmp 0x1400206a7
test rsi, rsi
je 0x14002058b
test r14d, r14d
jne 0x140020588
lea rcx, str.localization:_no_compatible_version_was_found___this_locale_will_be_ignored_n
call fcn.140041aa0
mov rcx, qword [rsi + 0x30]
mov rax, qword [rsi + 0x28]
mov qword [rcx], rax
mov rcx, qword [rsi + 0x28]
mov rax, qword [rsi + 0x30]
mov qword [rcx + 8], rax
mov qword [rsi + 0x28], rbp
mov qword [rsi + 0x30], rbp
mov rcx, qword [rsi + 0x18]
call fcn.14009b5a0
mov rcx, qword [rsi + 0x20]
mov qword [rsi + 0x18], rbp
call fcn.14009b5a0
mov rcx, qword [rsi + 0x10]
mov qword [rsi + 0x20], rbp
call fcn.14009b5a0
mov rcx, rsi
mov qword [rsi + 0x10], rbp
call fcn.14009b5a0
jmp 0x14002058b
mov dword [rsi + 0xc], edi
mov rcx, r12
call fcn.1400a4a38
mov dword [rbx + 8], eax
lea rcx, [rbx + 0x28]
lea rax, [0x140111648]
mov qword [rcx + 8], rax
mov rax, qword [0x140111648]
mov qword [rcx], rax
mov rax, qword [0x140111648]
mov qword [rax + 8], rcx
mov qword [0x140111648], rcx
lea rcx, str.localization:_found_locale__s_n
mov rdx, qword [rbx + 0x18]
call fcn.140041aa0
mov rsi, rbx
mov r14d, ebp
jmp 0x1400206d2
test r14d, r14d
je 0x140020603
mov r8d, dword [0x14015ae9c]
lea rcx, str._s__d_:__v_ersion_was_already_provided_at_line__d_n
mov rdx, qword [0x140111a60]
mov r9d, r14d
call fcn.140041aa0
jmp 0x1400206a3
cmp byte [rbx + 1], 2
je 0x140020625
mov r8d, dword [0x14015ae9c]
lea rcx, str._s__d_:__v_ersion_format_is_invalid_n
mov rdx, qword [0x140111a60]
call fcn.140041aa0
jmp 0x1400206a3
test rsi, rsi
jne 0x140020646
mov r8d, dword [0x14015ae9c]
lea rcx, str._s__d_:__v_ersion_cannot_precede__l_ocale_n
mov rdx, qword [0x140111a60]
call fcn.140041aa0
jmp 0x1400206a3
mov rax, qword [rbx + 0x10]
cmp r15d, 0xffffffff
jne 0x140020659
mov r15d, dword [rax]
mov r13d, dword [rax + 4]
jmp 0x14002069c
cmp dword [rax], r15d
jb 0x140020666
jne 0x14002069c
cmp dword [rax + 4], r13d
jae 0x14002069c
or dword [rsi + 4], 2
mov rcx, qword [rbx + 0x10]
mov r8d, dword [0x14015ae9c]
mov rdx, qword [0x140111a60]
mov dword [rsp + 0x30], r13d
mov eax, dword [rcx + 4]
mov r9d, dword [rcx]
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 + 0x28], r15d
mov dword [rsp + 0x20], eax
call fcn.140041aa0
mov r14d, dword [0x14015ae9c]
mov rcx, qword [rbx + 0x18]
call fcn.14009b5a0
mov rcx, qword [rbx + 0x20]
mov qword [rbx + 0x18], rbp
call fcn.14009b5a0
mov qword [rbx + 0x20], rbp
mov rcx, qword [rbx + 0x10]
call fcn.14009b5a0
mov rcx, rbx
mov qword [rbx + 0x10], rbp
call fcn.14009b5a0
mov ebx, 0x200801
mov rcx, r12
call fcn.1400a4a38
mov r8, r12
lea rcx, [rsp + 0x50]
mov edx, 0x400
mov edi, eax
call fcn.1400a62e8
test rax, rax
jne 0x140020400
test rsi, rsi
je 0x14002076d
test r14d, r14d
jne 0x140020762
lea rcx, str.localization:_no_compatible_version_was_found___this_locale_will_be_ignored_n
call fcn.140041aa0
mov rcx, qword [rsi + 0x30]
mov rax, qword [rsi + 0x28]
mov qword [rcx], rax
mov rcx, qword [rsi + 0x28]
mov rax, qword [rsi + 0x30]
mov qword [rcx + 8], rax
mov qword [rsi + 0x28], rbp
mov qword [rsi + 0x30], rbp
mov rcx, qword [rsi + 0x18]
call fcn.14009b5a0
mov rcx, qword [rsi + 0x20]
mov qword [rsi + 0x18], rbp
call fcn.14009b5a0
mov rcx, qword [rsi + 0x10]
mov qword [rsi + 0x20], rbp
call fcn.14009b5a0
mov rcx, rsi
mov qword [rsi + 0x10], rbp
call fcn.14009b5a0
jmp 0x14002076d
mov rcx, r12
call fcn.1400a4a38
mov dword [rsi + 0xc], eax
mov rbx, qword [rsp + 0x40]
lea rdi, [0x140111648]
cmp qword [0x140111650], rdi
mov rdi, qword [rsp + 0x498]
setne bpl
jne 0x140020362
mov rdx, rbx
lea rcx, str.localization:__s_contains_no_valid_locale_sections_n
call fcn.140041aa0
jmp 0x140020362