Function at 0x4053dd
Capabilities:
Get file attributes
Query environment variable
Set file attributes

Disassembly:
push r15
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x5c8
movabs rax, 0xcf2cbe3fe1c58f9f
movabs rsi, 0x43c85e17a87245b8
movabs rdi, 0xcf5fcd5a82a6eec3
mov qword [rsp + 0x20], rdi
lea r12, [rsp + 0x3e0]
mov r13, rcx
lea r14, [rsp + 0x140]
mov qword [rsp + 0x200], rax
lea rax, [rsp + 0x200]
mov rcx, r12
mov qword [rsp + 0x208], rsi
mov rdx, rax
mov qword [rsp + 0x28], rsi
vmovdqu xmm1, xmmword [rsp + 0x20]
vpxor xmm0, xmm1, xmmword [rsp + 0x200]
mov qword [rsp + 0x20], rax
vmovups xmmword [rsp + 0x200], xmm0
call fcn.00403210
mov qword [rsp + 0x148], rsi
mov rcx, r14
movabs rax, 0xcf5fcd5ad2ebab97
mov qword [rsp + 0x30], rdi
lea rdi, [rsp + 0xa0]
mov qword [rsp + 0x38], rsi
vmovdqu xmm2, xmmword [rsp + 0x30]
mov qword [rsp + 0x140], rax
vpxor xmm0, xmm2, xmmword [rsp + 0x140]
vmovups xmmword [rsp + 0x140], xmm0
call sub.msvcrt.dll_getenv
mov r8, r12
mov rcx, rdi
mov rdx, rax
call fcn.004b2960
mov rcx, r12
call fcn.004a18b0
mov rcx, qword [rsp + 0x20]
mov r8d, 0x18
mov rdx, rdi
call fcn.00488a70
lea rax, [rsp + 0xd0]
cmp dword [rsp + 0x2f8], 0
mov qword [rsp + 0xc8], 0
lea r15, [rsp + 0xe0]
mov byte [r13 + 0x10], 0
lea rbx, [rsp + 0x70]
lea rbp, [rsp + 0x60]
mov qword [rsp + 0xc0], rax
lea rax, [r13 + 0x10]
lea rsi, [rsp + 0x100]
mov qword [r13], rax
lea rax, [rsp + 0x80]
mov qword [rsp + 0x40], rax
lea rax, [rsp + 0x90]
mov byte [rsp + 0xd0], 0
mov qword [r13 + 8], 0
mov qword [rsp + 0x48], rax
je 0x40572c
movabs rax, 0xcf5fcd5ae7cb8fad
mov rcx, r15
movabs rdx, 0xcf5fcd5a82a6eec3
mov qword [rsp + 0x70], rax
movabs rax, 0x43c85e17a87245b8
mov qword [rsp + 0x30], rdx
mov qword [rsp + 0x78], rax
mov qword [rsp + 0x38], rax
vmovdqu xmm3, xmmword [rsp + 0x30]
vpxor xmm0, xmm3, xmmword [rsp + 0x70]
vmovups xmmword [rsp + 0x70], xmm0
call fcn.004047d4
mov rdx, rbx
mov rcx, r14
call fcn.00403210
lea rcx, [rsp + 0x160]
mov rdx, r15
call fcn.004a3920
xor ecx, ecx
movabs rax, 0xcf5fcd5a82c299a0
movabs rdx, 0xcf5fcd5a82a6eec3
mov qword [rsp + 0x80], rax
movabs rax, 0x43c85e17a87245b8
mov qword [rsp + 0x30], rdx
xor edx, edx
mov qword [rsp + 0x88], rax
mov qword [rsp + 0x38], rax
vmovdqu xmm4, xmmword [rsp + 0x30]
vpxor xmm0, xmm4, xmmword [rsp + 0x80]
vmovups xmmword [rsp + 0x80], xmm0
call sub.msvcrt.dll__getcwd
lea rbx, [rsp + 0x180]
mov rdx, qword [rsp + 0x40]
mov r8, rbp
mov qword [rsp + 0x60], rax
mov rcx, rbx
call fcn.00404b64
movabs rax, 0xcf5fcd5ae5c99cb3
lea rbp, [rsp + 0x120]
movabs rdx, 0xcf5fcd5a82a6eec3
mov qword [rsp + 0x90], rax
mov rcx, rbp
movabs rax, 0x43c85e17a87245b8
mov qword [rsp + 0x30], rdx
mov qword [rsp + 0x98], rax
mov qword [rsp + 0x38], rax
vmovdqu xmm5, xmmword [rsp + 0x30]
vpxor xmm0, xmm5, xmmword [rsp + 0x90]
vmovups xmmword [rsp + 0x90], xmm0
call fcn.00404d9b
lea rax, [rsp + 0x1c0]
mov rdx, qword [rsp + 0x48]
mov rcx, rax
mov qword [rsp + 0x30], rax
call fcn.00403210
lea rcx, [rsp + 0x1e0]
mov rdx, rbp
call fcn.004a3920
mov r8, qword [rsp + 0x20]
mov rdx, r14
mov rcx, r12
call fcn.004050f8
mov rdx, r12
mov rcx, rsi
call fcn.00401f8c
mov rdx, rsi
lea rcx, [rsp + 0xc0]
call fcn.004a3f40
mov rcx, rsi
call fcn.004a18b0
mov rcx, r12
call fcn.00401700
mov rcx, qword [rsp + 0x30]
call fcn.0040160e
mov rcx, rbx
call fcn.0040160e
mov rcx, r14
call fcn.0040160e
mov rcx, rbp
call fcn.004a18b0
mov rcx, r15
call fcn.004a18b0
jmp 0x405971
mov rcx, qword [rsp + 0x20]
mov rdx, r13
call fcn.004b3680
movabs rax, 0xcf5fcd5ae7cb8fad
mov rcx, r15
movabs rdx, 0xcf5fcd5a82a6eec3
mov qword [rsp + 0x60], rax
movabs rax, 0x43c85e17a87245b8
mov qword [rsp + 0x30], rdx
mov qword [rsp + 0x68], rax
mov qword [rsp + 0x38], rax
vmovdqu xmm1, xmmword [rsp + 0x30]
vpxor xmm0, xmm1, xmmword [rsp + 0x60]
vmovups xmmword [rsp + 0x60], xmm0
call fcn.004047d4
mov rdx, rbp
mov rcx, r12
call fcn.00403210
lea rcx, [rsp + 0x400]
mov rdx, r15
call fcn.004a3920
xor ecx, ecx
movabs rax, 0xcf5fcd5a82c299a0
movabs rdx, 0xcf5fcd5a82a6eec3
mov qword [rsp + 0x70], rax
movabs rax, 0x43c85e17a87245b8
mov qword [rsp + 0x30], rdx
xor edx, edx
mov qword [rsp + 0x78], rax
mov qword [rsp + 0x38], rax
vmovdqu xmm2, xmmword [rsp + 0x30]
vpxor xmm0, xmm2, xmmword [rsp + 0x70]
vmovups xmmword [rsp + 0x70], xmm0
call sub.msvcrt.dll__getcwd
lea rcx, [rsp + 0x420]
lea r8, [rsp + 0x58]
mov rdx, rbx
mov qword [rsp + 0x58], rax
call fcn.00404b64
movabs rax, 0xcf5fcd5ae6cf9bb6
lea rbp, [rsp + 0x460]
movabs rdx, 0xcf5fcd5a82a6eec3
mov qword [rsp + 0x80], rax
mov rcx, rbp
movabs rax, 0x43c85e17a87245b8
mov qword [rsp + 0x30], rdx
mov rdx, qword [rsp + 0x40]
mov qword [rsp + 0x88], rax
mov qword [rsp + 0x38], rax
vmovdqu xmm3, xmmword [rsp + 0x30]
vpxor xmm0, xmm3, xmmword [rsp + 0x80]
vmovups xmmword [rsp + 0x80], xmm0
call fcn.00403210
lea rcx, [rsp + 0x480]
mov rdx, r13
call fcn.004a3a60
jmp 0x405883
movabs rax, 0xcf5fcd5ae5c99cb3
mov rcx, rsi
movabs rdx, 0xcf5fcd5a82a6eec3
mov qword [rsp + 0x90], rax
movabs rax, 0x43c85e17a87245b8
mov qword [rsp + 0x30], rdx
mov qword [rsp + 0x98], rax
mov qword [rsp + 0x38], rax
vmovdqu xmm4, xmmword [rsp + 0x30]
vpxor xmm0, xmm4, xmmword [rsp + 0x90]
vmovups xmmword [rsp + 0x90], xmm0
call fcn.00404d9b
mov rdx, qword [rsp + 0x48]
lea rcx, [rsp + 0x4a0]
call fcn.00403210
lea rcx, [rsp + 0x4c0]
mov rdx, rsi
lea rbx, [rsp + 0x4e0]
call fcn.004a3920
mov r8, rbx
mov rdx, r12
mov rcx, r14
call fcn.004050f8
lea rbp, [rsp + 0x120]
mov rdx, r14
mov rcx, rbp
call fcn.00401f8c
lea rcx, [rsp + 0xc0]
mov rdx, rbp
call fcn.004a3f40
mov rcx, rbp
call fcn.004a18b0
mov rcx, r14
call fcn.00401700
sub rbx, 0x40
mov rcx, rbx
call fcn.0040160e
cmp rbx, r12
jne 0x405946
mov rcx, rsi
call fcn.004a18b0
mov rcx, r15
call fcn.004a18b0
mov rcx, qword [rsp + 0x20]
call fcn.004885a0
mov rcx, qword [rsp + 0xa0]
call qword [sym.imp.KERNEL32.dll_GetFileAttributesA]
test al, 2
je 0x4059ea
movabs rax, 0xaa2bbe33e5c39cec
mov rdx, r14
mov rcx, r12
mov qword [rsp + 0x140], rax
movabs rax, 0x43c85e17a87245ca
mov qword [rsp + 0x148], rax
movabs rax, 0xcf5fcd5a82a6eec3
mov qword [rsp + 0x30], rax
movabs rax, 0x43c85e17a87245b8
mov qword [rsp + 0x38], rax
vmovdqu xmm5, xmmword [rsp + 0x30]
vpxor xmm0, xmm5, xmmword [rsp + 0x140]
vmovups xmmword [rsp + 0x140], xmm0
call fcn.00403210
jmp 0x4059ff
or eax, 2
mov rcx, qword [rsp + 0xa0]
mov edx, eax
call qword [sym.imp.KERNEL32.dll_SetFileAttributesA]
jmp 0x405983
lea r14, [rsp + 0xc0]
mov r9, r13
mov rdx, r12
mov r8, r14
lea rcx, [0x004e70c0]
call fcn.00404455
mov esi, eax
mov rcx, r12
call fcn.004a18b0
cmp esi, 0xe8
jne 0x405b45
mov r8d, 0x10
mov rdx, rdi
mov rcx, r12
call fcn.00488a70
lea rcx, [rsp + 0x3f0]
mov rdx, r13
call fcn.004b2540
mov rcx, r12
call fcn.004885a0
mov rcx, r12
call fcn.004894a0
jmp 0x405b45
mov rcx, r14
call fcn.004a18b0
mov rcx, qword [rsp + 0x20]
call fcn.004894a0
mov rcx, rdi
call fcn.004a18b0
mov rax, r13
add rsp, 0x5c8
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret