Function at 0x1400cb2d0
Capabilities:
Read file on windows

Disassembly:
push rbx
push rsi
push rdi
sub rsp, 0x220
mov rax, qword [0x14020cc08]
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 [0x14020e168], 0
mov dword [0x1402006b0], 0xffffffff
mov dword [0x1402006b4], 0xffffffff
mov dword [rsp + 0x30], esi
call fcn.1400012c0
lea rdx, str.Everything.lng
lea rcx, [rsp + 0xe0]
call fcn.140179840
mov rcx, qword [rsp + 0xe8]
lea edx, [rsi + 2]
call fcn.1400d56d0
lea rcx, [rsp + 0xe0]
mov rdi, rax
mov qword [rsp + 0xb0], rax
call fcn.140177510
cmp rdi, 0xffffffffffffffff
je 0x1400cbb5a
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.1400b3e90
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, [0x1400da1b0]
test eax, eax
lea r15, [0x1400da1c0]
je 0x1400cb884
cmp dword [rsp + 0x34], 4
jne 0x1400cb884
mov edx, dword [rsp + 0x38]
lea rcx, str.header_size__d_n
call fcn.1400b3e90
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 0x1400cb884
cmp dword [rsp + 0x34], 4
jne 0x1400cb884
mov edx, dword [rsp + 0xa4]
lea rcx, str.version__d_n
call fcn.1400b3e90
cmp dword [rsp + 0xa4], 1
jne 0x1400cb884
mov ecx, dword [rsp + 0x38]
mov qword [rsp + 0x248], r12
call fcn.1400cf3f0
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 0x1400cb860
mov ecx, dword [rsp + 0x38]
cmp dword [rsp + 0x34], ecx
jne 0x1400cb860
lea rcx, str.got_header_n
call fcn.1400b3e90
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.140180b20
test eax, eax
jne 0x1400cb860
mov eax, dword [rsp + 0x38]
mov qword [rsp + 0x50], r12
mov dword [rsp + 0x58], eax
mov rax, qword [0x14020e2f8]
test rax, rax
je 0x1400cb4e9
call rax
movzx eax, ax
mov dword [rsp + 0xa8], eax
jmp 0x1400cb4f9
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.1400b3e90
cmp dword [rsp + 0x58], r13d
lea rax, [rsp + 0x44]
mov qword [rsp + 0x68], rax
mov dword [rsp + 0x70], 4
je 0x1400cb54a
lea rcx, [rsp + 0x50]
call fcn.1401819f0
test eax, eax
je 0x1400cb533
cmp eax, 4
jne 0x1400cb54a
cmp dword [rsp + 0x70], r13d
je 0x1400cb745
cmp eax, 4
je 0x1400cb54a
cmp dword [rsp + 0x58], r13d
jne 0x1400cb520
mov ebx, r13d
lea rcx, str.count__d_n
mov edx, ebx
call fcn.1400b3e90
movsxd rdi, ebx
mov rcx, rdi
mov qword [rsp + 0xc8], rdi
shl rcx, 4
call fcn.1400cf3f0
test ebx, ebx
mov dword [0x14020e178], ebx
mov qword [0x14020e170], rax
mov r15d, r13d
jle 0x1400cb83d
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 0x1400cb5ea
nop
nop
lea rcx, [rsp + 0x50]
call fcn.1401819f0
test eax, eax
je 0x1400cb5d3
cmp eax, 4
jne 0x1400cb5ea
cmp dword [rsp + 0x70], r13d
je 0x1400cb74e
cmp eax, 4
je 0x1400cb5ea
cmp dword [rsp + 0x58], r13d
jne 0x1400cb5c0
mov ebp, r13d
cmp dword [rsp + 0x58], r13d
lea rax, [rsp + 0xb8]
mov dword [rsp + 0x70], 4
mov qword [rsp + 0x68], rax
je 0x1400cb63a
nop
nop
lea rcx, [rsp + 0x50]
call fcn.1401819f0
test eax, eax
je 0x1400cb623
cmp eax, 4
jne 0x1400cb63a
cmp dword [rsp + 0x70], r13d
je 0x1400cb758
cmp eax, 4
je 0x1400cb63a
cmp dword [rsp + 0x58], r13d
jne 0x1400cb610
mov r12d, r13d
cmp dword [rsp + 0x58], r13d
lea rax, [rsp + 0xc0]
mov dword [rsp + 0x70], 4
mov qword [rsp + 0x68], rax
je 0x1400cb68a
nop
nop
lea rcx, [rsp + 0x50]
call fcn.1401819f0
test eax, eax
je 0x1400cb673
cmp eax, 4
jne 0x1400cb68a
cmp dword [rsp + 0x70], r13d
je 0x1400cb765
cmp eax, 4
je 0x1400cb68a
cmp dword [rsp + 0x58], r13d
jne 0x1400cb660
mov esi, r13d
cmp ebp, dword [rsp + 0xa8]
jne 0x1400cb6a9
mov dword [0x1402006b4], 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 0x1400cb6ec
lea rcx, [rsp + 0x50]
call fcn.1401819f0
test eax, eax
je 0x1400cb6d5
cmp eax, 4
jne 0x1400cb6ec
cmp dword [rsp + 0x70], r13d
je 0x1400cb771
cmp eax, 4
je 0x1400cb6ec
cmp dword [rsp + 0x58], r13d
jne 0x1400cb6c2
lea rcx, [0x1401b0f62]
call fcn.14016e020
mov rcx, qword [0x14020e170]
mov qword [r14 + rcx], rax
mov rax, qword [0x14020e170]
mov word [r14 + rax + 8], bp
mov rax, qword [0x14020e170]
movzx ecx, word [r14 + rax + 8]
cmp dword [rsp + 0xa0], ecx
jne 0x1400cb803
mov ebx, esi
mov dword [rsp + 0x30], r15d
mov ebp, r12d
mov dword [rsp + 0xac], ebx
mov dword [rsp + 0x44], r12d
jmp 0x1400cb80e
mov ebx, dword [rsp + 0x44]
jmp 0x1400cb54d
movzx ebp, word [rsp + 0x48]
jmp 0x1400cb5ed
mov r12d, dword [rsp + 0xb8]
jmp 0x1400cb63d
mov esi, dword [rsp + 0xc0]
jmp 0x1400cb68d
movzx ebx, byte [rsp + 0x40]
test ebx, ebx
je 0x1400cb6ec
mov rcx, rbx
call fcn.1400cf3f0
mov rcx, qword [0x14020e170]
mov qword [r14 + rcx], rax
mov rax, qword [0x14020e170]
mov word [r14 + rax + 8], bp
cmp dword [rsp + 0x58], r13d
mov rcx, qword [0x14020e170]
mov rax, qword [r14 + rcx]
mov dword [rsp + 0x70], ebx
mov qword [rsp + 0x68], rax
je 0x1400cb7ed
nop
nop
lea rcx, [rsp + 0x50]
call fcn.1401819f0
test eax, eax
je 0x1400cb7d3
cmp eax, 4
jne 0x1400cb7e6
cmp dword [rsp + 0x70], r13d
je 0x1400cb7e6
cmp eax, 4
je 0x1400cb7e6
cmp dword [rsp + 0x58], r13d
jne 0x1400cb7c0
mov rcx, qword [0x14020e170]
mov rax, qword [r14 + rcx]
mov rdi, qword [rsp + 0xc8]
mov byte [rax + rbx - 1], r13b
jmp 0x1400cb710
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 0x1400cb5a0
mov esi, dword [rsp + 0x30]
mov r12, qword [rsp + 0xd0]
lea r14, [0x1400da1b0]
jmp 0x1400cb845
mov ebp, dword [rsp + 0x30]
mov ebx, dword [rsp + 0x30]
lea rcx, [rsp + 0x50]
call fcn.140181b20
mov rdi, qword [rsp + 0xb0]
lea r15, [0x1400da1c0]
jmp 0x1400cb868
mov ebp, dword [rsp + 0x30]
mov ebx, dword [rsp + 0x30]
mov rcx, r12
call fcn.1400cf470
cmp esi, 0xffffffff
mov r12, qword [rsp + 0x248]
jne 0x1400cb8b3
mov ebx, dword [rsp + 0xa0]
mov esi, dword [0x1402006b4]
cmp esi, 0xffffffff
je 0x1400cbb31
cmp ebx, 0x409
je 0x1400cbb31
cmp esi, 0xffffffff
mov ebp, dword [rsp + 0xbc]
mov ebx, dword [rsp + 0x3c]
je 0x1400cbb31
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 0x1400cbb31
movsxd rcx, ebx
call fcn.1400cf3f0
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 0x1400cbb29
cmp dword [rsp + 0x34], ebx
jne 0x1400cbb29
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.140180b20
test eax, eax
jne 0x1400cbb29
mov ecx, 0x3338
mov dword [rsp + 0x58], ebx
mov qword [rsp + 0x50], rbp
call fcn.1400cf3f0
mov rdx, r13
lea r8, [0x1402006c0]
mov qword [0x1402006b8], rax
nop
nop
nop
nop
mov rcx, qword [rdx + r8]
add rdx, 8
cmp rdx, 0x3338
mov qword [rdx + rax - 8], rcx
jge 0x1400cb98f
mov rax, qword [0x1402006b8]
jmp 0x1400cb970
cmp dword [rsp + 0x58], r13d
lea rax, [rsp + 0x3c]
mov dword [rsp + 0x70], 4
mov qword [rsp + 0x68], rax
je 0x1400cb9da
nop
nop
lea rcx, [rsp + 0x50]
call fcn.1401819f0
test eax, eax
je 0x1400cb9c3
cmp eax, 4
jne 0x1400cb9da
cmp dword [rsp + 0x70], r13d
je 0x1400cba93
cmp eax, 4
je 0x1400cb9da
cmp dword [rsp + 0x58], r13d
jne 0x1400cb9b0
mov ebx, r13d
cmp dword [rsp + 0x58], r13d
lea rax, [rsp + 0x3c]
mov dword [rsp + 0x70], 4
mov qword [rsp + 0x68], rax
je 0x1400cba20
lea rcx, [rsp + 0x50]
call fcn.1401819f0
test eax, eax
je 0x1400cba09
cmp eax, 4
jne 0x1400cba20
cmp dword [rsp + 0x70], r13d
je 0x1400cba9c
cmp eax, 4
je 0x1400cba20
cmp dword [rsp + 0x58], r13d
jne 0x1400cb9f6
mov eax, r13d
and bl, 1
test eax, eax
mov dword [0x1402006b0], esi
mov byte [0x14020e168], bl
movsxd rsi, eax
jle 0x1400cbb1f
nop
cmp dword [rsp + 0x58], 0
lea rax, [rsp + 0x3c]
mov dword [rsp + 0x70], 4
mov qword [rsp + 0x68], rax
je 0x1400cbb85
nop
lea rcx, [rsp + 0x50]
call fcn.1401819f0
test eax, eax
je 0x1400cba77
cmp eax, 4
jne 0x1400cbb85
cmp dword [rsp + 0x70], 0
je 0x1400cbaaf
cmp eax, 4
je 0x1400cbb85
cmp dword [rsp + 0x58], 0
jne 0x1400cba60
jmp 0x1400cbb85
mov ebx, dword [rsp + 0x3c]
jmp 0x1400cb9dd
mov eax, dword [rsp + 0x3c]
mov ecx, 0x667
cmp eax, ecx
cmovg eax, ecx
jmp 0x1400cba23
movsxd rbx, dword [rsp + 0x3c]
test ebx, ebx
je 0x1400cbb85
mov rcx, rbx
call fcn.1400cf3f0
mov rcx, qword [0x1402006b8]
mov qword [rcx + r13*8], rax
cmp dword [rsp + 0x58], 0
mov dword [rsp + 0x70], ebx
mov qword [rsp + 0x68], rax
je 0x1400cbb06
nop
lea rcx, [rsp + 0x50]
call fcn.1401819f0
test eax, eax
je 0x1400cbaf3
cmp eax, 4
jne 0x1400cbb06
cmp dword [rsp + 0x70], 0
je 0x1400cbb75
cmp eax, 4
je 0x1400cbb06
cmp dword [rsp + 0x58], 0
jne 0x1400cbae0
mov byte [0x14020e168], 0
mov dword [0x1402006b0], 0xffffffff
mov rdi, qword [rsp + 0xb0]
lea rcx, [rsp + 0x50]
call fcn.140181b20
mov rcx, rbp
call fcn.1400cf470
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.1401a8fd0
add rsp, 0x220
pop rdi
pop rsi
pop rbx
ret
mov rax, qword [0x1402006b8]
mov rcx, qword [rax + r13*8]
mov byte [rcx + rbx - 1], 0
add r13, 1
cmp r13, rsi
jl 0x1400cba40
jmp 0x1400cbb17