Function at 0x4158e0
Capabilities:
Check if file exists
Set registry value

Disassembly:
mov r11, rsp
sub rsp, 0x118
mov qword [rsp + 0x90], 0xfffffffffffffffe
mov qword [r11 + 8], rbx
mov qword [r11 + 0x10], rbp
mov qword [r11 + 0x18], rsi
mov qword [r11 + 0x20], rdi
mov qword [r11 - 8], r12
mov qword [r11 - 0x10], r13
mov qword [r11 - 0x18], r14
mov qword [r11 - 0x20], r15
mov rax, qword [0x0045f6c0]
xor rax, rsp
mov qword [rsp + 0xe8], rax
xor r14d, r14d
mov qword [r11 - 0x38], 0xf
mov qword [r11 - 0x40], r14
mov byte [r11 - 0x50], r14b
xor r8d, r8d
lea edx, [r14 + 0x12]
lea rcx, [r11 - 0x58]
call fcn.00402120
lea rcx, [rsp + 0xc8]
mov rdx, qword [rsp + 0xe0]
cmp rdx, 0x10
cmovae rcx, qword [rsp + 0xc8]
lea r9d, [r14 + 0x12]
lea r8, str.IgnoreHWSerNum12D1
call fcn.00426220
mov qword [rsp + 0xd8], 0x12
lea rax, [rsp + 0xc8]
cmp qword [rsp + 0xe0], 0x10
cmovae rax, qword [rsp + 0xc8]
mov byte [rax + 0x12], r14b
mov qword [rsp + 0xb8], 0xf
mov qword [rsp + 0xb0], r14
mov byte [rsp + 0xa0], r14b
mov byte [rsp + 0x50], 1
mov qword [rsp + 0x40], r14
lea rax, [rsp + 0x70]
mov qword [rsp + 0x38], rax
mov qword [rsp + 0x30], r14
mov dword [rsp + 0x28], 0x2001f
mov dword [rsp + 0x20], r14d
xor r9d, r9d
xor r8d, r8d
lea rdx, str.SYSTEMCurrentControlSetControlUsbFlags
mov rcx, 0xffffffff80000002
call qword [sym.imp.ADVAPI32.dll_RegCreateKeyExA]
test eax, eax
je 0x406659
lea rcx, str.INFO:_Reg_UsbFlags_Open_Key_error._n
call fcn.00404a90
mov r14d, 0x4e25
jmp 0x406e7a
mov rax, qword [0x004adbc0]
mov rbx, rax
mov rdi, qword [0x004adbc8]
cmp rax, rdi
jbe 0x406682
call fcn.00426650
mov rdi, qword [0x004adbc8]
mov rax, qword [0x004adbc0]
lea r15, [0x004adbb8]
mov qword [rsp + 0x60], r15
mov qword [rsp + 0x68], rbx
movaps xmm0, xmmword [rsp + 0x60]
movdqa xmmword [rsp + 0x60], xmm0
mov r13, qword [rsp + 0x60]
mov r12, qword [rsp + 0x68]
cmp rax, rdi
jbe 0x4066b2
call fcn.00426650
test r13, r13
je 0x4066bc
cmp r13, r15
je 0x4066c1
call fcn.00426650
cmp r12, rdi
je 0x406a62
mov r9, 0xffffffffffffffff
xor r8d, r8d
lea rdx, [rsp + 0xc0]
lea rcx, [rsp + 0x98]
call fcn.00403070
test r13, r13
jne 0x4066f3
call fcn.00426650
cmp r12, qword [r13 + 0x10]
jb 0x4066fe
call fcn.00426650
cmp qword [r12 + 0x20], 0x10
jb 0x40670d
mov rbp, qword [r12 + 8]
jmp 0x406712
lea rbp, [r12 + 8]
mov rcx, rbp
call fcn.00428550
xor eax, eax
mov rcx, 0xffffffffffffffff
mov rdi, rbp
repne scasb al, byte [rdi]
not rcx
sub rcx, 1
mov rbx, rcx
lea rax, [rsp + 0xa0]
mov r8, qword [rsp + 0xa0]
mov rdi, qword [rsp + 0xb8]
cmp rdi, 0x10
cmovae rax, r8
mov rdx, qword [rsp + 0xb0]
cmp rbp, rax
jb 0x4068e4
lea rax, [rsp + 0xa0]
cmp rdi, 0x10
cmovae rax, r8
add rax, rdx
cmp rax, rbp
jbe 0x4068e4
lea rax, [rsp + 0xa0]
cmp rdi, 0x10
cmovae rax, r8
sub rbp, rax
cmp rdx, rbp
jae 0x4067ac
call fcn.0043e4b0
mov rdi, qword [rsp + 0xb8]
mov rdx, qword [rsp + 0xb0]
mov rax, rdx
sub rax, rbp
cmp rax, rbx
cmovb rbx, rax
mov rax, 0xffffffffffffffff
sub rax, rdx
cmp rax, rbx
jbe 0x4067d1
lea rax, [rdx + rbx]
cmp rax, rdx
jae 0x4067e6
call fcn.0043e3e0
mov rdi, qword [rsp + 0xb8]
mov rdx, qword [rsp + 0xb0]
test rbx, rbx
je 0x4069ef
lea rsi, [rdx + rbx]
cmp rsi, 0xfffffffffffffffe
jbe 0x40680e
call fcn.0043e3e0
mov rdi, qword [rsp + 0xb8]
mov rdx, qword [rsp + 0xb0]
cmp rdi, rsi
jae 0x406838
mov r8, rdx
mov rdx, rsi
lea rcx, [rsp + 0x98]
call fcn.00402120
mov rdi, qword [rsp + 0xb8]
mov rdx, qword [rsp + 0xb0]
jmp 0x40686a
test rsi, rsi
jne 0x40686a
mov qword [rsp + 0xb0], rsi
lea rax, [rsp + 0xa0]
cmp rdi, 0x10
cmovae rax, qword [rsp + 0xa0]
mov byte [rax], sil
mov rdi, qword [rsp + 0xb8]
jmp 0x4069ef
test rsi, rsi
je 0x4069ef
lea rcx, [rsp + 0xa0]
mov r8, qword [rsp + 0xa0]
cmp rdi, 0x10
cmovae rcx, r8
lea rax, [rsp + 0xa0]
cmp rdi, 0x10
cmovae rax, r8
lea r8, [rcx + rbp]
sub rdi, rdx
lea rcx, [rdx + rax]
mov r9, rbx
mov rdx, rdi
call fcn.00426220
mov qword [rsp + 0xb0], rsi
lea rax, [rsp + 0xa0]
cmp qword [rsp + 0xb8], 0x10
cmovae rax, qword [rsp + 0xa0]
mov byte [rax + rsi], 0
mov rdi, qword [rsp + 0xb8]
jmp 0x4069ef
mov rax, 0xffffffffffffffff
sub rax, rdx
cmp rax, rcx
jbe 0x4068fc
lea rax, [rdx + rcx]
cmp rax, rdx
jae 0x406911
call fcn.0043e3e0
mov rdi, qword [rsp + 0xb8]
mov rdx, qword [rsp + 0xb0]
test rbx, rbx
je 0x4069ef
lea rsi, [rdx + rbx]
cmp rsi, 0xfffffffffffffffe
jbe 0x406939
call fcn.0043e3e0
mov rdi, qword [rsp + 0xb8]
mov rdx, qword [rsp + 0xb0]
cmp rdi, rsi
jae 0x406963
mov r8, rdx
mov rdx, rsi
lea rcx, [rsp + 0x98]
call fcn.00402120
mov rdi, qword [rsp + 0xb8]
mov rdx, qword [rsp + 0xb0]
jmp 0x406992
test rsi, rsi
jne 0x406992
mov qword [rsp + 0xb0], rsi
lea rax, [rsp + 0xa0]
cmp rdi, 0x10
cmovae rax, qword [rsp + 0xa0]
mov byte [rax], sil
mov rdi, qword [rsp + 0xb8]
jmp 0x4069ef
test rsi, rsi
je 0x4069ef
lea rax, [rsp + 0xa0]
cmp rdi, 0x10
cmovae rax, qword [rsp + 0xa0]
sub rdi, rdx
lea rcx, [rdx + rax]
mov r9, rbx
mov r8, rbp
mov rdx, rdi
call fcn.00426220
mov qword [rsp + 0xb0], rsi
lea rax, [rsp + 0xa0]
cmp qword [rsp + 0xb8], 0x10
cmovae rax, qword [rsp + 0xa0]
mov byte [rax + rsi], 0
mov rdi, qword [rsp + 0xb8]
lea rdx, [rsp + 0xa0]
cmp rdi, 0x10
cmovae rdx, qword [rsp + 0xa0]
mov dword [rsp + 0x28], 1
lea rax, [rsp + 0x50]
mov qword [rsp + 0x20], rax
mov r9d, 3
xor r8d, r8d
mov rcx, qword [rsp + 0x70]
call qword [sym.imp.ADVAPI32.dll_RegSetValueExA]
test eax, eax
je 0x406a40
lea rcx, str.INFO:_Reg_UsbFlags_Write_Key_error._n
call fcn.00404a90
mov r14d, 0x4e25
cmp r12, qword [r13 + 0x10]
jb 0x406a4b
call fcn.00426650
add r12, 0x28
mov rdi, qword [0x004adbc8]
mov rax, qword [0x004adbc0]
jmp 0x4066a8
mov rax, qword [0x004adba0]
mov rbx, rax
mov rdi, qword [0x004adba8]
cmp rax, rdi
jbe 0x406a8b
call fcn.00426650
mov rdi, qword [0x004adba8]
mov rax, qword [0x004adba0]
lea r15, [0x004adb98]
mov qword [rsp + 0x80], r15
mov qword [rsp + 0x88], rbx
movaps xmm0, xmmword [rsp + 0x80]
movdqa xmmword [rsp + 0x60], xmm0
mov r13, qword [rsp + 0x60]
mov r12, qword [rsp + 0x68]
nop
nop
cmp rax, rdi
jbe 0x406aca
call fcn.00426650
test r13, r13
je 0x406ad4
cmp r13, r15
je 0x406ad9
call fcn.00426650
cmp r12, rdi
je 0x406e7a
mov r9, 0xffffffffffffffff
xor r8d, r8d
lea rdx, [rsp + 0xc0]
lea rcx, [rsp + 0x98]
call fcn.00403070
test r13, r13
jne 0x406b0b
call fcn.00426650
cmp r12, qword [r13 + 0x10]
jb 0x406b16
call fcn.00426650
cmp qword [r12 + 0x20], 0x10
jb 0x406b25
mov rbp, qword [r12 + 8]
jmp 0x406b2a
lea rbp, [r12 + 8]
mov rcx, rbp
call fcn.00428550
xor eax, eax
mov rcx, 0xffffffffffffffff
mov rdi, rbp
repne scasb al, byte [rdi]
not rcx
sub rcx, 1
mov rbx, rcx
lea rax, [rsp + 0xa0]
mov r8, qword [rsp + 0xa0]
mov rdi, qword [rsp + 0xb8]
cmp rdi, 0x10
cmovae rax, r8
mov rdx, qword [rsp + 0xb0]
cmp rbp, rax
jb 0x406cfc
lea rax, [rsp + 0xa0]
cmp rdi, 0x10
cmovae rax, r8
add rax, rdx
cmp rax, rbp
jbe 0x406cfc
lea rax, [rsp + 0xa0]
cmp rdi, 0x10
cmovae rax, r8
sub rbp, rax
cmp rdx, rbp
jae 0x406bc4
call fcn.0043e4b0
mov rdi, qword [rsp + 0xb8]
mov rdx, qword [rsp + 0xb0]
mov rax, rdx
sub rax, rbp
cmp rax, rbx
cmovb rbx, rax
mov rax, 0xffffffffffffffff
sub rax, rdx
cmp rax, rbx
jbe 0x406be9
lea rax, [rdx + rbx]
cmp rax, rdx
jae 0x406bfe
call fcn.0043e3e0
mov rdi, qword [rsp + 0xb8]
mov rdx, qword [rsp + 0xb0]
test rbx, rbx
je 0x406e07
lea rsi, [rdx + rbx]
cmp rsi, 0xfffffffffffffffe
jbe 0x406c26
call fcn.0043e3e0
mov rdi, qword [rsp + 0xb8]
mov rdx, qword [rsp + 0xb0]
cmp rdi, rsi
jae 0x406c50
mov r8, rdx
mov rdx, rsi
lea rcx, [rsp + 0x98]
call fcn.00402120
mov rdi, qword [rsp + 0xb8]
mov rdx, qword [rsp + 0xb0]
jmp 0x406c82
test rsi, rsi
jne 0x406c82
mov qword [rsp + 0xb0], rsi
lea rax, [rsp + 0xa0]
cmp rdi, 0x10
cmovae rax, qword [rsp + 0xa0]
mov byte [rax], sil
mov rdi, qword [rsp + 0xb8]
jmp 0x406e07
test rsi, rsi
je 0x406e07
lea rcx, [rsp + 0xa0]
mov r8, qword [rsp + 0xa0]
cmp rdi, 0x10
cmovae rcx, r8
lea rax, [rsp + 0xa0]
cmp rdi, 0x10
cmovae rax, r8
lea r8, [rcx + rbp]
sub rdi, rdx
lea rcx, [rdx + rax]
mov r9, rbx
mov rdx, rdi
call fcn.00426220
mov qword [rsp + 0xb0], rsi
lea rax, [rsp + 0xa0]
cmp qword [rsp + 0xb8], 0x10
cmovae rax, qword [rsp + 0xa0]
mov byte [rsi + rax], 0
mov rdi, qword [rsp + 0xb8]
jmp 0x406e07
mov rax, 0xffffffffffffffff
sub rax, rdx
cmp rax, rcx
jbe 0x406d14
lea rax, [rdx + rcx]
cmp rax, rdx
jae 0x406d29
call fcn.0043e3e0
mov rdi, qword [rsp + 0xb8]
mov rdx, qword [rsp + 0xb0]
test rbx, rbx
je 0x406e07
lea rsi, [rdx + rbx]
cmp rsi, 0xfffffffffffffffe
jbe 0x406d51
call fcn.0043e3e0
mov rdi, qword [rsp + 0xb8]
mov rdx, qword [rsp + 0xb0]
cmp rdi, rsi
jae 0x406d7b
mov r8, rdx
mov rdx, rsi
lea rcx, [rsp + 0x98]
call fcn.00402120
mov rdi, qword [rsp + 0xb8]
mov rdx, qword [rsp + 0xb0]
jmp 0x406daa
test rsi, rsi
jne 0x406daa
mov qword [rsp + 0xb0], rsi
lea rax, [rsp + 0xa0]
cmp rdi, 0x10
cmovae rax, qword [rsp + 0xa0]
mov byte [rax], sil
mov rdi, qword [rsp + 0xb8]
jmp 0x406e07
test rsi, rsi
je 0x406e07
lea rax, [rsp + 0xa0]
cmp rdi, 0x10
cmovae rax, qword [rsp + 0xa0]
sub rdi, rdx
lea rcx, [rdx + rax]
mov r9, rbx
mov r8, rbp
mov rdx, rdi
call fcn.00426220
mov qword [rsp + 0xb0], rsi
lea rax, [rsp + 0xa0]
cmp qword [rsp + 0xb8], 0x10
cmovae rax, qword [rsp + 0xa0]
mov byte [rsi + rax], 0
mov rdi, qword [rsp + 0xb8]
lea rdx, [rsp + 0xa0]
cmp rdi, 0x10
cmovae rdx, qword [rsp + 0xa0]
mov dword [rsp + 0x28], 1
lea rax, [rsp + 0x50]
mov qword [rsp + 0x20], rax
mov r9d, 3
xor r8d, r8d
mov rcx, qword [rsp + 0x70]
call qword [sym.imp.ADVAPI32.dll_RegSetValueExA]
test eax, eax
je 0x406e58
lea rcx, str.INFO:_Reg_UsbFlags_Write_Key_error._n
call fcn.00404a90
mov r14d, 0x4e25
cmp r12, qword [r13 + 0x10]
jb 0x406e63
call fcn.00426650
add r12, 0x28
mov rdi, qword [0x004adba8]
mov rax, qword [0x004adba0]
jmp 0x406ac0
mov rax, qword [0x004adbe0]
mov rbx, rax
mov rdi, qword [0x004adbe8]
cmp rax, rdi
jbe 0x406ea3
call fcn.00426650
mov rdi, qword [0x004adbe8]
mov rax, qword [0x004adbe0]
lea rcx, [0x004adbd8]
mov qword [rsp + 0x80], rcx
mov qword [rsp + 0x88], rbx
movaps xmm0, xmmword [rsp + 0x80]
movdqa xmmword [rsp + 0x60], xmm0
lea r15, str.IgnoreHWSerNum
mov r13, qword [rsp + 0x60]
mov r12, qword [rsp + 0x68]
nop
nop
cmp rax, rdi
jbe 0x406ef1
call fcn.00426650
lea rcx, [0x004adbd8]
test r13, r13
je 0x406efb
cmp r13, rcx
je 0x406f00
call fcn.00426650
cmp r12, rdi
je 0x407371
lea rax, [rsp + 0xa0]
mov rdi, qword [rsp + 0xa0]
mov rdx, qword [rsp + 0xb8]
cmp rdx, 0x10
cmovae rax, rdi
mov r8, qword [rsp + 0xb0]
cmp r15, rax
jb 0x406f81
lea rax, [rsp + 0xa0]
cmp rdx, 0x10
cmovae rax, rdi
add rax, r8
cmp rax, r15
jbe 0x406f81
lea rax, [rsp + 0xa0]
cmp rdx, 0x10
cmovae rax, rdi
mov r8, r15
sub r8, rax
mov r9d, 0xe
lea rdx, [rsp + 0x98]
lea rcx, [rsp + 0x98]
call fcn.00403070
jmp 0x406ff1
cmp rdx, 0xe
jae 0x406fa9
mov edx, 0xe
lea rcx, [rsp + 0x98]
call fcn.00402120
mov rdx, qword [rsp + 0xb8]
mov rdi, qword [rsp + 0xa0]
lea rcx, [rsp + 0xa0]
cmp rdx, 0x10
cmovae rcx, rdi
mov r9d, 0xe
mov r8, r15
call fcn.00426220
mov qword [rsp + 0xb0], 0xe
lea rax, [rsp + 0xa0]
cmp qword [rsp + 0xb8], 0x10
cmovae rax, qword [rsp + 0xa0]
mov byte [rax + 0xe], 0
test r13, r13
jne 0x406ffb
call fcn.00426650
cmp r12, qword [r13 + 0x10]
jb 0x407006
call fcn.00426650
cmp qword [r12 + 0x20], 0x10
jb 0x407015
mov rbp, qword [r12 + 8]
jmp 0x40701a
lea rbp, [r12 + 8]
mov rcx, rbp
call fcn.00428550
xor eax, eax
mov rcx, 0xffffffffffffffff
mov rdi, rbp
repne scasb al, byte [rdi]
not rcx
sub rcx, 1
mov rbx, rcx
lea rax, [rsp + 0xa0]
mov r8, qword [rsp + 0xa0]
mov rdi, qword [rsp + 0xb8]
cmp rdi, 0x10
cmovae rax, r8
mov rdx, qword [rsp + 0xb0]
cmp rbp, rax
jb 0x4071ec
lea rax, [rsp + 0xa0]
cmp rdi, 0x10
cmovae rax, r8
add rax, rdx
cmp rax, rbp
jbe 0x4071ec
lea rax, [rsp + 0xa0]
cmp rdi, 0x10
cmovae rax, r8
sub rbp, rax
cmp rdx, rbp
jae 0x4070b4
call fcn.0043e4b0
mov rdi, qword [rsp + 0xb8]
mov rdx, qword [rsp + 0xb0]
mov rax, rdx
sub rax, rbp
cmp rax, rbx
cmovb rbx, rax
mov rax, 0xffffffffffffffff
sub rax, rdx
cmp rax, rbx
jbe 0x4070d9
lea rax, [rdx + rbx]
cmp rax, rdx
jae 0x4070ee
call fcn.0043e3e0
mov rdi, qword [rsp + 0xb8]
mov rdx, qword [rsp + 0xb0]
test rbx, rbx
je 0x4072f7
lea rsi, [rdx + rbx]
cmp rsi, 0xfffffffffffffffe
jbe 0x407116
call fcn.0043e3e0
mov rdi, qword [rsp + 0xb8]
mov rdx, qword [rsp + 0xb0]
cmp rdi, rsi
jae 0x407140
mov r8, rdx
mov rdx, rsi
lea rcx, [rsp + 0x98]
call fcn.00402120
mov rdi, qword [rsp + 0xb8]
mov rdx, qword [rsp + 0xb0]
jmp 0x407172
test rsi, rsi
jne 0x407172
mov qword [rsp + 0xb0], rsi
lea rax, [rsp + 0xa0]
cmp rdi, 0x10
cmovae rax, qword [rsp + 0xa0]
mov byte [rax], sil
mov rdi, qword [rsp + 0xb8]
jmp 0x4072f7
test rsi, rsi
je 0x4072f7
lea rcx, [rsp + 0xa0]
mov r8, qword [rsp + 0xa0]
cmp rdi, 0x10
cmovae rcx, r8
lea rax, [rsp + 0xa0]
cmp rdi, 0x10
cmovae rax, r8
lea r8, [rcx + rbp]
sub rdi, rdx
lea rcx, [rdx + rax]
mov r9, rbx
mov rdx, rdi
call fcn.00426220
mov qword [rsp + 0xb0], rsi
lea rax, [rsp + 0xa0]
cmp qword [rsp + 0xb8], 0x10
cmovae rax, qword [rsp + 0xa0]
mov byte [rsi + rax], 0
mov rdi, qword [rsp + 0xb8]
jmp 0x4072f7
mov rax, 0xffffffffffffffff
sub rax, rdx
cmp rax, rcx
jbe 0x407204
lea rax, [rdx + rcx]
cmp rax, rdx
jae 0x407219
call fcn.0043e3e0
mov rdi, qword [rsp + 0xb8]
mov rdx, qword [rsp + 0xb0]
test rbx, rbx
je 0x4072f7
lea rsi, [rdx + rbx]
cmp rsi, 0xfffffffffffffffe
jbe 0x407241
call fcn.0043e3e0
mov rdi, qword [rsp + 0xb8]
mov rdx, qword [rsp + 0xb0]
cmp rdi, rsi
jae 0x40726b
mov r8, rdx
mov rdx, rsi
lea rcx, [rsp + 0x98]
call fcn.00402120
mov rdi, qword [rsp + 0xb8]
mov rdx, qword [rsp + 0xb0]
jmp 0x40729a
test rsi, rsi
jne 0x40729a
mov qword [rsp + 0xb0], rsi
lea rax, [rsp + 0xa0]
cmp rdi, 0x10
cmovae rax, qword [rsp + 0xa0]
mov byte [rax], sil
mov rdi, qword [rsp + 0xb8]
jmp 0x4072f7
test rsi, rsi
je 0x4072f7
lea rax, [rsp + 0xa0]
cmp rdi, 0x10
cmovae rax, qword [rsp + 0xa0]
sub rdi, rdx
lea rcx, [rdx + rax]
mov r9, rbx
mov r8, rbp
mov rdx, rdi
call fcn.00426220
mov qword [rsp + 0xb0], rsi
lea rax, [rsp + 0xa0]
cmp qword [rsp + 0xb8], 0x10
cmovae rax, qword [rsp + 0xa0]
mov byte [rax + rsi], 0
mov rdi, qword [rsp + 0xb8]
lea rdx, [rsp + 0xa0]
cmp rdi, 0x10
cmovae rdx, qword [rsp + 0xa0]
mov dword [rsp + 0x28], 1
lea rax, [rsp + 0x50]
mov qword [rsp + 0x20], rax
mov r9d, 3
xor r8d, r8d
mov rcx, qword [rsp + 0x70]
call qword [sym.imp.ADVAPI32.dll_RegSetValueExA]
test eax, eax
je 0x407348
lea rcx, str.INFO:_Reg_UsbFlags_Write_Key_error._n
call fcn.00404a90
mov r14d, 0x4e25
cmp r12, qword [r13 + 0x10]
jb 0x407353
call fcn.00426650
add r12, 0x28
mov rdi, qword [0x004adbe8]
mov rax, qword [0x004adbe0]
lea rcx, [0x004adbd8]
jmp 0x406ee0
lea rcx, str.INFO:_Reg_UsbFlags_Write_Key_completed._n
call fcn.00404a90
mov rcx, qword [rsp + 0x70]
call qword [sym.imp.ADVAPI32.dll_RegCloseKey]
nop
cmp qword [rsp + 0xb8], 0x10
jb 0x4073a1
mov rcx, qword [rsp + 0xa0]
call fcn.0041873c
mov qword [rsp + 0xb8], 0xf
mov qword [rsp + 0xb0], 0
mov byte [rsp + 0xa0], 0
cmp qword [rsp + 0xe0], 0x10
jb 0x4073de
mov rcx, qword [rsp + 0xc8]
call fcn.0041873c
mov eax, r14d
jmp 0x4073e1
mov eax, r14d
mov rcx, qword [rsp + 0xe8]
xor rcx, rsp
call fcn.00425570
mov rbx, qword [rsp + 0x120]
mov rbp, qword [rsp + 0x128]
mov rsi, qword [rsp + 0x130]
mov rdi, qword [rsp + 0x138]
mov r12, qword [rsp + 0x110]
mov r13, qword [rsp + 0x108]
mov r14, qword [rsp + 0x100]
mov r15, qword [rsp + 0xf8]
add rsp, 0x118
ret
push rbx
sub rsp, 0x20
mov rbx, rcx
call qword [sym.imp.SHLWAPI.dll_PathFileExistsA]
cmp eax, 1
je 0x4158ff
mov eax, 0x4e24
add rsp, 0x20
pop rbx
ret
mov rcx, rbx
call fcn.00412310
mov r8d, dword [0x00476b74]
lea rdx, [0x00476b80]
mov rcx, rbx
call fcn.0040ba60
mov r8d, dword [0x00461268]
lea rdx, [0x00461270]
mov rcx, rbx
call fcn.0040ba60
add rsp, 0x20
pop rbx
jmp 0x406520