Function at 0x1400ba3a0
Capabilities:
Read file on windows

Disassembly:
push rbx
push rsi
push rdi
sub rsp, 0x220
mov rax, qword [0x1401f22c8]
xor rax, rsp
mov qword [rsp + 0x200], rax
mov ebx, ecx
mov dword [rsp + 0xa0], ecx
lea rcx, [rsp + 0xe0]
or esi, 0xffffffff
mov byte [0x1401f3770], 0
mov dword [0x1401e5d70], 0xffffffff
mov dword [0x1401e5d74], 0xffffffff
mov dword [rsp + 0x30], esi
call fcn.1401617b0
lea rdx, str.Everything.lng
lea rcx, [rsp + 0xe0]
call fcn.140163a20
mov rcx, qword [rsp + 0xe8]
lea edx, [rsi + 2]
call fcn.1400c4490
lea rcx, [rsp + 0xe0]
mov rdi, rax
mov qword [rsp + 0xb0], rax
call fcn.140001150
cmp rdi, 0xffffffffffffffff
je 0x1400bac2a
mov qword [rsp + 0x240], rbp
mov qword [rsp + 0x250], r13
lea rcx, str.lng_file_opened__n
mov qword [rsp + 0x218], r14
mov qword [rsp + 0x210], r15
call fcn.1400b1c70
lea r9, [rsp + 0x34]
lea r8d, [rsi + 5]
lea rdx, [rsp + 0x38]
xor r13d, r13d
mov rcx, rdi
mov qword [rsp + 0x20], r13
call qword [sym.imp.KERNEL32.dll_ReadFile]
lea r14, [0x1400c8e10]
test eax, eax
lea r15, [0x1400c8e20]
je 0x1400ba954
cmp dword [rsp + 0x34], 4
jne 0x1400ba954
mov edx, dword [rsp + 0x38]
lea rcx, str.header_size__d_n
call fcn.1400b1c70
lea r9, [rsp + 0x34]
lea r8d, [rsi + 5]
lea rdx, [rsp + 0xa4]
mov rcx, rdi
mov qword [rsp + 0x20], r13
call qword [sym.imp.KERNEL32.dll_ReadFile]
test eax, eax
je 0x1400ba954
cmp dword [rsp + 0x34], 4
jne 0x1400ba954
mov edx, dword [rsp + 0xa4]
lea rcx, str.version__d_n
call fcn.1400b1c70
cmp dword [rsp + 0xa4], 1
jne 0x1400ba954
mov ecx, dword [rsp + 0x38]
mov qword [rsp + 0x248], r12
call fcn.1400be650
mov r8d, dword [rsp + 0x38]
lea r9, [rsp + 0x34]
mov rdx, rax
mov rcx, rdi
mov r12, rax
mov qword [rsp + 0xd0], rax
mov qword [rsp + 0x20], r13
call qword [sym.imp.KERNEL32.dll_ReadFile]
test eax, eax
je 0x1400ba930
mov ecx, dword [rsp + 0x38]
cmp dword [rsp + 0x34], ecx
jne 0x1400ba930
lea rcx, str.got_header_n
call fcn.1400b1c70
lea rcx, [rsp + 0x50]
xor r8d, r8d
xor edx, edx
mov qword [rsp + 0x88], r14
mov qword [rsp + 0x90], r15
mov qword [rsp + 0x98], r13
call fcn.14016ad40
test eax, eax
jne 0x1400ba930
mov eax, dword [rsp + 0x38]
mov qword [rsp + 0x50], r12
mov dword [rsp + 0x58], eax
mov rax, qword [0x1401f3900]
test rax, rax
je 0x1400ba5b9
call rax
movzx eax, ax
mov dword [rsp + 0xa8], eax
jmp 0x1400ba5c9
call qword [sym.imp.KERNEL32.dll_GetSystemDefaultLangID]
movzx eax, ax
mov dword [rsp + 0xa8], eax
lea rcx, str.system_default_lid__04x_n
mov edx, eax
call fcn.1400b1c70
cmp dword [rsp + 0x58], r13d
lea rax, [rsp + 0x44]
mov qword [rsp + 0x68], rax
mov dword [rsp + 0x70], 4
je 0x1400ba61a
lea rcx, [rsp + 0x50]
call fcn.14016bc10
test eax, eax
je 0x1400ba603
cmp eax, 4
jne 0x1400ba61a
cmp dword [rsp + 0x70], r13d
je 0x1400ba815
cmp eax, 4
je 0x1400ba61a
cmp dword [rsp + 0x58], r13d
jne 0x1400ba5f0
mov ebx, r13d
lea rcx, str.count__d_n
mov edx, ebx
call fcn.1400b1c70
movsxd rdi, ebx
mov rcx, rdi
mov qword [rsp + 0xc8], rdi
shl rcx, 4
call fcn.1400be650
test ebx, ebx
mov dword [0x1401f3780], ebx
mov qword [0x1401f3778], rax
mov r15d, r13d
jle 0x1400ba90d
mov eax, dword [rsp + 0x30]
mov r14, r13
mov dword [rsp + 0x44], eax
mov eax, dword [rsp + 0x30]
mov dword [rsp + 0xac], eax
cmp dword [rsp + 0x58], r13d
lea rax, [rsp + 0x48]
mov dword [rsp + 0x70], 2
mov qword [rsp + 0x68], rax
je 0x1400ba6ba
nop
nop
lea rcx, [rsp + 0x50]
call fcn.14016bc10
test eax, eax
je 0x1400ba6a3
cmp eax, 4
jne 0x1400ba6ba
cmp dword [rsp + 0x70], r13d
je 0x1400ba81e
cmp eax, 4
je 0x1400ba6ba
cmp dword [rsp + 0x58], r13d
jne 0x1400ba690
mov ebp, r13d
cmp dword [rsp + 0x58], r13d
lea rax, [rsp + 0xb8]
mov dword [rsp + 0x70], 4
mov qword [rsp + 0x68], rax
je 0x1400ba70a
nop
nop
lea rcx, [rsp + 0x50]
call fcn.14016bc10
test eax, eax
je 0x1400ba6f3
cmp eax, 4
jne 0x1400ba70a
cmp dword [rsp + 0x70], r13d
je 0x1400ba828
cmp eax, 4
je 0x1400ba70a
cmp dword [rsp + 0x58], r13d
jne 0x1400ba6e0
mov r12d, r13d
cmp dword [rsp + 0x58], r13d
lea rax, [rsp + 0xc0]
mov dword [rsp + 0x70], 4
mov qword [rsp + 0x68], rax
je 0x1400ba75a
nop
nop
lea rcx, [rsp + 0x50]
call fcn.14016bc10
test eax, eax
je 0x1400ba743
cmp eax, 4
jne 0x1400ba75a
cmp dword [rsp + 0x70], r13d
je 0x1400ba835
cmp eax, 4
je 0x1400ba75a
cmp dword [rsp + 0x58], r13d
jne 0x1400ba730
mov esi, r13d
cmp ebp, dword [rsp + 0xa8]
jne 0x1400ba779
mov dword [0x1401e5d74], r15d
mov dword [rsp + 0xbc], r12d
mov dword [rsp + 0x3c], esi
cmp dword [rsp + 0x58], r13d
lea rax, [rsp + 0x40]
mov dword [rsp + 0x70], 1
mov qword [rsp + 0x68], rax
je 0x1400ba7bc
lea rcx, [rsp + 0x50]
call fcn.14016bc10
test eax, eax
je 0x1400ba7a5
cmp eax, 4
jne 0x1400ba7bc
cmp dword [rsp + 0x70], r13d
je 0x1400ba841
cmp eax, 4
je 0x1400ba7bc
cmp dword [rsp + 0x58], r13d
jne 0x1400ba792
lea rcx, [0x14019aef2]
call fcn.140158580
mov rcx, qword [0x1401f3778]
mov qword [r14 + rcx], rax
mov rax, qword [0x1401f3778]
mov word [r14 + rax + 8], bp
mov rax, qword [0x1401f3778]
movzx ecx, word [r14 + rax + 8]
cmp dword [rsp + 0xa0], ecx
jne 0x1400ba8d3
mov ebx, esi
mov dword [rsp + 0x30], r15d
mov ebp, r12d
mov dword [rsp + 0xac], ebx
mov dword [rsp + 0x44], r12d
jmp 0x1400ba8de
mov ebx, dword [rsp + 0x44]
jmp 0x1400ba61d
movzx ebp, word [rsp + 0x48]
jmp 0x1400ba6bd
mov r12d, dword [rsp + 0xb8]
jmp 0x1400ba70d
mov esi, dword [rsp + 0xc0]
jmp 0x1400ba75d
movzx ebx, byte [rsp + 0x40]
test ebx, ebx
je 0x1400ba7bc
mov rcx, rbx
call fcn.1400be650
mov rcx, qword [0x1401f3778]
mov qword [r14 + rcx], rax
mov rax, qword [0x1401f3778]
mov word [r14 + rax + 8], bp
cmp dword [rsp + 0x58], r13d
mov rcx, qword [0x1401f3778]
mov rax, qword [r14 + rcx]
mov dword [rsp + 0x70], ebx
mov qword [rsp + 0x68], rax
je 0x1400ba8bd
nop
nop
lea rcx, [rsp + 0x50]
call fcn.14016bc10
test eax, eax
je 0x1400ba8a3
cmp eax, 4
jne 0x1400ba8b6
cmp dword [rsp + 0x70], r13d
je 0x1400ba8b6
cmp eax, 4
je 0x1400ba8b6
cmp dword [rsp + 0x58], r13d
jne 0x1400ba890
mov rcx, qword [0x1401f3778]
mov rax, qword [r14 + rcx]
mov rdi, qword [rsp + 0xc8]
mov byte [rax + rbx - 1], r13b
jmp 0x1400ba7e0
mov ebx, dword [rsp + 0xac]
mov ebp, dword [rsp + 0x44]
add r15d, 1
add r14, 0x10
sub rdi, 1
mov qword [rsp + 0xc8], rdi
jne 0x1400ba670
mov esi, dword [rsp + 0x30]
mov r12, qword [rsp + 0xd0]
lea r14, [0x1400c8e10]
jmp 0x1400ba915
mov ebp, dword [rsp + 0x30]
mov ebx, dword [rsp + 0x30]
lea rcx, [rsp + 0x50]
call fcn.14016bd40
mov rdi, qword [rsp + 0xb0]
lea r15, [0x1400c8e20]
jmp 0x1400ba938
mov ebp, dword [rsp + 0x30]
mov ebx, dword [rsp + 0x30]
mov rcx, r12
call fcn.1400be6d0
cmp esi, 0xffffffff
mov r12, qword [rsp + 0x248]
jne 0x1400ba983
mov ebx, dword [rsp + 0xa0]
mov esi, dword [0x1401e5d74]
cmp esi, 0xffffffff
je 0x1400bac01
cmp ebx, 0x409
je 0x1400bac01
cmp esi, 0xffffffff
mov ebp, dword [rsp + 0xbc]
mov ebx, dword [rsp + 0x3c]
je 0x1400bac01
mov eax, dword [rsp + 0x38]
xor r9d, r9d
xor r8d, r8d
lea edx, [rbp + rax + 8]
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_SetFilePointer]
mov ecx, dword [rsp + 0x38]
lea edx, [rbp + rcx + 8]
cmp eax, edx
jne 0x1400bac01
movsxd rcx, ebx
call fcn.1400be650
lea r9, [rsp + 0x34]
mov r8d, ebx
mov rcx, rdi
mov rdx, rax
mov qword [rsp + 0x20], r13
mov rbp, rax
call qword [sym.imp.KERNEL32.dll_ReadFile]
test eax, eax
je 0x1400babf9
cmp dword [rsp + 0x34], ebx
jne 0x1400babf9
lea rcx, [rsp + 0x50]
xor r8d, r8d
xor edx, edx
mov qword [rsp + 0x88], r14
mov qword [rsp + 0x90], r15
mov qword [rsp + 0x98], r13
call fcn.14016ad40
test eax, eax
jne 0x1400babf9
mov ecx, 0x3338
mov dword [rsp + 0x58], ebx
mov qword [rsp + 0x50], rbp
call fcn.1400be650
mov rdx, r13
lea r8, [0x1401e5d80]
mov qword [0x1401e5d78], rax
nop
nop
nop
nop
mov rcx, qword [rdx + r8]
add rdx, 8
cmp rdx, 0x3338
mov qword [rdx + rax - 8], rcx
jge 0x1400baa5f
mov rax, qword [0x1401e5d78]
jmp 0x1400baa40
cmp dword [rsp + 0x58], r13d
lea rax, [rsp + 0x3c]
mov dword [rsp + 0x70], 4
mov qword [rsp + 0x68], rax
je 0x1400baaaa
nop
nop
lea rcx, [rsp + 0x50]
call fcn.14016bc10
test eax, eax
je 0x1400baa93
cmp eax, 4
jne 0x1400baaaa
cmp dword [rsp + 0x70], r13d
je 0x1400bab63
cmp eax, 4
je 0x1400baaaa
cmp dword [rsp + 0x58], r13d
jne 0x1400baa80
mov ebx, r13d
cmp dword [rsp + 0x58], r13d
lea rax, [rsp + 0x3c]
mov dword [rsp + 0x70], 4
mov qword [rsp + 0x68], rax
je 0x1400baaf0
lea rcx, [rsp + 0x50]
call fcn.14016bc10
test eax, eax
je 0x1400baad9
cmp eax, 4
jne 0x1400baaf0
cmp dword [rsp + 0x70], r13d
je 0x1400bab6c
cmp eax, 4
je 0x1400baaf0
cmp dword [rsp + 0x58], r13d
jne 0x1400baac6
mov eax, r13d
and bl, 1
test eax, eax
mov dword [0x1401e5d70], esi
mov byte [0x1401f3770], bl
movsxd rsi, eax
jle 0x1400babef
nop
cmp dword [rsp + 0x58], 0
lea rax, [rsp + 0x3c]
mov dword [rsp + 0x70], 4
mov qword [rsp + 0x68], rax
je 0x1400bac55
nop
lea rcx, [rsp + 0x50]
call fcn.14016bc10
test eax, eax
je 0x1400bab47
cmp eax, 4
jne 0x1400bac55
cmp dword [rsp + 0x70], 0
je 0x1400bab7f
cmp eax, 4
je 0x1400bac55
cmp dword [rsp + 0x58], 0
jne 0x1400bab30
jmp 0x1400bac55
mov ebx, dword [rsp + 0x3c]
jmp 0x1400baaad
mov eax, dword [rsp + 0x3c]
mov ecx, 0x667
cmp eax, ecx
cmovg eax, ecx
jmp 0x1400baaf3
movsxd rbx, dword [rsp + 0x3c]
test ebx, ebx
je 0x1400bac55
mov rcx, rbx
call fcn.1400be650
mov rcx, qword [0x1401e5d78]
mov qword [rcx + r13*8], rax
cmp dword [rsp + 0x58], 0
mov dword [rsp + 0x70], ebx
mov qword [rsp + 0x68], rax
je 0x1400babd6
nop
lea rcx, [rsp + 0x50]
call fcn.14016bc10
test eax, eax
je 0x1400babc3
cmp eax, 4
jne 0x1400babd6
cmp dword [rsp + 0x70], 0
je 0x1400bac45
cmp eax, 4
je 0x1400babd6
cmp dword [rsp + 0x58], 0
jne 0x1400babb0
mov byte [0x1401f3770], 0
mov dword [0x1401e5d70], 0xffffffff
mov rdi, qword [rsp + 0xb0]
lea rcx, [rsp + 0x50]
call fcn.14016bd40
mov rcx, rbp
call fcn.1400be6d0
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov r15, qword [rsp + 0x210]
mov r14, qword [rsp + 0x218]
mov r13, qword [rsp + 0x250]
mov rbp, qword [rsp + 0x240]
mov rcx, qword [rsp + 0x200]
xor rcx, rsp
call fcn.1401931f0
add rsp, 0x220
pop rdi
pop rsi
pop rbx
ret
mov rax, qword [0x1401e5d78]
mov rcx, qword [rax + r13*8]
mov byte [rcx + rbx - 1], 0
add r13, 1
cmp r13, rsi
jl 0x1400bab10
jmp 0x1400babe7