Function at 0x140034cdc
Capabilities:
Check if file exists
Get common file path
Get file attributes
Set current directory

Disassembly:
mov qword [rsp + 0x20], rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x5c0]
sub rsp, 0x6c0
mov rax, qword [0x1400502a8]
xor rax, rsp
mov qword [rbp + 0x5b0], rax
xor esi, esi
mov qword [rsp + 0x38], rcx
mov r15d, r9d
mov r13, r8
mov rdi, rdx
mov ebx, esi
mov r12d, esi
lea r14d, [rsi + 1]
test r8, r8
je 0x140034d3e
lea rdx, str.DEFAULTINSTALL
mov rcx, r8
call qword [sym.imp.msvcrt.dll__wcsicmp]
test eax, eax
jne 0x140034d49
call fcn.1400179e0
test eax, eax
cmove r12d, r14d
mov qword [rsp + 0x30], rsi
mov r14, rsi
test rdi, rdi
jne 0x140034d60
mov eax, 0x80004003
jmp 0x1400359f9
mov ecx, 0x208
call fcn.14003c310
mov qword [rsp + 0x40], rax
test rax, rax
je 0x1400359f4
mov rdx, rax
mov ecx, 0x104
call qword [sym.imp.KERNEL32.dll_GetCurrentDirectoryW]
mov esi, eax
test eax, eax
jne 0x140034db8
mov rcx, qword [rsp + 0x40]
call fcn.14003c2b8
call qword [sym.imp.KERNEL32.dll_GetLastError]
test eax, eax
lea edx, [rsi + 0x57]
mov ecx, eax
cmove ecx, edx
movzx eax, cx
or eax, 0x80070000
test ecx, ecx
cmovle eax, ecx
jmp 0x1400359f9
cmp esi, 0x104
jbe 0x140034e01
mov rcx, qword [rsp + 0x40]
call fcn.14003c2b8
lea ecx, [rsi + 1]
mov eax, 2
mul rcx
mov rcx, 0xffffffffffffffff
cmovo rax, rcx
mov rcx, rax
call fcn.14003c310
mov qword [rsp + 0x40], rax
test rax, rax
je 0x1400359f4
mov rdx, rax
mov ecx, esi
call qword [sym.imp.KERNEL32.dll_GetCurrentDirectoryW]
mov rcx, rdi
call fcn.140017448
mov ecx, 0x5c
test eax, eax
je 0x140034e5c
mov edx, ecx
mov rcx, rdi
call qword [sym.imp.msvcrt.dll_wcsrchr]
mov esi, 0x103
lea rcx, [rbp - 0x80]
mov edx, esi
test rax, rax
je 0x140034e37
mov r8, rdi
call fcn.140001470
jmp 0x140034ea7
mov r8, qword [rsp + 0x40]
call fcn.140001470
lea rcx, [rbp - 0x80]
call qword [sym.imp.SHLWAPI.dll_PathAddBackslashW]
mov r8, rdi
lea rcx, [rbp - 0x80]
mov rdx, rsi
call fcn.140001584
jmp 0x140034ea7
mov r8, qword [rsp + 0x40]
lea rcx, [rbp - 0x80]
mov edx, 0x102
call fcn.140001470
lea rcx, [rbp - 0x80]
call qword [sym.imp.SHLWAPI.dll_PathAddBackslashW]
mov esi, 0x103
lea rcx, [rbp - 0x80]
mov edx, esi
mov r8, rdi
call fcn.140001584
lea rcx, [rbp - 0x80]
call qword [sym.imp.KERNEL32.dll_GetFileAttributesW]
cmp eax, 0xffffffff
je 0x1400359ed
test al, 0x10
jne 0x1400359ed
test r13, r13
je 0x140034efe
lea rdx, str.ninstall
mov rcx, r13
call qword [sym.imp.msvcrt.dll_wcsstr]
test rax, rax
je 0x140034efe
mov ecx, 0x202
call fcn.14003c310
mov r14, rax
test rax, rax
je 0x1400359f4
lea rax, str.UNREGISTEROCXS
mov edx, 0x100
lea r9, str.DELFILES
mov qword [rsp + 0x20], rax
lea r8, str._s__s
mov rcx, r14
call fcn.140001734
test r15d, r15d
je 0x140034f22
or dword [0x140050558], 8
lea r8, str.INFParser_using_delayed_transactions
lea rdx, str.__Reboot_requested_due_to__S_file_copy._r_n
mov ecx, 2
call fcn.140016868
mov r15, qword [rsp + 0x38]
mov r8, qword [r15 + 0x18]
test r8, r8
jne 0x140034fc3
lea edx, [r8 + 0x3a]
lea rcx, [rbp - 0x80]
call qword [sym.imp.msvcrt.dll_wcschr]
test rax, rax
jne 0x140034fbf
lea rdx, [0x140048a2c]
lea rcx, [rbp - 0x80]
call qword [sym.imp.msvcrt.dll_wcsstr]
test rax, rax
jne 0x140034fbf
mov rdi, qword [rsp + 0x40]
lea rcx, [rbp + 0x190]
mov r8, rdi
mov edx, 0x102
call fcn.140001470
lea rcx, [rbp + 0x190]
call qword [sym.imp.SHLWAPI.dll_PathAddBackslashW]
lea r8, [rbp - 0x80]
mov rdx, rsi
lea rcx, [rbp + 0x190]
call fcn.140001584
mov edx, 0x5c
lea rcx, [rbp - 0x80]
call qword [sym.imp.msvcrt.dll_wcsrchr]
test rax, rax
je 0x140034fd7
lea r8, [rbp + 0x190]
mov rdx, rsi
lea rcx, [rbp - 0x80]
call fcn.140001470
jmp 0x140034fd7
lea r8, [rbp - 0x80]
mov rdx, rsi
lea rcx, [rbp + 0x190]
call fcn.140001470
mov rdi, qword [rsp + 0x40]
mov edx, 0x5c
lea rcx, [rbp + 0x190]
call qword [sym.imp.msvcrt.dll_wcsrchr]
xor ecx, ecx
test rax, rax
je 0x140034ff3
mov word [rax], cx
lea r8, [rbp + 0x190]
mov edx, 0x104
lea rcx, [rbp + 0x3a0]
call fcn.140001470
xor ecx, ecx
test eax, eax
js 0x140035074
or r8, 0xffffffffffffffff
lea r9d, [rcx + 0x5c]
lea rdx, [rbp + 0x3a0]
mov rax, r8
inc rax
cmp word [rdx + rax*2], cx
jne 0x140035023
test rax, rax
je 0x14003505e
cmp word [rbp + rax*2 + 0x39e], r9w
jne 0x14003505e
lea rdx, [rbp + 0x3a0]
mov rax, r8
inc rax
cmp word [rdx + rax*2], cx
jne 0x140035046
test rax, rax
je 0x14003505e
mov word [rbp + rax*2 + 0x39e], cx
jmp 0x140035019
lea rcx, [rbp + 0x3a0]
call qword [sym.imp.KERNEL32.dll_GetFileAttributesW]
cmp eax, 0xffffffff
je 0x140035074
test al, 0x10
jne 0x140035086
mov r8, rdi
lea rcx, [rbp + 0x190]
mov rdx, rsi
call fcn.140001470
mov rcx, qword [r15 + 0x18]
xor esi, esi
test rcx, rcx
je 0x14003509a
call fcn.14003c2b8
mov qword [r15 + 0x18], rsi
or rcx, 0xffffffffffffffff
lea rax, [rbp + 0x190]
mov rdi, rcx
inc rdi
cmp word [rax + rdi*2], si
jne 0x1400350a8
inc rdi
mov eax, 2
mul rdi
cmovo rax, rcx
mov rcx, rax
call fcn.14003c310
mov qword [r15 + 0x18], rax
test rax, rax
je 0x1400350fc
lea r8, [rbp + 0x190]
mov ecx, 4
lea rdx, str.__InfParser:_Set_source_directory__S._r_n
call fcn.140016868
mov rcx, qword [r15 + 0x18]
lea r8, [rbp + 0x190]
mov rdx, rdi
call fcn.140001470
lea rcx, [rbp + 0x190]
call qword [sym.imp.KERNEL32.dll_SetCurrentDirectoryW]
xorps xmm0, xmm0
lea rcx, [rbp - 0x80]
movdqu xmmword [rsp + 0x50], xmm0
call fcn.14001afe4
or rcx, 0xffffffffffffffff
mov rsi, rax
cmp rax, rcx
je 0x1400358c4
xor r15d, r15d
test r12d, r12d
je 0x140035196
mov qword [rsp + 0x48], rax
lea r9, str.NONADMININSTALL
lea rax, str.IGNOREERRORS
mov dword [rsp + 0x28], 1
lea r8, [rsp + 0x60]
mov qword [rsp + 0x20], rax
lea rdx, [rsp + 0x48]
xor ecx, ecx
call fcn.140030764
test eax, eax
je 0x140035196
lea rcx, [rsp + 0x60]
call fcn.140030614
mov rdi, rax
test rax, rax
je 0x140035196
mov rcx, rax
call qword [sym.imp.msvcrt.dll__wcsupr]
mov r8, rdi
lea rdx, str.INF:_INF_requested_error_override_for__S._r_n
lea ecx, [r15 + 3]
call fcn.140016868
xor r9d, r9d
mov dword [rsp + 0x20], r15d
mov r8, r13
mov rdx, rsi
call fcn.1400330a0
mov edi, eax
test eax, eax
jns 0x1400351e8
test r14, r14
je 0x1400351e6
lea rdx, str.RUNPRESETUPCOMMANDS
mov rcx, r14
call qword [sym.imp.msvcrt.dll_wcsstr]
test rax, rax
je 0x1400351e6
lea r9, str.RUNPRESETUPCOMMANDS
mov r8d, edi
lea rdx, str.INF:_Error_0x_x_reported_for__S.__Honoring_INF_error_override_and_continuing._r_n
mov ecx, 3
call fcn.140016868
jmp 0x1400351e8
mov ebx, edi
test r12d, r12d
je 0x140035243
xor r9d, r9d
mov dword [rsp + 0x20], r15d
lea r8, str.NONADMININSTALL
mov rdx, rsi
call fcn.1400330a0
mov edi, eax
test eax, eax
jns 0x140035243
test r14, r14
je 0x140035241
lea rdx, str.RUNPRESETUPCOMMANDS
mov rcx, r14
call qword [sym.imp.msvcrt.dll_wcsstr]
test rax, rax
je 0x140035241
lea r9, str.RUNPRESETUPCOMMANDS
mov r8d, edi
lea rdx, str.INF:_Error_0x_x_reported_for__S.__Honoring_INF_error_override_and_continuing._r_n
mov ecx, 3
call fcn.140016868
jmp 0x140035243
mov ebx, edi
lea r9, [rsp + 0x50]
mov r8, r13
mov rdx, rsi
lea rcx, [rbp - 0x80]
call fcn.1400326b8
mov edi, eax
test eax, eax
jns 0x140035264
mov ebx, eax
jmp 0x1400358b9
test r12d, r12d
je 0x140035286
lea r9, [rsp + 0x50]
mov rdx, rsi
lea r8, str.NONADMININSTALL
lea rcx, [rbp - 0x80]
call fcn.1400326b8
test eax, eax
cmovs ebx, eax
lea r8, [rsp + 0x30]
mov rdx, r13
mov rcx, rsi
call fcn.14003212c
mov r15d, eax
cmp eax, 0xd2af9
je 0x1400352d2
xor edi, edi
test r12d, r12d
je 0x1400352d2
mov rcx, qword [rsp + 0x30]
test rcx, rcx
je 0x1400352bb
call fcn.14003c2b8
mov qword [rsp + 0x30], rdi
lea r8, [rsp + 0x30]
mov rcx, rsi
lea rdx, str.NONADMININSTALL
call fcn.14003212c
mov r15d, eax
mov r8, r13
mov rdx, rsi
call fcn.140032544
lea rax, str.STOPSERVICES
mov dword [rsp + 0x28], 1
test r13, r13
mov qword [rsp + 0x48], rsi
lea rdi, str.DEFAULTINSTALL
mov qword [rsp + 0x20], rax
cmovne rdi, r13
lea r8, [rsp + 0x60]
mov r9, rdi
lea rdx, [rsp + 0x48]
xor ecx, ecx
call fcn.140030764
test eax, eax
je 0x14003532b
mov rcx, qword [rsp + 0x48]
lea rdx, [rsp + 0x60]
call fcn.14002d230
lea rax, str.DELETESERVICES
mov dword [rsp + 0x28], 1
mov r9, rdi
mov qword [rsp + 0x20], rax
lea r8, [rsp + 0x60]
mov qword [rsp + 0x48], rsi
lea rdx, [rsp + 0x48]
xor ecx, ecx
call fcn.140030764
mov rdi, qword [rsp + 0x38]
test eax, eax
je 0x14003538e
lea r8, [rdi + 4]
mov r9, rdi
lea rdx, str.umwdf
call fcn.14002d42c
test eax, eax
je 0x14003537f
mov dword [rdi + 8], 1
mov rcx, qword [rsp + 0x48]
lea rdx, [rsp + 0x60]
call fcn.14002d5cc
xor eax, eax
xor r9d, r9d
mov r8, r13
mov dword [rsp + 0x20], eax
mov rdx, rsi
mov rcx, rdi
call fcn.1400335f8
mov edi, eax
test eax, eax
jns 0x1400353e4
test r14, r14
je 0x1400353e2
lea rdx, str.UNREGISTEROCXS
mov rcx, r14
call qword [sym.imp.msvcrt.dll_wcsstr]
test rax, rax
je 0x1400353e2
lea r9, str.UNREGISTEROCXS
mov r8d, edi
lea rdx, str.INF:_Error_0x_x_reported_for__S.__Honoring_INF_error_override_and_continuing._r_n
mov ecx, 3
call fcn.140016868
jmp 0x1400353e4
mov ebx, edi
xor eax, eax
test r12d, r12d
je 0x140035445
mov rcx, qword [rsp + 0x38]
lea r8, str.NONADMININSTALL
xor r9d, r9d
mov dword [rsp + 0x20], eax
mov rdx, rsi
call fcn.1400335f8
mov edi, eax
test eax, eax
jns 0x140035445
test r14, r14
je 0x140035443
lea rdx, str.UNREGISTEROCXS
mov rcx, r14
call qword [sym.imp.msvcrt.dll_wcsstr]
test rax, rax
je 0x140035443
lea r9, str.UNREGISTEROCXS
mov r8d, edi
lea rdx, str.INF:_Error_0x_x_reported_for__S.__Honoring_INF_error_override_and_continuing._r_n
mov ecx, 3
call fcn.140016868
jmp 0x140035445
mov ebx, edi
xor r9d, r9d
mov r8, r13
mov rdx, rsi
call fcn.1400312a0
mov edi, eax
test eax, eax
jns 0x140035492
test r14, r14
je 0x140035490
lea rdx, str.DELREG
mov rcx, r14
call qword [sym.imp.msvcrt.dll_wcsstr]
test rax, rax
je 0x140035490
lea r9, str.DELREG
mov r8d, edi
lea rdx, str.INF:_Error_0x_x_reported_for__S.__Honoring_INF_error_override_and_continuing._r_n
mov ecx, 3
call fcn.140016868
jmp 0x140035492
mov ebx, edi
test r12d, r12d
je 0x1400354e8
xor r9d, r9d
lea r8, str.NONADMININSTALL
mov rdx, rsi
call fcn.1400312a0
mov edi, eax
test eax, eax
jns 0x1400354e8
test r14, r14
je 0x1400354e6
lea rdx, str.DELREG
mov rcx, r14
call qword [sym.imp.msvcrt.dll_wcsstr]
test rax, rax
je 0x1400354e6
lea r9, str.DELREG
mov r8d, edi
lea rdx, str.INF:_Error_0x_x_reported_for__S.__Honoring_INF_error_override_and_continuing._r_n
mov ecx, 3
call fcn.140016868
jmp 0x1400354e8
mov ebx, edi
mov rcx, qword [rsp + 0x38]
lea rax, [rsp + 0x50]
xor r9d, r9d
mov qword [rsp + 0x20], rax
mov r8, r13
mov rdx, rsi
call fcn.140033890
mov edi, eax
test eax, eax
jns 0x140035577
test r14, r14
je 0x140035573
lea rdx, str.DELFILES
mov rcx, r14
call qword [sym.imp.msvcrt.dll_wcsstr]
test rax, rax
je 0x140035573
lea r9, str.DELFILES
mov r8d, edi
lea rdx, str.INF:_Error_0x_x_reported_for__S.__Honoring_INF_error_override_and_continuing._r_n
mov ecx, 3
call fcn.140016868
mov rdi, qword [rsp + 0x30]
test r12d, r12d
je 0x1400355b4
mov rcx, qword [rsp + 0x38]
lea rax, [rsp + 0x50]
xor r9d, r9d
mov qword [rsp + 0x20], rax
lea r8, str.NONADMININSTALL
mov rdx, rsi
call fcn.140033890
test eax, eax
jns 0x140035599
mov ebx, eax
jmp 0x1400355b4
mov ebx, edi
jmp 0x140035540
cmp r15d, 0xd2af8
jne 0x140035540
cmp edi, 1
je 0x140035540
mov rdi, qword [rsp + 0x30]
mov edx, 4
mov r8, rdi
call fcn.140017c34
jmp 0x140035545
cmp r15d, 0xd2af8
jne 0x1400355b4
cmp eax, 1
je 0x1400355b4
mov r8, rdi
mov edx, 4
call fcn.140017c34
mov rcx, qword [rsp + 0x38]
lea rax, [rsp + 0x50]
mov r9d, 1
mov qword [rsp + 0x20], rax
mov r8, r13
mov rdx, rsi
call fcn.140033890
mov edi, eax
test eax, eax
jns 0x140035649
test r14, r14
je 0x140035645
lea rdx, str.COPYFILES
mov rcx, r14
call qword [sym.imp.msvcrt.dll_wcsstr]
test rax, rax
je 0x140035645
lea r9, str.COPYFILES
mov r8d, edi
lea rdx, str.INF:_Error_0x_x_reported_for__S.__Honoring_INF_error_override_and_continuing._r_n
mov ecx, 3
call fcn.140016868
mov rdi, qword [rsp + 0x30]
test r12d, r12d
je 0x140035686
mov rcx, qword [rsp + 0x38]
lea rax, [rsp + 0x50]
mov r9d, 1
mov qword [rsp + 0x20], rax
lea r8, str.NONADMININSTALL
mov rdx, rsi
call fcn.140033890
test eax, eax
jns 0x14003566b
mov ebx, eax
jmp 0x140035686
mov ebx, edi
jmp 0x14003560f
cmp r15d, 0xd2af8
jne 0x14003560f
cmp edi, 1
je 0x14003560f
mov rdi, qword [rsp + 0x30]
mov edx, 4
mov r8, rdi
call fcn.140017c34
jmp 0x140035614
cmp r15d, 0xd2af8
jne 0x140035686
cmp eax, 1
je 0x140035686
mov r8, rdi
mov edx, 4
call fcn.140017c34
mov r8, r13
mov rdx, rsi
call fcn.14003146c
mov edi, eax
test eax, eax
jns 0x1400356d0
test r14, r14
je 0x1400356ce
lea rdx, str.UPDATEINIS
mov rcx, r14
call qword [sym.imp.msvcrt.dll_wcsstr]
test rax, rax
je 0x1400356ce
lea r9, str.UPDATEINIS
mov r8d, edi
lea rdx, str.INF:_Error_0x_x_reported_for__S.__Honoring_INF_error_override_and_continuing._r_n
mov ecx, 3
call fcn.140016868
jmp 0x1400356d0
mov ebx, edi
test r12d, r12d
je 0x1400356e9
lea r8, str.NONADMININSTALL
mov rdx, rsi
call fcn.14003146c
test eax, eax
cmovs ebx, eax
mov r9d, 1
mov r8, r13
mov rdx, rsi
call fcn.1400312a0
mov edi, eax
test eax, eax
jns 0x140035739
test r14, r14
je 0x140035737
lea rdx, str.ADDREG
mov rcx, r14
call qword [sym.imp.msvcrt.dll_wcsstr]
test rax, rax
je 0x140035737
lea r9, str.ADDREG
mov r8d, edi
lea rdx, str.INF:_Error_0x_x_reported_for__S.__Honoring_INF_error_override_and_continuing._r_n
mov ecx, 3
call fcn.140016868
jmp 0x140035739
mov ebx, edi
test r12d, r12d
je 0x140035758
mov r9d, 1
lea r8, str.NONADMININSTALL
mov rdx, rsi
call fcn.1400312a0
test eax, eax
cmovs ebx, eax
mov eax, dword [0x140050558]
mov r9d, 1
mov r15, qword [rsp + 0x38]
and eax, 8
mov r8, r13
mov dword [rsp + 0x20], eax
mov rdx, rsi
mov rcx, r15
call fcn.1400335f8
mov edi, eax
test eax, eax
jns 0x1400357bd
test r14, r14
je 0x1400357bb
lea rdx, str.REGISTEROCXS
mov rcx, r14
call qword [sym.imp.msvcrt.dll_wcsstr]
test rax, rax
je 0x1400357bb
lea r9, str.REGISTEROCXS
mov r8d, edi
lea rdx, str.INF:_Error_0x_x_reported_for__S.__Honoring_INF_error_override_and_continuing._r_n
mov ecx, 3
call fcn.140016868
jmp 0x1400357bd
mov ebx, edi
test r12d, r12d
je 0x1400357ec
mov eax, dword [0x140050558]
lea r8, str.NONADMININSTALL
and eax, 8
mov r9d, 1
mov rdx, rsi
mov dword [rsp + 0x20], eax
mov rcx, r15
call fcn.1400335f8
test eax, eax
cmovs ebx, eax
mov r8, r13
mov rdx, rsi
call fcn.140032f14
test eax, eax
cmovs ebx, eax
test r12d, r12d
je 0x140035815
lea r8, str.NONADMININSTALL
mov rdx, rsi
call fcn.140032f14
test eax, eax
cmovs ebx, eax
mov eax, dword [0x140050558]
mov r9d, 1
and eax, 8
mov r8, r13
mov rdx, rsi
mov dword [rsp + 0x20], eax
call fcn.1400330a0
test eax, eax
mov edi, eax
cmovs ebx, eax
test r12d, r12d
je 0x140035868
mov eax, dword [0x140050558]
lea r8, str.NONADMININSTALL
and eax, 8
mov r9d, 1
mov rdx, rsi
mov dword [rsp + 0x20], eax
call fcn.1400330a0
test eax, eax
mov edi, eax
cmovs ebx, eax
test byte [0x140050558], 8
jne 0x1400358b6
mov r8, r13
mov rdx, rsi
mov rcx, r15
call fcn.140032478
xor r15d, r15d
mov r8, r13
test eax, eax
mov rdx, rsi
cmovs ebx, eax
call fcn.1400322d0
test eax, eax
mov edi, eax
cmovs ebx, eax
test r12d, r12d
je 0x1400358b9
lea r8, str.NONADMININSTALL
mov rdx, rsi
call fcn.1400322d0
test eax, eax
mov edi, eax
cmovs ebx, eax
jmp 0x1400358b9
xor r15d, r15d
mov rcx, rsi
call qword [sym.imp.SETUPAPI.dll_SetupCloseInfFile]
jmp 0x1400358fc
call qword [sym.imp.KERNEL32.dll_GetLastError]
xor r15d, r15d
lea r8, [rbp - 0x80]
test eax, eax
mov edx, 0x57
cmove eax, edx
lea rdx, str.ERROR:_Failed_to_open_INF:__S.__Result:_0x_x._r_n
movzx edi, ax
lea ecx, [r15 + 2]
or edi, 0x80070000
test eax, eax
cmovle edi, eax
mov r9d, edi
call fcn.140016868
mov rsi, qword [rsp + 0x40]
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_SetCurrentDirectoryW]
test edi, edi
js 0x14003593a
test ebx, ebx
js 0x14003593a
call fcn.140017bdc
cmp dword [0x140050558], r15d
je 0x14003597e
call fcn.140017bdc
movzx ebx, byte [0x140050558]
shr ebx, 3
and ebx, 1
or ebx, 0xd2af8
jmp 0x14003597e
mov r9d, ebx
lea r8, [rbp - 0x80]
lea rdx, str.ERROR:_INF_parser_failed_on:__S.__Result:_0x_x._r_n
mov ecx, 2
call fcn.140016868
call fcn.140017bdc
cmp dword [0x140050558], r15d
je 0x140035979
call fcn.140017bdc
mov ebx, dword [0x140050558]
shr ebx, 3
and ebx, 1
or ebx, 0xc00d2afa
jmp 0x14003597e
test edi, edi
cmovs ebx, edi
mov rcx, rsi
call fcn.14003c2b8
test r14, r14
je 0x140035993
mov rcx, r14
call fcn.14003c2b8
mov rax, qword [rsp + 0x30]
test rax, rax
je 0x1400359a5
mov rcx, rax
call fcn.14003c2b8
call fcn.140017b60
mov rdi, qword [rsp + 0x50]
mov dword [0x140050554], eax
mov dword [0x14005055c], 1
test rdi, rdi
je 0x1400359e9
mov rcx, qword [rdi + 8]
mov rsi, qword [rdi]
test rcx, rcx
je 0x1400359d9
call fcn.14003c2b8
mov qword [rdi + 8], r15
mov rcx, rdi
call fcn.14003c304
mov rdi, rsi
test rsi, rsi
jne 0x1400359c4
mov eax, ebx
jmp 0x1400359f9
mov eax, 0x80070002
jmp 0x1400359f9
mov eax, 0x8007000e
mov rcx, qword [rbp + 0x5b0]
xor rcx, rsp
call fcn.14003c6c0
mov rbx, qword [rsp + 0x718]
add rsp, 0x6c0
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret