Function at 0x65ac20
Capabilities:
Get disk size
Parse pe header
Resolve function by parsing pe exports

Disassembly:
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x118
mov rbp, rsp
mov qword [rbp + 0xa0], 0
mov qword [rbp + 0x38], rbp
mov qword [rbp + 0x140], rcx
mov qword [rbp + 0x148], rdx
mov dword [rbp + 0x150], r8d
nop
mov byte [rbp + 0x10f], 0
nop
mov eax, dword [0x006a3270]
mov dword [rbp + 0xf4], eax
mov eax, dword [0x00693914]
add eax, 1
cmp dword [0x00693914], eax
jne 0x65aca1
mov ecx, dword [0x00699c00]
mov edx, dword [0x00693290]
mov r8d, dword [0x00694108]
mov r9d, dword [0x00695924]
mov eax, dword [0x006965e4]
mov dword [rsp + 0x20], eax
call sub.kernel32.dll_LockFile
mov eax, dword [rbp + 0xf4]
cmp word [rax], 0x5a4d
jne 0x65afb0
mov eax, dword [0x006933a4]
add eax, 1
cmp dword [0x006933a4], eax
jne 0x65acec
mov ecx, dword [0x00695940]
mov edx, dword [0x006980e8]
mov r8d, dword [0x00698fac]
mov r9d, dword [0x00699614]
mov eax, dword [0x0069a4f8]
mov dword [rsp + 0x20], eax
call sub.kernel32.dll_LockFile
mov dword [0x006932d8], 0x316
mov eax, dword [0x006932d8]
sub eax, 0x1ac
mov dword [0x0069390c], eax
mov eax, dword [0x00698f84]
add eax, dword [0x006995ec]
mov ecx, dword [0x00699d88]
add ecx, dword [0x0069a970]
cmp eax, ecx
jle 0x65ad30
mov eax, dword [0x0069a970]
mov dword [0x00698f84], eax
mov eax, dword [0x00697468]
add eax, dword [0x00698ae0]
mov ecx, dword [0x006994b4]
add ecx, dword [0x00699a7c]
cmp eax, ecx
jle 0x65ad51
call fcn.004096f0
mov eax, dword [0x0069b204]
mov dword [0x0069aa78], eax
mov dword [0x0069344c], 0x324
mov eax, dword [0x0069344c]
sub eax, 0x1b3
mov dword [0x006940fc], eax
mov eax, dword [0x006933c4]
mov dword [0x0069afd8], eax
mov eax, dword [rbp + 0xf4]
mov ecx, dword [rbp + 0xf4]
movsxd rcx, dword [rcx + 0x3c]
lea rax, [rax + rcx]
mov qword [rbp + 0x100], rax
mov dword [rbp + 0xf8], 0
mov eax, dword [0x006933c4]
mov dword [0x0069afd8], eax
mov eax, dword [0x006994c8]
cmp eax, dword [0x00699be4]
je 0x65add0
mov eax, dword [0x006994c8]
mov dword [0x00699be4], eax
call fcn.0063ba30
mov eax, dword [0x0069a4f8]
mov dword [0x00699a44], eax
mov eax, dword [0x0069a4f8]
mov dword [0x00699a44], eax
mov eax, dword [0x00699860]
cmp eax, dword [0x0069a014]
je 0x65ae07
mov eax, dword [0x00699860]
mov dword [0x0069a014], eax
mov eax, dword [0x006974b8]
add eax, dword [0x00698b30]
mov ecx, dword [0x00699504]
add ecx, dword [0x00699c20]
cmp eax, ecx
jle 0x65ae28
call fcn.004096f0
mov dword [rbp + 0xfc], 0
mov eax, dword [0x006978d0]
add eax, dword [0x00698e58]
mov ecx, dword [0x0069953c]
add ecx, dword [0x00699d34]
cmp eax, ecx
jle 0x65ae5a
mov eax, dword [0x00699d34]
mov dword [0x006978d0], eax
mov eax, dword [0x006934b8]
add eax, 1
cmp dword [0x006934b8], eax
jne 0x65ae8a
mov ecx, dword [0x00699874]
mov edx, dword [0x00693290]
mov r8d, dword [0x00695870]
mov r9d, dword [0x006965e8]
call sub.advapi32.dll_CryptDuplicateKey
mov eax, dword [0x00698988]
add eax, dword [0x00699388]
mov ecx, dword [0x00699c34]
add ecx, dword [0x0069a994]
cmp eax, ecx
jle 0x65aeab
call fcn.004096f0
call fcn.006567c0
cmp eax, dword [0x0069341c]
jle 0x65aec2
mov dword [0x0069341c], 0xfc
mov rax, qword [rbp + 0x100]
cmp dword [rax], 0x4550
jne 0x65afb0
mov rax, qword [rbp + 0x100]
cmp word [rax + 4], 0x8664
jne 0x65afb0
mov eax, dword [0x00698988]
add eax, dword [0x00699388]
mov ecx, dword [0x00699c34]
add ecx, dword [0x0069a994]
cmp eax, ecx
jle 0x65af09
call fcn.004096f0
mov eax, dword [0x00699614]
cmp eax, dword [0x00699dac]
je 0x65af23
mov eax, dword [0x00699614]
mov dword [0x00699dac], eax
mov eax, dword [0x00693420]
mov dword [0x0069b034], eax
call fcn.00656270
cmp eax, dword [0x006932b4]
jle 0x65af46
mov dword [0x006932b4], 0xa0
mov eax, dword [0x006974d8]
add eax, dword [0x00698994]
mov ecx, dword [0x00699394]
add ecx, dword [0x00699620]
cmp eax, ecx
jle 0x65af6e
mov eax, dword [0x00699620]
mov dword [0x006974d8], eax
mov eax, dword [0x00696a7c]
mov dword [0x006962cc], eax
mov rax, qword [rbp + 0x100]
mov rax, qword [rax + 0x88]
mov qword [rbp + 0xf8], rax
cmp dword [rbp + 0xf8], 0
je 0x65afa6
mov eax, dword [rbp + 0xf4]
add dword [rbp + 0xf8], eax
jmp 0x65afb0
mov dword [rbp + 0xfc], 0
mov eax, dword [0x00696a7c]
mov dword [0x006962cc], eax
mov eax, dword [0x00699504]
cmp eax, dword [0x00699c20]
je 0x65afd6
mov eax, dword [0x00699504]
mov dword [0x00699c20], eax
mov eax, dword [0x0069aa94]
mov dword [0x00699da8], eax
mov eax, dword [0x006989b0]
add eax, dword [0x00698fd4]
mov ecx, dword [0x0069963c]
add ecx, dword [0x00699dd4]
cmp eax, ecx
jle 0x65b00a
mov eax, dword [0x00699dd4]
mov dword [0x006989b0], eax
mov dword [0x0069341c], 0x2fb
mov eax, dword [0x0069341c]
sub eax, 0x1a0
mov dword [0x006940cc], eax
cmp dword [rbp + 0xf4], 0
je 0x65c3f9
cmp dword [rbp + 0xf8], 0
je 0x65c3f9
mov eax, dword [rbp + 0xf8]
mov qword [rbp + 0xe8], rax
mov dword [0x0069341c], 0x2fb
mov eax, dword [0x0069341c]
sub eax, 0x1a0
mov dword [0x006940cc], eax
mov eax, dword [0x006995d4]
cmp eax, dword [0x00699bf4]
je 0x65b083
mov eax, dword [0x006995d4]
mov dword [0x00699bf4], eax
mov ecx, 0x28
call fcn.00409030
mov qword [rbp + 0xd0], rax
mov rdi, qword [rbp + 0xd0]
mov rsi, qword [rbp + 0xe8]
movsq qword [rdi], qword [rsi]
movsq qword [rdi], qword [rsi]
movsq qword [rdi], qword [rsi]
movsq qword [rdi], qword [rsi]
movsq qword [rdi], qword [rsi]
mov eax, dword [0x006933cc]
add eax, 1
cmp dword [0x006933cc], eax
jne 0x65b0e7
mov ecx, dword [0x00699094]
mov edx, dword [0x0069ae20]
mov r8d, dword [0x00693520]
mov r9d, dword [0x00695844]
mov eax, dword [0x00696128]
mov dword [rsp + 0x20], eax
call sub.kernel32.dll_LockFile
mov eax, dword [0x0069afe8]
add eax, dword [0x006933d4]
mov ecx, dword [0x00693564]
add ecx, dword [0x00694300]
cmp eax, ecx
jle 0x65b10d
mov dword [0x0069afe8], 0xee
mov dword [0x006933e8], 0x330
mov eax, dword [0x006933e8]
sub eax, 0x1b9
mov dword [0x006935f8], eax
mov eax, dword [0x0069add8]
mov dword [0x0069a4f0], eax
mov rax, qword [rbp + 0xd0]
mov ecx, dword [rbp + 0xf4]
add ecx, dword [rax + 0x20]
mov ecx, ecx
mov qword [rbp + 0xe0], rcx
mov rax, qword [rbp + 0xd0]
mov ecx, dword [rbp + 0xf4]
add ecx, dword [rax + 0x1c]
mov ecx, ecx
mov qword [rbp + 0xd8], rcx
mov eax, dword [0x006978c4]
mov dword [0x006968a4], eax
mov rax, qword [rbp + 0xd0]
mov eax, dword [rax + 0x14]
add eax, dword [rbp + 0x150]
mov ecx, eax
add ecx, ecx
mov dword [rbp + 0x50], ecx
add eax, eax
add eax, eax
mov dword [rbp + 0x54], eax
mov eax, dword [0x0069afe8]
mov dword [0x0069a97c], eax
mov eax, dword [0x00693510]
add eax, 1
cmp dword [0x00693510], eax
jne 0x65b1d7
mov ecx, dword [0x0069affc]
mov edx, dword [0x006935f8]
mov r8d, dword [0x00696574]
mov r9d, dword [0x00697440]
mov eax, dword [0x00698998]
mov dword [rsp + 0x20], eax
call sub.kernel32.dll_LockFile
call fcn.005a6580
cmp eax, dword [0x00693918]
jle 0x65b1ee
mov dword [0x00693918], 0x148
mov eax, dword [0x00696e78]
add eax, dword [0x00698968]
mov ecx, dword [0x00698f8c]
add ecx, dword [0x006995f4]
cmp eax, ecx
jle 0x65b20f
call fcn.004096f0
call fcn.0063ba30
call fcn.00639780
lea rcx, [rbp + 0xa0]
mov rdx, qword [0x0065ffd0]
mov r8d, 1
mov rax, qword [rbp + 0xd0]
mov r9d, dword [rax + 0x18]
add r9d, dword [rbp + 0x150]
mov r9d, r9d
call fcn.004129a0
mov eax, dword [0x00697440]
mov dword [0x0069689c], eax
xor eax, eax
mov rcx, qword [rbp + 0xd0]
mov esi, dword [rcx + 0x14]
sub esi, 1
mov dword [rbp + 0xc8], eax
cmp dword [rbp + 0xc8], esi
ja 0x65b3c3
sub esi, eax
add esi, 1
mov ecx, 8
call fcn.00409030
mov qword [rbp + 0xa8], rax
mov ebx, dword [rbp + 0xc8]
mov rax, qword [rbp + 0xa8]
mov rcx, qword [rbp + 0xe0]
mov ecx, dword [rcx + rbx*4]
mov dword [rax], ecx
mov rax, qword [rbp + 0xa8]
mov rcx, qword [rbp + 0xd8]
mov ecx, dword [rcx + rbx*4]
mov dword [rax + 4], ecx
mov eax, dword [0x0069ae28]
add eax, dword [0x0069320c]
mov ecx, dword [0x00693528]
add ecx, dword [0x006940e4]
cmp eax, ecx
jle 0x65b2df
mov dword [0x0069ae28], 0x112
mov eax, dword [0x0069350c]
add eax, 1
cmp dword [0x0069350c], eax
jne 0x65b2fb
mov ecx, dword [0x00698974]
call sub.kernel32.dll_SetConsoleKeyShortcuts
mov eax, dword [0x00697c88]
mov dword [0x00696a8c], eax
mov eax, dword [0x0069351c]
add eax, 1
cmp dword [0x0069351c], eax
jne 0x65b341
mov ecx, dword [0x00695bd4]
mov edx, dword [0x00696e58]
mov r8d, dword [0x00698144]
mov r9d, dword [0x006994d8]
mov eax, dword [0x00699bf4]
mov dword [rsp + 0x20], eax
call sub.kernel32.dll_LockFile
mov eax, dword [0x00698af0]
add eax, dword [0x006994c4]
mov ecx, dword [0x00699be0]
add ecx, dword [0x0069a004]
cmp eax, ecx
jle 0x65b369
mov eax, dword [0x0069a004]
mov dword [0x00698af0], eax
call fcn.0063e2d0
call fcn.00647460
mov rax, qword [rbp + 0xa0]
mov rcx, rbx
add rcx, rcx
lea rcx, [rax + rcx*8]
mov rax, qword [rbp + 0xe0]
mov edx, dword [rax + rbx*4]
add edx, dword [rbp + 0xf4]
mov edx, edx
call fcn.004107a0
mov rax, qword [rbp + 0xa0]
add rbx, rbx
mov rcx, qword [rbp + 0xa8]
mov qword [rax + rbx*8 + 8], rcx
add dword [rbp + 0xc8], 1
sub esi, 1
test esi, esi
jne 0x65b27a
nop
mov eax, dword [0x0069a014]
mov dword [0x00699bf0], eax
xor eax, eax
mov esi, dword [rbp + 0x150]
sub esi, 1
mov dword [rbp + 0xc8], eax
cmp dword [rbp + 0xc8], esi
ja 0x65b588
sub esi, eax
add esi, 1
mov ecx, 8
call fcn.00409030
mov qword [rbp + 0xa8], rax
mov ebx, dword [rbp + 0xc8]
mov rax, qword [rbp + 0xa8]
mov rcx, qword [rbp + 0x140]
mov ecx, dword [rcx + rbx*4]
sub ecx, dword [rbp + 0xf4]
mov dword [rax], ecx
mov rax, qword [rbp + 0xa8]
mov rcx, qword [rbp + 0x148]
mov ecx, dword [rcx + rbx*4]
sub ecx, dword [rbp + 0xf4]
mov dword [rax + 4], ecx
mov eax, dword [0x0069a014]
mov dword [0x00699bf0], eax
mov eax, dword [0x00698fb0]
cmp eax, dword [0x00699520]
je 0x65b463
mov eax, dword [0x00698fb0]
mov dword [0x00699520], eax
call fcn.0063da90
mov dword [0x006931c0], 0x2f1
mov eax, dword [0x006931c0]
sub eax, 0x19b
mov dword [0x006934dc], eax
call fcn.00647460
cmp eax, dword [0x0069afe0]
jle 0x65b49b
mov dword [0x0069afe0], 0x4c
call fcn.0064de10
cmp eax, dword [0x0069b060]
jle 0x65b4b2
mov dword [0x0069b060], 0x45
mov eax, dword [0x00698e70]
add eax, dword [0x006994b8]
mov ecx, dword [0x00699bd4]
add ecx, dword [0x00699ff8]
cmp eax, ecx
jle 0x65b4da
mov eax, dword [0x00699ff8]
mov dword [0x00698e70], eax
mov eax, dword [0x006934dc]
add eax, 1
cmp dword [0x006934dc], eax
jne 0x65b4f6
mov ecx, dword [0x006978d0]
call sub.kernel32.dll_SetConsoleKeyShortcuts
mov eax, dword [0x00693944]
add eax, 1
cmp dword [0x00693944], eax
jne 0x65b51f
mov ecx, dword [0x0069393c]
mov edx, dword [0x00695bd4]
mov r8d, dword [0x00696a8c]
call sub.kernel32.dll_GetDiskFreeSpaceExW
mov rax, qword [rbp + 0xa0]
mov rcx, qword [rbp + 0xd0]
mov ecx, dword [rcx + 0x14]
add ecx, dword [rbp + 0xc8]
mov ecx, ecx
add rcx, rcx
lea rcx, [rax + rcx*8]
mov rax, qword [rbp + 0x140]
mov edx, dword [rax + rbx*4]
call fcn.004107a0
mov rax, qword [rbp + 0xa0]
mov rcx, qword [rbp + 0xd0]
mov ecx, dword [rcx + 0x14]
add ecx, dword [rbp + 0xc8]
mov ecx, ecx
add rcx, rcx
mov rdx, qword [rbp + 0xa8]
mov qword [rax + rcx*8 + 8], rdx
add dword [rbp + 0xc8], 1
sub esi, 1
test esi, esi
jne 0x65b3f2
nop
mov eax, dword [0x006974a4]
mov dword [0x006965d8], eax
call fcn.00649c20
cmp eax, dword [0x0069add8]
jle 0x65b5ac
mov dword [0x0069add8], 0x2c
mov eax, dword [0x0069aa68]
mov dword [0x0069a028], eax
mov eax, dword [0x0069895c]
add eax, dword [0x00698ea4]
mov ecx, dword [0x006994ec]
add ecx, dword [0x00699c08]
cmp eax, ecx
jle 0x65b5e0
mov eax, dword [0x00699c08]
mov dword [0x0069895c], eax
mov eax, dword [0x00696e7c]
add eax, dword [0x0069896c]
mov ecx, dword [0x00698f90]
add ecx, dword [0x006994fc]
cmp eax, ecx
jle 0x65b601
call fcn.004096f0
mov eax, dword [0x006934dc]
add eax, 1
cmp dword [0x006934dc], eax
jne 0x65b63b
mov ecx, dword [0x00696160]
mov edx, dword [0x006974bc]
mov r8d, dword [0x00698b34]
mov r9d, dword [0x00699508]
mov eax, dword [0x00699c24]
mov dword [rsp + 0x20], eax
call sub.kernel32.dll_LockFile
lea rcx, [rbp + 0xa0]
call fcn.0065a8c0
mov eax, dword [0x006931e0]
add eax, 1
cmp dword [0x006931e0], eax
jne 0x65b670
mov ecx, dword [0x00695bf4]
mov edx, dword [0x00698f88]
mov r8d, dword [0x00699c10]
call sub.kernel32.dll_GetDiskFreeSpaceExW
mov eax, dword [0x00699d5c]
mov dword [0x00699660], eax
mov eax, dword [0x00696aa4]
add eax, dword [0x006974a0]
mov ecx, dword [0x0069895c]
add ecx, dword [0x00698ea4]
cmp eax, ecx
jle 0x65b69d
call fcn.004096f0
mov eax, dword [0x00698e4c]
add eax, dword [0x006993a0]
mov ecx, dword [0x00699a5c]
add ecx, dword [0x00699dc4]
cmp eax, ecx
jle 0x65b6c5
mov eax, dword [0x00699dc4]
mov dword [0x00698e4c], eax
call fcn.0063a2c0
mov eax, dword [0x00698e4c]
add eax, dword [0x006993a0]
mov ecx, dword [0x00699a5c]
add ecx, dword [0x00699dc4]
cmp eax, ecx
jle 0x65b6f2
mov eax, dword [0x00699dc4]
mov dword [0x00698e4c], eax
mov eax, dword [0x006994e8]
cmp eax, dword [0x00699c04]
je 0x65b70c
mov eax, dword [0x006994e8]
mov dword [0x00699c04], eax
mov eax, dword [0x00695890]
sub eax, dword [0x0069412c]
mov dword [0x0069412c], eax
mov eax, dword [0x00699db0]
mov dword [0x00699a48], eax
mov eax, dword [0x00699db0]
mov dword [0x00699a48], eax
mov eax, dword [0x006994d4]
cmp eax, dword [0x00699bf0]
je 0x65b750
mov eax, dword [0x006994d4]
mov dword [0x00699bf0], eax
mov eax, dword [0x006937fc]
add eax, 1
cmp dword [0x006937fc], eax
jne 0x65b78a
mov ecx, dword [0x0069a9d8]
mov edx, dword [0x00693938]
mov r8d, dword [0x006958fc]
mov r9d, dword [0x006965bc]
mov eax, dword [0x00697488]
mov dword [rsp + 0x20], eax
call sub.kernel32.dll_LockFile
mov eax, dword [0x006965b4]
mov dword [0x00696120], eax
call fcn.00657f90
cmp eax, dword [0x0069320c]
jle 0x65b7ad
mov dword [0x0069320c], 0x66
call fcn.0064d0a0
cmp eax, dword [0x0069ae18]
jle 0x65b7c4
mov dword [0x0069ae18], 0x14
call fcn.0063dc60
mov eax, dword [0x006965b4]
mov dword [0x00696120], eax
mov eax, dword [0x00699608]
cmp eax, dword [0x00699da0]
je 0x65b7ef
mov eax, dword [0x00699608]
mov dword [0x00699da0], eax
mov eax, dword [0x0069659c]
mov dword [0x00695d94], eax
mov eax, dword [0x0069ac30]
mov dword [0x0069a96c], eax
call fcn.00656360
cmp eax, dword [0x006931d4]
jle 0x65b81e
mov dword [0x006931d4], 0x58
mov eax, dword [0x0069ac30]
mov dword [0x0069a96c], eax
mov eax, dword [0x006994d4]
cmp eax, dword [0x00699864]
je 0x65b844
mov eax, dword [0x006994d4]
mov dword [0x00699864], eax
mov eax, dword [0x0069b074]
add eax, dword [0x006933c4]
mov ecx, dword [0x00693554]
add ecx, dword [0x006942f0]
cmp eax, ecx
jle 0x65b86a
mov dword [0x0069b074], 0x195
call fcn.0063aa80
mov eax, dword [0x00696cb8]
add eax, dword [0x0069810c]
mov ecx, dword [0x00698e58]
add ecx, dword [0x006993ac]
cmp eax, ecx
jle 0x65b890
call fcn.004096f0
call fcn.0063a6c0
mov eax, dword [0x006994c4]
add eax, dword [0x00699be0]
mov ecx, dword [0x0069a6a0]
add ecx, dword [0x0069b048]
cmp eax, ecx
jle 0x65b8bd
mov eax, dword [0x0069b048]
mov dword [0x006994c4], eax
mov dword [0x006958d4], 0x335
mov eax, dword [0x006958d4]
sub eax, 0x1da
mov dword [0x00696594], eax
mov dword [0x006958d4], 0x335
mov eax, dword [0x006958d4]
sub eax, 0x1da
mov dword [0x00696594], eax
mov eax, dword [0x00699548]
cmp eax, dword [0x00699a74]
je 0x65b90f
mov eax, dword [0x00699548]
mov dword [0x00699a74], eax
mov eax, dword [0x00695880]
add eax, 1
cmp dword [0x00695880], eax
jne 0x65b938
mov ecx, dword [0x00695d78]
mov edx, dword [0x006989a0]
mov r8d, dword [0x0069962c]
call sub.kernel32.dll_GetDiskFreeSpaceExW
mov eax, dword [0x00698e68]
add eax, dword [0x0069954c]
mov ecx, dword [0x00699d44]
add ecx, dword [0x0069aad0]
cmp eax, ecx
jle 0x65b960
mov eax, dword [0x0069aad0]
mov dword [0x00698e68], eax
mov eax, dword [0x00698130]
add eax, dword [0x006990a0]
mov ecx, dword [0x00699be4]
add ecx, dword [0x0069a944]
cmp eax, ecx
jle 0x65b981
call fcn.004096f0
mov eax, dword [0x0069adf0]
mov dword [0x0069a508], eax
mov dword [0x00693510], 0x31b
mov eax, dword [0x00693510]
sub eax, 0x1af
mov dword [0x006942ac], eax
mov eax, dword [0x0069748c]
add eax, dword [0x00698144]
mov ecx, dword [0x00698e90]
add ecx, dword [0x006995d4]
cmp eax, ecx
jle 0x65b9ca
call fcn.004096f0
mov eax, dword [0x00696aa8]
mov dword [0x006962f4], eax
mov eax, dword [0x0069ae24]
mov dword [0x0069a69c], eax
call fcn.00653290
cmp eax, dword [0x0069b044]
jle 0x65b9f9
mov dword [0x0069b044], 0x65
mov ecx, dword [rbp + 0xf4]
mov edx, dword [rbp + 0x54]
add edx, dword [rbp + 0x54]
add edx, dword [rbp + 0x50]
mov r8d, 4
call fcn.005c5de0
mov qword [rbp + 0x58], rax
mov eax, dword [0x00697494]
add eax, dword [0x0069877c]
mov ecx, dword [0x006990bc]
add ecx, dword [0x006995e0]
cmp eax, ecx
jle 0x65ba39
call fcn.004096f0
mov rax, qword [rbp + 0x58]
mov qword [rbp + 0xb8], rax
mov eax, dword [0x006974a4]
mov dword [0x006965dc], eax
mov rax, qword [rbp + 0x58]
mov ecx, dword [rbp + 0x54]
lea rbx, [rax + rcx]
mov qword [rbp + 0xb0], rbx
mov eax, dword [0x00696a78]
add eax, dword [0x006978f0]
mov ecx, dword [0x00698aec]
add ecx, dword [0x006994c0]
cmp eax, ecx
jle 0x65ba83
call fcn.004096f0
mov eax, dword [0x00696a78]
add eax, dword [0x006978f0]
mov ecx, dword [0x00698aec]
add ecx, dword [0x006994c0]
cmp eax, ecx
jle 0x65baa4
call fcn.004096f0
mov eax, dword [0x006993a8]
cmp eax, dword [0x00699a64]
je 0x65babe
mov eax, dword [0x006993a8]
mov dword [0x00699a64], eax
mov eax, dword [0x00698b34]
add eax, dword [0x00699508]
mov ecx, dword [0x00699c24]
add ecx, dword [0x0069a048]
cmp eax, ecx
jle 0x65bae6
mov eax, dword [0x0069a048]
mov dword [0x00698b34], eax
call fcn.0064de10
cmp eax, dword [0x0069ae44]
jle 0x65bafd
mov dword [0x0069ae44], 0x46
mov eax, dword [0x0069afd4]
mov dword [0x0069a968], eax
mov eax, dword [rbp + 0x50]
lea rax, [rbx + rax]
mov qword [rbp + 0xc0], rax
mov eax, dword [0x0069afd4]
mov dword [0x0069a968], eax
mov eax, dword [0x006995e0]
cmp eax, dword [0x00699c00]
je 0x65bb3d
mov eax, dword [0x006995e0]
mov dword [0x00699c00], eax
mov eax, dword [0x0069afe0]
add eax, dword [0x006933d0]
mov ecx, dword [0x00693560]
add ecx, dword [0x0069411c]
cmp eax, ecx
jle 0x65bb63
mov dword [0x0069afe0], 0x145
mov eax, dword [0x006934f0]
add eax, 1
cmp dword [0x006934f0], eax
jne 0x65bb9d
mov ecx, dword [0x006934b4]
mov edx, dword [0x00695870]
mov r8d, dword [0x00696154]
mov r9d, dword [0x00696ab8]
mov eax, dword [0x00697e8c]
mov dword [rsp + 0x20], eax
call sub.kernel32.dll_LockFile
mov eax, dword [0x006974cc]
add eax, dword [0x00698988]
mov ecx, dword [0x00699388]
add ecx, dword [0x00699614]
cmp eax, ecx
jle 0x65bbc5
mov eax, dword [0x00699614]
mov dword [0x006974cc], eax
call fcn.00655c70
cmp eax, dword [0x0069b064]
jle 0x65bbdc
mov dword [0x0069b064], 0x6d
mov eax, dword [0x006974cc]
add eax, dword [0x00698988]
mov ecx, dword [0x00699388]
add ecx, dword [0x00699614]
cmp eax, ecx
jle 0x65bc04
mov eax, dword [0x00699614]
mov dword [0x006974cc], eax
mov eax, dword [0x00699860]
cmp eax, dword [0x00699d6c]
je 0x65bc1e
mov eax, dword [0x00699860]
mov dword [0x00699d6c], eax
mov eax, dword [0x00693564]
add eax, 1
cmp dword [0x00693564], eax
jne 0x65bc47
mov ecx, dword [0x0069adf8]
mov edx, dword [0x006934f8]
mov r8d, dword [0x00694294]
call sub.kernel32.dll_GetDiskFreeSpaceExW
mov eax, dword [0x006965fc]
mov dword [0x00696168], eax
cmp qword [rbp + 0x58], 0
je 0x65c3f9
mov eax, dword [0x00696e54]
add eax, dword [0x00697c84]
mov ecx, dword [0x00698e8c]
add ecx, dword [0x006994d4]
cmp eax, ecx
jle 0x65bc7f
call fcn.004096f0
mov eax, dword [0x00698110]
mov dword [0x00696cbc], eax
mov eax, dword [0x0069b06c]
add eax, dword [0x00693458]
mov ecx, dword [0x00694108]
add ecx, dword [0x0069586c]
cmp eax, ecx
jle 0x65bcb1
mov dword [0x0069b06c], 0x174
mov eax, dword [0x006934d4]
add eax, 1
cmp dword [0x006934d4], eax
jne 0x65bceb
mov ecx, dword [0x00695820]
mov edx, dword [0x006961a0]
mov r8d, dword [0x00697464]
mov r9d, dword [0x00698adc]
mov eax, dword [0x0069954c]
mov dword [rsp + 0x20], eax
call sub.kernel32.dll_LockFile
mov eax, dword [0x0069a030]
mov dword [0x00699c0c], eax
mov eax, dword [0x00693550]
add eax, 1
cmp dword [0x00693550], eax
jne 0x65bd27
mov ecx, dword [0x00696600]
mov edx, dword [0x00694134]
mov r8d, dword [0x006980f8]
mov r9d, dword [0x00699528]
call sub.advapi32.dll_CryptDuplicateKey
mov eax, dword [0x0069a030]
mov dword [0x00699c0c], eax
mov eax, dword [0x0069952c]
cmp eax, dword [0x00699c48]
je 0x65bd4d
mov eax, dword [0x0069952c]
mov dword [0x00699c48], eax
mov rax, qword [rbp + 0xa0]
mov qword [rbp + 0x40], rax
cmp qword [rbp + 0x40], 0
je 0x65bd6b
mov rax, qword [rbp + 0x40]
mov rax, qword [rax - 8]
mov qword [rbp + 0x40], rax
xor eax, eax
mov ecx, dword [rbp + 0x40]
sub ecx, 1
mov dword [rbp + 0xc8], eax
cmp dword [rbp + 0xc8], ecx
ja 0x65bdef
sub ecx, eax
add ecx, 1
mov eax, dword [rbp + 0xc8]
mov rdx, qword [rbp + 0xb8]
mov r8, qword [rbp + 0xa0]
mov r9, rax
add r9, r9
mov r8, qword [r8 + r9*8 + 8]
mov r8d, dword [r8]
mov dword [rdx + rax*4], r8d
mov rdx, qword [rbp + 0xc0]
mov r8, qword [rbp + 0xa0]
mov r9, rax
add r9, r9
mov r8, qword [r8 + r9*8 + 8]
mov r8d, dword [r8 + 4]
mov dword [rdx + rax*4], r8d
mov rdx, qword [rbp + 0xb0]
movzx r8, word [rbp + 0xc8]
mov word [rdx + rax*2], r8w
add dword [rbp + 0xc8], 1
sub ecx, 1
test ecx, ecx
jne 0x65bd86
nop
mov dword [0x006933c8], 0x30a
mov eax, dword [0x006933c8]
sub eax, 0x1a7
mov dword [0x0069396c], eax
mov eax, dword [0x006978e8]
mov dword [0x00696a70], eax
mov rcx, qword [rbp + 0x58]
mov edx, dword [rbp + 0x54]
add edx, dword [rbp + 0x54]
add edx, dword [rbp + 0x50]
mov edx, edx
mov r8d, 2
lea r9, [rbp + 0x94]
call qword [0x006a8c58]
test eax, eax
je 0x65c372
mov eax, dword [0x00695bf0]
sub eax, dword [0x00695864]
mov dword [0x00695864], eax
mov eax, dword [0x00698140]
add eax, dword [0x006990ac]
mov ecx, dword [0x00699860]
add ecx, dword [0x00699d68]
cmp eax, ecx
jle 0x65be7d
mov eax, dword [0x00699d68]
mov dword [0x00698140], eax
mov dword [0x00693534], 0x302
mov eax, dword [0x00693534]
sub eax, 0x1a3
mov dword [0x006942d0], eax
mov rax, qword [rbp + 0xd0]
mov ecx, dword [rbp + 0xc0]
sub ecx, dword [rbp + 0xf4]
mov dword [rax + 0x1c], ecx
mov eax, dword [0x00699368]
add eax, dword [0x006995f4]
mov ecx, dword [0x00699d8c]
add ecx, dword [0x0069aa78]
cmp eax, ecx
jle 0x65bed7
mov eax, dword [0x0069aa78]
mov dword [0x00699368], eax
call fcn.00656040
cmp eax, dword [0x006931b4]
jle 0x65beee
mov dword [0x006931b4], 0x77
call fcn.00649cf0
cmp eax, dword [0x0069affc]
jle 0x65bf05
mov dword [0x0069affc], 0x53
call fcn.0063b390
mov eax, dword [0x00699368]
add eax, dword [0x006995f4]
mov ecx, dword [0x00699d8c]
add ecx, dword [0x0069aa78]
cmp eax, ecx
jle 0x65bf32
mov eax, dword [0x0069aa78]
mov dword [0x00699368], eax
mov eax, dword [0x00699c00]
cmp eax, dword [0x0069a024]
je 0x65bf4c
mov eax, dword [0x00699c00]
mov dword [0x0069a024], eax
mov eax, dword [0x006931fc]
add eax, dword [0x00693518]
mov ecx, dword [0x006942b4]
add ecx, dword [0x00695bc4]
cmp eax, ecx
jle 0x65bf72
mov dword [0x006931fc], 0x32
mov eax, dword [0x00697c80]
add eax, dword [0x00698e88]
mov ecx, dword [0x006994d0]
add ecx, dword [0x00699bf0]
cmp eax, ecx
jle 0x65bf93
call fcn.004096f0
mov eax, dword [0x0069898c]
mov dword [0x00696c98], eax
mov rax, qword [rbp + 0xd0]
mov ecx, dword [rbp + 0xb8]
sub ecx, dword [rbp + 0xf4]
mov dword [rax + 0x20], ecx
call fcn.0063b390
mov eax, dword [0x0069898c]
mov dword [0x00696c98], eax
mov eax, dword [0x006995d0]
cmp eax, dword [0x00699d68]
je 0x65bfe0
mov eax, dword [0x006995d0]
mov dword [0x00699d68], eax
mov eax, dword [0x006932c8]
mov dword [0x0069ade8], eax
mov eax, dword [0x00698fac]
add eax, dword [0x00699614]
mov ecx, dword [0x00699dac]
add ecx, dword [0x0069aa98]
cmp eax, ecx
jle 0x65c014
mov eax, dword [0x0069aa98]
mov dword [0x00698fac], eax
mov rax, qword [rbp + 0xd0]
mov ecx, dword [rbp + 0xb0]
sub ecx, dword [rbp + 0xf4]
mov dword [rax + 0x24], ecx
mov eax, dword [0x0069ae08]
mov dword [0x0069a520], eax
mov eax, dword [0x0069747c]
add eax, dword [0x00698af4]
mov ecx, dword [0x006990a0]
add ecx, dword [0x00699660]
cmp eax, ecx
jle 0x65c057
call fcn.004096f0
mov eax, dword [0x00698e6c]
add eax, dword [0x0069964c]
mov ecx, dword [0x00699d48]
add ecx, dword [0x0069a9cc]
cmp eax, ecx
jle 0x65c07f
mov eax, dword [0x0069a9cc]
mov dword [0x00698e6c], eax
mov eax, dword [0x0069411c]
add eax, 1
cmp dword [0x0069411c], eax
jne 0x65c0a8
mov ecx, dword [0x00698e60]
mov edx, dword [0x00699a70]
mov r8d, dword [0x0069a9c4]
call sub.kernel32.dll_GetDiskFreeSpaceExW
mov eax, dword [0x00698e6c]
add eax, dword [0x0069964c]
mov ecx, dword [0x00699d48]
add ecx, dword [0x0069a9cc]
cmp eax, ecx
jle 0x65c0d0
mov eax, dword [0x0069a9cc]
mov dword [0x00698e6c], eax
mov eax, dword [0x00699624]
cmp eax, dword [0x00699dbc]
je 0x65c0ea
mov eax, dword [0x00699624]
mov dword [0x00699dbc], eax
mov eax, dword [0x0069744c]
mov dword [0x006968a8], eax
mov eax, dword [0x006942e8]
add eax, 1
cmp dword [0x006942e8], eax
jne 0x65c126
mov ecx, dword [0x0069a9a4]
mov edx, dword [0x006933fc]
mov r8d, dword [0x0069428c]
mov r9d, dword [0x00696190]
call sub.advapi32.dll_CryptDuplicateKey
mov eax, dword [0x0069744c]
mov dword [0x006968a8], eax
mov eax, dword [0x00699514]
cmp eax, dword [0x00699c30]
je 0x65c14c
mov eax, dword [0x00699514]
mov dword [0x00699c30], eax
mov eax, dword [0x006974d4]
mov dword [0x00696c9c], eax
mov rax, qword [rbp + 0xd0]
lea rax, [rax + 0x14]
mov ecx, dword [rbp + 0x150]
add dword [rax], ecx
mov dword [0x006931e8], 0x2f9
mov eax, dword [0x006931e8]
sub eax, 0x19e
mov dword [0x00693504], eax
mov eax, dword [0x006933b0]
mov dword [0x0069ae40], eax
call fcn.00653290
cmp eax, dword [0x00693204]
jle 0x65c1aa
mov dword [0x00693204], 0x8b
mov eax, dword [0x0069352c]
add eax, 1
cmp dword [0x0069352c], eax
jne 0x65c1d3
mov ecx, dword [0x00699538]
mov edx, dword [0x0069a518]
mov r8d, dword [0x006931e8]
call sub.kernel32.dll_GetDiskFreeSpaceExW
mov eax, dword [0x00693548]
add eax, 1
cmp dword [0x00693548], eax
jne 0x65c20d
mov ecx, dword [0x0069394c]
mov edx, dword [0x00695be4]
mov r8d, dword [0x00696a9c]
mov r9d, dword [0x0069a028]
mov eax, dword [0x0069b06c]
mov dword [rsp + 0x20], eax
call sub.kernel32.dll_LockFile
mov eax, dword [0x006940ac]
add eax, 1
cmp dword [0x006940ac], eax
jne 0x65c23d
mov ecx, dword [0x006978c4]
mov edx, dword [0x00699534]
mov r8d, dword [0x00699dc8]
mov r9d, dword [0x0069adfc]
call sub.advapi32.dll_CryptDuplicateKey
mov eax, dword [0x006933b0]
mov dword [0x0069ae40], eax
mov eax, dword [0x00699524]
cmp eax, dword [0x00699a50]
je 0x65c263
mov eax, dword [0x00699524]
mov dword [0x00699a50], eax
mov rax, qword [rbp + 0xd0]
lea rax, [rax + 0x18]
mov ecx, dword [rbp + 0x150]
add dword [rax], ecx
mov eax, dword [0x0069ae08]
mov dword [0x0069a520], eax
mov eax, dword [0x0069ae20]
add eax, dword [0x00693300]
mov ecx, dword [0x00693520]
add ecx, dword [0x006942bc]
cmp eax, ecx
jle 0x65c2a8
mov dword [0x0069ae20], 0x179
mov eax, dword [0x0069a018]
mov dword [0x00699bf4], eax
mov eax, dword [0x0069a018]
mov dword [0x00699bf4], eax
mov eax, dword [0x0069950c]
cmp eax, dword [0x00699898]
je 0x65c2da
mov eax, dword [0x0069950c]
mov dword [0x00699898], eax
mov ebx, dword [rbp + 0xf8]
mov esi, ebx
mov rcx, rsi
mov edx, 0x28
mov r8d, 4
lea r9, [rbp + 0xcc]
call qword [0x006a8c58]
test eax, eax
je 0x65c372
mov eax, dword [0x006932dc]
mov dword [0x0069adfc], eax
mov eax, dword [0x006932dc]
mov dword [0x0069adfc], eax
mov eax, dword [0x006995e0]
cmp eax, dword [0x00699d78]
je 0x65c335
mov eax, dword [0x006995e0]
mov dword [0x00699d78], eax
mov rcx, qword [rbp + 0xd0]
mov edx, ebx
mov r8d, 0x28
call fcn.004093d0
mov rcx, rsi
mov edx, 0x28
mov r8d, dword [rbp + 0xcc]
lea r9, [rbp + 0xcc]
call qword [0x006a8c58]
test eax, eax
setne al
mov byte [rbp + 0x10f], al
mov eax, dword [0x00696ce0]
add eax, dword [0x006978f8]
mov ecx, dword [0x00698e80]
add ecx, dword [0x00699564]
cmp eax, ecx
jle 0x65c393
call fcn.004096f0
call fcn.00639830
mov eax, dword [0x0069b204]
mov dword [0x0069adc0], eax
call fcn.00658020
cmp eax, dword [0x00693290]
jle 0x65c3bb
mov dword [0x00693290], 0x97
mov dword [0x0069328c], 0x307
mov eax, dword [0x0069328c]
sub eax, 0x1a5
mov dword [0x00693548], eax
call fcn.0064d990
cmp eax, dword [0x0069b04c]
jle 0x65c3f8
mov dword [0x0069b04c], 0x40
jmp 0x65c3f8
nop
lea rcx, [rbp + 0xa0]
mov rdx, qword [0x0065ffd0]
call fcn.00412b70
movzx rax, byte [rbp + 0x10f]
lea rsp, [rbp + 0x118]
pop rbx
pop rsi
pop rdi
pop rbp
ret