Function at 0x140058430
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 [0x1400bca20]
xor rax, rsp
mov qword [rbp + 0x850], rax
mov rsi, r9
mov rbx, r8
mov rdi, rdx
mov r14, rcx
test rdx, rdx
je 0x1400587bf
test rbx, rbx
je 0x1400587bf
xor edx, edx
lea rcx, [rbp + 0x50]
mov r8d, 0x400
call main
mov r8, rdi
lea rcx, [rbp + 0x50]
mov edx, 0x3ff
call fcn.140060978
mov r8, rbx
lea rcx, [rbp + 0x50]
mov edx, 0x3ff
call fcn.140060ab0
lea rcx, [rbp + 0x50]
call qword [sym.imp.KERNEL32.dll_GetFileAttributesA]
cmp eax, 0xffffffff
je 0x1400587bf
test al, 0x10
je 0x1400587bf
mov eax, dword [r14 + 0x50]
lea rcx, [rbp + 0x50]
cmp eax, 1
jne 0x140058597
lea rdx, str.RoomConnector.exe
call fcn.140058200
lea rdx, str.gateway_conf_client.dll
mov ebx, eax
lea rcx, [rbp + 0x50]
call fcn.140058200
lea rdx, str.gmcm.dll
mov r14d, eax
lea rcx, [rbp + 0x50]
call fcn.140058200
lea rdx, str.gviper.dll
mov edi, eax
lea rcx, [rbp + 0x50]
call fcn.140058200
test ebx, ebx
je 0x1400587bf
test r14d, r14d
je 0x1400587bf
test edi, edi
je 0x1400587bf
test eax, eax
je 0x1400587bf
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.14005fc44
inc rax
cmp rax, 0x104
jae 0x1400586a9
lea r8, [rbp + 0x50]
mov edx, 0x104
lea rcx, [rsp + 0x38]
call fcn.140060978
jmp 0x1400587b2
cmp eax, 2
jne 0x1400585d3
lea rdx, str.Controller.exe
call fcn.140058200
lea rdx, str.Cmmlib.dll
mov ebx, eax
lea rcx, [rbp + 0x50]
call fcn.140058200
lea rdx, str.zrc_sdk.dll
mov edi, eax
lea rcx, [rbp + 0x50]
call fcn.140058200
test ebx, ebx
jmp 0x140058522
lea rdx, [0x1400a0d08]
mov qword [rsp + 0x990], r15
call fcn.140058200
lea rdx, str.zPTApp.dll
mov r15d, eax
lea rcx, [rbp + 0x50]
call fcn.140058200
xor ebx, ebx
test eax, eax
jne 0x140058616
lea rdx, str.zChatApp.dll
lea rcx, [rbp + 0x50]
call fcn.140058200
mov edi, ebx
test eax, eax
je 0x14005861b
mov edi, 1
lea rdx, str.zVideoApp.dll
lea rcx, [rbp + 0x50]
call fcn.140058200
lea rdx, str.Cmmlib.dll
mov r14d, eax
lea rcx, [rbp + 0x50]
call fcn.140058200
test r15d, r15d
mov r15, qword [rsp + 0x990]
je 0x1400587bf
test edi, edi
je 0x1400587bf
test r14d, r14d
je 0x1400587bf
test eax, eax
je 0x1400587bf
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.14005fc44
inc rax
cmp rax, 0x104
jb 0x1400586b0
xor eax, eax
jmp 0x1400587c4
lea r8, [rbp + 0x50]
mov edx, 0x104
lea rcx, [rsp + 0x38]
call fcn.140060978
cmp dword [rbp + 0x8b0], ebx
je 0x1400587b2
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.140060978
lea r8, [0x14009df34]
mov edx, 0x3ff
lea rcx, [rbp + 0x450]
call fcn.140060ab0
lea r8, [0x1400a0d08]
mov edx, 0x3ff
lea rcx, [rbp + 0x450]
call fcn.140060ab0
mov edx, 0xfde9
lea rcx, [rbp + 0x450]
call fcn.14005a450
mov rbx, rax
test rax, rax
je 0x140058764
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.140055f80
movzx edi, al
jmp 0x14005879a
xor edx, edx
lea rcx, [rbp + 0x450]
call fcn.14005a450
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.140055f80
movzx edi, al
test rbx, rbx
je 0x1400587ae
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.140058f70
mov eax, 1
mov rcx, qword [rbp + 0x850]
xor rcx, rsp
call fcn.14007a950
add rsp, 0x960
pop r14
pop rdi
pop rsi
pop rbx
pop rbp
ret