Function at 0x1400c75d0
Capabilities:
Read file on windows

Disassembly:
mov qword [rsp + 0x10], rdx
mov qword [rsp + 8], rcx
sub rsp, 0x558
mov qword [rsp + 0x178], 0xfffffffffffffffe
mov rax, qword [0x1403542a0]
xor rax, rsp
mov qword [rsp + 0x540], rax
mov dword [rsp + 0xd8], 0
mov rcx, qword [rsp + 0x560]
call fcn.1400c5730
mov dword [rsp + 0x90], eax
mov eax, dword [rsp + 0x90]
mov dword [rsp + 0x68], eax
cmp dword [rsp + 0x68], 0
jne 0x1400c7a9c
mov rdx, qword [rsp + 0x560]
lea rcx, [rsp + 0x4c0]
call fcn.14000b8e0
mov qword [rsp + 0x138], rax
mov r8d, gethostbyaddr
xor edx, edx
lea rcx, [rsp + 0x490]
call sub.MSVCR110.dll_memset
cmp qword [rsp + 0x4d8], 8
jb 0x1400c7693
mov rax, qword [rsp + 0x170]
mov qword [rsp + 0x88], rax
mov rax, qword [rsp + 0x4c0]
mov qword [rsp + 0x88], rax
jmp 0x1400c76a3
lea rax, [rsp + 0x4c0]
mov qword [rsp + 0x88], rax
lea rdx, [rsp + 0x490]
mov rcx, qword [rsp + 0x88]
call qword [sym.imp.MSVCR110.dll__wstat64i32]
cmp dword [rsp + 0x4a4], 0
jne 0x1400c76e4
mov byte [rsp + 0x44], 0
xor r8d, r8d
mov dl, 1
lea rcx, [rsp + 0x4c0]
call fcn.140004620
movzx eax, byte [rsp + 0x44]
jmp 0x1400c8092
cmp qword [rsp + 0x4d8], 8
jb 0x1400c7711
mov rax, qword [rsp + 0x168]
mov qword [rsp + 0xa0], rax
mov rax, qword [rsp + 0x4c0]
mov qword [rsp + 0xa0], rax
jmp 0x1400c7721
lea rax, [rsp + 0x4c0]
mov qword [rsp + 0xa0], rax
lea r8, [0x1402a5c80]
mov rdx, qword [rsp + 0xa0]
lea rcx, [rsp + 0x70]
call qword [sym.imp.MSVCR110.dll__wfopen_s]
cmp qword [rsp + 0x70], 0
jne 0x1400c7764
mov byte [rsp + 0x49], 0
xor r8d, r8d
mov dl, 1
lea rcx, [rsp + 0x4c0]
call fcn.140004620
movzx eax, byte [rsp + 0x49]
jmp 0x1400c8092
mov eax, dword [rsp + 0x4a4]
inc eax
cdqe
mov rcx, rax
call sub.mfc110u.dll_Ordinal_265
mov qword [rsp + 0xc8], rax
mov rax, qword [rsp + 0xc8]
mov qword [rsp + 0x108], rax
mov rax, qword [rsp + 0x108]
mov qword [rsp + 0x50], rax
cmp qword [rsp + 0x50], 0
jne 0x1400c77c5
mov byte [rsp + 0x48], 0
xor r8d, r8d
mov dl, 1
lea rcx, [rsp + 0x4c0]
call fcn.140004620
movzx eax, byte [rsp + 0x48]
jmp 0x1400c8092
mov eax, dword [rsp + 0x4a4]
inc eax
cdqe
mov r8, rax
xor edx, edx
mov rcx, qword [rsp + 0x50]
call sub.MSVCR110.dll_memset
movsxd rax, dword [rsp + 0x4a4]
mov r9, qword [rsp + 0x70]
mov r8d, 1
mov rdx, rax
mov rcx, qword [rsp + 0x50]
call qword [sym.imp.MSVCR110.dll_fread]
movsxd rax, dword [rsp + 0x4a4]
mov rcx, qword [rsp + 0x50]
mov byte [rcx + rax], 0
mov eax, dword [rsp + 0x4a4]
inc eax
cdqe
mov qword [rsp + 0xe8], rax
mov eax, 2
mov rcx, qword [rsp + 0xe8]
mul rcx
mov rcx, 0xffffffffffffffff
cmovo rax, rcx
mov rcx, rax
call sub.mfc110u.dll_Ordinal_265
mov qword [rsp + reloc.mfc110u.dll_Ordinal_296], rax
mov rax, qword [rsp + reloc.mfc110u.dll_Ordinal_296]
mov qword [rsp + 0xf8], rax
mov rax, qword [rsp + 0xf8]
mov qword [rsp + 0x60], rax
cmp qword [rsp + 0x60], 0
jne 0x1400c78c0
cmp qword [rsp + 0x50], 0
je 0x1400c789f
mov rax, qword [rsp + 0x50]
mov qword [rsp + reloc.mfc110u.dll_Ordinal_280], rax
mov rcx, qword [rsp + reloc.mfc110u.dll_Ordinal_280]
call sub.mfc110u.dll_Ordinal_266
mov qword [rsp + 0x50], 0
mov byte [rsp + 0x47], 0
xor r8d, r8d
mov dl, 1
lea rcx, [rsp + 0x4c0]
call fcn.140004620
movzx eax, byte [rsp + 0x47]
jmp 0x1400c8092
mov eax, dword [rsp + 0x4a4]
inc eax
cdqe
shl rax, 1
mov r8, rax
xor edx, edx
mov rcx, qword [rsp + 0x60]
call sub.MSVCR110.dll_memset
mov rcx, qword [rsp + 0x50]
call sub.MSVCR110.dll_strlen
mov ecx, dword [rsp + 0x4a4]
mov dword [rsp + 0x28], ecx
mov rcx, qword [rsp + 0x60]
mov qword [rsp + 0x20], rcx
mov r9d, eax
mov r8, qword [rsp + 0x50]
xor edx, edx
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_MultiByteToWideChar]
movsxd rax, dword [rsp + 0x4a4]
xor ecx, ecx
mov rdx, qword [rsp + 0x60]
mov word [rdx + rax*2], cx
mov r8d, 1
mov edx, 3
lea rcx, [rsp + 0x290]
call fcn.1400034f0
mov qword [rsp + 0x160], rax
lea rax, [rsp + 0x290]
test rax, rax
je 0x1400c7964
lea rax, [rsp + 0x290]
add rax, 0x10
mov qword [rsp + 0xa8], rax
jmp 0x1400c7970
mov qword [rsp + 0xa8], 0
mov rdx, qword [rsp + 0x60]
mov rcx, qword [rsp + 0xa8]
call fcn.14000f7c0
mov qword [rsp + 0xd0], rax
lea rdx, [0x140204468]
mov rcx, qword [rsp + 0xd0]
call fcn.14000f7c0
lea rdx, [rsp + 0x520]
lea rcx, [rsp + 0x290]
call fcn.140005c20
mov qword [rsp + 0xe0], rax
mov rdx, qword [rsp + 0xe0]
mov rcx, qword [rsp + 0x568]
call fcn.14000fec0
xor r8d, r8d
mov dl, 1
lea rcx, [rsp + 0x520]
call fcn.140004620
cmp qword [rsp + 0x70], 0
je 0x1400c79fe
mov rcx, qword [rsp + 0x70]
call qword [sym.imp.MSVCR110.dll_fclose]
mov qword [rsp + 0x70], 0
cmp qword [rsp + 0x60], 0
je 0x1400c7a29
mov rax, qword [rsp + 0x60]
mov qword [rsp + 0xf0], rax
mov rcx, qword [rsp + 0xf0]
call sub.mfc110u.dll_Ordinal_266
mov qword [rsp + 0x60], 0
cmp qword [rsp + 0x50], 0
je 0x1400c7a54
mov rax, qword [rsp + 0x50]
mov qword [rsp + 0x100], rax
mov rcx, qword [rsp + 0x100]
call sub.mfc110u.dll_Ordinal_266
mov qword [rsp + 0x50], 0
mov byte [rsp + 0x43], 1
lea rax, [rsp + 0x328]
mov rcx, rax
call fcn.1400038d0
lea rax, [rsp + 0x328]
mov rcx, rax
call qword [sym.imp.MSVCP110.dll_public_virtual:_void___cdecl_std::basic_ios_unsigned_short_int__struct_std::char_traits_unsigned_short_int__::destructor_void____ptr64]
nop
xor r8d, r8d
mov dl, 1
lea rcx, [rsp + 0x4c0]
call fcn.140004620
movzx eax, byte [rsp + 0x43]
jmp 0x1400c8092
cmp dword [rsp + 0x68], 1
jne 0x1400c7cea
mov rdx, qword [rsp + 0x560]
lea rcx, [rsp + 0x500]
call fcn.1400cf140
mov qword [rsp + 0x110], rax
mov rax, qword [rsp + 0x110]
mov qword [rsp + 0x98], rax
mov rax, qword [rsp + 0x98]
cmp qword [rax + 0x18], 0x10
jb 0x1400c7b02
mov rax, qword [rsp + 0x150]
mov qword [rsp + 0x78], rax
mov rax, qword [rsp + 0x98]
mov rax, qword [rax]
mov qword [rsp + 0x78], rax
jmp 0x1400c7b0f
mov rax, qword [rsp + 0x98]
mov qword [rsp + 0x78], rax
mov dword [rsp + 0x20], 1
mov r9d, 0x40
mov r8d, 1
mov rdx, qword [rsp + 0x78]
lea rcx, [rsp + 0x180]
call fcn.1400c3fa0
mov qword [rsp + 0x158], rax
xor r8d, r8d
mov dl, 1
lea rcx, [rsp + 0x500]
call fcn.140001b20
mov rax, qword [rsp + 0x180]
movsxd rax, dword [rax + 4]
lea rax, [rsp + rax + 0x180]
mov rcx, rax
call qword [sym.imp.MSVCP110.dll_public:_bool___cdecl_std::ios_base::operator__void_const___ptr64]
mov byte [rsp + 0x46], al
movzx eax, byte [rsp + 0x46]
test eax, eax
je 0x1400c7ba9
mov byte [rsp + 0x40], 0
lea rax, [rsp + 0x230]
mov rcx, rax
call fcn.140025b40
lea rax, [rsp + 0x230]
mov rcx, rax
call qword [sym.imp.MSVCP110.dll_public_virtual:_void___cdecl_std::basic_ios_unsigned_short_int__struct_std::char_traits_unsigned_short_int__::destructor_void____ptr64]
movzx eax, byte [rsp + 0x40]
jmp 0x1400c8092
mov r8d, 0x3f
lea rdx, [0x1402a5b82]
lea rcx, [rsp + 0xb8]
call fcn.1400c44a0
mov qword [rsp + 0x148], rax
xor ecx, ecx
call qword [sym.imp.MSVCP110.dll_public:_static_bool___cdecl_std::ios_base::sync_with_stdio_bool_]
mov rax, qword [rsp + 0x180]
movsxd rax, dword [rax + 4]
lea rax, [rsp + rax + 0x180]
lea r8, [rsp + 0xb8]
lea rdx, [rsp + 0x120]
mov rcx, rax
call qword [sym.imp.MSVCP110.dll_public:_class_std::locale___cdecl_std::basic_ios_unsigned_short_int__struct_std::char_traits_unsigned_short_int__::imbue_class_std::locale_const____ptr64____ptr64]
lea rcx, [rsp + 0x120]
call fcn.1400267e0
mov r8d, 1
mov edx, 3
lea rcx, [rsp + 0x390]
call fcn.1400034f0
mov qword [rsp + 0x140], rax
lea rax, [rsp + 0x190]
lea rcx, [rsp + 0x3a0]
mov rdx, rax
call qword [sym.imp.MSVCP110.dll_public:_class_std::basic_ostream_unsigned_short_int__struct_std::char_traits_unsigned_short_int______ptr64___cdecl_std::basic_ostream_unsigned_short_int__struct_std::char_traits_unsigned_short_int__::operator___class_std::basic_streambuf_unsigned_short_int__struct_std::char_traits_unsigned_short_int______ptr64____ptr64]
lea rdx, [rsp + 0x4e0]
lea rcx, [rsp + 0x390]
call fcn.140005c20
mov qword [rsp + 0x130], rax
mov rdx, qword [rsp + 0x130]
mov rcx, qword [rsp + 0x568]
call fcn.14000fec0
xor r8d, r8d
mov dl, 1
lea rcx, [rsp + 0x4e0]
call fcn.140004620
mov byte [rsp + 0x45], 1
lea rax, [rsp + 0x428]
mov rcx, rax
call fcn.1400038d0
lea rax, [rsp + 0x428]
mov rcx, rax
call qword [sym.imp.MSVCP110.dll_public_virtual:_void___cdecl_std::basic_ios_unsigned_short_int__struct_std::char_traits_unsigned_short_int__::destructor_void____ptr64]
nop
lea rcx, [rsp + 0xb8]
call fcn.1400267e0
nop
lea rax, [rsp + 0x230]
mov rcx, rax
call fcn.140025b40
lea rax, [rsp + 0x230]
mov rcx, rax
call qword [sym.imp.MSVCP110.dll_public_virtual:_void___cdecl_std::basic_ios_unsigned_short_int__struct_std::char_traits_unsigned_short_int__::destructor_void____ptr64]
movzx eax, byte [rsp + 0x45]
jmp 0x1400c8092
mov qword [rsp + 0x80], 0
mov dword [rsp + 0x58], 0
lea r8, [rsp + 0x58]
lea rdx, [rsp + 0x80]
mov rcx, qword [rsp + 0x560]
call fcn.1400c7480
mov byte [rsp + 0x41], al
movzx eax, byte [rsp + 0x41]
test eax, eax
jne 0x1400c7d2c
xor al, al
jmp 0x1400c8092
mov byte [rsp + 0x30], 0
mov dword [rsp + 0x34], 0
mov rax, qword [rsp + 0x80]
mov qword [rsp + 0x38], rax
cmp dword [rsp + 0x58], 4
jle 0x1400c7e6c
mov eax, 2
imul rax, rax, 0
mov rcx, qword [rsp + 0x38]
movzx eax, word [rcx + rax]
cmp eax, 0xeffe
jne 0x1400c7d92
mov eax, 2
imul rax, rax, 1
mov rcx, qword [rsp + 0x38]
movzx eax, word [rcx + rax]
test eax, eax
jne 0x1400c7d92
mov byte [rsp + 0x30], 1
mov dword [rsp + 0x34], 2
jmp 0x1400c7e67
mov eax, 2
imul rax, rax, 0
mov rcx, qword [rsp + 0x38]
movzx eax, word [rcx + rax]
test eax, eax
jne 0x1400c7dd3
mov eax, 2
imul rax, rax, 1
mov rcx, qword [rsp + 0x38]
movzx eax, word [rcx + rax]
cmp eax, 0xfeff
jne 0x1400c7dd3
mov byte [rsp + 0x30], 1
mov dword [rsp + 0x34], 2
jmp 0x1400c7e67
mov eax, 2
imul rax, rax, 0
mov rcx, qword [rsp + 0x38]
movzx eax, word [rcx + rax]
cmp eax, 0xefbb
jne 0x1400c7e19
mov eax, 2
imul rax, rax, 1
mov rcx, qword [rsp + 0x38]
movzx eax, word [rcx + rax]
or eax, 0xff00
cmp eax, 0xbf
jne 0x1400c7e19
mov byte [rsp + 0x30], 1
mov dword [rsp + 0x34], 3
jmp 0x1400c7e67
mov eax, 2
imul rax, rax, 0
mov rcx, qword [rsp + 0x38]
movzx eax, word [rcx + rax]
cmp eax, 0xfeff
jne 0x1400c7e41
mov byte [rsp + 0x30], 1
mov dword [rsp + 0x34], 1
jmp 0x1400c7e67
mov eax, 2
imul rax, rax, 0
mov rcx, qword [rsp + 0x38]
movzx eax, word [rcx + rax]
cmp eax, 0xfffe
jne 0x1400c7e67
mov byte [rsp + 0x30], 1
mov dword [rsp + 0x34], 1
jmp 0x1400c7fcb
cmp dword [rsp + 0x58], 3
jle 0x1400c7f40
mov eax, 2
imul rax, rax, 0
mov rcx, qword [rsp + 0x38]
movzx eax, word [rcx + rax]
cmp eax, 0xefbb
jne 0x1400c7ebb
mov eax, 2
imul rax, rax, 1
mov rcx, qword [rsp + 0x38]
movzx eax, word [rcx + rax]
cmp eax, 0xbf
jne 0x1400c7ebb
mov byte [rsp + 0x30], 1
mov dword [rsp + 0x34], 3
jmp 0x1400c7f3b
mov eax, 2
imul rax, rax, 0
mov rcx, qword [rsp + 0x38]
movzx eax, word [rcx + rax]
cmp eax, 0xfe
jne 0x1400c7efc
mov eax, 2
imul rax, rax, 1
mov rcx, qword [rsp + 0x38]
movzx eax, word [rcx + rax]
cmp eax, 0xff
jne 0x1400c7efc
mov byte [rsp + 0x30], 1
mov dword [rsp + 0x34], 2
jmp 0x1400c7f3b
mov eax, 2
imul rax, rax, 0
mov rcx, qword [rsp + 0x38]
movzx eax, word [rcx + rax]
cmp eax, 0xff
jne 0x1400c7f3b
mov eax, 2
imul rax, rax, 1
mov rcx, qword [rsp + 0x38]
movzx eax, word [rcx + rax]
cmp eax, 0xfe
jne 0x1400c7f3b
mov byte [rsp + 0x30], 1
mov dword [rsp + 0x34], 2
jmp 0x1400c7fcb
cmp dword [rsp + 0x58], 2
jle 0x1400c7fcb
mov eax, 2
imul rax, rax, 0
mov rcx, qword [rsp + 0x38]
movzx eax, word [rcx + rax]
cmp eax, 0xfe
jne 0x1400c7f8c
mov eax, 2
imul rax, rax, 1
mov rcx, qword [rsp + 0x38]
movzx eax, word [rcx + rax]
cmp eax, 0xff
jne 0x1400c7f8c
mov byte [rsp + 0x30], 1
mov dword [rsp + 0x34], 2
jmp 0x1400c7fcb
mov eax, 2
imul rax, rax, 0
mov rcx, qword [rsp + 0x38]
movzx eax, word [rcx + rax]
cmp eax, 0xff
jne 0x1400c7fcb
mov eax, 2
imul rax, rax, 1
mov rcx, qword [rsp + 0x38]
movzx eax, word [rcx + rax]
cmp eax, 0xfe
jne 0x1400c7fcb
mov byte [rsp + 0x30], 1
mov dword [rsp + 0x34], 2
movzx eax, byte [rsp + 0x30]
test eax, eax
je 0x1400c7fe7
movsxd rax, dword [rsp + 0x34]
mov rcx, qword [rsp + 0x38]
lea rax, [rcx + rax*2]
mov qword [rsp + 0x38], rax
mov rax, qword [rsp + 0x38]
movzx eax, word [rax]
test eax, eax
jne 0x1400c8001
mov qword [rsp + 0xb0], 0
jmp 0x1400c8014
mov rcx, qword [rsp + 0x38]
call qword [sym.imp.MSVCR110.dll_wcslen]
mov qword [rsp + 0xb0], rax
mov r8, qword [rsp + 0xb0]
mov rdx, qword [rsp + 0x38]
mov rcx, qword [rsp + 0x568]
call fcn.140004990
movzx eax, word [0x140204468]
test eax, eax
jne 0x1400c8047
mov qword [rsp + 0xc0], 0
jmp 0x1400c805c
lea rcx, [0x140204468]
call qword [sym.imp.MSVCR110.dll_wcslen]
mov qword [rsp + 0xc0], rax
mov r8, qword [rsp + 0xc0]
lea rdx, [0x140204468]
mov rcx, qword [rsp + 0x568]
call fcn.140041f50
mov rcx, qword [rsp + 0x80]
call qword [sym.imp.MSVCR110.dll_free]
nop
jmp 0x1400c8090
mov al, 1
mov rcx, qword [rsp + 0x540]
xor rcx, rsp
call fcn.1400f3d50
add rsp, 0x558
ret