Function at 0x1400cb440
Capabilities:
Read file on windows

Disassembly:
push rbx
push rsi
push rdi
sub rsp, 0x220
mov rax, qword [0x14020cc58]
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 [0x14020e1a0], 0
mov dword [0x140200700], 0xffffffff
mov dword [0x140200704], 0xffffffff
mov dword [rsp + 0x30], esi
call fcn.14017d460
lea rdx, str.Everything.lng
lea rcx, [rsp + 0xe0]
call fcn.1401794c0
mov rcx, qword [rsp + 0xe8]
lea edx, [rsi + 2]
call fcn.1400d5540
lea rcx, [rsp + 0xe0]
mov rdi, rax
mov qword [rsp + 0xb0], rax
call fcn.1400012c0
cmp rdi, 0xffffffffffffffff
je 0x1400cbcca
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.1400b3fe0
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, [0x1400d9e90]
test eax, eax
lea r15, [0x1400d9ea0]
je 0x1400cb9f4
cmp dword [rsp + 0x34], 4
jne 0x1400cb9f4
mov edx, dword [rsp + 0x38]
lea rcx, str.header_size__d_n
call fcn.1400b3fe0
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 0x1400cb9f4
cmp dword [rsp + 0x34], 4
jne 0x1400cb9f4
mov edx, dword [rsp + 0xa4]
lea rcx, str.version__d_n
call fcn.1400b3fe0
cmp dword [rsp + 0xa4], 1
jne 0x1400cb9f4
mov ecx, dword [rsp + 0x38]
mov qword [rsp + 0x248], r12
call fcn.1400cf700
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 0x1400cb9d0
mov ecx, dword [rsp + 0x38]
cmp dword [rsp + 0x34], ecx
jne 0x1400cb9d0
lea rcx, str.got_header_n
call fcn.1400b3fe0
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.140180a20
test eax, eax
jne 0x1400cb9d0
mov eax, dword [rsp + 0x38]
mov qword [rsp + 0x50], r12
mov dword [rsp + 0x58], eax
mov rax, qword [0x14020e330]
test rax, rax
je 0x1400cb659
call rax
movzx eax, ax
mov dword [rsp + 0xa8], eax
jmp 0x1400cb669
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.1400b3fe0
cmp dword [rsp + 0x58], r13d
lea rax, [rsp + 0x44]
mov qword [rsp + 0x68], rax
mov dword [rsp + 0x70], 4
je 0x1400cb6ba
lea rcx, [rsp + 0x50]
call fcn.1401818f0
test eax, eax
je 0x1400cb6a3
cmp eax, 4
jne 0x1400cb6ba
cmp dword [rsp + 0x70], r13d
je 0x1400cb8b5
cmp eax, 4
je 0x1400cb6ba
cmp dword [rsp + 0x58], r13d
jne 0x1400cb690
mov ebx, r13d
lea rcx, str.count__d_n
mov edx, ebx
call fcn.1400b3fe0
movsxd rdi, ebx
mov rcx, rdi
mov qword [rsp + 0xc8], rdi
shl rcx, 4
call fcn.1400cf700
test ebx, ebx
mov dword [0x14020e1b0], ebx
mov qword [0x14020e1a8], rax
mov r15d, r13d
jle 0x1400cb9ad
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 0x1400cb75a
nop
nop
lea rcx, [rsp + 0x50]
call fcn.1401818f0
test eax, eax
je 0x1400cb743
cmp eax, 4
jne 0x1400cb75a
cmp dword [rsp + 0x70], r13d
je 0x1400cb8be
cmp eax, 4
je 0x1400cb75a
cmp dword [rsp + 0x58], r13d
jne 0x1400cb730
mov ebp, r13d
cmp dword [rsp + 0x58], r13d
lea rax, [rsp + 0xb8]
mov dword [rsp + 0x70], 4
mov qword [rsp + 0x68], rax
je 0x1400cb7aa
nop
nop
lea rcx, [rsp + 0x50]
call fcn.1401818f0
test eax, eax
je 0x1400cb793
cmp eax, 4
jne 0x1400cb7aa
cmp dword [rsp + 0x70], r13d
je 0x1400cb8c8
cmp eax, 4
je 0x1400cb7aa
cmp dword [rsp + 0x58], r13d
jne 0x1400cb780
mov r12d, r13d
cmp dword [rsp + 0x58], r13d
lea rax, [rsp + 0xc0]
mov dword [rsp + 0x70], 4
mov qword [rsp + 0x68], rax
je 0x1400cb7fa
nop
nop
lea rcx, [rsp + 0x50]
call fcn.1401818f0
test eax, eax
je 0x1400cb7e3
cmp eax, 4
jne 0x1400cb7fa
cmp dword [rsp + 0x70], r13d
je 0x1400cb8d5
cmp eax, 4
je 0x1400cb7fa
cmp dword [rsp + 0x58], r13d
jne 0x1400cb7d0
mov esi, r13d
cmp ebp, dword [rsp + 0xa8]
jne 0x1400cb819
mov dword [0x140200704], 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 0x1400cb85c
lea rcx, [rsp + 0x50]
call fcn.1401818f0
test eax, eax
je 0x1400cb845
cmp eax, 4
jne 0x1400cb85c
cmp dword [rsp + 0x70], r13d
je 0x1400cb8e1
cmp eax, 4
je 0x1400cb85c
cmp dword [rsp + 0x58], r13d
jne 0x1400cb832
lea rcx, [0x1401b0f62]
call fcn.14016dcc0
mov rcx, qword [0x14020e1a8]
mov qword [r14 + rcx], rax
mov rax, qword [0x14020e1a8]
mov word [r14 + rax + 8], bp
mov rax, qword [0x14020e1a8]
movzx ecx, word [r14 + rax + 8]
cmp dword [rsp + 0xa0], ecx
jne 0x1400cb973
mov ebx, esi
mov dword [rsp + 0x30], r15d
mov ebp, r12d
mov dword [rsp + 0xac], ebx
mov dword [rsp + 0x44], r12d
jmp 0x1400cb97e
mov ebx, dword [rsp + 0x44]
jmp 0x1400cb6bd
movzx ebp, word [rsp + 0x48]
jmp 0x1400cb75d
mov r12d, dword [rsp + 0xb8]
jmp 0x1400cb7ad
mov esi, dword [rsp + 0xc0]
jmp 0x1400cb7fd
movzx ebx, byte [rsp + 0x40]
test ebx, ebx
je 0x1400cb85c
mov rcx, rbx
call fcn.1400cf700
mov rcx, qword [0x14020e1a8]
mov qword [r14 + rcx], rax
mov rax, qword [0x14020e1a8]
mov word [r14 + rax + 8], bp
cmp dword [rsp + 0x58], r13d
mov rcx, qword [0x14020e1a8]
mov rax, qword [r14 + rcx]
mov dword [rsp + 0x70], ebx
mov qword [rsp + 0x68], rax
je 0x1400cb95d
nop
nop
lea rcx, [rsp + 0x50]
call fcn.1401818f0
test eax, eax
je 0x1400cb943
cmp eax, 4
jne 0x1400cb956
cmp dword [rsp + 0x70], r13d
je 0x1400cb956
cmp eax, 4
je 0x1400cb956
cmp dword [rsp + 0x58], r13d
jne 0x1400cb930
mov rcx, qword [0x14020e1a8]
mov rax, qword [r14 + rcx]
mov rdi, qword [rsp + 0xc8]
mov byte [rax + rbx - 1], r13b
jmp 0x1400cb880
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 0x1400cb710
mov esi, dword [rsp + 0x30]
mov r12, qword [rsp + 0xd0]
lea r14, [0x1400d9e90]
jmp 0x1400cb9b5
mov ebp, dword [rsp + 0x30]
mov ebx, dword [rsp + 0x30]
lea rcx, [rsp + 0x50]
call fcn.140181a20
mov rdi, qword [rsp + 0xb0]
lea r15, [0x1400d9ea0]
jmp 0x1400cb9d8
mov ebp, dword [rsp + 0x30]
mov ebx, dword [rsp + 0x30]
mov rcx, r12
call fcn.1400cf780
cmp esi, 0xffffffff
mov r12, qword [rsp + 0x248]
jne 0x1400cba23
mov ebx, dword [rsp + 0xa0]
mov esi, dword [0x140200704]
cmp esi, 0xffffffff
je 0x1400cbca1
cmp ebx, 0x409
je 0x1400cbca1
cmp esi, 0xffffffff
mov ebp, dword [rsp + 0xbc]
mov ebx, dword [rsp + 0x3c]
je 0x1400cbca1
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 0x1400cbca1
movsxd rcx, ebx
call fcn.1400cf700
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 0x1400cbc99
cmp dword [rsp + 0x34], ebx
jne 0x1400cbc99
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.140180a20
test eax, eax
jne 0x1400cbc99
mov ecx, 0x3338
mov dword [rsp + 0x58], ebx
mov qword [rsp + 0x50], rbp
call fcn.1400cf700
mov rdx, r13
lea r8, [0x140200710]
mov qword [0x140200708], rax
nop
nop
nop
nop
mov rcx, qword [rdx + r8]
add rdx, 8
cmp rdx, 0x3338
mov qword [rdx + rax - 8], rcx
jge 0x1400cbaff
mov rax, qword [0x140200708]
jmp 0x1400cbae0
cmp dword [rsp + 0x58], r13d
lea rax, [rsp + 0x3c]
mov dword [rsp + 0x70], 4
mov qword [rsp + 0x68], rax
je 0x1400cbb4a
nop
nop
lea rcx, [rsp + 0x50]
call fcn.1401818f0
test eax, eax
je 0x1400cbb33
cmp eax, 4
jne 0x1400cbb4a
cmp dword [rsp + 0x70], r13d
je 0x1400cbc03
cmp eax, 4
je 0x1400cbb4a
cmp dword [rsp + 0x58], r13d
jne 0x1400cbb20
mov ebx, r13d
cmp dword [rsp + 0x58], r13d
lea rax, [rsp + 0x3c]
mov dword [rsp + 0x70], 4
mov qword [rsp + 0x68], rax
je 0x1400cbb90
lea rcx, [rsp + 0x50]
call fcn.1401818f0
test eax, eax
je 0x1400cbb79
cmp eax, 4
jne 0x1400cbb90
cmp dword [rsp + 0x70], r13d
je 0x1400cbc0c
cmp eax, 4
je 0x1400cbb90
cmp dword [rsp + 0x58], r13d
jne 0x1400cbb66
mov eax, r13d
and bl, 1
test eax, eax
mov dword [0x140200700], esi
mov byte [0x14020e1a0], bl
movsxd rsi, eax
jle 0x1400cbc8f
nop
cmp dword [rsp + 0x58], 0
lea rax, [rsp + 0x3c]
mov dword [rsp + 0x70], 4
mov qword [rsp + 0x68], rax
je 0x1400cbcf5
nop
lea rcx, [rsp + 0x50]
call fcn.1401818f0
test eax, eax
je 0x1400cbbe7
cmp eax, 4
jne 0x1400cbcf5
cmp dword [rsp + 0x70], 0
je 0x1400cbc1f
cmp eax, 4
je 0x1400cbcf5
cmp dword [rsp + 0x58], 0
jne 0x1400cbbd0
jmp 0x1400cbcf5
mov ebx, dword [rsp + 0x3c]
jmp 0x1400cbb4d
mov eax, dword [rsp + 0x3c]
mov ecx, 0x667
cmp eax, ecx
cmovg eax, ecx
jmp 0x1400cbb93
movsxd rbx, dword [rsp + 0x3c]
test ebx, ebx
je 0x1400cbcf5
mov rcx, rbx
call fcn.1400cf700
mov rcx, qword [0x140200708]
mov qword [rcx + r13*8], rax
cmp dword [rsp + 0x58], 0
mov dword [rsp + 0x70], ebx
mov qword [rsp + 0x68], rax
je 0x1400cbc76
nop
lea rcx, [rsp + 0x50]
call fcn.1401818f0
test eax, eax
je 0x1400cbc63
cmp eax, 4
jne 0x1400cbc76
cmp dword [rsp + 0x70], 0
je 0x1400cbce5
cmp eax, 4
je 0x1400cbc76
cmp dword [rsp + 0x58], 0
jne 0x1400cbc50
mov byte [0x14020e1a0], 0
mov dword [0x140200700], 0xffffffff
mov rdi, qword [rsp + 0xb0]
lea rcx, [rsp + 0x50]
call fcn.140181a20
mov rcx, rbp
call fcn.1400cf780
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.1401a8ec0
add rsp, 0x220
pop rdi
pop rsi
pop rbx
ret
mov rax, qword [0x140200708]
mov rcx, qword [rax + r13*8]
mov byte [rcx + rbx - 1], 0
add r13, 1
cmp r13, rsi
jl 0x1400cbbb0
jmp 0x1400cbc87