Function at 0x1800396b0
Capabilities:
Check if file exists

Disassembly:
push rbx
sub rsp, 0x8a0
mov qword [rsp + 0x140], 0xfffffffffffffffe
mov rax, qword [0x18015f460]
xor rax, rsp
mov qword [rsp + 0x890], rax
lea rcx, [rsp + 0x438]
call fcn.180004100
nop
lea rcx, [rsp + 0x370]
call fcn.180003c30
nop
lea rcx, [rsp + 0x2a8]
call fcn.180003c30
nop
lea rcx, [rsp + 0x3e8]
call fcn.180003c30
nop
lea rcx, [rsp + 0x280]
call fcn.180003c30
nop
lea rcx, [rsp + 0x320]
call fcn.180003c30
nop
lea rcx, [rsp + 0x2d0]
call fcn.180003c30
nop
mov edx, 3
lea r8d, [rdx - 2]
lea rcx, [rsp + 0x180]
call fcn.18003ccd0
nop
lea rdx, [rsp + 0x438]
lea rcx, [rsp + 0x190]
call fcn.18003f4c0
mov rcx, rax
lea rdx, [0x18012eca8]
call fcn.18003f770
mov rcx, rax
lea rdx, str..iritech
call fcn.18003f770
lea rdx, [rsp + 0x460]
lea rcx, [rsp + 0x180]
call fcn.18003ce40
nop
lea rdx, [0x18012eca8]
lea rcx, [rsp + 0x190]
call fcn.18003f770
mov rcx, rax
lea rdx, str.serial.txt
call fcn.18003f770
lea rdx, [rsp + 0x2f8]
lea rcx, [rsp + 0x180]
call fcn.18003ce40
nop
lea rcx, [rsp + 0x2f8]
call fcn.180002b30
mov rcx, rax
call qword [sym.imp.SHLWAPI.dll_PathFileExistsA]
test eax, eax
jne 0x18003989e
lea rcx, [rsp + 0x2f8]
call fcn.180002b10
nop
lea rcx, [rsp + 0x460]
call fcn.180002b10
nop
lea rcx, [rsp + 0x218]
call fcn.18003cdb0
lea rbx, vtable.std::ios_base.0
mov qword [rsp + 0x218], rbx
lea rcx, [rsp + 0x218]
call fcn.1800c8c24
nop
lea rcx, [rsp + 0x2d0]
call fcn.180002b10
nop
lea rcx, [rsp + 0x320]
call fcn.180002b10
nop
lea rcx, [rsp + 0x280]
call fcn.180002b10
nop
lea rcx, [rsp + 0x3e8]
call fcn.180002b10
nop
lea rcx, [rsp + 0x2a8]
call fcn.180002b10
nop
lea rcx, [rsp + 0x370]
call fcn.180002b10
nop
lea rcx, [rsp + 0x438]
call fcn.180002b10
xor al, al
jmp 0x18003a159
lea rcx, [rsp + 0x2f8]
call fcn.180002b30
mov rdx, rax
mov dword [rsp + 0x20], 1
mov r9d, 0x40
lea r8d, [r9 - 0x3f]
lea rcx, [rsp + 0x40]
call fcn.18003bed0
nop
mov rax, qword [rsp + 0x40]
movsxd rcx, dword [rax + 4]
lea rcx, [rsp + rcx + 0x40]
mov dl, 0xa
call fcn.18003f080
movzx r8d, al
lea rdx, [rsp + 0x370]
lea rcx, [rsp + 0x40]
call fcn.18003fdd0
lea rcx, [rsp + 0x370]
call fcn.180002b30
mov r11, qword [rsp + 0x40]
movsxd rax, dword [r11 + 4]
lea rcx, [rsp + rax + 0x40]
mov dl, 0xa
call fcn.18003f080
movzx r8d, al
lea rdx, [rsp + 0x3e8]
lea rcx, [rsp + 0x40]
call fcn.18003fdd0
mov r11, qword [rsp + 0x40]
movsxd rax, dword [r11 + 4]
lea rcx, [rsp + rax + 0x40]
mov dl, 0xa
call fcn.18003f080
movzx r8d, al
lea rdx, [rsp + 0x2a8]
lea rcx, [rsp + 0x40]
call fcn.18003fdd0
mov r11, qword [rsp + 0x40]
movsxd rax, dword [r11 + 4]
lea rcx, [rsp + rax + 0x40]
mov dl, 0xa
call fcn.18003f080
movzx r8d, al
lea rdx, [rsp + 0x280]
lea rcx, [rsp + 0x40]
call fcn.18003fdd0
mov r11, qword [rsp + 0x40]
movsxd rax, dword [r11 + 4]
lea rcx, [rsp + rax + 0x40]
mov dl, 0xa
call fcn.18003f080
movzx r8d, al
lea rdx, [rsp + 0x320]
lea rcx, [rsp + 0x40]
call fcn.18003fdd0
mov r11, qword [rsp + 0x40]
movsxd rax, dword [r11 + 4]
lea rcx, [rsp + rax + 0x40]
mov dl, 0xa
call fcn.18003f080
movzx r8d, al
lea rdx, [rsp + 0x2d0]
lea rcx, [rsp + 0x40]
call fcn.18003fdd0
lea rcx, [rsp + 0x2f8]
call fcn.180002b30
mov rbx, rax
mov byte [rsp + 0x490], 0
xor edx, edx
mov r8d, 0xff
lea rcx, [rsp + 0x491]
call fcn.1800cc600
mov byte [rsp + 0x590], 0
xor edx, edx
mov r8d, 0xff
lea rcx, [rsp + 0x591]
call fcn.1800cc600
xor edx, edx
lea r8d, [rdx + 0x34]
lea rcx, [rsp + 0x148]
call fcn.1800cc600
mov qword [rsp + 0x30], 0
mov dword [rsp + 0x28], 0x80
mov dword [rsp + 0x20], 3
xor r9d, r9d
xor r8d, r8d
xor edx, edx
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_CreateFileA]
mov rbx, rax
cmp rax, 0xffffffffffffffff
je 0x180039aca
lea rdx, [rsp + 0x148]
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_GetFileInformationByHandle]
test eax, eax
je 0x180039ac1
mov r8d, dword [rsp + 0x164]
lea rdx, str.0x_08X
lea rcx, [rsp + 0x490]
call fcn.1800ca8e4
mov r9d, dword [rsp + 0x178]
mov r8d, dword [rsp + 0x174]
lea rdx, str.0x_08X_08X
lea rcx, [rsp + 0x590]
call fcn.1800ca8e4
jmp 0x180039ad6
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_CloseHandle]
lea rcx, str.Failed_getting_file_info._n
call fcn.1800ca47c
lea r9, [rsp + 0x590]
lea r8, [rsp + 0x490]
lea rdx, str._s__s
lea rcx, [rsp + 0x690]
call fcn.1800ca8e4
lea rdx, [rsp + 0x690]
lea rcx, [rsp + 0x3c0]
call fcn.180002ab0
nop
lea rcx, [rsp + 0x348]
call fcn.180037f40
nop
lea rcx, [rsp + 0x398]
call fcn.1800380b0
nop
lea rcx, [rsp + 0x410]
call fcn.1800383d0
nop
lea rcx, [rsp + 0x348]
call fcn.180002b30
lea rcx, [rsp + 0x280]
call fcn.180002b30
lea rdx, [rsp + 0x280]
lea rcx, [rsp + 0x348]
call fcn.180009a10
test eax, eax
je 0x180039c95
lea rcx, [rsp + 0x348]
call fcn.180002b30
lea rcx, [rsp + 0x280]
call fcn.180002b30
nop
lea rcx, [rsp + 0x410]
call fcn.180002b10
nop
lea rcx, [rsp + 0x398]
call fcn.180002b10
nop
lea rcx, [rsp + 0x348]
call fcn.180002b10
nop
lea rcx, [rsp + 0x3c0]
call fcn.180002b10
nop
lea rcx, [rsp + 0xe0]
call fcn.18003bfb0
lea rbx, vtable.std::ios_base.0
mov qword [rsp + 0xe0], rbx
lea rcx, [rsp + 0xe0]
call fcn.1800c8c24
nop
lea rcx, [rsp + 0x2f8]
call fcn.180002b10
nop
lea rcx, [rsp + 0x460]
call fcn.180002b10
nop
lea rcx, [rsp + 0x218]
call fcn.18003cdb0
mov qword [rsp + 0x218], rbx
lea rcx, [rsp + 0x218]
call fcn.1800c8c24
nop
lea rcx, [rsp + 0x2d0]
call fcn.180002b10
nop
lea rcx, [rsp + 0x320]
call fcn.180002b10
nop
lea rcx, [rsp + 0x280]
call fcn.180002b10
nop
lea rcx, [rsp + 0x3e8]
call fcn.180002b10
nop
lea rcx, [rsp + 0x2a8]
call fcn.180002b10
nop
lea rcx, [rsp + 0x370]
call fcn.180002b10
nop
lea rcx, [rsp + 0x438]
call fcn.180002b10
mov al, 1
jmp 0x18003a159
lea rcx, [rsp + 0x398]
call fcn.180002b30
lea rcx, [rsp + 0x320]
call fcn.180002b30
lea rdx, [rsp + 0x320]
lea rcx, [rsp + 0x398]
call fcn.180009a10
test eax, eax
je 0x180039dd5
lea rcx, [rsp + 0x410]
call fcn.180002b10
nop
lea rcx, [rsp + 0x398]
call fcn.180002b10
nop
lea rcx, [rsp + 0x348]
call fcn.180002b10
nop
lea rcx, [rsp + 0x3c0]
call fcn.180002b10
nop
lea rcx, [rsp + 0xe0]
call fcn.18003bfb0
lea rbx, vtable.std::ios_base.0
mov qword [rsp + 0xe0], rbx
lea rcx, [rsp + 0xe0]
call fcn.1800c8c24
nop
lea rcx, [rsp + 0x2f8]
call fcn.180002b10
nop
lea rcx, [rsp + 0x460]
call fcn.180002b10
nop
lea rcx, [rsp + 0x218]
call fcn.18003cdb0
mov qword [rsp + 0x218], rbx
lea rcx, [rsp + 0x218]
call fcn.1800c8c24
nop
lea rcx, [rsp + 0x2d0]
call fcn.180002b10
nop
lea rcx, [rsp + 0x320]
call fcn.180002b10
nop
lea rcx, [rsp + 0x280]
call fcn.180002b10
nop
lea rcx, [rsp + 0x3e8]
call fcn.180002b10
nop
lea rcx, [rsp + 0x2a8]
call fcn.180002b10
nop
lea rcx, [rsp + 0x370]
call fcn.180002b10
nop
lea rcx, [rsp + 0x438]
call fcn.180002b10
mov al, 1
jmp 0x18003a159
lea rcx, [rsp + 0x410]
call fcn.180002b30
lea rcx, [rsp + 0x2d0]
call fcn.180002b30
lea rdx, [rsp + 0x2d0]
lea rcx, [rsp + 0x410]
call fcn.180009a10
test eax, eax
je 0x180039f15
lea rcx, [rsp + 0x410]
call fcn.180002b10
nop
lea rcx, [rsp + 0x398]
call fcn.180002b10
nop
lea rcx, [rsp + 0x348]
call fcn.180002b10
nop
lea rcx, [rsp + 0x3c0]
call fcn.180002b10
nop
lea rcx, [rsp + 0xe0]
call fcn.18003bfb0
lea rbx, vtable.std::ios_base.0
mov qword [rsp + 0xe0], rbx
lea rcx, [rsp + 0xe0]
call fcn.1800c8c24
nop
lea rcx, [rsp + 0x2f8]
call fcn.180002b10
nop
lea rcx, [rsp + 0x460]
call fcn.180002b10
nop
lea rcx, [rsp + 0x218]
call fcn.18003cdb0
mov qword [rsp + 0x218], rbx
lea rcx, [rsp + 0x218]
call fcn.1800c8c24
nop
lea rcx, [rsp + 0x2d0]
call fcn.180002b10
nop
lea rcx, [rsp + 0x320]
call fcn.180002b10
nop
lea rcx, [rsp + 0x280]
call fcn.180002b10
nop
lea rcx, [rsp + 0x3e8]
call fcn.180002b10
nop
lea rcx, [rsp + 0x2a8]
call fcn.180002b10
nop
lea rcx, [rsp + 0x370]
call fcn.180002b10
nop
lea rcx, [rsp + 0x438]
call fcn.180002b10
mov al, 1
jmp 0x18003a159
lea rcx, [rsp + 0x3c0]
call fcn.180002b30
lea rcx, [rsp + 0x2a8]
call fcn.180002b30
lea rdx, [rsp + 0x2a8]
lea rcx, [rsp + 0x3c0]
call fcn.180009a10
test eax, eax
jne 0x18003a055
lea rcx, [rsp + 0x410]
call fcn.180002b10
nop
lea rcx, [rsp + 0x398]
call fcn.180002b10
nop
lea rcx, [rsp + 0x348]
call fcn.180002b10
nop
lea rcx, [rsp + 0x3c0]
call fcn.180002b10
nop
lea rcx, [rsp + 0xe0]
call fcn.18003bfb0
lea rbx, vtable.std::ios_base.0
mov qword [rsp + 0xe0], rbx
lea rcx, [rsp + 0xe0]
call fcn.1800c8c24
nop
lea rcx, [rsp + 0x2f8]
call fcn.180002b10
nop
lea rcx, [rsp + 0x460]
call fcn.180002b10
nop
lea rcx, [rsp + 0x218]
call fcn.18003cdb0
mov qword [rsp + 0x218], rbx
lea rcx, [rsp + 0x218]
call fcn.1800c8c24
nop
lea rcx, [rsp + 0x2d0]
call fcn.180002b10
nop
lea rcx, [rsp + 0x320]
call fcn.180002b10
nop
lea rcx, [rsp + 0x280]
call fcn.180002b10
nop
lea rcx, [rsp + 0x3e8]
call fcn.180002b10
nop
lea rcx, [rsp + 0x2a8]
call fcn.180002b10
nop
lea rcx, [rsp + 0x370]
call fcn.180002b10
nop
lea rcx, [rsp + 0x438]
call fcn.180002b10
xor al, al
jmp 0x18003a159
lea rcx, [rsp + 0x410]
call fcn.180002b10
nop
lea rcx, [rsp + 0x398]
call fcn.180002b10
nop
lea rcx, [rsp + 0x348]
call fcn.180002b10
nop
lea rcx, [rsp + 0x3c0]
call fcn.180002b10
nop
lea rcx, [rsp + 0xe0]
call fcn.18003bfb0
lea rbx, vtable.std::ios_base.0
mov qword [rsp + 0xe0], rbx
lea rcx, [rsp + 0xe0]
call fcn.1800c8c24
nop
lea rcx, [rsp + 0x2f8]
call fcn.180002b10
nop
lea rcx, [rsp + 0x460]
call fcn.180002b10
nop
lea rcx, [rsp + 0x218]
call fcn.18003cdb0
mov qword [rsp + 0x218], rbx
lea rcx, [rsp + 0x218]
call fcn.1800c8c24
nop
lea rcx, [rsp + 0x2d0]
call fcn.180002b10
nop
lea rcx, [rsp + 0x320]
call fcn.180002b10
nop
lea rcx, [rsp + 0x280]
call fcn.180002b10
nop
lea rcx, [rsp + 0x3e8]
call fcn.180002b10
nop
lea rcx, [rsp + 0x2a8]
call fcn.180002b10
nop
lea rcx, [rsp + 0x370]
call fcn.180002b10
nop
lea rcx, [rsp + 0x438]
call fcn.180002b10
mov al, 1
mov rcx, qword [rsp + 0x890]
xor rcx, rsp
call fcn.1800c9b90
add rsp, 0x8a0
pop rbx
ret