Function at 0x140057980
Capabilities:
Check if file exists
Get file attributes

Disassembly:
push rbp
push rbx
push rsi
push rdi
push r14
lea rbp, [rsp - 0x860]
sub rsp, 0x960
mov rax, qword [0x1400bba20]
xor rax, rsp
mov qword [rbp + 0x850], rax
mov rsi, r9
mov rbx, r8
mov rdi, rdx
mov r14, rcx
test rdx, rdx
je 0x140057d0f
test rbx, rbx
je 0x140057d0f
xor edx, edx
lea rcx, [rbp + 0x50]
mov r8d, 0x400
call main
mov r8, rdi
lea rcx, [rbp + 0x50]
mov edx, 0x3ff
call fcn.14005f398
mov r8, rbx
lea rcx, [rbp + 0x50]
mov edx, 0x3ff
call fcn.14005f4d0
lea rcx, [rbp + 0x50]
call qword [sym.imp.KERNEL32.dll_GetFileAttributesA]
cmp eax, 0xffffffff
je 0x140057d0f
test al, 0x10
je 0x140057d0f
mov eax, dword [r14 + 0x50]
lea rcx, [rbp + 0x50]
cmp eax, 1
jne 0x140057ae7
lea rdx, str.RoomConnector.exe
call fcn.1400578c0
lea rdx, str.gateway_conf_client.dll
mov ebx, eax
lea rcx, [rbp + 0x50]
call fcn.1400578c0
lea rdx, str.gmcm.dll
mov r14d, eax
lea rcx, [rbp + 0x50]
call fcn.1400578c0
lea rdx, str.gviper.dll
mov edi, eax
lea rcx, [rbp + 0x50]
call fcn.1400578c0
test ebx, ebx
je 0x140057d0f
test r14d, r14d
je 0x140057d0f
test edi, edi
je 0x140057d0f
test eax, eax
je 0x140057d0f
xor ebx, ebx
lea rcx, [rsp + 0x38]
xor edx, edx
mov dword [rsp + 0x30], ebx
mov r8d, 0x104
mov byte [rbp + 0x3c], bl
mov qword [rbp + 0x3e], rbx
mov dword [rbp + 0x48], ebx
call main
mov edx, 0x104
mov dword [rsp + 0x34], 1
lea rcx, [rbp + 0x50]
call fcn.14005e6d4
inc rax
cmp rax, 0x104
jae 0x140057bf9
lea r8, [rbp + 0x50]
mov edx, 0x104
lea rcx, [rsp + 0x38]
call fcn.14005f398
jmp 0x140057d02
cmp eax, 2
jne 0x140057b23
lea rdx, str.Controller.exe
call fcn.1400578c0
lea rdx, str.Cmmlib.dll
mov ebx, eax
lea rcx, [rbp + 0x50]
call fcn.1400578c0
lea rdx, str.zrc_sdk.dll
mov edi, eax
lea rcx, [rbp + 0x50]
call fcn.1400578c0
test ebx, ebx
jmp 0x140057a72
lea rdx, [0x14009fcf8]
mov qword [rsp + 0x990], r15
call fcn.1400578c0
lea rdx, str.zPTApp.dll
mov r15d, eax
lea rcx, [rbp + 0x50]
call fcn.1400578c0
xor ebx, ebx
test eax, eax
jne 0x140057b66
lea rdx, str.zChatApp.dll
lea rcx, [rbp + 0x50]
call fcn.1400578c0
mov edi, ebx
test eax, eax
je 0x140057b6b
mov edi, 1
lea rdx, str.zVideoApp.dll
lea rcx, [rbp + 0x50]
call fcn.1400578c0
lea rdx, str.Cmmlib.dll
mov r14d, eax
lea rcx, [rbp + 0x50]
call fcn.1400578c0
test r15d, r15d
mov r15, qword [rsp + 0x990]
je 0x140057d0f
test edi, edi
je 0x140057d0f
test r14d, r14d
je 0x140057d0f
test eax, eax
je 0x140057d0f
xor edx, edx
mov dword [rsp + 0x30], ebx
mov r8d, 0x104
mov byte [rbp + 0x3c], bl
lea rcx, [rsp + 0x38]
mov qword [rbp + 0x3e], rbx
mov dword [rbp + 0x48], ebx
call main
mov edx, 0x104
mov dword [rsp + 0x34], 1
lea rcx, [rbp + 0x50]
call fcn.14005e6d4
inc rax
cmp rax, 0x104
jb 0x140057c00
xor eax, eax
jmp 0x140057d14
lea r8, [rbp + 0x50]
mov edx, 0x104
lea rcx, [rsp + 0x38]
call fcn.14005f398
cmp dword [rbp + 0x8b0], ebx
je 0x140057d02
xor edx, edx
lea rcx, [rbp + 0x450]
mov r8d, 0x400
call main
lea r8, [rsp + 0x38]
mov edx, 0x3ff
lea rcx, [rbp + 0x450]
call fcn.14005f398
lea r8, [0x14009cf34]
mov edx, 0x3ff
lea rcx, [rbp + 0x450]
call fcn.14005f4d0
lea r8, [0x14009fcf8]
mov edx, 0x3ff
lea rcx, [rbp + 0x450]
call fcn.14005f4d0
mov edx, 0xfde9
lea rcx, [rbp + 0x450]
call fcn.1400593a0
mov rbx, rax
test rax, rax
je 0x140057cb4
lea rax, [rbp + 0x44]
mov rcx, rbx
lea r9, [rbp + 0x42]
mov qword [rsp + 0x20], rax
lea r8, [rbp + 0x40]
lea rdx, [rbp + 0x3e]
call fcn.1400565c0
movzx edi, al
jmp 0x140057cea
xor edx, edx
lea rcx, [rbp + 0x450]
call fcn.1400593a0
mov rbx, rax
lea r9, [rbp + 0x42]
lea rax, [rbp + 0x44]
mov rcx, rbx
lea r8, [rbp + 0x40]
mov qword [rsp + 0x20], rax
lea rdx, [rbp + 0x3e]
call fcn.1400565c0
movzx edi, al
test rbx, rbx
je 0x140057cfe
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8, rbx
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov byte [rbp + 0x3c], dil
lea rdx, [rsp + 0x30]
mov rcx, rsi
call fcn.1400583f0
mov eax, 1
mov rcx, qword [rbp + 0x850]
xor rcx, rsp
call fcn.1400793d0
add rsp, 0x960
pop r14
pop rdi
pop rsi
pop rbx
pop rbp
ret