Function at 0x1000309d0
Capabilities:
Get disk size
Query or enumerate registry value

Disassembly:
mov r11, rsp
push rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x1b8
mov rax, qword [0x100165138]
xor rax, rsp
mov qword [rsp + 0x1a0], rax
mov rdi, qword [rsp + 0x220]
mov rbx, qword [rsp + 0x230]
mov r12, qword [rsp + 0x238]
mov r15, qword [rsp + 0x228]
xor eax, eax
mov ebp, r9d
mov qword [rsp + 0xc0], rdi
mov qword [rsp + 0x120], rbx
mov qword [rsp + 0x160], r12
mov dword [rsp + 0xa8], ebp
mov qword [rsp + 0x148], r8
mov qword [rsp + 0x150], rdx
mov r14, rcx
mov dword [rsp + 0xc8], eax
mov dword [rsp + 0x94], eax
mov rsi, rax
mov qword [r11 - 0x140], rax
mov qword [rsp + 0xf8], rax
mov qword [rsp + 0x100], rax
mov qword [r11 - 0x110], rax
mov r13, rax
mov qword [rsp + 0x80], rax
mov qword [r11 - 0x118], rax
mov dword [rsp + 0x74], eax
mov qword [r11 - 0x108], rax
mov byte [rsp + 0x7a], al
mov byte [rsp + 0x79], al
mov byte [rsp + 0x91], al
mov dword [rsp + 0xd8], eax
mov byte [rsp + 0x90], al
mov rcx, qword [0x1001653b8]
lea rax, [0x1001653b8]
cmp rcx, rax
je 0x100030aec
test byte [rcx + 0x1c], 1
je 0x100030aec
cmp byte [rcx + 0x19], 4
jb 0x100030aec
mov rcx, qword [rcx + 0x10]
lea r8, [0x100003d08]
mov edx, 0x1bc
call fcn.10001c7b8
cmp ebp, dword [r14 + 0x170]
je 0x100030b0d
lea r8, [0x100004f08]
lea rcx, [0x1000046e0]
mov edx, 0x2934
call fcn.100099ad8
mov byte [rbx], sil
and dword [r12], esi
lea rcx, [r14 + 0x58]
call qword [sym.imp.KERNEL32.dll_EnterCriticalSection]
inc dword [r14 + 0xe0]
lea rcx, [r14 + 0x58]
call qword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
mov r11d, dword [r14 + 0xe0]
lea rcx, [rsp + 0x90]
mov dword [r15 + 0x10], r11d
call fcn.1000a2a08
mov r12d, eax
test eax, eax
jns 0x100030b96
mov rcx, qword [0x1001653b8]
lea rbp, [0x1001653b8]
cmp rcx, rbp
je 0x100032641
test byte [rcx + 0x1c], 1
je 0x100032641
cmp byte [rcx + 0x19], 2
jb 0x100032641
mov rcx, qword [rcx + 0x10]
lea r8, [0x100003d08]
mov edx, 0x1bd
mov r9d, eax
call fcn.10001c7dc
jmp 0x100032641
mov rcx, qword [r14 + 0x158]
lea r8, [rsp + 0xb8]
lea rdx, [0x100002954]
call fcn.10009b5b0
mov r12d, eax
mov dword [rsp + 0xa4], eax
test eax, eax
js 0x100032632
mov rbx, rbp
shl rbx, 4
mov rcx, rbx
call qword [sym.imp.ole32.dll_CoTaskMemAlloc]
mov qword [rsp + 0xf8], rax
test rax, rax
jne 0x100030beb
mov r12d, 0x8007000e
jmp 0x100032632
mov r8, rbx
xor edx, edx
mov rcx, rax
call sub.msvcrt.dll_memset
mov r11d, ebp
shl r11d, 4
mov ecx, r11d
mov ebx, r11d
call qword [sym.imp.ole32.dll_CoTaskMemAlloc]
mov qword [rsp + 0x100], rax
test rax, rax
je 0x100030be0
mov r8, rbx
xor edx, edx
mov rcx, rax
call sub.msvcrt.dll_memset
cmp dword [r15 + 8], ebp
jae 0x100032574
xor edi, edi
neg byte [rsp + 0x79]
mov byte [rsp + 0x71], dil
mov byte [rsp + 0x70], dil
sbb eax, eax
mov byte [rsp + 0x79], dil
mov edi, dword [r15 + 8]
and eax, dword [rsp + 0xd8]
mov rsi, rdi
lea rbx, [r14 + 0x58]
mov dword [rsp + 0xd8], eax
mov rax, qword [rsp + 0x148]
imul rsi, rsi, 0x160
add rsi, qword [r14 + 0xd8]
mov rbp, qword [rax + rdi*8]
mov rcx, rbx
mov qword [rsp + 0x98], rbp
mov qword [rsp + 0x88], rsi
call qword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov rcx, rbx
mov dword [r14 + 0x174], edi
call qword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
lea rcx, [rsp + 0x190]
call qword [sym.imp.RPCRT4.dll_UuidCreate]
test byte [rsi + 0x54], 1
je 0x100030cda
mov ecx, dword [r15 + 8]
mov rax, qword [rsp + 0x148]
lea rdx, [rsp + 0xe8]
mov rcx, qword [rax + rcx*8]
call fcn.10009b438
xor edi, edi
jmp 0x100030e0f
mov rax, qword [r14 + 0x1b0]
xor edi, edi
mov ebx, edi
cmp dword [rax + 0x50], edi
jbe 0x100030d27
mov rax, qword [rax + 0x58]
mov rdx, rbp
lea r13, [rdi + rax]
mov qword [rsp + 0x168], r13
mov rcx, qword [r13 + 0x10]
call qword [sym.imp.msvcrt.dll__wcsicmp]
test eax, eax
je 0x100030d1d
mov rax, qword [r14 + 0x1b0]
inc ebx
add rdi, 0x30
cmp ebx, dword [rax + 0x50]
jb 0x100030cea
mov r13, qword [rsp + 0x80]
xor edi, edi
mov rax, qword [r14 + 0x1b0]
cmp ebx, dword [rax + 0x50]
jne 0x100030d8e
mov ebp, dword [rsi + 0x20]
test ebp, ebp
js 0x100030d7b
mov ebp, 0x80780020
mov rcx, qword [0x1001653b8]
lea rax, [0x1001653b8]
cmp rcx, rax
je 0x100030d7b
test byte [rcx + 0x1c], 1
je 0x100030d7b
cmp byte [rcx + 0x19], 2
jb 0x100030d7b
mov r9, qword [rsp + 0x98]
mov rcx, qword [rcx + 0x10]
lea r8, [0x100003d08]
mov edx, 0x1be
call fcn.10001da24
mov bl, byte [rsp + 0x71]
mov byte [rsp + 0x70], 1
mov dil, byte [rsp + 0x70]
jmp 0x10003237b
mov rcx, qword [rsp + 0xe8]
cmp rcx, rdi
je 0x100030da9
call qword [sym.imp.ole32.dll_CoTaskMemFree]
mov qword [rsp + 0xe8], rdi
mov rax, qword [rsp + 0x168]
mov rcx, qword [rax + 0x18]
cmp rcx, rdi
jne 0x100030e02
mov rcx, qword [0x1001653b8]
lea rax, [0x1001653b8]
cmp rcx, rax
je 0x100030df1
test byte [rcx + 0x1c], 1
je 0x100030df1
cmp byte [rcx + 0x19], 2
jb 0x100030df1
mov rcx, qword [rcx + 0x10]
lea r8, [0x100003d08]
mov edx, 0x1bf
mov r9, rbp
call fcn.10001da24
mov bl, byte [rsp + 0x71]
mov ebp, 0x80780020
mov dil, 1
jmp 0x10003244a
lea rdx, [rsp + 0xe8]
call fcn.10009b438
cmp eax, edi
mov ebp, eax
jl 0x100032374
test byte [rsi + 0x54], 0x40
je 0x100030e8b
mov rdx, rsi
mov rcx, r14
call fcn.10002f838
cmp eax, edi
mov r12d, eax
mov dword [rsp + 0xa4], eax
jl 0x100032614
lea rcx, [r14 + 0x58]
call qword [sym.imp.KERNEL32.dll_EnterCriticalSection]
inc dword [r14 + 0xe4]
lea rcx, [r14 + 0x58]
call qword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
mov r11d, dword [r14 + 0xe4]
mov rcx, qword [rsp + 0xf8]
movdqu xmm0, xmmword [rsp + 0x190]
mov dword [r15 + 0xc], r11d
mov eax, dword [r14 + 0x174]
add rax, rax
movdqu xmmword [rcx + rax*8], xmm0
inc dword [r15 + 8]
jmp 0x1000324fc
test byte [rsi + 0x54], 8
jne 0x100030f36
test byte [rsi + 0x54], 0x20
jne 0x100030eb3
lea r8, [0x100004f28]
lea rcx, [0x1000046e0]
mov edx, 0x29d0
call fcn.100099ad8
mov rax, qword [0x1001653b8]
lea rcx, [0x1001653b8]
cmp rax, rcx
je 0x100030f0a
test byte [rax + 0x1c], 1
je 0x100030f0a
cmp byte [rax + 0x19], 4
jb 0x100030f0a
lea rdx, [rsi + 0x44]
lea rcx, [rsp + 0x158]
call fcn.1000440b4
mov rcx, qword [0x1001653b8]
or dword [rsp + 0xc8], 1
mov rcx, qword [rcx + 0x10]
mov r9, qword [rax]
lea r8, [0x100003d08]
mov edx, 0x1c0
call fcn.10001da24
mov eax, dword [rsp + 0xc8]
test al, 1
je 0x100030e82
mov rcx, qword [rsp + 0x158]
and eax, 0xfffffffe
mov dword [rsp + 0xc8], eax
call qword [sym.imp.OLEAUT32.dll_SysStringLen]
jmp 0x100030e82
mov r8b, 1
mov edx, 8
mov rcx, r14
call fcn.10003860c
mov rdi, qword [rsp + 0xc0]
mov dword [r15 + 0x2c], 8
mov eax, dword [rdi + 8]
xor ebx, ebx
cmp dword [r15 + 8], eax
jne 0x100030f70
cmp qword [rdi + 0x30], rbx
je 0x100030f70
mov r13, qword [rdi + 0x30]
jmp 0x10003147f
cmp r13, rbx
je 0x100030f89
cmp r13, qword [r15 + 0x30]
je 0x100030f89
cmp r13, qword [rdi + 0x30]
je 0x100030f89
mov rcx, r13
call fcn.1000d2364
test byte [rsi + 0x54], 1
mov r13, rbx
mov qword [rsp + 0x80], rbx
mov qword [rsp + 0xb0], rbx
je 0x100030ff8
mov rcx, r14
call fcn.10003975c
cmp eax, ebx
mov ebp, eax
jge 0x100030ff8
mov rcx, qword [0x1001653b8]
lea rax, [0x1001653b8]
cmp rcx, rax
je 0x100032374
test byte [rcx + 0x1c], 1
je 0x100032374
cmp byte [rcx + 0x19], 2
jb 0x100032374
mov rcx, qword [rcx + 0x10]
lea r8, [0x100003d08]
mov edx, 0x1c1
mov r9d, r12d
call fcn.10001c7dc
jmp 0x100032374
lea rcx, [r14 + 0x58]
call qword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov r11d, dword [r14 + 0x174]
lea rcx, [r14 + 0x58]
imul r11, r11, 0x160
add r11, qword [r14 + 0xd8]
mov qword [r11], rbx
mov qword [r11 + 8], rbx
call qword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
test byte [r14 + 0x150], 0x10
jne 0x10003105c
cmp byte [r14 + 0x17c], bl
jne 0x100031044
cmp byte [r14 + 0x17d], bl
je 0x10003105c
lea r8, [0x100004f60]
lea rcx, [0x1000046e0]
mov edx, 0x2a0a
call fcn.100099ad8
mov rcx, qword [0x1001653b8]
lea rbx, [0x1001653b8]
cmp rcx, rbx
je 0x1000310aa
test byte [rcx + 0x1c], 1
je 0x1000310aa
cmp byte [rcx + 0x19], 4
mov r13, qword [rsp + 0x98]
jb 0x1000310b2
mov rax, qword [rsp + 0xe8]
mov rcx, qword [rcx + 0x10]
lea r8, [0x100003d08]
mov edx, 0x1c2
mov r9, r13
mov qword [rsp + 0x20], rax
call fcn.10001df38
jmp 0x1000310b2
mov r13, qword [rsp + 0x98]
mov ecx, dword [r14 + 0x174]
mov rax, qword [r14 + 0xd8]
imul rcx, rcx, 0x160
lea rcx, [rcx + rax + 0x8c]
call qword [sym.imp.KERNEL32.dll_GetSystemTimeAsFileTime]
mov rcx, qword [r14 + 0x28]
cmp rcx, 0xffffffffffffffff
jne 0x1000310ec
or rcx, rcx
cmp qword [r14 + 0x30], 0xffffffffffffffff
cmovne rcx, qword [r14 + 0x30]
mov eax, dword [r14 + 0x150]
mov r9b, byte [r14 + 0x17d]
mov r8b, byte [r14 + 0x17c]
lea rdx, [rsp + 0x74]
shr eax, 4
mov qword [rsp + 0x58], rdx
lea rdx, [rsp + 0x108]
and al, 1
mov qword [rsp + 0x50], rdx
lea rdx, [rsp + 0x110]
mov qword [rsp + 0x48], rdx
lea rdx, [rsp + 0xb0]
mov qword [rsp + 0x40], rdx
lea rdx, [rsp + 0x180]
mov qword [rsp + 0x38], rdx
mov qword [rsp + 0x30], rcx
lea rcx, [fcn.10002d590]
mov qword [rsp + 0x28], r14
mov qword [rsp + 0x20], rcx
mov rcx, qword [rsp + 0xe8]
mov dl, al
call fcn.1000ca7a0
mov edx, dword [r14 + 0x174]
mov rcx, qword [r14 + 0xd8]
imul rdx, rdx, 0x160
lea rcx, [rdx + rcx + 0x94]
mov esi, eax
call qword [sym.imp.KERNEL32.dll_GetSystemTimeAsFileTime]
mov r10, qword [0x1001653b8]
cmp r10, rbx
je 0x10003123a
test byte [r10 + 0x1c], 1
je 0x10003123a
cmp byte [r10 + 0x19], 4
jb 0x10003123a
mov rcx, qword [r14 + 0xd8]
mov edx, dword [r14 + 0x174]
lea r8, [0x100003d08]
imul rdx, rdx, 0x160
mov eax, dword [rdx + rcx + 0x8c]
mov dword [rsp + 0x128], eax
mov eax, dword [rdx + rcx + 0x90]
mov dword [rsp + 0x12c], eax
mov eax, dword [rdx + rcx + 0x94]
mov dword [rsp + 0x138], eax
mov eax, dword [rdx + rcx + 0x98]
mov dword [rsp + 0x13c], eax
movabs rax, 0x346dc5d63886594b
mov rcx, qword [rsp + 0x138]
sub rcx, qword [rsp + 0x128]
mul rcx
mov rcx, qword [r10 + 0x10]
mov r9, rdx
mov edx, 0x1c3
shr r9, 0xb
call fcn.10001d680
lea rcx, [r14 + 0x58]
call qword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov r11d, dword [r14 + 0x174]
mov rdi, qword [rsp + 0x108]
imul r11, r11, 0x160
add r11, qword [r14 + 0xd8]
mov rbx, qword [rsp + 0x110]
lea rcx, [r14 + 0x58]
mov qword [r11], rdi
mov qword [r11 + 8], rbx
call qword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
mov qword [r15 + 0x20], rbx
mov qword [r15 + 0x18], rdi
mov ecx, esi
test esi, esi
je 0x100031467
sub ecx, 1
je 0x10003142b
sub ecx, 3
je 0x1000313aa
sub ecx, 1
je 0x100031333
sub ecx, 1
je 0x1000313aa
sub ecx, 1
je 0x100031333
cmp ecx, 0xf
je 0x1000313aa
mov rcx, qword [0x1001653b8]
lea rax, [0x1001653b8]
cmp rcx, rax
je 0x100031301
test byte [rcx + 0x1c], 1
je 0x100031301
cmp byte [rcx + 0x19], 2
jb 0x100031301
mov eax, dword [rsp + 0x74]
mov rcx, qword [rcx + 0x10]
lea r8, [0x100003d08]
mov dword [rsp + 0x28], eax
mov edx, 0x1c6
mov r9, r13
mov dword [rsp + 0x20], esi
call fcn.10001dd64
mov edx, dword [rsp + 0x74]
lea r8, [rsp + 0x94]
mov ecx, esi
call fcn.10010d970
mov r13, qword [rsp + 0xb0]
mov qword [rsp + 0x80], r13
mov rsi, qword [rsp + 0x88]
mov ebp, eax
jmp 0x100032374
mov rcx, qword [0x1001653b8]
lea rax, [0x1001653b8]
cmp rcx, rax
je 0x100031376
test byte [rcx + 0x1c], 1
je 0x100031376
cmp byte [rcx + 0x19], 2
jb 0x100031376
mov eax, dword [rsp + 0x74]
mov rcx, qword [rcx + 0x10]
lea r8, [0x100003d08]
mov dword [rsp + 0x28], eax
mov edx, 0x1c5
mov r9, r13
mov dword [rsp + 0x20], esi
call fcn.10001dd64
mov edx, dword [rsp + 0x74]
lea r8, [rsp + 0x94]
mov ecx, esi
call fcn.10010d970
mov r13, qword [rsp + 0xb0]
mov qword [rsp + 0x80], r13
mov ebp, eax
mov bl, 1
mov rsi, qword [rsp + 0x88]
jmp 0x100030d84
mov rcx, qword [0x1001653b8]
lea rax, [0x1001653b8]
cmp rcx, rax
je 0x1000313ed
test byte [rcx + 0x1c], 1
je 0x1000313ed
cmp byte [rcx + 0x19], 2
jb 0x1000313ed
mov eax, dword [rsp + 0x74]
mov rcx, qword [rcx + 0x10]
lea r8, [0x100003d08]
mov dword [rsp + 0x28], eax
mov edx, 0x1c4
mov r9, r13
mov dword [rsp + 0x20], esi
call fcn.10001dd64
mov edx, dword [rsp + 0x74]
lea r8, [rsp + 0x94]
mov ecx, esi
call fcn.10010d970
mov r13, qword [rsp + 0xb0]
mov dil, 1
mov qword [rsp + 0x80], r13
mov rsi, qword [rsp + 0x88]
mov bl, byte [rsp + 0x71]
mov byte [rsp + 0x70], dil
mov ebp, eax
jmp 0x10003237b
mov rax, qword [r14 + 0x18]
lea rcx, [r14 + 0x18]
call qword [rax + 0x10]
mov r13, qword [rsp + 0xb0]
mov bl, byte [rsp + 0x71]
mov rsi, qword [rsp + 0x88]
mov qword [rsp + 0x80], r13
mov dil, bl
test al, al
je 0x10003237b
mov ebp, 0x8078001d
jmp 0x10003237b
mov r13, qword [rsp + 0xb0]
mov rsi, qword [rsp + 0x88]
mov rdi, qword [rsp + 0xc0]
mov qword [r15 + 0x30], r13
mov eax, dword [rdi + 8]
mov qword [rsp + 0x80], r13
cmp dword [r15 + 8], eax
jne 0x1000314c4
cmp qword [rdi + 0x30], 0
jne 0x1000314a5
test byte [rsi + 0x54], 1
jne 0x1000314a5
mov qword [rdi + 0x30], r13
cmp dword [r15 + 8], eax
jne 0x1000314c4
mov rcx, qword [rdi + 0x38]
test rcx, rcx
je 0x1000314c4
mov ebx, dword [rdi + 0x40]
mov qword [rsp + 0xe0], rcx
jmp 0x100031588
mov rcx, qword [rsp + 0xe0]
test rcx, rcx
je 0x1000314e3
cmp rcx, qword [r15 + 0x38]
je 0x1000314e3
cmp rcx, qword [rdi + 0x38]
je 0x1000314e3
call qword [sym.imp.KERNEL32.dll_LocalFree]
and qword [rsp + 0xe0], 0
and dword [rsp + 0xd0], 0
lea r9, [rsp + 0x74]
lea r8, [rsp + 0xd0]
lea rdx, [rsp + 0xe0]
mov rcx, r13
call fcn.1000ce844
mov ebx, eax
test eax, eax
je 0x100031579
mov rcx, qword [0x1001653b8]
lea rax, [0x1001653b8]
cmp rcx, rax
je 0x10003155f
test byte [rcx + 0x1c], 1
je 0x10003155f
cmp byte [rcx + 0x19], 2
jb 0x10003155f
mov edx, 0x1c7
mov eax, dword [rsp + 0x74]
mov r9, qword [rsp + 0x98]
mov rcx, qword [rcx + 0x10]
mov dword [rsp + 0x28], eax
lea r8, [0x100003d08]
mov dword [rsp + 0x20], ebx
call fcn.10001dd64
mov edx, dword [rsp + 0x74]
lea r8, [rsp + 0x94]
mov ecx, ebx
call fcn.10010d970
mov ebp, eax
jmp 0x100032374
mov rcx, qword [rsp + 0xe0]
mov ebx, dword [rsp + 0xd0]
mov qword [r15 + 0x38], rcx
mov dword [r15 + 0x40], ebx
mov eax, dword [rdi + 8]
cmp dword [r15 + 8], eax
jne 0x1000315ad
cmp qword [rdi + 0x38], 0
jne 0x1000315ad
test byte [rsi + 0x54], 1
jne 0x1000315ad
mov qword [rdi + 0x38], rcx
mov dword [rdi + 0x40], ebx
mov ebp, 9
mov r8b, 1
mov rcx, r14
mov edx, ebp
call fcn.10003860c
mov edx, ebp
mov rcx, r15
call fcn.100021f48
mov rdx, qword [rsp + 0xe0]
lea r9, [rsp + 0x74]
mov r8d, ebx
mov rcx, r13
call fcn.1000cea04
mov ebx, eax
test eax, eax
je 0x10003161c
mov rcx, qword [0x1001653b8]
lea rax, [0x1001653b8]
cmp rcx, rax
je 0x10003155f
test byte [rcx + 0x1c], 1
je 0x10003155f
cmp byte [rcx + 0x19], 2
jb 0x10003155f
mov edx, 0x1c8
jmp 0x10003153b
mov rax, qword [rsp + 0xf0]
test rax, rax
je 0x10003163b
mov rcx, rax
call qword [sym.imp.ole32.dll_CoTaskMemFree]
and qword [rsp + 0xf0], 0
mov r8d, dword [rsi + 0x54]
mov rcx, qword [r14 + 0x1d8]
lea rdx, [rsi + 0x44]
lea r9, [rsp + 0xf0]
call fcn.100120b70
mov ebp, eax
test eax, eax
js 0x100032374
lea rcx, [r14 + 0x28]
xor edx, edx
call fcn.10010ad48
mov r12d, eax
mov dword [rsp + 0xa4], eax
test eax, eax
js 0x100032517
mov edx, dword [r14 + 0x14c]
mov rcx, qword [r14 + 0x1d8]
xor r9d, r9d
xor r8d, r8d
call fcn.10010c30c
mov ebp, eax
test eax, eax
jns 0x1000316ac
mov bl, 1
mov r13, qword [rsp + 0x80]
jmp 0x100030d84
mov r12, qword [rsp + 0xf0]
mov edx, dword [r14 + 0x14c]
mov r9b, 1
mov rcx, r12
xor r8d, r8d
call fcn.10010c30c
mov ebp, eax
test eax, eax
js 0x10003169d
lea rcx, [r14 + 0x28]
call fcn.10010aed8
mov rdx, r12
mov rcx, r14
call fcn.10002d814
mov ebp, eax
test eax, eax
jns 0x10003172a
mov bl, 1
mov rcx, qword [0x1001653b8]
lea rax, [0x1001653b8]
cmp rcx, rax
je 0x10003169f
test byte [rcx + 0x1c], bl
je 0x10003169f
cmp byte [rcx + 0x19], 2
jb 0x10003169f
mov rcx, qword [rcx + 0x10]
lea r8, [0x100003d08]
mov edx, 0x1c9
mov r9, r12
mov dword [rsp + 0x20], ebp
call fcn.10001daa4
jmp 0x10003169f
lea rcx, [r14 + 0x28]
xor edx, edx
call fcn.10010ad48
mov r12d, eax
mov dword [rsp + 0xa4], eax
test eax, eax
js 0x100032517
mov rsi, qword [rsp + 0xb8]
lea r9, [rsp + 0x188]
lea r8, [rsp + 0x178]
lea rdx, [rsp + 0x170]
mov rcx, rsi
xor ebx, ebx
xor edi, edi
call qword [sym.imp.KERNEL32.dll_GetDiskFreeSpaceExW]
test eax, eax
jne 0x100031784
mov rcx, rsi
call fcn.100134ad4
mov ebp, eax
jmp 0x100031796
mov rbx, qword [rsp + 0x178]
mov rdi, qword [rsp + 0x170]
xor ebp, ebp
and qword [rsp + 0x118], 0
lea rax, [rsp + 0x118]
lea r12, [0x100004fb0]
mov rdx, r12
mov r9d, 1
xor r8d, r8d
mov rcx, 0xffffffff80000002
xor sil, sil
mov qword [rsp + 0x20], rax
call qword [sym.imp.ADVAPI32.dll_RegOpenKeyExW]
test eax, eax
jne 0x1000318cd
and dword [rsp + 0xd0], eax
mov rcx, qword [rsp + 0x118]
lea rax, [rsp + 0xb0]
mov qword [rsp + 0x28], rax
lea rax, [rsp + 0xd0]
lea rdx, [0x100005008]
xor r9d, r9d
xor r8d, r8d
mov dword [rsp + 0xb0], 4
mov qword [rsp + 0x20], rax
call qword [sym.imp.ADVAPI32.dll_RegQueryValueExW]
test eax, eax
jne 0x100031846
mov eax, dword [rsp + 0xd0]
shl rax, 0x14
test rax, rax
je 0x10003183d
cmp rax, rdi
jae 0x10003183d
mov rdi, rax
mov sil, 1
lea r12, [0x1001653b8]
jmp 0x100031881
mov rcx, qword [0x1001653b8]
lea r12, [0x1001653b8]
cmp rcx, r12
je 0x1000318bd
test byte [rcx + 0x1c], 1
je 0x100031888
cmp byte [rcx + 0x19], 5
jb 0x100031888
mov rcx, qword [rcx + 0x10]
lea r9, [0x100004fb0]
lea r8, [0x100003d08]
mov edx, 0x1ca
call fcn.10001da24
mov rcx, qword [0x1001653b8]
cmp rcx, r12
je 0x1000318bd
test byte [rcx + 0x1c], 1
je 0x1000318bd
cmp byte [rcx + 0x19], 4
jb 0x1000318bd
mov rcx, qword [rcx + 0x10]
lea rax, [0x100004fb0]
lea r8, [0x100003d08]
mov edx, 0x1cb
mov r9, rdi
mov qword [rsp + 0x20], rax
call fcn.10001e95c
mov rcx, qword [rsp + 0x118]
call qword [sym.imp.ADVAPI32.dll_RegCloseKey]
jmp 0x100031904
mov rcx, qword [0x1001653b8]
lea rax, [0x1001653b8]
cmp rcx, rax
je 0x100031912
test byte [rcx + 0x1c], 1
je 0x100031912
cmp byte [rcx + 0x19], 5
jb 0x100031912
mov rcx, qword [rcx + 0x10]
lea r8, [0x100003d08]
mov edx, 0x1cc
mov r9, r12
call fcn.10001da24
mov rcx, qword [0x1001653b8]
lea rax, [0x1001653b8]
test ebp, ebp
jns 0x100031925
mov bl, 1
mov r13, qword [rsp + 0x80]
jmp 0x10003139d
cmp rcx, rax
je 0x100031953
test byte [rcx + 0x1c], 1
je 0x100031953
cmp byte [rcx + 0x19], 4
jb 0x100031953
mov rcx, qword [rcx + 0x10]
lea r8, [0x100003d08]
mov edx, 0x1cd
mov r9, rbx
mov qword [rsp + 0x20], rdi
call fcn.10001d714
lea rcx, [r14 + 0x28]
call fcn.10010aed8
test byte [r14 + 0x150], 2
je 0x100031af7
mov r12, qword [rsp + 0xc0]
mov eax, dword [r15 + 0xc]
cmp eax, dword [r12 + 0xc]
jne 0x1000319a4
mov bl, 1
mov rcx, qword [0x1001653b8]
lea rdx, [0x1001653b8]
cmp rcx, rdx
je 0x100031a08
test byte [rcx + 0x1c], bl
je 0x100031a08
cmp byte [rcx + 0x19], 4
jb 0x100031a08
mov edx, 0x1ce
jmp 0x1000319e8
ja 0x1000319be
lea r8, [0x100005020]
lea rcx, [0x1000046e0]
mov edx, 0x2b28
call fcn.100099ad8
xor bl, bl
mov rcx, qword [0x1001653b8]
lea rax, [0x1001653b8]
cmp rcx, rax
je 0x100031a0f
test byte [rcx + 0x1c], 1
je 0x100031a0f
cmp byte [rcx + 0x19], 4
jb 0x100031a0f
mov eax, dword [r15 + 0xc]
mov edx, 0x1cf
mov r9d, dword [r12 + 0xc]
mov rcx, qword [rcx + 0x10]
lea r8, [0x100003d08]
mov dword [rsp + 0x20], eax
call fcn.10001e8b4
mov rcx, qword [0x1001653b8]
lea rax, [0x1001653b8]
mov edx, 0x1400000
cmp rdi, rdx
ja 0x100031a61
neg bl
mov bl, 1
sbb ebp, ebp
and ebp, 0x44
add ebp, 0x80780030
cmp rcx, rax
je 0x100031918
test byte [rcx + 0x1c], bl
je 0x100031918
cmp byte [rcx + 0x19], 3
jb 0x100031918
mov edx, 0x1d0
mov rcx, qword [rcx + 0x10]
lea r8, [0x100003d08]
mov r9, rdi
call fcn.10001d680
jmp 0x100031918
test sil, sil
jne 0x100031ab6
mov r8d, 0x40000000
cmp rdi, r8
ja 0x100031ab6
test bl, bl
je 0x100031ab6
mov ebp, 0x80780080
mov bl, 1
cmp rcx, rax
je 0x100031aa9
test byte [rcx + 0x1c], bl
je 0x100031aa9
cmp byte [rcx + 0x19], 3
jb 0x100031aa9
mov rcx, qword [rcx + 0x10]
mov qword [rsp + 0x20], r8
lea r8, [0x100003d08]
mov edx, 0x1d1
mov r9, rdi
call fcn.10001eb18
mov rsi, qword [rsp + 0x88]
jmp 0x100032445
sub rdi, rdx
cmp rdi, 0x1100000
ja 0x100031af7
neg bl
mov bl, 1
sbb ebp, ebp
and ebp, 0x44
add ebp, 0x80780030
cmp rcx, rax
je 0x100031918
test byte [rcx + 0x1c], bl
je 0x100031918
cmp byte [rcx + 0x19], 3
jb 0x100031918
mov edx, 0x1d2
jmp 0x100031a49
test byte [r14 + 0x150], 4
mov rsi, qword [rsp + 0x100]
mov bl, 1
mov byte [rsp + 0x78], bl
je 0x100031b48
mov r9d, dword [r14 + 0x174]
mov rdx, qword [rsp + 0x150]
lea r8, [rsp + 0x78]
shl r9d, 4
mov rcx, r14
add r9, rsi
call fcn.10002bca4
mov r12d, eax
mov dword [rsp + 0xa4], eax
test eax, eax
js 0x10003260c
mov bl, byte [rsp + 0x78]
lea rcx, [r14 + 0x58]
mov byte [rsp + 0x78], bl
call qword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov r11d, dword [r14 + 0x174]
lea rcx, [r14 + 0x58]
imul r11, r11, 0x160
add r11, qword [r14 + 0xd8]
and qword [r11], 0
and qword [r11 + 8], 0
call qword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
mov rcx, qword [0x1001653b8]
lea rax, [0x1001653b8]
cmp rcx, rax
je 0x100031bf1
test byte [rcx + 0x1c], 1
je 0x100031bc3
cmp byte [rcx + 0x19], 4
jb 0x100031bc3
mov rcx, qword [rcx + 0x10]
lea r8, [0x100003d08]
mov edx, 0x1d3
mov r9, rdi
call fcn.10001d680
mov rcx, qword [0x1001653b8]
lea rax, [0x1001653b8]
cmp rcx, rax
je 0x100031bf1
test byte [rcx + 0x1c], 1
je 0x100031bf1
cmp byte [rcx + 0x19], 4
jb 0x100031bf1
mov r9, qword [rsp + 0x98]
mov rcx, qword [rcx + 0x10]
lea r8, [0x100003d08]
mov edx, 0x1d4
call fcn.10001da24
mov ecx, dword [r14 + 0x174]
mov rax, qword [r14 + 0xd8]
imul rcx, rcx, 0x160
lea rcx, [rcx + rax + 0x9c]
call qword [sym.imp.KERNEL32.dll_GetSystemTimeAsFileTime]
mov rdx, qword [r14 + 0x28]
cmp rdx, 0xffffffffffffffff
jne 0x100031c2b
or rdx, rdx
cmp qword [r14 + 0x30], 0xffffffffffffffff
cmovne rdx, qword [r14 + 0x30]
mov ecx, dword [r14 + 0x174]
mov r13, qword [rsp + 0x80]
lea rax, [rsp + 0x91]
mov qword [rsp + 0x68], rax
shl ecx, 4
lea rax, [rsp + 0x74]
mov qword [rsp + 0x60], rax
add rcx, rsi
cmp dword [r14 + 0x14c], 4
lea rax, [rsp + 0x108]
mov r9, rdi
sete r8b
mov qword [rsp + 0x58], rax
lea rax, [rsp + 0x110]
mov qword [rsp + 0x50], rax
mov qword [rsp + 0x48], rcx
lea rax, [rsp + 0xa0]
mov qword [rsp + 0x40], rax
lea rax, [rsp + 0x78]
mov rcx, r13
mov qword [rsp + 0x38], rax
mov qword [rsp + 0x30], rdx
mov rdx, qword [rsp + 0xf0]
lea rax, [fcn.10002d590]
mov qword [rsp + 0x28], r14
mov qword [rsp + 0x20], rax
call fcn.1000ccbe4
mov edx, dword [r14 + 0x174]
mov rcx, qword [r14 + 0xd8]
imul rdx, rdx, 0x160
mov esi, eax
lea rcx, [rdx + rcx + 0xa4]
call qword [sym.imp.KERNEL32.dll_GetSystemTimeAsFileTime]
mov r10, qword [0x1001653b8]
lea rax, [0x1001653b8]
cmp r10, rax
je 0x100031d9a
test byte [r10 + 0x1c], 1
je 0x100031d9a
cmp byte [r10 + 0x19], 4
jb 0x100031d9a
mov rcx, qword [r14 + 0xd8]
mov edx, dword [r14 + 0x174]
lea r8, [0x100003d08]
imul rdx, rdx, 0x160
mov eax, dword [rdx + rcx + 0x9c]
mov dword [rsp + 0x140], eax
mov eax, dword [rdx + rcx + 0xa0]
mov dword [rsp + 0x144], eax
mov eax, dword [rdx + rcx + 0xa4]
mov dword [rsp + 0x130], eax
mov eax, dword [rdx + rcx + 0xa8]
mov dword [rsp + 0x134], eax
movabs rax, 0x346dc5d63886594b
mov rcx, qword [rsp + 0x130]
sub rcx, qword [rsp + 0x140]
mul rcx
mov rcx, qword [r10 + 0x10]
mov r9, rdx
mov edx, 0x1d5
shr r9, 0xb
call fcn.10001d680
lea rcx, [r14 + 0x58]
call qword [sym.imp.KERNEL32.dll_EnterCriticalSection]
cmp byte [rsp + 0x91], 0
mov r11b, byte [rsp + 0x78]
mov rdi, qword [rsp + 0x88]
je 0x100031dcb
mov byte [rdi + 0x84], 1
test r11b, r11b
jne 0x100031dcb
or dword [rdi + 0x54], 0x10
test bl, bl
jne 0x100031e1a
test r11b, r11b
je 0x100031e1a
mov rcx, qword [0x1001653b8]
lea rax, [0x1001653b8]
cmp rcx, rax
je 0x100031e08
test byte [rcx + 0x1c], 1
je 0x100031e08
cmp byte [rcx + 0x19], 4
jb 0x100031e08
mov rcx, qword [rcx + 0x10]
lea r8, [0x100003d08]
mov edx, 0x1d6
call fcn.10001c7b8
mov rax, qword [r14 + 0x188]
and dword [rdi + 0x80], 0
mov qword [rdi + 0x78], rax
lea rcx, [r14 + 0x58]
mov byte [rsp + 0x7a], 1
call qword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov r11d, dword [r14 + 0x174]
mov rdi, qword [rsp + 0x108]
imul r11, r11, 0x160
add r11, qword [r14 + 0xd8]
mov rbx, qword [rsp + 0x110]
lea rcx, [r14 + 0x58]
mov qword [r11], rdi
mov qword [r11 + 8], rbx
call qword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
lea rcx, [r14 + 0x58]
call qword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
mov qword [r15 + 0x20], rbx
mov qword [r15 + 0x18], rdi
mov ecx, esi
test esi, esi
je 0x1000320fa
mov edi, 1
sub ecx, edi
je 0x100032280
sub ecx, 3
je 0x100032220
sub ecx, edi
je 0x1000321bb
sub ecx, edi
je 0x100032220
sub ecx, edi
je 0x100031f0e
cmp ecx, 0xd
je 0x1000321bb
mov rcx, qword [0x1001653b8]
lea rax, [0x1001653b8]
cmp rcx, rax
je 0x100031ef6
test byte [rcx + 0x1c], dil
je 0x100031ef6
cmp byte [rcx + 0x19], 2
jb 0x100031ef6
mov eax, dword [rsp + 0x74]
mov r9, qword [rsp + 0x98]
mov rcx, qword [rcx + 0x10]
mov dword [rsp + 0x28], eax
lea r8, [0x100003d08]
mov edx, 0x1dd
mov dword [rsp + 0x20], esi
call fcn.10001dd64
mov edx, dword [rsp + 0x74]
lea r8, [rsp + 0x94]
mov ecx, esi
call fcn.10010d970
jmp 0x100031324
mov rcx, qword [0x1001653b8]
lea rsi, [0x1001653b8]
cmp rcx, rsi
je 0x100031f5f
test byte [rcx + 0x1c], dil
je 0x100031f5f
cmp byte [rcx + 0x19], 2
mov rbx, qword [rsp + 0x98]
jb 0x100031f67
mov eax, dword [rsp + 0x74]
mov rcx, qword [rcx + 0x10]
lea r8, [0x100003d08]
mov dword [rsp + 0x28], eax
mov edx, 0x1d9
mov r9, rbx
mov dword [rsp + 0x20], 7
call fcn.10001dd64
jmp 0x100031f67
mov rbx, qword [rsp + 0x98]
mov edx, dword [rsp + 0x74]
lea r8, [rsp + 0x94]
mov ecx, 7
call fcn.10010d970
mov byte [rsp + 0x7a], 0
mov ebp, eax
cmp eax, 0x8078002a
jne 0x1000320f2
cmp dword [rsp + 0x74], 0x70
jne 0x10003139b
mov rcx, qword [0x1001653b8]
cmp rcx, rsi
je 0x100031fd4
test byte [rcx + 0x1c], dil
je 0x100031fd4
cmp byte [rcx + 0x19], 4
mov rdi, qword [rsp + 0xb8]
jb 0x100031fdc
mov rcx, qword [rcx + 0x10]
lea r8, [0x100003d08]
mov edx, 0x1da
mov r9, rdi
call fcn.10001da24
jmp 0x100031fdc
mov rdi, qword [rsp + 0xb8]
mov esi, dword [rsp + 0xd8]
and qword [rsp + 0xd0], 0
and dword [rsp + 0xb0], 0
test esi, esi
je 0x100032010
lea r8, [0x100005060]
lea rcx, [0x1000046e0]
mov edx, 0x2bcb
call fcn.100099ad8
lea r8, [rsp + 0xd0]
lea rdx, [rsp + 0xb0]
mov rcx, r13
call fcn.1000cc58c
test eax, eax
jne 0x10003139b
mov rdx, qword [rsp + 0xd0]
mov rcx, r14
call fcn.100028bd4
test eax, eax
js 0x10003209f
inc esi
mov byte [rsp + 0x79], 1
mov dword [rsp + 0xd8], esi
mov rcx, qword [0x1001653b8]
lea rax, [0x1001653b8]
cmp rcx, rax
je 0x1000324d2
test byte [rcx + 0x1c], 1
je 0x1000324d2
cmp byte [rcx + 0x19], 4
jb 0x1000324d2
mov rcx, qword [rcx + 0x10]
lea r8, [0x100003d08]
mov edx, 0x1db
mov r9, rbx
mov qword [rsp + 0x20], rdi
call fcn.10001df38
jmp 0x1000324d2
mov rcx, qword [0x1001653b8]
lea rax, [0x1001653b8]
cmp rcx, rax
je 0x10003139b
test byte [rcx + 0x1c], 1
je 0x10003139b
cmp byte [rcx + 0x19], 2
jb 0x10003139b
mov eax, dword [rsp + 0xa4]
mov r9, qword [rsp + 0xd0]
mov rcx, qword [rcx + 0x10]
lea r8, [0x100003d08]
mov edx, 0x1dc
mov dword [rsp + 0x20], eax
call fcn.10001d6bc
test ebp, ebp
js 0x10003139b
lea rdi, [r14 + 0x18]
lea rcx, [rdi + 0x40]
call qword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov rsi, qword [rsp + 0x88]
lea rcx, [rdi + 0x40]
inc dword [rsi + 0x10]
call qword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
mov r11d, dword [rsi + 0x10]
lea rbx, [rdi + 0x40]
mov dword [r15 + 0x28], r11d
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_EnterCriticalSection]
inc dword [r14 + 0xe4]
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
mov r11d, dword [r14 + 0xe4]
mov rcx, qword [rsp + 0xf8]
movdqu xmm0, xmmword [rsp + 0x190]
mov dword [r15 + 0xc], r11d
mov eax, dword [r14 + 0x174]
add rax, rax
cmp byte [rsp + 0xa0], 0
movdqu xmmword [rcx + rax*8], xmm0
jne 0x1000322a8
mov rax, qword [rsp + 0xe0]
cmp qword [r15 + 0x38], rax
je 0x1000321a1
lea r8, [0x100005078]
lea rcx, [0x1000046e0]
mov edx, 0x2c13
call fcn.100099ad8
and qword [r15 + 0x38], 0
and dword [r15 + 0x40], 0
mov r12d, 0x80780030
mov ebp, r12d
mov bl, 1
jmp 0x10003239d
mov rcx, qword [0x1001653b8]
lea rax, [0x1001653b8]
cmp rcx, rax
je 0x100032203
test byte [rcx + 0x1c], dil
je 0x100032203
cmp byte [rcx + 0x19], 2
jb 0x100032203
mov eax, dword [rsp + 0x74]
mov r9, qword [rsp + 0x98]
mov rcx, qword [rcx + 0x10]
mov dword [rsp + 0x28], eax
lea r8, [0x100003d08]
mov edx, 0x1d8
mov dword [rsp + 0x20], esi
call fcn.10001dd64
mov edx, dword [rsp + 0x74]
lea r8, [rsp + 0x94]
mov ecx, esi
call fcn.10010d970
mov bl, dil
mov ebp, eax
jmp 0x10003139d
mov rcx, qword [0x1001653b8]
lea rax, [0x1001653b8]
cmp rcx, rax
je 0x100032268
test byte [rcx + 0x1c], dil
je 0x100032268
cmp byte [rcx + 0x19], 2
jb 0x100032268
mov eax, dword [rsp + 0x74]
mov r9, qword [rsp + 0x98]
mov rcx, qword [rcx + 0x10]
mov dword [rsp + 0x28], eax
lea r8, [0x100003d08]
mov edx, 0x1d7
mov dword [rsp + 0x20], esi
call fcn.10001dd64
mov edx, dword [rsp + 0x74]
lea r8, [rsp + 0x94]
mov ecx, esi
call fcn.10010d970
jmp 0x100031413
lea rcx, [r14 + 0x18]
mov rax, qword [rcx]
call qword [rax + 0x10]
mov rsi, qword [rsp + 0x88]
mov bl, byte [rsp + 0x71]
test al, al
je 0x100030d84
mov ebp, 0x8078001d
jmp 0x100032378
and qword [rsp + 0x88], 0
lea rdx, [rsp + 0x88]
mov rcx, r13
call fcn.1000d383c
test eax, eax
je 0x1000322dd
lea r8, [0x1000050a0]
lea rcx, [0x1000046e0]
mov edx, 0x2c21
call fcn.100099ad8
mov rbx, qword [rsp + 0x88]
test rbx, rbx
je 0x10003232e
mov rcx, qword [0x1001653b8]
lea rax, [0x1001653b8]
cmp rcx, rax
je 0x10003232e
test byte [rcx + 0x1c], 1
je 0x10003232e
cmp byte [rcx + 0x19], 2
jb 0x10003232e
mov rax, qword [rsp + 0x98]
mov rcx, qword [rcx + 0x10]
lea r8, [0x100003d08]
mov edx, 0x1de
mov r9, rbx
mov qword [rsp + 0x20], rax
call fcn.10001e95c
lea rcx, [r14 + 0x58]
call qword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov qword [rsi + 0x28], rbx
test rbx, rbx
jle 0x100032351
xor r8d, r8d
mov edx, 0x8078007d
mov rcx, rsi
call fcn.100020324
mov ebx, 0xe
mov rcx, rsi
mov edx, ebx
call fcn.100020380
mov edx, ebx
mov rcx, r15
call fcn.100021f48
lea rcx, [r14 + 0x58]
call qword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
mov bl, byte [rsp + 0x71]
mov dil, bl
mov r12d, 0x80780030
cmp ebp, r12d
je 0x10003239d
cmp ebp, 0x8078002a
jne 0x100032419
cmp dword [rsp + 0x74], 0x70
jne 0x10003244a
mov r9, qword [r14 + 0x188]
mov r8, qword [r14 + 0x160]
mov edx, dword [r14 + 0x14c]
mov rcx, qword [r14 + 0x158]
lea rax, [0x1000eae38]
mov qword [rsp + 0x20], rax
call fcn.10011cb64
test eax, eax
jns 0x100032419
mov rcx, qword [0x1001653b8]
lea rdx, [0x1001653b8]
cmp rcx, rdx
je 0x100032419
test byte [rcx + 0x1c], 1
je 0x100032419
cmp byte [rcx + 0x19], 2
jb 0x100032419
mov r9, qword [r14 + 0x158]
mov rcx, qword [rcx + 0x10]
mov dword [rsp + 0x28], eax
mov rax, qword [r14 + 0x160]
lea r8, [0x100003d08]
mov edx, 0x1df
mov qword [rsp + 0x20], rax
call fcn.10001e360
cmp ebp, r12d
jne 0x10003243d
test byte [r14 + 0x150], 2
je 0x100032445
mov rdi, qword [rsp + 0xc0]
mov eax, dword [rdi + 0xc]
cmp dword [r15 + 0xc], eax
ja 0x100032524
test ebp, ebp
jns 0x1000324c6
mov dil, byte [rsp + 0x70]
mov edx, 0xc
mov rcx, r15
call fcn.100021f48
mov rcx, qword [0x1001653b8]
lea rax, [0x1001653b8]
cmp rcx, rax
je 0x100032497
test byte [rcx + 0x1c], 1
je 0x100032497
cmp byte [rcx + 0x19], 2
jb 0x100032497
mov r9, qword [rsp + 0x98]
mov rcx, qword [rcx + 0x10]
lea r8, [0x100003d08]
mov edx, 0x1e1
mov dword [rsp + 0x20], ebp
call fcn.10001daa4
mov r8d, dword [rsp + 0x94]
mov edx, ebp
mov rcx, rsi
call fcn.100020470
test dil, dil
je 0x1000325ee
cmp byte [rsp + 0x90], 0
je 0x1000324c6
cmp byte [rsi + 0x68], 0
jne 0x1000325ee
inc dword [r15 + 8]
mov r13, qword [rsp + 0x80]
mov r12d, dword [rsp + 0xa4]
xor edi, edi
mov dword [r15 + 0x2c], 0xf
mov qword [r15 + 0x18], rdi
mov qword [r15 + 0x20], rdi
mov dword [r15 + 0x28], edi
mov qword [r15 + 0x30], rdi
mov qword [r15 + 0x38], rdi
mov dword [r15 + 0x40], edi
mov ebp, dword [rsp + 0xa8]
cmp dword [r15 + 8], ebp
jb 0x100030c31
mov rdi, qword [rsp + 0xc0]
jmp 0x100032574
mov r13, qword [rsp + 0x80]
jmp 0x10003261c
mov edx, 4
mov rcx, r15
call fcn.100021f48
mov rcx, qword [0x1001653b8]
lea rax, [0x1001653b8]
cmp rcx, rax
je 0x10003256d
test byte [rcx + 0x1c], 1
je 0x10003256d
cmp byte [rcx + 0x19], 4
jb 0x10003256d
mov r9, qword [rsp + 0x98]
mov rcx, qword [rcx + 0x10]
lea r8, [0x100003d08]
mov edx, 0x1e0
call fcn.10001da24
mov ebp, dword [rsp + 0xa8]
mov rdx, qword [rsp + 0x120]
mov rcx, r14
call fcn.10002dee4
mov r12d, eax
test eax, eax
js 0x10003261c
lea rcx, [r14 + 0x28]
xor edx, edx
call fcn.10010ad48
mov r12d, eax
test eax, eax
js 0x10003261c
mov esi, dword [rdi + 0xc]
xor ebx, ebx
test ebp, ebp
je 0x100032832
xor edi, edi
xor ebp, ebp
mov rcx, qword [rsp + 0xf8]
mov r11d, ebx
mov edx, ebx
shl r11, 4
add r11, rcx
lea rcx, [0x100001fe0]
mov r8, qword [r11]
cmp r8, qword [rcx]
jne 0x10003279e
mov r8, qword [r11 + 8]
cmp r8, qword [rcx + 8]
jne 0x10003279e
xor eax, eax
jmp 0x1000327a3
mov rax, qword [rsp + 0x120]
mov rcx, qword [rsp + 0x160]
mov r12d, ebp
mov byte [rax], bl
mov eax, dword [rsp + 0x94]
mov dword [rcx], eax
mov r13, qword [rsp + 0x80]
mov rdi, qword [rsp + 0xc0]
mov rax, qword [rsp + 0xf0]
test rax, rax
je 0x100032632
mov rcx, rax
call qword [sym.imp.ole32.dll_CoTaskMemFree]
mov rsi, qword [rsp + 0xb8]
lea rbp, [0x1001653b8]
mov rcx, qword [rsp + 0xe0]
test rcx, rcx
je 0x100032660
cmp rcx, qword [r15 + 0x38]
je 0x100032660
cmp rcx, qword [rdi + 0x38]
je 0x100032660
call qword [sym.imp.KERNEL32.dll_LocalFree]
test r13, r13
je 0x100032679
cmp r13, qword [r15 + 0x30]
je 0x100032679
cmp r13, qword [rdi + 0x30]
je 0x100032679
mov rcx, r13
call fcn.1000d2364
mov rcx, qword [rsp + 0xe8]
test rcx, rcx
je 0x10003268c
call qword [sym.imp.ole32.dll_CoTaskMemFree]
mov rax, qword [rsp + 0x100]
test rax, rax
je 0x1000326a2
mov rcx, rax
call qword [sym.imp.ole32.dll_CoTaskMemFree]
mov rax, qword [rsp + 0xf8]
test rax, rax
je 0x1000326b8
mov rcx, rax
call qword [sym.imp.ole32.dll_CoTaskMemFree]
test rsi, rsi
je 0x1000326c6
mov rcx, rsi
call qword [sym.imp.ole32.dll_CoTaskMemFree]
lea rcx, [r14 + 0x28]
call fcn.10010aed8
test r12d, r12d
jns 0x10003289e
mov rcx, qword [0x1001653b8]
cmp rcx, rbp
je 0x100032731
test byte [rcx + 0x1c], 1
je 0x100032731
cmp byte [rcx + 0x19], 2
jb 0x100032731
mov rdx, qword [rsp + 0x120]
mov rcx, qword [rcx + 0x10]
lea r8, [0x100005a80]
cmp byte [rdx], 0
lea rax, [0x1000050d8]
mov r9d, r12d
cmovne rax, r8
lea r8, [0x100003d08]
mov edx, 0x1e2
mov qword [rsp + 0x20], rax
call fcn.10001d998
mov rcx, qword [0x1001653b8]
cmp byte [rsp + 0x7a], 0
jne 0x1000328a5
test byte [r14 + 0x150], 4
je 0x1000328a5
lea rcx, [r14 + 0x28]
xor edx, edx
call fcn.10010ad48
test eax, eax
jns 0x100032859
mov rcx, qword [0x1001653b8]
cmp rcx, rbp
je 0x1000328cb
test byte [rcx + 0x1c], 1
je 0x1000328a5
cmp byte [rcx + 0x19], 2
jb 0x1000328a5
mov rcx, qword [rcx + 0x10]
lea r8, [0x100003d08]
mov edx, 0x1e3
mov r9d, eax
call fcn.10001c7dc
jmp 0x10003289e
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
je 0x100032811
mov r10, qword [r14 + 0xd8]
imul rdx, rdx, 0x160
mov r8d, ebp
mov eax, dword [r10 + rdi + 0x80]
add r8, qword [rsp + 0x100]
lea rcx, [rdx + r10 + 0x78]
mov dword [rsp + 0x40], eax
mov rax, qword [rsp + 0x150]
mov qword [rsp + 0x38], rcx
mov qword [rsp + 0x30], r8
mov qword [rsp + 0x28], rax
mov eax, dword [r10 + rdi + 0x54]
lea r9, [rdx + r10 + 0x44]
mov r8d, esi
mov rdx, r11
mov rcx, r14
mov dword [rsp + 0x20], eax
call fcn.10002c0b0
inc esi
mov r12d, eax
test eax, eax
js 0x100032614
inc ebx
add ebp, 0x10
add rdi, 0x160
cmp ebx, dword [rsp + 0xa8]
jb 0x1000325b2
mov rdi, qword [rsp + 0xc0]
cmp esi, dword [r15 + 0xc]
je 0x10003261c
lea r8, [0x1000050b8]
lea rcx, [0x1000046e0]
mov edx, 0x2cb2
call fcn.100099ad8
jmp 0x10003261c
mov rcx, r14
call fcn.100029a84
test eax, eax
jns 0x100032895
mov rcx, qword [0x1001653b8]
cmp rcx, rbp
je 0x100032895
test byte [rcx + 0x1c], 1
je 0x100032895
cmp byte [rcx + 0x19], 2
jb 0x100032895
mov rcx, qword [rcx + 0x10]
lea r8, [0x100003d08]
mov edx, 0x1e4
mov r9d, eax
call fcn.10001c7dc
lea rcx, [r14 + 0x28]
call fcn.10010aed8
mov rcx, qword [0x1001653b8]
cmp rcx, rbp
je 0x1000328cb
test byte [rcx + 0x1c], 1
je 0x1000328cb
cmp byte [rcx + 0x19], 4
jb 0x1000328cb
mov rcx, qword [rcx + 0x10]
lea r8, [0x100003d08]
mov edx, 0x1e5
call fcn.10001c7b8
mov eax, r12d
mov rcx, qword [rsp + 0x1a0]
xor rcx, rsp
call fcn.10014e480
add rsp, 0x1b8
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
pop rbx
ret