Function at 0x10001ba20
Capabilities:
Link many functions at runtime
Set file attributes

Disassembly:
mov rax, rsp
push rsi
push rdi
push r12
push r13
push r14
sub rsp, 0x60
mov qword [rsp + 0x28], 0xfffffffffffffffe
mov qword [rax + 8], rbx
mov qword [rax + 0x10], rbp
mov rbp, rdx
mov rsi, rcx
call fcn.100019814
xor edi, edi
cmp eax, edi
jl 0x10001c2ce
lea rdx, [0x10000a73c]
mov rcx, qword [rsi + 0xa0]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [rsi + 0xb0], rax
mov r14d, 1
cmp rax, rdi
jne 0x10001ba8c
mov dl, r14b
lea rcx, [0x10000a73c]
call fcn.100023eec
jmp 0x10001ba8e
mov eax, edi
cmp eax, edi
jl 0x10001c2ce
lea rdx, [0x10000a748]
mov rcx, qword [rsi + 0xa0]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [rsi + 0xb8], rax
cmp rax, rdi
jne 0x10001bac7
mov dl, r14b
lea rcx, [0x10000a748]
call fcn.100023eec
jmp 0x10001bac9
mov eax, edi
cmp eax, edi
jl 0x10001c2ce
lea rdx, [0x10000a758]
mov rcx, qword [rsi + 0xa0]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [rsi + 0xc0], rax
cmp rax, rdi
jne 0x10001bb02
mov dl, r14b
lea rcx, [0x10000a758]
call fcn.100023eec
jmp 0x10001bb04
mov eax, edi
cmp eax, edi
jl 0x10001c2ce
lea rdx, [0x10000a770]
mov rcx, qword [rsi + 0xa0]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [rsi + 0xc8], rax
cmp rax, rdi
jne 0x10001bb3d
mov dl, r14b
lea rcx, [0x10000a770]
call fcn.100023eec
jmp 0x10001bb3f
mov eax, edi
cmp eax, edi
jl 0x10001c2ce
lea rdx, [0x10000a778]
mov rcx, qword [rsi + 0xa0]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [rsi + 0xd0], rax
cmp rax, rdi
jne 0x10001bb78
mov dl, r14b
lea rcx, [0x10000a778]
call fcn.100023eec
jmp 0x10001bb7a
mov eax, edi
cmp eax, edi
jl 0x10001c2ce
lea rdx, [0x10000a790]
mov rcx, qword [rsi + 0xa0]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [rsi + 0xd8], rax
cmp rax, rdi
jne 0x10001bbb3
mov dl, r14b
lea rcx, [0x10000a790]
call fcn.100023eec
jmp 0x10001bbb5
mov eax, edi
cmp eax, edi
jl 0x10001c2ce
lea rdx, [0x10000a7a8]
mov rcx, qword [rsi + 0xa0]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [rsi + 0xe0], rax
cmp rax, rdi
jne 0x10001bbee
mov dl, r14b
lea rcx, [0x10000a7a8]
call fcn.100023eec
jmp 0x10001bbf0
mov eax, edi
cmp eax, edi
jl 0x10001c2ce
lea rdx, [0x10000a7b8]
mov rcx, qword [rsi + 0xa0]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [rsi + 0xe8], rax
cmp rax, rdi
jne 0x10001bc29
mov dl, r14b
lea rcx, [0x10000a7b8]
call fcn.100023eec
jmp 0x10001bc2b
mov eax, edi
cmp eax, edi
jl 0x10001c2ce
lea rdx, [0x10000a7d0]
mov rcx, qword [rsi + 0xa0]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [rsi + 0xf0], rax
cmp rax, rdi
jne 0x10001bc64
mov dl, r14b
lea rcx, [0x10000a7d0]
call fcn.100023eec
jmp 0x10001bc66
mov eax, edi
cmp eax, edi
jl 0x10001c2ce
lea rdx, [0x10000a7e8]
mov rcx, qword [rsi + 0xa0]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [rsi + 0xf8], rax
cmp rax, rdi
jne 0x10001bc9f
mov dl, r14b
lea rcx, [0x10000a7e8]
call fcn.100023eec
jmp 0x10001bca1
mov eax, edi
cmp eax, edi
jl 0x10001c2ce
call qword [rsi + 0xd0]
cmp eax, edi
jl 0x10001c2ce
mov rdx, qword [rsi + 0xd8]
lea rcx, [rsp + 0x30]
call fcn.10001d278
nop
mov rcx, rsi
call fcn.10001b720
mov qword [rsp + 0x20], rdi
mov eax, dword [rbp + 0x1c]
test r14b, al
je 0x10001bce5
mov ecx, 2
jmp 0x10001bced
shr eax, 1
movzx ecx, al
and ecx, r14d
lea rdx, [rsp + 0x20]
call qword [rsi + 0xb0]
mov ebx, eax
cmp eax, edi
jge 0x10001bd10
cmp byte [rsp + 0x30], dil
jne 0x10001bd09
call qword [rsp + 0x38]
mov eax, ebx
jmp 0x10001c2ce
mov r8, qword [rsi + 0xc8]
lea rdx, [rsp + 0x20]
lea rcx, [rsp + 0x40]
call fcn.1000225e4
nop
cmp dword [rbp + 0x20], edi
je 0x10001be1e
cmp qword [rbp + 0x38], rdi
je 0x10001be1e
movabs rax, 0x6000200000000
cmp qword [rbp + 0x38], rax
jb 0x10001be1e
cmp qword [rbp + 0x40], rdi
je 0x10001be1e
movabs rax, 0x60002ffff0000
cmp qword [rbp + 0x40], rax
ja 0x10001be1e
mov qword [rsp + 0xa8], rdi
mov qword [rsp + 0xa0], rdi
lea r9, [0x10000a7f8]
lea r8, [0x10000a670]
lea rdx, [rsp + 0xa0]
mov rcx, rsi
call fcn.10001b2b0
mov rbx, qword [rsp + 0xa0]
cmp eax, edi
jl 0x10001be10
mov rdx, rbx
lea rcx, [0x10000a810]
call qword [sym.imp.msvcrt.dll__wcsicmp]
cmp eax, edi
jne 0x10001be10
lea rcx, [0x10000a860]
call fcn.10001288c
mov dword [rsp + 0xa0], edi
lea r9, [rsp + 0xa0]
mov r8d, 4
lea r12d, [r8 + 0x54]
mov rdx, r12
mov rcx, rbp
call qword [sym.imp.KERNEL32.dll_VirtualProtect]
cmp eax, edi
je 0x10001be10
mov dword [rbp + 0x1c], r14d
lea r9, [rsp + 0xa0]
mov r8d, dword [rsp + 0xa0]
mov rdx, r12
mov rcx, rbp
call qword [sym.imp.KERNEL32.dll_VirtualProtect]
nop
cmp rbx, rdi
je 0x10001be1e
mov rcx, rbx
call qword [sym.imp.msvcrt.dll_free]
mov rcx, rsi
call fcn.10001b66c
mov ebx, eax
cmp eax, edi
jge 0x10001be46
mov rdx, qword [rsi]
mov rcx, rsi
call qword [rdx + 0x20]
mov r8, rax
lea rdx, [0x10000a8e0]
mov ecx, ebx
call fcn.1000128bc
mov r12, r14
lea rbp, [rsi + 0x10]
lea rax, [0x100007990]
movsxd r13, r12d
shl r13, 5
mov ebx, dword [r13 + rax + 0x18]
mov rax, qword [rsi]
mov rcx, rsi
call qword [rax + 0x28]
test ebx, eax
je 0x10001bf8b
lea rax, [0x100007990]
mov r13, qword [r13 + rax]
mov rax, qword [rsi]
mov edx, r12d
mov rcx, rsi
call qword [rax + 0x68]
cmp rax, rdi
je 0x10001bf8b
mov qword [rsp + 0xa0], rdi
mov r9, r13
mov r8, rax
lea rdx, [0x100008b78]
lea rcx, [rsp + 0xa0]
call fcn.100027324
mov ebx, eax
cmp eax, edi
jl 0x10001bfa4
mov rbx, qword [rsp + 0xa0]
mov rcx, rbx
call fcn.100024dbc
cmp eax, edi
jge 0x10001bf20
cmp eax, 0x80070002
je 0x10001bf10
cmp eax, 0x80070003
je 0x10001bf10
cmp eax, 0x80070005
je 0x10001bf10
mov r9, rbx
mov r8, r13
lea rdx, [0x10000a948]
mov ecx, eax
call fcn.1000128bc
nop
cmp rbx, rdi
je 0x10001bf8b
mov rcx, rbx
call qword [sym.imp.msvcrt.dll_free]
jmp 0x10001bf8b
cmp rbx, rdi
je 0x10001bf8b
mov rcx, rbx
call qword [sym.imp.msvcrt.dll_free]
jmp 0x10001bf8b
mov edx, 0x80
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_SetFileAttributesW]
mov qword [rsp + 0xa0], rdi
mov rdx, rbx
lea rcx, [rsp + 0xa0]
call fcn.100015958
cmp eax, edi
jge 0x10001bf6c
mov r8, r13
lea rdx, [0x10000a978]
mov ecx, eax
call fcn.1000128bc
nop
cmp rbx, rdi
je 0x10001bf8b
mov rcx, rbx
call qword [sym.imp.msvcrt.dll_free]
jmp 0x10001bf8b
mov rcx, qword [rbp]
mov qword [rbp], rbx
mov rax, qword [rsp + 0xa0]
mov qword [rbp + 0x48], rax
cmp rcx, rdi
je 0x10001bf8b
call qword [sym.imp.msvcrt.dll_free]
add r12, r14
add rbp, 8
cmp r12, 9
jae 0x10001bfde
lea rax, [0x100007990]
jmp 0x10001be54
mov rcx, qword [rsp + 0xa0]
cmp rcx, rdi
je 0x10001bfb8
call qword [sym.imp.msvcrt.dll_free]
nop
cmp byte [rsp + 0x40], dil
jne 0x10001bfcc
mov rcx, qword [rsp + 0x48]
mov rcx, qword [rcx]
call qword [rsp + 0x50]
nop
cmp byte [rsp + 0x30], dil
jne 0x10001bfd7
call qword [rsp + 0x38]
mov eax, ebx
jmp 0x10001c2ce
mov rax, qword [rsi + 0x98]
cmp dword [rax + 0x20], edi
je 0x10001c2b9
cmp qword [rsi + 0x128], rdi
je 0x10001c00b
mov rcx, qword [rsi + 0x128]
call qword [sym.imp.msvcrt.dll_free]
mov qword [rsi + 0x128], rdi
lea r9, [0x10000a9a0]
lea r8, [0x10000a670]
lea rdx, [rsi + 0x128]
mov rcx, rsi
call fcn.10001b2b0
mov ebx, eax
cmp eax, edi
jge 0x10001c054
cmp byte [rsp + 0x40], dil
jne 0x10001c042
mov rcx, qword [rsp + 0x48]
mov rcx, qword [rcx]
call qword [rsp + 0x50]
nop
cmp byte [rsp + 0x30], dil
jne 0x10001c04d
call qword [rsp + 0x38]
mov eax, ebx
jmp 0x10001c2ce
cmp qword [rsi + 0x120], rdi
je 0x10001c071
mov rcx, qword [rsi + 0x120]
call qword [sym.imp.msvcrt.dll_free]
mov qword [rsi + 0x120], rdi
lea r9, [0x10000a640]
lea r8, [0x10000a618]
lea rdx, [rsi + 0x120]
mov rcx, rsi
call fcn.10001b2b0
mov ebx, edi
cmp eax, edi
cmovl ebx, eax
mov rax, qword [rsi]
mov rcx, rsi
call qword [rax + 0x28]
shr eax, 3
test r14b, al
je 0x10001c0e5
cmp qword [rsi + 0x138], rdi
je 0x10001c0c3
mov rcx, qword [rsi + 0x138]
call qword [sym.imp.msvcrt.dll_free]
mov qword [rsi + 0x138], rdi
lea r9, [0x10000b018]
lea r8, [0x10000a618]
lea rdx, [rsi + 0x138]
mov rcx, rsi
call fcn.10001b2b0
cmp eax, edi
cmovl ebx, eax
cmp ebx, edi
jge 0x10001c10f
cmp byte [rsp + 0x40], dil
jne 0x10001c0fd
mov rcx, qword [rsp + 0x48]
mov rcx, qword [rcx]
call qword [rsp + 0x50]
nop
cmp byte [rsp + 0x30], dil
jne 0x10001c108
call qword [rsp + 0x38]
mov eax, ebx
jmp 0x10001c2ce
mov rbp, r14
lea r13, [0x100007990]
movsxd r12, ebp
shl r12, 5
mov ebx, dword [r12 + r13 + 0x18]
mov rax, qword [rsi]
mov rcx, rsi
call qword [rax + 0x28]
test ebx, eax
je 0x10001c193
mov rbx, qword [r12 + r13]
mov rax, qword [rsi]
mov edx, ebp
mov rcx, rsi
call qword [rax + 0x70]
cmp rax, rdi
je 0x10001c193
mov qword [rsp + 0xa8], rdi
mov r9, rbx
mov r8, rax
lea rdx, [0x100008b78]
lea rcx, [rsp + 0xa8]
call fcn.100027324
mov ebx, eax
cmp eax, edi
jl 0x10001c1a1
mov edx, 0x80
mov rbx, qword [rsp + 0xa8]
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_SetFileAttributesW]
nop
cmp rbx, rdi
je 0x10001c193
mov rcx, rbx
call qword [sym.imp.msvcrt.dll_free]
add rbp, r14
cmp rbp, 9
jae 0x10001c1db
jmp 0x10001c119
mov rcx, qword [rsp + 0xa8]
cmp rcx, rdi
je 0x10001c1b5
call qword [sym.imp.msvcrt.dll_free]
nop
cmp byte [rsp + 0x40], dil
jne 0x10001c1c9
mov rcx, qword [rsp + 0x48]
mov rcx, qword [rcx]
call qword [rsp + 0x50]
nop
cmp byte [rsp + 0x30], dil
jne 0x10001c1d4
call qword [rsp + 0x38]
mov eax, ebx
jmp 0x10001c2ce
mov dword [rsp + 0xa0], edi
lea r9, [0x10000a9c8]
lea r8, [0x10000a670]
lea rdx, [rsp + 0xa0]
mov rcx, rsi
call fcn.10001b1dc
mov ebx, eax
cmp eax, edi
jge 0x10001c22c
cmp byte [rsp + 0x40], dil
jne 0x10001c21a
mov rcx, qword [rsp + 0x48]
mov rcx, qword [rcx]
call qword [rsp + 0x50]
nop
cmp byte [rsp + 0x30], dil
jne 0x10001c225
call qword [rsp + 0x38]
mov eax, ebx
jmp 0x10001c2ce
mov rax, qword [rsi]
mov rcx, rsi
call qword [rax + 0x28]
shr eax, 2
test r14b, al
je 0x10001c2a9
mov dword [rsp + 0xa8], edi
lea r9, [0x10000a9f0]
lea r8, [0x10000a670]
lea rdx, [rsp + 0xa8]
mov rcx, rsi
call fcn.10001b1dc
mov ebx, eax
cmp eax, edi
jge 0x10001c28b
cmp byte [rsp + 0x40], dil
jne 0x10001c27c
mov rcx, qword [rsp + 0x48]
mov rcx, qword [rcx]
call qword [rsp + 0x50]
nop
cmp byte [rsp + 0x30], dil
jne 0x10001c287
call qword [rsp + 0x38]
mov eax, ebx
jmp 0x10001c2ce
cmp dword [rsp + 0xa8], edi
jbe 0x10001c2a0
cmp dword [rsp + 0xa0], edi
jbe 0x10001c2a0
mov edi, r14d
mov byte [rsi + 0x101], dil
jmp 0x10001c2b9
cmp dword [rsp + 0xa0], edi
seta al
mov byte [rsi + 0x101], al
mov byte [rsi + 0x100], r14b
mov rax, qword [rsp + 0x20]
mov qword [rsi + 0x108], rax
xor eax, eax
lea r11, [rsp + 0x60]
mov rbx, qword [r11 + 0x30]
mov rbp, qword [r11 + 0x38]
mov rsp, r11
pop r14
pop r13
pop r12
pop rdi
pop rsi
ret