Function at 0x140040806
Capabilities:
Read file on windows

Disassembly:
jmp 0x1400a2b00
mov qword [rsp + 0x20], r9
mov qword [rsp + 0x18], r8
mov qword [rsp + 0x10], rdx
mov qword [rsp + 8], rcx
push rbp
push rdi
mov eax, 0x10fb8
call fcn.14003f046
sub rsp, rax
lea rbp, [rsp + 0x30]
mov rdi, rsp
mov ecx, 0x43ee
mov eax, 0xcccccccc
rep stosd dword [rdi], eax
mov rcx, qword [rsp + 0x10fd8]
mov qword [rbp + 0x10f48], 0xfffffffffffffffe
mov rax, qword [0x140106018]
xor rax, rbp
mov qword [rbp + 0x10f78], rax
lea rcx, [0x14011b17b]
call fcn.14003f7fd
mov rax, qword [rbp + 0x10fa0]
mov dword [rax + 8], 0
mov rcx, qword [rbp + 0x10fb0]
call fcn.140041ce2
mov rcx, qword [rbp + 0x10fa0]
mov dword [rcx + 0xc], eax
mov rax, qword [rbp + 0x10fa0]
mov dword [rax + 0x10], 0
mov rax, qword [rbp + 0x10fa0]
mov dword [rax + 0xec], 5
mov rax, qword [rbp + 0x10fa0]
add rax, 0x40
lea rdx, [0x1400d6d70]
mov rcx, rax
call fcn.140040919
mov rax, qword [rbp + 0x10fb8]
mov dword [rax], 0
mov rax, qword [rbp + 0x10fc0]
mov dword [rax], 0
mov rax, qword [rbp + 0x10fc8]
mov dword [rax], 0
call fcn.140040144
mov rdx, rax
lea rcx, [rbp + 0x10]
call fcn.14003f5e6
mov dword [rbp + 0x10454], 0
jmp 0x1400a2c16
mov eax, dword [rbp + 0x10454]
inc eax
mov dword [rbp + 0x10454], eax
mov rax, qword [rbp + 0x10fa0]
mov eax, dword [rax + 0xc]
cmp dword [rbp + 0x10454], eax
jge 0x1400a31d0
mov rax, qword [rbp + 0x10fa0]
mov dword [rax], 0
mov rax, qword [rbp + 0x10fa0]
mov dword [rax + 4], 0x64
movsxd rax, dword [rbp + 0x10454]
mov rdx, rax
mov rcx, qword [rbp + 0x10fb0]
call fcn.1400400ae
mov qword [rbp + 0x10478], rax
mov rax, qword [rbp + 0x10478]
mov rdx, rax
lea rcx, [rbp + 0x10cb8]
call fcn.140041b2f
mov qword [rbp + 0x10f58], rax
mov rax, qword [rbp + 0x10fa0]
add rax, 0x18
mov rdx, qword [rbp + 0x10f58]
mov rcx, rax
call fcn.140040d38
lea rcx, [rbp + 0x10cb8]
call fcn.1400413a0
mov rax, qword [rbp + 0x10478]
mov rdx, rax
lea rcx, [rbp + 0x10cf8]
call fcn.140041b2f
mov qword [rbp + 0x10f58], rax
mov rax, qword [rbp + 0x10f58]
mov qword [rbp + 0x10f60], rax
lea r8, [0x1400dba3c]
mov rdx, qword [rbp + 0x10fa8]
lea rcx, [rbp + 0x10d38]
call fcn.14003fc08
mov qword [rbp + 0x10f68], rax
mov rax, qword [rbp + 0x10f68]
mov qword [rbp + 0x10f70], rax
mov r8, qword [rbp + 0x10f60]
mov rdx, qword [rbp + 0x10f70]
lea rcx, [rbp + 0x10498]
call fcn.14003f505
nop
lea rcx, [rbp + 0x10d38]
call fcn.1400413a0
nop
lea rcx, [rbp + 0x10cf8]
call fcn.1400413a0
lea rax, [rbp + 0x10d78]
mov qword [rbp + 0x10db8], rax
lea rdx, [rbp + 0x10498]
mov rcx, qword [rbp + 0x10db8]
call fcn.140040289
mov qword [rbp + 0x10f58], rax
mov rcx, qword [rbp + 0x10f58]
call fcn.14003fae1
movzx eax, al
test eax, eax
jne 0x1400a2dcc
mov rax, qword [rbp + 0x10478]
mov byte [rax + 0x80], 1
mov rax, qword [rbp + 0x10fc0]
mov eax, dword [rax]
inc eax
mov rcx, qword [rbp + 0x10fc0]
mov dword [rcx], eax
mov rax, qword [rbp + 0x10fc8]
mov eax, dword [rax]
mov rcx, qword [rbp + 0x10478]
add eax, dword [rcx + 0x2c]
mov rcx, qword [rbp + 0x10fc8]
mov dword [rcx], eax
mov rax, qword [rbp + 0x10fa0]
mov dword [rax], 0x64
lea rcx, [rbp + 0x10498]
call fcn.1400413a0
jmp 0x1400a2c08
mov qword [rbp + 0x104d8], 0
lea rcx, [rbp + 0x10498]
call fcn.140040612
lea r8, [0x1400e5874]
mov rdx, rax
lea rcx, [rbp + 0x104d8]
call qword [sym.imp.ucrtbased.dll__wfopen_s]
cmp qword [rbp + 0x104d8], 0
jne 0x1400a2e61
mov rax, qword [rbp + 0x10478]
mov byte [rax + 0x80], 0
mov rax, qword [rbp + 0x10478]
mov byte [rax + 0x81], 1
mov rax, qword [rbp + 0x10478]
add rax, 0x88
lea rdx, str.failed_to_open_for_checking
mov rcx, rax
call fcn.140040919
mov rax, qword [rbp + 0x10fb8]
mov eax, dword [rax]
inc eax
mov rcx, qword [rbp + 0x10fb8]
mov dword [rcx], eax
lea rcx, [rbp + 0x10498]
call fcn.1400413a0
jmp 0x1400a2c08
mov r8d, 2
xor edx, edx
mov rcx, qword [rbp + 0x104d8]
call qword [sym.imp.ucrtbased.dll_fseek]
mov rcx, qword [rbp + 0x104d8]
call qword [sym.imp.ucrtbased.dll_ftell]
mov dword [rbp + 0x104f4], eax
mov rcx, qword [rbp + 0x104d8]
call qword [sym.imp.ucrtbased.dll_rewind]
mov rax, qword [rbp + 0x10478]
mov eax, dword [rax + 0x28]
cmp dword [rbp + 0x104f4], eax
je 0x1400a2f11
mov rcx, qword [rbp + 0x104d8]
call qword [sym.imp.ucrtbased.dll_fclose]
mov rax, qword [rbp + 0x10478]
mov byte [rax + 0x80], 1
mov rax, qword [rbp + 0x10fc0]
mov eax, dword [rax]
inc eax
mov rcx, qword [rbp + 0x10fc0]
mov dword [rcx], eax
mov rax, qword [rbp + 0x10fc8]
mov eax, dword [rax]
mov rcx, qword [rbp + 0x10478]
add eax, dword [rcx + 0x2c]
mov rcx, qword [rbp + 0x10fc8]
mov dword [rcx], eax
mov rax, qword [rbp + 0x10fa0]
mov dword [rax], 0x64
lea rcx, [rbp + 0x10498]
call fcn.1400413a0
jmp 0x1400a2c08
mov rax, qword [rbp + 0x10fa0]
mov ecx, dword [rbp + 0x104f4]
mov dword [rax + 4], ecx
mov qword [rbp + 0x10518], 0
mov dword [rbp + 0x10534], 0
mov r9, qword [rbp + 0x104d8]
mov r8d, 0x10000
mov edx, 1
lea rcx, [rbp + 0x440]
call qword [sym.imp.ucrtbased.dll_fread]
mov qword [rbp + 0x10518], rax
cmp qword [rbp + 0x10518], 0
jbe 0x1400a2fc5
mov r9d, dword [rbp + 0x10534]
lea r8, [rbp + 0x10]
mov rdx, qword [rbp + 0x10518]
lea rcx, [rbp + 0x440]
call fcn.140041a6c
mov dword [rbp + 0x10534], eax
mov rax, qword [rbp + 0x10fa0]
movsxd rax, dword [rax]
add rax, qword [rbp + 0x10518]
mov rcx, qword [rbp + 0x10fa0]
mov dword [rcx], eax
mov rax, qword [rbp + 0x10fa0]
movsxd rax, dword [rax + 0x10]
add rax, qword [rbp + 0x10518]
mov rcx, qword [rbp + 0x10fa0]
mov dword [rcx + 0x10], eax
jmp 0x1400a2f36
mov r8d, 1
mov edx, 3
lea rcx, [rbp + 0x10560]
call fcn.140041765
nop
mov dl, 0x30
lea rcx, [rbp + 0x10dd4]
call fcn.14003f230
mov qword [rbp + 0x10f58], rax
mov edx, 8
lea rcx, [rbp + 0x10df8]
call fcn.14003f63b
lea rcx, [rbp + 0x10570]
mov rdx, rax
call fcn.14004047d
mov rcx, qword [rbp + 0x10f58]
mov rdx, rcx
mov rcx, rax
call fcn.14003fbfe
lea rdx, [0x140041035]
mov rcx, rax
call qword [sym.imp.MSVCP140D.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______ptr64___cdecl_std::basic_ostream_char__struct_std::char_traits_char__::operator___class_std::ios_base____ptr64____cdecl___class_std::ios_base____ptr64_____ptr64]
mov edx, dword [rbp + 0x10534]
mov rcx, rax
call qword [sym.imp.MSVCP140D.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______ptr64___cdecl_std::basic_ostream_char__struct_std::char_traits_char__::operator___unsigned_int____ptr64]
lea rdx, [rbp + 0x10678]
lea rcx, [rbp + 0x10560]
call fcn.140040383
nop
lea rax, [rbp + 0x10e28]
mov qword [rbp + 0x10e58], rax
lea rax, [rbp + 0x10e78]
mov qword [rbp + 0x10ea8], rax
lea rax, [rbp + 0x10ec8]
mov qword [rbp + 0x10ef8], rax
mov rdx, qword [rbp + 0x10e58]
lea rcx, [rbp + 0x10678]
call fcn.14003f61d
mov qword [rbp + 0x10f58], rax
mov rdx, qword [rbp + 0x10ea8]
lea rcx, [rbp + 0x10678]
call fcn.140041b61
mov qword [rbp + 0x10f60], rax
mov rdx, qword [rbp + 0x10ef8]
lea rcx, [rbp + 0x10678]
call fcn.14003f61d
mov qword [rbp + 0x10f68], rax
mov rax, qword [sym.imp.ucrtbased.dll_toupper]
mov qword [rsp + 0x20], rax
mov r9, qword [rbp + 0x10f58]
mov r8, qword [rbp + 0x10f60]
mov rdx, qword [rbp + 0x10f68]
lea rcx, [rbp + 0x10f18]
call fcn.140040293
lea rcx, [rbp + 0x10f18]
call fcn.14003f9a1
mov rax, qword [rbp + 0x10478]
add rax, 0x30
lea rdx, [rbp + 0x10678]
mov rcx, rax
call fcn.1400410e9
movzx eax, al
test eax, eax
je 0x1400a3174
mov rax, qword [rbp + 0x10478]
mov byte [rax + 0x80], 1
mov rax, qword [rbp + 0x10fc0]
mov eax, dword [rax]
inc eax
mov rcx, qword [rbp + 0x10fc0]
mov dword [rcx], eax
mov rax, qword [rbp + 0x10fc8]
mov eax, dword [rax]
mov rcx, qword [rbp + 0x10478]
add eax, dword [rcx + 0x2c]
mov rcx, qword [rbp + 0x10fc8]
mov dword [rcx], eax
mov rax, qword [rbp + 0x10fa0]
mov dword [rax], 0x64
mov rcx, qword [rbp + 0x104d8]
call qword [sym.imp.ucrtbased.dll_fclose]
mov rax, qword [rbp + 0x10478]
mov byte [rax + 0x80], 0
mov rax, qword [rbp + 0x10fa0]
mov eax, dword [rax + 8]
inc eax
mov rcx, qword [rbp + 0x10fa0]
mov dword [rcx + 8], eax
lea rcx, [rbp + 0x10678]
call fcn.1400404a0
nop
lea rcx, [rbp + 0x10560]
call fcn.14004196d
nop
lea rcx, [rbp + 0x10498]
call fcn.1400413a0
jmp 0x1400a2c08
mov rcx, qword [rbp + 0x10fa8]
call fcn.1400413a0
lea rcx, [rbp - 0x30]
lea rdx, [0x1400dde58]
call fcn.1400419f4
mov rcx, qword [rbp + 0x10f78]
xor rcx, rbp
call fcn.14003fb63
lea rsp, [rbp + 0x10f88]
pop rdi
pop rbp
ret