Function at 0x1400ca7d0
Capabilities:
Read file on windows

Disassembly:
push rdi
push r12
push r14
push r15
sub rsp, 0x228
mov rax, qword [0x140209b48]
xor rax, rsp
mov qword [rsp + 0x210], rax
or r12d, 0xffffffff
mov r15d, ecx
mov dword [rsp + 0xa4], ecx
lea rcx, [rsp + 0xf0]
or r14d, r12d
mov byte [0x14020b090], 0
mov dword [0x1401fd5f0], 0xffffffff
mov dword [0x1401fd5f4], 0xffffffff
mov dword [rsp + 0xb8], r12d
mov dword [rsp + 0xa0], r14d
call fcn.1400012c0
lea rdx, str.Everything.lng
lea rcx, [rsp + 0xf0]
call fcn.140177300
mov rcx, qword [rsp + 0xf8]
lea edx, [r12 + 2]
call fcn.1400d41f0
lea rcx, [rsp + 0xf0]
mov rdi, rax
mov qword [rsp + 0xc0], rax
call fcn.140175010
cmp rdi, 0xffffffffffffffff
je 0x1400cb13b
mov qword [rsp + 0x250], rbx
mov qword [rsp + 0x258], rbp
lea rcx, str.lng_file_opened__n
mov qword [rsp + 0x260], rsi
mov qword [rsp + 0x220], r13
call fcn.1400b35e0
lea r9, [rsp + 0x34]
lea r8d, [r12 + 5]
lea rdx, [rsp + 0x38]
xor r13d, r13d
mov rcx, rdi
mov qword [rsp + 0x20], r13
call qword [sym.imp.KERNEL32.dll_ReadFile]
lea rsi, [0x1400d8ce0]
test eax, eax
lea rbp, [0x1400d8cf0]
je 0x1400cae00
cmp dword [rsp + 0x34], 4
jne 0x1400cae00
mov edx, dword [rsp + 0x38]
lea rcx, str.header_size__d_n
call fcn.1400b35e0
lea r9, [rsp + 0x34]
lea r8d, [r12 + 5]
lea rdx, [rsp + 0xac]
mov rcx, rdi
mov qword [rsp + 0x20], r13
call qword [sym.imp.KERNEL32.dll_ReadFile]
test eax, eax
je 0x1400cae00
cmp dword [rsp + 0x34], 4
jne 0x1400cae00
mov edx, dword [rsp + 0xac]
lea rcx, str.version__d_n
call fcn.1400b35e0
cmp dword [rsp + 0xac], 1
jne 0x1400cae00
mov ecx, dword [rsp + 0x38]
call fcn.1400ce030
mov r8d, dword [rsp + 0x38]
lea r9, [rsp + 0x34]
mov rdx, rax
mov rcx, rdi
mov rbx, rax
mov qword [rsp + 0xe0], rax
mov qword [rsp + 0x20], r13
call qword [sym.imp.KERNEL32.dll_ReadFile]
test eax, eax
je 0x1400cade1
mov ecx, dword [rsp + 0x38]
cmp dword [rsp + 0x34], ecx
jne 0x1400cade1
lea rcx, str.got_header_n
call fcn.1400b35e0
lea rcx, [rsp + 0x50]
xor r8d, r8d
xor edx, edx
mov qword [rsp + 0x88], rsi
mov qword [rsp + 0x90], rbp
mov qword [rsp + 0x98], r13
call fcn.14017e620
test eax, eax
jne 0x1400cade1
mov eax, dword [rsp + 0x38]
mov qword [rsp + 0x50], rbx
mov dword [rsp + 0x58], eax
mov rax, qword [0x14020b210]
test rax, rax
je 0x1400ca9f7
call rax
movzx edx, ax
mov dword [rsp + 0x30], edx
jmp 0x1400caa04
call qword [sym.imp.KERNEL32.dll_GetSystemDefaultLangID]
movzx edx, ax
mov dword [rsp + 0x30], edx
lea rcx, str.system_default_lid__04x_n
call fcn.1400b35e0
cmp dword [rsp + 0x58], r13d
lea rax, [rsp + 0x44]
mov qword [rsp + 0x68], rax
mov dword [rsp + 0x70], 4
je 0x1400caa5a
nop
nop
lea rcx, [rsp + 0x50]
call fcn.14017f4f0
test eax, eax
je 0x1400caa43
cmp eax, 4
jne 0x1400caa5a
cmp dword [rsp + 0x70], r13d
je 0x1400caad6
cmp eax, 4
je 0x1400caa5a
cmp dword [rsp + 0x58], r13d
jne 0x1400caa30
mov ebx, r13d
lea rcx, str.count__d_n
mov edx, ebx
call fcn.1400b35e0
movsxd rdi, ebx
mov rcx, rdi
mov qword [rsp + 0xd8], rdi
shl rcx, 4
call fcn.1400ce030
test ebx, ebx
mov dword [0x14020b0a0], ebx
mov qword [0x14020b098], rax
mov r15d, r13d
jle 0x1400cadb0
mov ebx, dword [rsp + 0x30]
mov esi, dword [rsp + 0x30]
mov ebp, dword [rsp + 0x30]
mov edi, dword [rsp + 0x30]
movzx eax, bl
mov r14, r13
mov dword [rsp + 0xc8], eax
mov eax, dword [rsp + 0x30]
mov dword [rsp + 0xa8], esi
mov dword [rsp + 0x44], ebp
mov dword [rsp + 0xb0], edi
mov dword [rsp + 0xb4], eax
jmp 0x1400caae4
mov ebx, dword [rsp + 0x44]
jmp 0x1400caa5d
mov ebx, dword [rsp + 0x30]
cmp dword [rsp + 0x58], r13d
lea rax, [rsp + 0x48]
mov dword [rsp + 0x70], 2
mov qword [rsp + 0x68], rax
je 0x1400cab2a
nop
lea rcx, [rsp + 0x50]
call fcn.14017f4f0
test eax, eax
je 0x1400cab13
cmp eax, 4
jne 0x1400cab2a
cmp dword [rsp + 0x70], r13d
je 0x1400caca9
cmp eax, 4
je 0x1400cab2a
cmp dword [rsp + 0x58], r13d
jne 0x1400cab00
mov ebp, r13d
cmp dword [rsp + 0x58], r13d
lea rax, [rsp + 0xcc]
mov dword [rsp + 0x70], 4
mov qword [rsp + 0x68], rax
je 0x1400cab7a
nop
nop
lea rcx, [rsp + 0x50]
call fcn.14017f4f0
test eax, eax
je 0x1400cab63
cmp eax, 4
jne 0x1400cab7a
cmp dword [rsp + 0x70], r13d
je 0x1400cacb3
cmp eax, 4
je 0x1400cab7a
cmp dword [rsp + 0x58], r13d
jne 0x1400cab50
mov r12d, r13d
cmp dword [rsp + 0x58], r13d
lea rax, [rsp + 0xd4]
mov dword [rsp + 0x70], 4
mov qword [rsp + 0x68], rax
je 0x1400cabca
nop
nop
lea rcx, [rsp + 0x50]
call fcn.14017f4f0
test eax, eax
je 0x1400cabb3
cmp eax, 4
jne 0x1400cabca
cmp dword [rsp + 0x70], r13d
je 0x1400cacc0
cmp eax, 4
je 0x1400cabca
cmp dword [rsp + 0x58], r13d
jne 0x1400caba0
mov esi, r13d
cmp ebp, ebx
jne 0x1400cabe4
mov dword [0x1401fd5f4], r15d
mov dword [rsp + 0xa8], r12d
mov dword [rsp + 0x44], esi
cmp ebp, dword [rsp + 0xc8]
jne 0x1400cac01
mov dword [rsp + 0xb8], r15d
mov dword [rsp + 0xd0], r12d
mov dword [rsp + 0x40], esi
cmp dword [rsp + 0x58], r13d
lea rax, [rsp + 0x3c]
mov dword [rsp + 0x70], 1
mov qword [rsp + 0x68], rax
je 0x1400cac4a
nop
nop
lea rcx, [rsp + 0x50]
call fcn.14017f4f0
test eax, eax
je 0x1400cac33
cmp eax, 4
jne 0x1400cac4a
cmp dword [rsp + 0x70], r13d
je 0x1400caccc
cmp eax, 4
je 0x1400cac4a
cmp dword [rsp + 0x58], r13d
jne 0x1400cac20
lea rcx, [0x1401aef92]
call fcn.14016bb20
mov rcx, qword [0x14020b098]
mov qword [r14 + rcx], rax
mov rax, qword [0x14020b098]
mov word [r14 + rax + 8], bp
mov rax, qword [0x14020b098]
movzx ecx, word [r14 + rax + 8]
cmp dword [rsp + 0xa4], ecx
jne 0x1400cad56
mov ebx, esi
mov dword [rsp + 0xa0], r15d
mov edi, r12d
mov dword [rsp + 0xb4], ebx
mov dword [rsp + 0xb0], r12d
jmp 0x1400cad5d
movzx ebp, word [rsp + 0x48]
jmp 0x1400cab2d
mov r12d, dword [rsp + 0xcc]
jmp 0x1400cab7d
mov esi, dword [rsp + 0xd4]
jmp 0x1400cabcd
movzx ebx, byte [rsp + 0x3c]
test ebx, ebx
je 0x1400cac4a
mov rcx, rbx
call fcn.1400ce030
mov rcx, qword [0x14020b098]
mov qword [r14 + rcx], rax
mov rax, qword [0x14020b098]
mov word [r14 + rax + 8], bp
cmp dword [rsp + 0x58], r13d
mov rcx, qword [0x14020b098]
mov rax, qword [r14 + rcx]
mov dword [rsp + 0x70], ebx
mov qword [rsp + 0x68], rax
je 0x1400cad41
lea rcx, [rsp + 0x50]
call fcn.14017f4f0
test eax, eax
je 0x1400cad27
cmp eax, 4
jne 0x1400cad3a
cmp dword [rsp + 0x70], r13d
je 0x1400cad3a
cmp eax, 4
je 0x1400cad3a
cmp dword [rsp + 0x58], r13d
jne 0x1400cad14
mov rcx, qword [0x14020b098]
mov rax, qword [r14 + rcx]
mov edi, dword [rsp + 0xb0]
mov byte [rax + rbx - 1], r13b
jmp 0x1400cac6e
mov ebx, dword [rsp + 0xb4]
add r15d, 1
add r14, 0x10
sub qword [rsp + 0xd8], 1
jne 0x1400caae0
mov esi, dword [rsp + 0xa8]
mov ebp, dword [rsp + 0x44]
mov r12d, dword [rsp + 0xb8]
mov r14d, dword [rsp + 0xa0]
lea rcx, [rsp + 0x50]
call fcn.14017f620
mov rcx, qword [rsp + 0xe0]
mov r15d, dword [rsp + 0xa4]
call fcn.1400ce0b0
jmp 0x1400cae10
mov esi, dword [rsp + 0x30]
mov ebp, dword [rsp + 0x30]
mov edi, dword [rsp + 0x30]
mov ebx, dword [rsp + 0x30]
lea rcx, [rsp + 0x50]
call fcn.14017f620
mov rcx, qword [rsp + 0xe0]
mov r15d, dword [rsp + 0xa4]
call fcn.1400ce0b0
jmp 0x1400cae10
mov rcx, qword [rsp + 0xe0]
mov esi, dword [rsp + 0x30]
mov ebp, dword [rsp + 0x30]
mov edi, dword [rsp + 0x30]
mov ebx, dword [rsp + 0x30]
call fcn.1400ce0b0
jmp 0x1400cae10
mov esi, dword [rsp + 0x30]
mov ebp, dword [rsp + 0x30]
mov edi, dword [rsp + 0x30]
mov ebx, dword [rsp + 0x30]
mov eax, dword [0x1401fd5f4]
cmp eax, 0xffffffff
jne 0x1400cae34
cmp r12d, eax
je 0x1400cae34
mov esi, dword [rsp + 0xd0]
mov ebp, dword [rsp + 0x40]
mov eax, r12d
mov dword [0x1401fd5f4], eax
cmp r14d, 0xffffffff
jne 0x1400cae60
cmp eax, r14d
je 0x1400cb10a
cmp r15d, 0x409
je 0x1400cb10a
cmp eax, 0xffffffff
mov r14d, eax
mov edi, esi
mov ebx, ebp
je 0x1400cb10a
mov eax, dword [rsp + 0x38]
mov r12, qword [rsp + 0xc0]
xor r9d, r9d
lea edx, [rdi + rax + 8]
xor r8d, r8d
mov rcx, r12
call qword [sym.imp.KERNEL32.dll_SetFilePointer]
mov ecx, dword [rsp + 0x38]
lea edx, [rdi + rcx + 8]
cmp eax, edx
jne 0x1400cb112
movsxd rcx, ebx
call fcn.1400ce030
lea r9, [rsp + 0x34]
mov r8d, ebx
mov rcx, r12
mov rdx, rax
mov qword [rsp + 0x20], r13
mov rbp, rax
call qword [sym.imp.KERNEL32.dll_ReadFile]
test eax, eax
je 0x1400cb0e1
cmp dword [rsp + 0x34], ebx
jne 0x1400cb0e1
lea rax, [0x1400d8ce0]
lea rcx, [rsp + 0x50]
xor r8d, r8d
mov qword [rsp + 0x88], rax
lea rax, [0x1400d8cf0]
xor edx, edx
mov qword [rsp + 0x90], rax
mov qword [rsp + 0x98], r13
call fcn.14017e620
test eax, eax
jne 0x1400cb0e1
mov ecx, 0x3338
mov dword [rsp + 0x58], ebx
mov qword [rsp + 0x50], rbp
call fcn.1400ce030
mov rdx, r13
lea r8, [0x1401fd600]
mov qword [0x1401fd5f8], rax
nop
nop
nop
mov rcx, qword [rdx + r8]
add rdx, 8
cmp rdx, 0x3338
mov qword [rdx + rax - 8], rcx
jge 0x1400caf4f
mov rax, qword [0x1401fd5f8]
jmp 0x1400caf30
cmp dword [rsp + 0x58], r13d
lea rax, [rsp + 0x40]
mov dword [rsp + 0x70], 4
mov qword [rsp + 0x68], rax
je 0x1400caf9a
nop
nop
lea rcx, [rsp + 0x50]
call fcn.14017f4f0
test eax, eax
je 0x1400caf83
cmp eax, 4
jne 0x1400caf9a
cmp dword [rsp + 0x70], r13d
je 0x1400cb053
cmp eax, 4
je 0x1400caf9a
cmp dword [rsp + 0x58], r13d
jne 0x1400caf70
mov ebx, r13d
cmp dword [rsp + 0x58], r13d
lea rax, [rsp + 0x40]
mov dword [rsp + 0x70], 4
mov qword [rsp + 0x68], rax
je 0x1400cafe0
lea rcx, [rsp + 0x50]
call fcn.14017f4f0
test eax, eax
je 0x1400cafc9
cmp eax, 4
jne 0x1400cafe0
cmp dword [rsp + 0x70], r13d
je 0x1400cb05c
cmp eax, 4
je 0x1400cafe0
cmp dword [rsp + 0x58], r13d
jne 0x1400cafb6
mov eax, r13d
and bl, 1
test eax, eax
mov dword [0x1401fd5f0], r14d
mov byte [0x14020b090], bl
movsxd rsi, eax
jle 0x1400cb0d7
nop
cmp dword [rsp + 0x58], 0
lea rax, [rsp + 0x40]
mov dword [rsp + 0x70], 4
mov qword [rsp + 0x68], rax
je 0x1400cb0fb
nop
lea rcx, [rsp + 0x50]
call fcn.14017f4f0
test eax, eax
je 0x1400cb037
cmp eax, 4
jne 0x1400cb0fb
cmp dword [rsp + 0x70], 0
je 0x1400cb06f
cmp eax, 4
je 0x1400cb0fb
cmp dword [rsp + 0x58], 0
jne 0x1400cb020
jmp 0x1400cb0fb
mov ebx, dword [rsp + 0x40]
jmp 0x1400caf9d
mov eax, dword [rsp + 0x40]
mov ecx, 0x667
cmp eax, ecx
cmovg eax, ecx
jmp 0x1400cafe3
movsxd rbx, dword [rsp + 0x40]
test ebx, ebx
je 0x1400cb0fb
mov rcx, rbx
call fcn.1400ce030
mov rcx, qword [0x1401fd5f8]
mov qword [rcx + r13*8], rax
cmp dword [rsp + 0x58], 0
mov dword [rsp + 0x70], ebx
mov qword [rsp + 0x68], rax
je 0x1400cb0c6
nop
lea rcx, [rsp + 0x50]
call fcn.14017f4f0
test eax, eax
je 0x1400cb0b3
cmp eax, 4
jne 0x1400cb0c6
cmp dword [rsp + 0x70], 0
je 0x1400cb0eb
cmp eax, 4
je 0x1400cb0c6
cmp dword [rsp + 0x58], 0
jne 0x1400cb0a0
mov byte [0x14020b090], 0
mov dword [0x1401fd5f0], 0xffffffff
lea rcx, [rsp + 0x50]
call fcn.14017f620
mov rcx, rbp
call fcn.1400ce0b0
jmp 0x1400cb112
mov rax, qword [0x1401fd5f8]
mov rcx, qword [rax + r13*8]
mov byte [rcx + rbx - 1], 0
add r13, 1
cmp r13, rsi
jl 0x1400cb000
jmp 0x1400cb0d7
mov r12, qword [rsp + 0xc0]
mov rcx, r12
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov r13, qword [rsp + 0x220]
mov rsi, qword [rsp + 0x260]
mov rbp, qword [rsp + 0x258]
mov rbx, qword [rsp + 0x250]
mov rcx, qword [rsp + 0x210]
xor rcx, rsp
call fcn.1401a6ae0
add rsp, 0x228
pop r15
pop r14
pop r12
pop rdi
ret