Function at 0x140030dd0
Capabilities:
Check if file exists
Get storage device properties

Disassembly:
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0xda0]
sub rsp, 0xea0
mov qword [rbp - 0x78], 0xfffffffffffffffe
mov qword [rsp + 0xef8], rbx
mov rax, qword [0x14035d8c0]
xor rax, rsp
mov qword [rbp + 0xd98], rax
mov r12, r8
mov esi, edx
mov dword [rsp + 0x50], edx
mov rbx, rcx
xor r14d, r14d
mov dword [rsp + 0x40], r14d
lea rcx, [rbp + 0x7c8]
call fcn.14000a1bc
nop
mov byte [rbp + 0x7c0], r14b
lea r8d, [r14 + 0x15]
lea rdx, str.GetPhysicalDeviceInfo
lea rcx, [rbp + 0x7c8]
call fcn.140009e14
nop
call fcn.140022850
cmp dword [rax + 8], 4
jl 0x140030e6a
mov byte [rbp + 0x7c0], 1
lea rcx, [rbp + 0x7c0]
call fcn.140018900
lea rcx, [r12 + 8]
call fcn.1400028b4
mov rcx, r12
call fcn.1400028b4
mov word [r12 + 0x20], 0
mov byte [r12 + 0x22], 0
mov dword [r12 + 0x1c], esi
mov qword [rsp + 0x30], r14
mov dword [rsp + 0x28], r14d
mov dword [rsp + 0x20], 3
xor r9d, r9d
xor edx, edx
lea r8d, [r9 + 3]
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_CreateFileW]
mov rdi, rax
mov qword [rsp + 0x58], rax
cmp rax, 0xffffffffffffffff
jne 0x1400313f6
call fcn.140022850
cmp dword [rax + 8], 3
jl 0x1400313ee
call fcn.140022850
mov r12, rax
lea rcx, [rbp + 0x230]
call fcn.14001bb00
nop
lea rcx, [rbp + 0x620]
call fcn.14000a1bc
nop
lea r8d, [rdi + 6]
lea rdx, str.TRACE
lea rcx, [rbp + 0x620]
call fcn.140009e14
lea rcx, [rbp + 0x540]
call fcn.14000a1bc
nop
mov esi, r14d
lea r15d, [rdi + 3]
cmp dword [r12 + 0x10], r14d
jle 0x140030fa5
cmp esi, 0xa
jge 0x140030fa5
mov rcx, qword [rbp + 0x550]
mov rdx, qword [rbp + 0x558]
mov rax, rdx
sub rax, rcx
cmp rax, r15
jb 0x140030f81
lea rdi, [rcx + 2]
mov qword [rbp + 0x550], rdi
lea rbx, [rbp + 0x540]
cmp rdx, 8
cmovae rbx, qword [rbp + 0x540]
lea rcx, [rbx + rcx*2]
mov r8d, 4
lea rdx, [0x1402f2528]
call fcn.14022fb50
mov word [rbx + rdi*2], r14w
jmp 0x140030f9c
mov qword [rsp + 0x20], r15
lea r9, [0x1402f2528]
mov rdx, r15
lea rcx, [rbp + 0x540]
call fcn.1400236a0
inc esi
cmp esi, dword [r12 + 0x10]
jl 0x140030f28
lea rcx, [rbp + 0x780]
call fcn.14000a1bc
nop
lea rcx, [rbp + 0x760]
call fcn.14000a1bc
nop
lea r8, [rbp + 0x760]
lea rdx, [rbp + 0x780]
mov rcx, r12
call fcn.140022980
lea rsi, [rbp + 0x540]
cmp qword [rbp + 0x558], 8
cmovae rsi, qword [rbp + 0x540]
mov edx, 0x2040
lea rcx, [rbp - 0x38]
call fcn.14022dc44
mov rcx, qword [rbp + 0x240]
movsxd rdx, dword [rcx + 4]
lea rcx, [rbp + 0x240]
add rcx, rdx
mov edx, dword [rax + 8]
call qword [rax]
lea rdx, [rbp + 0x780]
cmp qword [rbp + 0x798], 8
cmovae rdx, qword [rbp + 0x780]
mov r8, qword [rbp + 0x790]
lea rcx, [rbp + 0x240]
call fcn.140019270
mov rbx, rax
mov edx, reloc.OLEAUT32.dll_SafeArrayGetDim
lea rcx, [rbp - 0x28]
call fcn.14022dc44
mov rdi, rax
lea rdx, [0x1402f2080]
mov rcx, rbx
call fcn.140018e90
mov rbx, rax
mov rcx, qword [rax]
movsxd rcx, dword [rcx + 4]
add rcx, rax
mov edx, dword [rdi + 8]
call qword [rdi]
mov edx, 6
lea rcx, [rbp - 0x18]
call fcn.14022dc6c
mov rcx, qword [rbx]
movsxd rcx, dword [rcx + 4]
add rcx, rbx
mov rdx, qword [rax + 8]
call qword [rax]
mov rax, qword [rbx]
movsxd rcx, dword [rax + 4]
mov eax, 0x30
mov word [rcx + rbx + 0x58], ax
lea edx, [rax - 0x2d]
lea rcx, [rbp - 8]
call fcn.14022dc58
mov rcx, qword [rbx]
movsxd rcx, dword [rcx + 4]
add rcx, rbx
mov rdx, qword [rax + 8]
call qword [rax]
lea rdx, [rbp + 0x760]
cmp qword [rbp + 0x778], 8
cmovae rdx, qword [rbp + 0x760]
mov r8, qword [rbp + 0x770]
mov rcx, rbx
call fcn.140019270
mov rbx, rax
mov edx, 5
lea rcx, [rbp + 8]
call fcn.14022dc6c
mov rdi, rax
lea rdx, [0x1402f2080]
mov rcx, rbx
call fcn.140018e90
mov rbx, rax
mov rcx, qword [rax]
movsxd rcx, dword [rcx + 4]
add rcx, rax
mov rdx, qword [rdi + 8]
call qword [rdi]
mov rcx, qword [rbx]
movsxd rdx, dword [rcx + 4]
mov eax, 0x20
mov word [rdx + rbx + 0x58], ax
lea edx, [rax + 0x20]
lea rcx, [rbp + 0x18]
call fcn.14022dc44
mov rcx, qword [rbx]
movsxd rcx, dword [rcx + 4]
add rcx, rbx
mov edx, dword [rax + 8]
call qword [rax]
lea rdx, [rbp + 0x620]
cmp qword [rbp + 0x638], 8
cmovae rdx, qword [rbp + 0x620]
mov r8, qword [rbp + 0x630]
mov rcx, rbx
call fcn.140019270
lea rdx, [0x1402f2578]
mov rcx, rax
call fcn.140018e90
mov rcx, rax
mov rdx, rsi
call fcn.140018e90
mov edx, 4
mov rax, qword gs:[0x58]
mov rcx, qword [rax]
lea rdi, [0x14036cfc8]
mov eax, dword [rdx + rcx]
cmp dword [0x14036cfc0], eax
jle 0x1400311df
lea rcx, [0x14036cfc0]
call fcn.14022b958
cmp dword [0x14036cfc0], 0xffffffff
jne 0x1400311df
mov rcx, rdi
call fcn.14000a1bc
lea rcx, [0x14027e7a0]
call fcn.14022b460
lea rcx, [0x14036cfc0]
call fcn.14022b8f8
nop
lea rcx, [rbp + 0x5c0]
call fcn.140009da0
movdqa xmm0, xmmword [0x1402f9190]
movdqu xmmword [rbp + 0x5d0], xmm0
mov word [rbp + 0x5c0], r14w
mov dword [rsp + 0x40], r15d
mov rcx, qword [rbp + 0x2b8]
test cl, 2
jne 0x140031241
mov rax, qword [rbp + 0x288]
mov r8, qword [rax]
test r8, r8
je 0x140031241
mov rax, qword [rbp + 0x268]
mov rdx, qword [rax]
cmp r8, qword [rbp + 0x2b0]
cmovb r8, qword [rbp + 0x2b0]
sub r8, rdx
jmp 0x140031272
test cl, 4
jne 0x140031281
mov rax, qword [rbp + 0x280]
mov rcx, qword [rax]
test rcx, rcx
je 0x140031281
mov rax, qword [rbp + 0x260]
mov rdx, qword [rax]
mov rax, qword [rbp + 0x298]
movsxd r8, dword [rax]
add r8, r8
sub r8, rdx
add r8, rcx
sar r8, 1
lea rcx, [rbp + 0x5c0]
call fcn.140009e14
and r15d, 0xfffffffd
mov dword [rsp + 0x40], r15d
mov ebx, 1
mov dword [rsp + 0x40], ebx
mov rdx, qword [0x14036cfe0]
cmp rdx, 8
jb 0x1400312d9
lea rdx, [rdx*2 + 2]
mov rcx, qword [0x14036cfc8]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400312d4
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14003377b
call fcn.1400045a8
movups xmm0, xmmword [rbp + 0x5c0]
movups xmmword [0x14036cfc8], xmm0
movups xmm1, xmmword [rbp + 0x5d0]
movups xmmword [0x14036cfd8], xmm1
movdqa xmm0, xmmword [0x1402f9190]
movdqu xmmword [rbp + 0x5d0], xmm0
mov word [rbp + 0x5c0], r14w
and ebx, 0xfffffffe
mov dword [rsp + 0x40], ebx
lea rcx, [rbp + 0x5c0]
call fcn.140009bb8
nop
lea rcx, [rbp + 0x760]
call fcn.140009bb8
nop
lea rcx, [rbp + 0x780]
call fcn.140009bb8
nop
lea rcx, [rbp + 0x540]
call fcn.140009bb8
nop
lea rcx, [rbp + 0x620]
call fcn.140009bb8
nop
lea rcx, [rbp + 0x230]
call fcn.14001b7c0
call fcn.140022850
cmp qword [0x14036cfe0], 8
cmovae rdi, qword [0x14036cfc8]
mov r8, qword [0x14036cfd8]
mov rdx, rdi
mov rcx, rax
call fcn.140019270
mov rbx, rax
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov edi, eax
lea rdx, str.Failed_to_open_drive:
mov rcx, rbx
call fcn.140018e90
mov rcx, rax
mov edx, dword [rsp + 0x50]
call fcn.14001bc90
mov rcx, rax
lea rdx, str._with_error:
call fcn.140018e90
mov rcx, rax
mov edx, edi
call fcn.14001bc90
mov rbx, rax
mov rcx, qword [rax]
movsxd rcx, dword [rcx + 4]
add rcx, rax
mov dl, 0xa
call fcn.140019760
movzx edx, ax
mov rcx, rbx
call fcn.1400195a0
mov rcx, rbx
call fcn.14001a220
xor r14b, r14b
jmp 0x14003373b
mov edx, 0x21
xor ecx, ecx
lea r9d, [rdx - 0x1d]
mov r8d, 0x1000
call qword [sym.imp.KERNEL32.dll_VirtualAlloc]
mov qword [rsp + 0x70], rax
mov edx, 0x211
xor ecx, ecx
lea r9d, [rcx + 4]
mov r8d, 0x1000
call qword [sym.imp.KERNEL32.dll_VirtualAlloc]
mov rbx, rax
mov qword [rsp + 0x60], rax
mov rdx, qword [rsp + 0x70]
test rdx, rdx
je 0x14003371b
test rax, rax
je 0x140033708
xor eax, eax
mov qword [rdx], rax
mov qword [rdx + 8], rax
mov qword [rdx + 0x10], rax
mov qword [rdx + 0x18], rax
mov byte [rdx + 0x20], al
mov dword [rdx], 0x200
mov byte [rdx + 0xc], sil
mov word [rdx + 5], 0x101
movzx eax, sil
and al, 1
or al, 0xfa
shl al, 4
mov byte [rdx + 9], al
mov byte [rdx + 0xa], 0xec
lea rcx, [rbx + 4]
xor edx, edx
mov r8d, 0x20d
call fcn.14022ffc0
mov dword [rbx], 0x211
call fcn.140022850
mov r15d, 2
cmp dword [rax + 8], 3
jl 0x1400319bf
call fcn.140022850
mov r13, rax
lea rcx, [rbp + 0x130]
call fcn.14001bb00
nop
lea rcx, [rbp + 0x680]
call fcn.14000a1bc
nop
lea r8d, [r15 + 3]
lea rdx, str.TRACE
lea rcx, [rbp + 0x680]
call fcn.140009e14
lea rcx, [rbp + 0x560]
call fcn.14000a1bc
nop
mov esi, r14d
cmp dword [r13 + 0x10], r14d
jle 0x14003157d
nop dword [rax]
cmp esi, 0xa
jge 0x14003157d
mov rcx, qword [rbp + 0x570]
mov rdx, qword [rbp + 0x578]
mov rax, rdx
sub rax, rcx
cmp rax, 2
jb 0x14003155a
lea rdi, [rcx + 2]
mov qword [rbp + 0x570], rdi
lea rbx, [rbp + 0x560]
cmp rdx, 8
cmovae rbx, qword [rbp + 0x560]
lea rcx, [rbx + rcx*2]
mov r8d, 4
lea rdx, [0x1402f2528]
call fcn.14022fb50
mov word [rbx + rdi*2], r14w
jmp 0x140031575
mov qword [rsp + 0x20], r15
lea r9, [0x1402f2528]
mov rdx, r15
lea rcx, [rbp + 0x560]
call fcn.1400236a0
inc esi
cmp esi, dword [r13 + 0x10]
jl 0x140031500
lea rcx, [rbp + 0x660]
call fcn.14000a1bc
nop
lea rcx, [rbp + 0x640]
call fcn.14000a1bc
nop
lea r8, [rbp + 0x640]
lea rdx, [rbp + 0x660]
mov rcx, r13
call fcn.140022980
lea rsi, [rbp + 0x560]
cmp qword [rbp + 0x578], 8
cmovae rsi, qword [rbp + 0x560]
mov edx, 0x2040
lea rcx, [rbp + 0x28]
call fcn.14022dc44
mov rcx, qword [rbp + 0x140]
movsxd rdx, dword [rcx + 4]
lea rcx, [rbp + 0x140]
add rcx, rdx
mov edx, dword [rax + 8]
call qword [rax]
lea rdx, [rbp + 0x660]
cmp qword [rbp + 0x678], 8
cmovae rdx, qword [rbp + 0x660]
mov r8, qword [rbp + 0x670]
lea rcx, [rbp + 0x140]
call fcn.140019270
mov rbx, rax
mov edx, reloc.OLEAUT32.dll_SafeArrayGetDim
lea rcx, [rbp + 0x38]
call fcn.14022dc44
mov rdi, rax
lea rdx, [0x1402f2080]
mov rcx, rbx
call fcn.140018e90
mov rbx, rax
mov rcx, qword [rax]
movsxd rcx, dword [rcx + 4]
add rcx, rax
mov edx, dword [rdi + 8]
call qword [rdi]
mov edx, 6
lea rcx, [rbp + 0x48]
call fcn.14022dc6c
mov rcx, qword [rbx]
movsxd rcx, dword [rcx + 4]
add rcx, rbx
mov rdx, qword [rax + 8]
call qword [rax]
mov rax, qword [rbx]
movsxd rcx, dword [rax + 4]
mov eax, 0x30
mov word [rcx + rbx + 0x58], ax
lea edx, [rax - 0x2d]
lea rcx, [rbp + 0x58]
call fcn.14022dc58
mov rcx, qword [rbx]
movsxd rcx, dword [rcx + 4]
add rcx, rbx
mov rdx, qword [rax + 8]
call qword [rax]
lea rdx, [rbp + 0x640]
cmp qword [rbp + 0x658], 8
cmovae rdx, qword [rbp + 0x640]
mov r8, qword [rbp + 0x650]
mov rcx, rbx
call fcn.140019270
mov rbx, rax
mov edx, 5
lea rcx, [rbp + 0x68]
call fcn.14022dc6c
mov rdi, rax
lea rdx, [0x1402f2080]
mov rcx, rbx
call fcn.140018e90
mov rbx, rax
mov rcx, qword [rax]
movsxd rcx, dword [rcx + 4]
add rcx, rax
mov rdx, qword [rdi + 8]
call qword [rdi]
mov rcx, qword [rbx]
movsxd rdx, dword [rcx + 4]
mov edi, 0x20
mov word [rdx + rbx + 0x58], di
lea edx, [rdi + 0x20]
lea rcx, [rbp + 0x78]
call fcn.14022dc44
mov rcx, qword [rbx]
movsxd rcx, dword [rcx + 4]
add rcx, rbx
mov edx, dword [rax + 8]
call qword [rax]
lea rdx, [rbp + 0x680]
cmp qword [rbp + 0x698], 8
cmovae rdx, qword [rbp + 0x680]
mov r8, qword [rbp + 0x690]
mov rcx, rbx
call fcn.140019270
lea rdx, [0x1402f2578]
mov rcx, rax
call fcn.140018e90
mov rcx, rax
mov rdx, rsi
call fcn.140018e90
mov edx, 4
mov rax, qword gs:[0x58]
mov rcx, qword [rax]
mov eax, dword [rdx + rcx]
cmp dword [0x14036cfc0], eax
jle 0x1400317b8
lea rcx, [0x14036cfc0]
call fcn.14022b958
lea rdi, [0x14036cfc8]
cmp dword [0x14036cfc0], 0xffffffff
jne 0x1400317bf
mov rcx, rdi
call fcn.14000a1bc
lea rcx, [0x14027e7a0]
call fcn.14022b460
lea rcx, [0x14036cfc0]
call fcn.14022b8f8
jmp 0x1400317bf
lea rdi, [0x14036cfc8]
lea rcx, [rbp + 0x5e0]
call fcn.140009da0
movdqa xmm0, xmmword [0x1402f9190]
movdqu xmmword [rbp + 0x5f0], xmm0
mov word [rbp + 0x5e0], r14w
mov dword [rsp + 0x40], 8
mov rcx, qword [rbp + 0x1b8]
test cl, 2
jne 0x140031828
mov rax, qword [rbp + 0x188]
mov r8, qword [rax]
test r8, r8
je 0x140031828
mov rax, qword [rbp + 0x168]
mov rdx, qword [rax]
mov qword [rbp - 0x70], r8
cmp r8, qword [rbp + 0x1b0]
cmovb r8, qword [rbp + 0x1b0]
sub r8, rdx
jmp 0x140031859
test cl, 4
jne 0x140031868
mov rax, qword [rbp + 0x180]
mov rcx, qword [rax]
test rcx, rcx
je 0x140031868
mov rax, qword [rbp + 0x160]
mov rdx, qword [rax]
mov rax, qword [rbp + 0x198]
movsxd r8, dword [rax]
add r8, r8
sub r8, rdx
add r8, rcx
sar r8, 1
lea rcx, [rbp + 0x5e0]
call fcn.140009e14
mov eax, 8
and eax, 0xfffffff7
mov dword [rsp + 0x40], eax
mov dword [rsp + 0x40], 4
mov rdx, qword [0x14036cfe0]
cmp rdx, 8
jb 0x1400318c2
lea rdx, [rdx*2 + 2]
mov rcx, qword [0x14036cfc8]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400318bd
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140033781
call fcn.1400045a8
movups xmm0, xmmword [rbp + 0x5e0]
movups xmmword [0x14036cfc8], xmm0
movups xmm1, xmmword [rbp + 0x5f0]
movups xmmword [0x14036cfd8], xmm1
movdqa xmm0, xmmword [0x1402f9190]
movdqu xmmword [rbp + 0x5f0], xmm0
mov word [rbp + 0x5e0], r14w
mov eax, 4
and eax, 0xfffffffb
mov dword [rsp + 0x40], eax
lea rcx, [rbp + 0x5e0]
call fcn.140009bb8
nop
lea rcx, [rbp + 0x640]
call fcn.140009bb8
nop
lea rcx, [rbp + 0x660]
call fcn.140009bb8
nop
lea rcx, [rbp + 0x560]
call fcn.140009bb8
nop
lea rcx, [rbp + 0x680]
call fcn.140009bb8
nop
lea rcx, [rbp + 0x130]
call fcn.14001b7c0
call fcn.140022850
mov rdx, rdi
cmp qword [0x14036cfe0], 8
cmovae rdx, qword [0x14036cfc8]
mov r8, qword [0x14036cfd8]
mov rcx, rax
call fcn.140019270
lea rdx, str.Looking_for_Drive:
mov rcx, rax
call fcn.140018e90
mov rcx, rax
mov esi, dword [rsp + 0x50]
mov edx, esi
call fcn.14001bc90
mov rbx, rax
mov rcx, qword [rax]
movsxd rcx, dword [rcx + 4]
add rcx, rax
mov dl, 0xa
call fcn.140019760
movzx edx, ax
mov rcx, rbx
call fcn.1400195a0
mov rcx, rbx
call fcn.14001a220
mov rbx, qword [rsp + 0x60]
mov qword [rsp + 0x38], r14
lea rax, [rsp + 0x44]
mov qword [rsp + 0x30], rax
mov dword [rsp + 0x28], 0x210
mov qword [rsp + 0x20], rbx
mov r9d, 0x20
mov r8, qword [rsp + 0x70]
mov edx, 0x7c088
mov rcx, qword [rsp + 0x58]
call qword [sym.imp.KERNEL32.dll_DeviceIoControl]
mov r13, 0xffffffffffffffff
test eax, eax
je 0x140032b46
call fcn.140022850
cmp dword [rax + 8], 3
jl 0x140031f3f
call fcn.140022850
mov rbx, rax
mov qword [rsp + 0x48], rax
lea rcx, [rbp + 0x330]
call fcn.14001bb00
nop
lea rcx, [rbp + 0x6e0]
call fcn.14000a1bc
nop
lea r8d, [r13 + 6]
lea rdx, str.TRACE
lea rcx, [rbp + 0x6e0]
call fcn.140009e14
lea rcx, [rbp + 0x580]
call fcn.14000a1bc
nop
mov esi, r14d
cmp dword [rbx + 0x10], r14d
jle 0x140031af9
nop dword [rax]
cmp esi, 0xa
jge 0x140031af9
mov rcx, qword [rbp + 0x590]
mov rdx, qword [rbp + 0x598]
mov rax, rdx
sub rax, rcx
cmp rax, 2
jb 0x140031ad3
lea rdi, [rcx + 2]
mov qword [rbp + 0x590], rdi
lea rbx, [rbp + 0x580]
cmp rdx, 8
cmovae rbx, qword [rbp + 0x580]
lea rcx, [rbx + rcx*2]
mov r8d, 4
lea rdx, [0x1402f2528]
call fcn.14022fb50
mov word [rbx + rdi*2], r14w
mov rbx, qword [rsp + 0x48]
jmp 0x140031aee
mov qword [rsp + 0x20], r15
lea r9, [0x1402f2528]
mov rdx, r15
lea rcx, [rbp + 0x580]
call fcn.1400236a0
inc esi
cmp esi, dword [rbx + 0x10]
jl 0x140031a70
lea rcx, [rbp + 0x6c0]
call fcn.14000a1bc
nop
lea rcx, [rbp + 0x6a0]
call fcn.14000a1bc
nop
lea r8, [rbp + 0x6a0]
lea rdx, [rbp + 0x6c0]
mov rcx, rbx
call fcn.140022980
lea rsi, [rbp + 0x580]
cmp qword [rbp + 0x598], 8
cmovae rsi, qword [rbp + 0x580]
mov edx, 0x2040
lea rcx, [rbp + 0x88]
call fcn.14022dc44
mov rcx, qword [rbp + 0x340]
movsxd rdx, dword [rcx + 4]
lea rcx, [rbp + 0x340]
add rcx, rdx
mov edx, dword [rax + 8]
call qword [rax]
lea rdx, [rbp + 0x6c0]
cmp qword [rbp + 0x6d8], 8
cmovae rdx, qword [rbp + 0x6c0]
mov r8, qword [rbp + 0x6d0]
lea rcx, [rbp + 0x340]
call fcn.140019270
mov rbx, rax
mov edx, reloc.OLEAUT32.dll_SafeArrayGetDim
lea rcx, [rbp + 0x98]
call fcn.14022dc44
mov rdi, rax
lea rdx, [0x1402f2080]
mov rcx, rbx
call fcn.140018e90
mov rbx, rax
mov rcx, qword [rax]
movsxd rcx, dword [rcx + 4]
add rcx, rax
mov edx, dword [rdi + 8]
call qword [rdi]
mov edx, 6
lea rcx, [rbp + 0xa8]
call fcn.14022dc6c
mov rcx, qword [rbx]
movsxd rcx, dword [rcx + 4]
add rcx, rbx
mov rdx, qword [rax + 8]
call qword [rax]
mov rax, qword [rbx]
movsxd rcx, dword [rax + 4]
mov eax, 0x30
mov word [rcx + rbx + 0x58], ax
lea edx, [rax - 0x2d]
lea rcx, [rbp + 0xb8]
call fcn.14022dc58
mov rcx, qword [rbx]
movsxd rcx, dword [rcx + 4]
add rcx, rbx
mov rdx, qword [rax + 8]
call qword [rax]
lea rdx, [rbp + 0x6a0]
cmp qword [rbp + 0x6b8], 8
cmovae rdx, qword [rbp + 0x6a0]
mov r8, qword [rbp + 0x6b0]
mov rcx, rbx
call fcn.140019270
mov rbx, rax
mov edx, 5
lea rcx, [rbp + 0xc8]
call fcn.14022dc6c
mov rdi, rax
lea rdx, [0x1402f2080]
mov rcx, rbx
call fcn.140018e90
mov rbx, rax
mov rcx, qword [rax]
movsxd rcx, dword [rcx + 4]
add rcx, rax
mov rdx, qword [rdi + 8]
call qword [rdi]
mov rcx, qword [rbx]
movsxd rdx, dword [rcx + 4]
mov edi, 0x20
mov word [rdx + rbx + 0x58], di
lea edx, [rdi + 0x20]
lea rcx, [rbp + 0xd8]
call fcn.14022dc44
mov rcx, qword [rbx]
movsxd rcx, dword [rcx + 4]
add rcx, rbx
mov edx, dword [rax + 8]
call qword [rax]
lea rdx, [rbp + 0x6e0]
cmp qword [rbp + 0x6f8], 8
cmovae rdx, qword [rbp + 0x6e0]
mov r8, qword [rbp + 0x6f0]
mov rcx, rbx
call fcn.140019270
lea rdx, [0x1402f2578]
mov rcx, rax
call fcn.140018e90
mov rcx, rax
mov rdx, rsi
call fcn.140018e90
mov edx, 4
mov rax, qword gs:[0x58]
mov rcx, qword [rax]
mov eax, dword [rdx + rcx]
cmp dword [0x14036cfc0], eax
jle 0x140031d42
lea rcx, [0x14036cfc0]
call fcn.14022b958
cmp dword [0x14036cfc0], 0xffffffff
jne 0x140031d42
lea rcx, [0x14036cfc8]
call fcn.14000a1bc
lea rcx, [0x14027e7a0]
call fcn.14022b460
lea rcx, [0x14036cfc0]
call fcn.14022b8f8
nop
lea rcx, [rbp + 0x600]
call fcn.140009da0
movdqa xmm0, xmmword [0x1402f9190]
movdqu xmmword [rbp + 0x610], xmm0
mov word [rbp + 0x600], r14w
mov dword [rsp + 0x40], edi
mov rcx, qword [rbp + 0x3b8]
test cl, 2
jne 0x140031da7
mov rax, qword [rbp + 0x388]
mov r8, qword [rax]
test r8, r8
je 0x140031da7
mov rax, qword [rbp + 0x368]
mov rdx, qword [rax]
mov qword [rbp - 0x68], r8
cmp r8, qword [rbp + 0x3b0]
cmovb r8, qword [rbp + 0x3b0]
sub r8, rdx
jmp 0x140031dd8
test cl, 4
jne 0x140031de7
mov rax, qword [rbp + 0x380]
mov rcx, qword [rax]
test rcx, rcx
je 0x140031de7
mov rax, qword [rbp + 0x360]
mov rdx, qword [rax]
mov rax, qword [rbp + 0x398]
movsxd r8, dword [rax]
add r8, r8
sub r8, rdx
add r8, rcx
sar r8, 1
lea rcx, [rbp + 0x600]
call fcn.140009e14
mov eax, edi
and eax, 0xffffffdf
mov dword [rsp + 0x40], eax
mov dword [rsp + 0x40], reloc.OLEAUT32.dll_SafeArrayGetDim
mov rdx, qword [0x14036cfe0]
cmp rdx, 8
jb 0x140031e3e
lea rdx, [rdx*2 + 2]
mov rcx, qword [0x14036cfc8]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140031e39
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140033787
call fcn.1400045a8
movups xmm0, xmmword [rbp + 0x600]
movups xmmword [0x14036cfc8], xmm0
movups xmm1, xmmword [rbp + 0x610]
movups xmmword [0x14036cfd8], xmm1
movdqa xmm0, xmmword [0x1402f9190]
movdqu xmmword [rbp + 0x610], xmm0
mov word [rbp + 0x600], r14w
mov eax, reloc.OLEAUT32.dll_SafeArrayGetDim
and eax, 0xffffffef
mov dword [rsp + 0x40], eax
lea rcx, [rbp + 0x600]
call fcn.140009bb8
nop
lea rcx, [rbp + 0x6a0]
call fcn.140009bb8
nop
lea rcx, [rbp + 0x6c0]
call fcn.140009bb8
nop
lea rcx, [rbp + 0x580]
call fcn.140009bb8
nop
lea rcx, [rbp + 0x6e0]
call fcn.140009bb8
nop
lea rcx, [rbp + 0x330]
call fcn.14001b7c0
call fcn.140022850
lea rdx, [0x14036cfc8]
cmp qword [0x14036cfe0], 8
cmovae rdx, qword [0x14036cfc8]
mov r8, qword [0x14036cfd8]
mov rcx, rax
call fcn.140019270
lea rdx, str.Got_Drive:
mov rcx, rax
call fcn.140018e90
mov rcx, rax
mov esi, dword [rsp + 0x50]
mov edx, esi
call fcn.14001bc90
mov rbx, rax
mov rcx, qword [rax]
movsxd rcx, dword [rcx + 4]
add rcx, rax
mov dl, 0xa
call fcn.140019760
movzx edx, ax
mov rcx, rbx
call fcn.1400195a0
mov rcx, rbx
call fcn.14001a220
mov rbx, qword [rsp + 0x60]
movzx eax, word [rbx + 0x46]
movzx edx, ax
shr dx, 8
mov byte [rbp + 0xd68], dl
mov byte [rbp + 0xd69], al
movzx ecx, word [rbx + 0x48]
movzx eax, cx
shr ax, 8
mov byte [rbp + 0xd6a], al
mov byte [rbp + 0xd6b], cl
movzx ecx, word [rbx + 0x4a]
movzx eax, cx
shr ax, 8
mov byte [rbp + 0xd6c], al
mov byte [rbp + 0xd6d], cl
movzx ecx, word [rbx + 0x4c]
movzx eax, cx
shr ax, 8
mov byte [rbp + 0xd6e], al
mov byte [rbp + 0xd6f], cl
movzx ecx, word [rbx + 0x4e]
movzx eax, cx
shr ax, 8
mov byte [rbp + 0xd70], al
mov byte [rbp + 0xd71], cl
movzx ecx, word [rbx + 0x50]
movzx eax, cx
shr ax, 8
mov byte [rbp + 0xd72], al
mov byte [rbp + 0xd73], cl
movzx ecx, word [rbx + 0x52]
movzx eax, cx
shr ax, 8
mov byte [rbp + 0xd74], al
mov byte [rbp + 0xd75], cl
movzx ecx, word [rbx + 0x54]
movzx eax, cx
shr ax, 8
mov byte [rbp + 0xd76], al
mov byte [rbp + 0xd77], cl
movzx ecx, word [rbx + 0x56]
movzx eax, cx
shr ax, 8
mov byte [rbp + 0xd78], al
mov byte [rbp + 0xd79], cl
movzx ecx, word [rbx + 0x58]
movzx eax, cx
shr ax, 8
mov byte [rbp + 0xd7a], al
mov byte [rbp + 0xd7b], cl
movzx ecx, word [rbx + 0x5a]
movzx eax, cx
shr ax, 8
mov byte [rbp + 0xd7c], al
mov byte [rbp + 0xd7d], cl
movzx ecx, word [rbx + 0x5c]
movzx eax, cx
shr ax, 8
mov byte [rbp + 0xd7e], al
mov byte [rbp + 0xd7f], cl
movzx ecx, word [rbx + 0x5e]
movzx eax, cx
shr ax, 8
mov byte [rbp + 0xd80], al
mov byte [rbp + 0xd81], cl
movzx ecx, word [rbx + 0x60]
movzx eax, cx
shr ax, 8
mov byte [rbp + 0xd82], al
mov byte [rbp + 0xd83], cl
movzx ecx, word [rbx + 0x62]
movzx eax, cx
shr ax, 8
mov byte [rbp + 0xd84], al
mov byte [rbp + 0xd85], cl
movzx ecx, word [rbx + 0x64]
movzx eax, cx
shr ax, 8
mov byte [rbp + 0xd86], al
mov byte [rbp + 0xd87], cl
movzx ecx, word [rbx + 0x66]
movzx eax, cx
shr ax, 8
mov byte [rbp + 0xd88], al
mov byte [rbp + 0xd89], cl
movzx ecx, word [rbx + 0x68]
movzx eax, cx
shr ax, 8
mov byte [rbp + 0xd8a], al
mov byte [rbp + 0xd8b], cl
movzx ecx, word [rbx + 0x6a]
movzx eax, cx
shr ax, 8
mov byte [rbp + 0xd8c], al
mov byte [rbp + 0xd8d], cl
movzx ecx, word [rbx + 0x6c]
movzx eax, cx
shr ax, 8
mov byte [rbp + 0xd8e], al
mov byte [rbp + 0xd8f], cl
mov byte [rbp + 0xd90], 0
cmp dl, 0x20
jne 0x140032156
nop word [rax + rax]
lea rax, [rbp + 0xd68]
mov r8, r13
nop word [rax + rax]
inc r8
cmp byte [rax + r8], 0
jne 0x140032130
lea rdx, [rbp + 0xd69]
lea rcx, [rbp + 0xd68]
call fcn.14022fb50
cmp byte [rbp + 0xd68], 0x20
je 0x140032120
lea rcx, [rbp + 0xd68]
mov rax, r13
inc rax
cmp byte [rcx + rax], 0
jne 0x140032160
test eax, eax
je 0x14003218d
nop dword [rax]
lea ecx, [rax - 1]
mov eax, ecx
lea rdx, [rbp + 0xd68]
add rdx, rax
cmp byte [rdx], 0x20
jne 0x14003218d
mov eax, ecx
mov byte [rdx], 0
test ecx, ecx
jne 0x140032170
movzx eax, word [rbx + 0x3e]
movzx edx, ax
shr dx, 8
mov byte [rbp + 0xd40], dl
mov byte [rbp + 0xd41], al
movzx ecx, word [rbx + 0x40]
movzx eax, cx
shr ax, 8
mov byte [rbp + 0xd42], al
mov byte [rbp + 0xd43], cl
movzx ecx, word [rbx + 0x42]
movzx eax, cx
shr ax, 8
mov byte [rbp + 0xd44], al
mov byte [rbp + 0xd45], cl
movzx ecx, word [rbx + 0x44]
movzx eax, cx
shr ax, 8
mov byte [rbp + 0xd46], al
mov byte [rbp + 0xd47], cl
movzx eax, word [rbx + 0x46]
shr ax, 8
mov byte [rbp + 0xd48], al
cmp dl, 0x20
jne 0x140032236
nop dword [rax]
lea rax, [rbp + 0xd40]
mov r8, r13
nop word [rax + rax]
inc r8
cmp byte [rax + r8], 0
jne 0x140032210
lea rdx, [rbp + 0xd41]
lea rcx, [rbp + 0xd40]
call fcn.14022fb50
cmp byte [rbp + 0xd40], 0x20
je 0x140032200
lea rcx, [rbp + 0xd40]
mov rax, r13
inc rax
cmp byte [rcx + rax], 0
jne 0x140032240
test eax, eax
je 0x14003226d
nop dword [rax]
lea ecx, [rax - 1]
mov eax, ecx
lea rdx, [rbp + 0xd40]
add rdx, rax
cmp byte [rdx], 0x20
jne 0x14003226d
mov eax, ecx
mov byte [rdx], 0
test ecx, ecx
jne 0x140032250
movzx eax, word [rbx + 0x24]
movzx edx, ax
shr dx, 8
mov byte [rbp + 0xd50], dl
mov byte [rbp + 0xd51], al
movzx ecx, word [rbx + 0x26]
movzx eax, cx
shr ax, 8
mov byte [rbp + 0xd52], al
mov byte [rbp + 0xd53], cl
movzx ecx, word [rbx + 0x28]
movzx eax, cx
shr ax, 8
mov byte [rbp + 0xd54], al
mov byte [rbp + 0xd55], cl
movzx ecx, word [rbx + 0x2a]
movzx eax, cx
shr ax, 8
mov byte [rbp + 0xd56], al
mov byte [rbp + 0xd57], cl
movzx ecx, word [rbx + 0x2c]
movzx eax, cx
shr ax, 8
mov byte [rbp + 0xd58], al
mov byte [rbp + 0xd59], cl
movzx ecx, word [rbx + 0x2e]
movzx eax, cx
shr ax, 8
mov byte [rbp + 0xd5a], al
mov byte [rbp + 0xd5b], cl
movzx ecx, word [rbx + 0x30]
movzx eax, cx
shr ax, 8
mov byte [rbp + 0xd5c], al
mov byte [rbp + 0xd5d], cl
movzx ecx, word [rbx + 0x32]
movzx eax, cx
shr ax, 8
mov byte [rbp + 0xd5e], al
mov byte [rbp + 0xd5f], cl
movzx ecx, word [rbx + 0x34]
movzx eax, cx
shr ax, 8
mov byte [rbp + 0xd60], al
mov byte [rbp + 0xd61], cl
movzx ecx, word [rbx + 0x36]
movzx eax, cx
shr ax, 8
mov byte [rbp + 0xd62], al
mov byte [rbp + 0xd63], cl
mov byte [rbp + 0xd64], 0
cmp dl, 0x20
jne 0x140032396
nop
lea rax, [rbp + 0xd50]
mov r8, r13
nop word [rax + rax]
inc r8
cmp byte [rax + r8], 0
jne 0x140032370
lea rdx, [rbp + 0xd51]
lea rcx, [rbp + 0xd50]
call fcn.14022fb50
cmp byte [rbp + 0xd50], 0x20
je 0x140032360
lea rcx, [rbp + 0xd50]
mov rax, r13
inc rax
cmp byte [rcx + rax], 0
jne 0x1400323a0
test eax, eax
je 0x1400323cd
nop dword [rax]
lea ecx, [rax - 1]
mov eax, ecx
lea rdx, [rbp + 0xd50]
add rdx, rax
cmp byte [rdx], 0x20
jne 0x1400323cd
mov eax, ecx
mov byte [rdx], 0
test ecx, ecx
jne 0x1400323b0
mov dword [r12 + 0x1c], esi
lea rax, [rbp + 0x7f8]
mov qword [rbp + 0x7f0], rax
lea rax, [rbp + 0xd40]
mov rdi, r13
nop word [rax + rax]
inc rdi
cmp byte [rax + rdi], 0
jne 0x1400323f0
inc edi
mov r9d, 0x80
lea r8, [rbp + 0x7f8]
mov edx, edi
lea rcx, [rbp + 0x7f0]
call fcn.1400186d0
mov dword [rsp + 0x28], edi
mov rax, qword [rbp + 0x7f0]
mov qword [rsp + 0x20], rax
mov r9d, edi
lea r8, [rbp + 0xd40]
xor edx, edx
lea ecx, [rdx + 3]
call qword [sym.imp.KERNEL32.dll_MultiByteToWideChar]
mov ebx, r14d
test eax, eax
sete bl
test eax, eax
jne 0x1400324bb
call qword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0x7a
jne 0x1400324bb
mov dword [rsp + 0x28], r14d
mov qword [rsp + 0x20], r14
mov r9d, edi
lea r8, [rbp + 0xd40]
xor edx, edx
lea ecx, [rax - 0x77]
call qword [sym.imp.KERNEL32.dll_MultiByteToWideChar]
mov ebx, eax
mov r9d, 0x80
lea r8, [rbp + 0x7f8]
mov edx, eax
lea rcx, [rbp + 0x7f0]
call fcn.1400186d0
mov dword [rsp + 0x28], ebx
mov rax, qword [rbp + 0x7f0]
mov qword [rsp + 0x20], rax
mov r9d, edi
lea r8, [rbp + 0xd40]
xor edx, edx
lea ecx, [rdx + 3]
call qword [sym.imp.KERNEL32.dll_MultiByteToWideChar]
mov ebx, r14d
test eax, eax
sete bl
test ebx, ebx
jne 0x14003378d
mov rdx, qword [rbp + 0x7f0]
test rdx, rdx
jne 0x1400324d4
mov eax, r14d
jmp 0x1400324ea
mov rax, r13
nop word [rax + rax]
inc rax
cmp word [rdx + rax*2], 0
jne 0x1400324e0
mov r8d, eax
lea rcx, [r12 + 8]
call fcn.140002a7c
nop
lea rax, [rbp + 0x7f8]
mov rcx, qword [rbp + 0x7f0]
cmp rcx, rax
je 0x140032510
call fcn.140235920
lea rax, [rbp + 0x908]
mov qword [rbp + 0x900], rax
lea rax, [rbp + 0xd68]
mov rdi, r13
nop dword [rax + rax]
inc rdi
cmp byte [rax + rdi], 0
jne 0x140032530
inc edi
mov r9d, 0x80
lea r8, [rbp + 0x908]
mov edx, edi
lea rcx, [rbp + 0x900]
call fcn.1400186d0
mov dword [rsp + 0x28], edi
mov rax, qword [rbp + 0x900]
mov qword [rsp + 0x20], rax
mov r9d, edi
lea r8, [rbp + 0xd68]
xor edx, edx
lea ecx, [rdx + 3]
call qword [sym.imp.KERNEL32.dll_MultiByteToWideChar]
mov ebx, r14d
test eax, eax
sete bl
test eax, eax
jne 0x1400325fb
call qword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0x7a
jne 0x1400325fb
mov dword [rsp + 0x28], r14d
mov qword [rsp + 0x20], r14
mov r9d, edi
lea r8, [rbp + 0xd68]
xor edx, edx
lea ecx, [rax - 0x77]
call qword [sym.imp.KERNEL32.dll_MultiByteToWideChar]
mov ebx, eax
mov r9d, 0x80
lea r8, [rbp + 0x908]
mov edx, eax
lea rcx, [rbp + 0x900]
call fcn.1400186d0
mov dword [rsp + 0x28], ebx
mov rax, qword [rbp + 0x900]
mov qword [rsp + 0x20], rax
mov r9d, edi
lea r8, [rbp + 0xd68]
xor edx, edx
lea ecx, [rdx + 3]
call qword [sym.imp.KERNEL32.dll_MultiByteToWideChar]
mov ebx, r14d
test eax, eax
sete bl
test ebx, ebx
jne 0x1400337ac
mov rdx, qword [rbp + 0x900]
test rdx, rdx
jne 0x140032614
mov eax, r14d
jmp 0x14003262a
mov rax, r13
nop word [rax + rax]
inc rax
cmp word [rdx + rax*2], 0
jne 0x140032620
mov r8d, eax
mov rcx, r12
call fcn.140002a7c
nop
lea rax, [rbp + 0x908]
mov rcx, qword [rbp + 0x900]
cmp rcx, rax
je 0x14003264e
call fcn.140235920
call fcn.140022850
cmp dword [rax + 8], 3
jl 0x140032ada
call fcn.140022850
mov rbx, rax
mov qword [rsp + 0x48], rax
lea rcx, [rbp + 0x430]
call fcn.14001bb00
nop
lea rcx, [rbp + 0x740]
call fcn.14000a1bc
nop
mov r8d, 5
lea rdx, str.TRACE
lea rcx, [rbp + 0x740]
call fcn.140009e14
lea rcx, [rbp + 0x5a0]
call fcn.14000a1bc
nop
mov esi, r14d
cmp dword [rbx + 0x10], r14d
jle 0x140032740
cmp esi, 0xa
jge 0x140032740
mov rcx, qword [rbp + 0x5b0]
mov rdx, qword [rbp + 0x5b8]
mov rax, rdx
sub rax, rcx
cmp rax, 2
jb 0x14003271a
lea rdi, [rcx + 2]
mov qword [rbp + 0x5b0], rdi
lea rbx, [rbp + 0x5a0]
cmp rdx, 8
cmovae rbx, qword [rbp + 0x5a0]
lea rcx, [rbx + rcx*2]
mov r8d, 4
lea rdx, [0x1402f2528]
call fcn.14022fb50
mov word [rbx + rdi*2], r14w
mov rbx, qword [rsp + 0x48]
jmp 0x140032735
mov qword [rsp + 0x20], r15
lea r9, [0x1402f2528]
mov rdx, r15
lea rcx, [rbp + 0x5a0]
call fcn.1400236a0
inc esi
cmp esi, dword [rbx + 0x10]
jl 0x1400326b7
lea rcx, [rbp + 0x720]
call fcn.14000a1bc
nop
lea rcx, [rbp + 0x700]
call fcn.14000a1bc
nop
lea r8, [rbp + 0x700]
lea rdx, [rbp + 0x720]
mov rcx, rbx
call fcn.140022980
lea rsi, [rbp + 0x5a0]
cmp qword [rbp + 0x5b8], 8
cmovae rsi, qword [rbp + 0x5a0]
mov edx, 0x2040
lea rcx, [rbp + 0xe8]
call fcn.14022dc44
mov rcx, qword [rbp + 0x440]
movsxd rdx, dword [rcx + 4]
lea rcx, [rbp + 0x440]
add rcx, rdx
mov edx, dword [rax + 8]
call qword [rax]
lea rdx, [rbp + 0x720]
cmp qword [rbp + 0x738], 8
cmovae rdx, qword [rbp + 0x720]
mov r8, qword [rbp + 0x730]
lea rcx, [rbp + 0x440]
call fcn.140019270
mov rbx, rax
mov edx, reloc.OLEAUT32.dll_SafeArrayGetDim
lea rcx, [rbp + 0xf8]
call fcn.14022dc44
mov rdi, rax
lea rdx, [0x1402f2080]
mov rcx, rbx
call fcn.140018e90
mov rbx, rax
mov rcx, qword [rax]
movsxd rcx, dword [rcx + 4]
add rcx, rax
mov edx, dword [rdi + 8]
call qword [rdi]
mov edx, 6
lea rcx, [rbp + 0x108]
call fcn.14022dc6c
mov rcx, qword [rbx]
movsxd rcx, dword [rcx + 4]
add rcx, rbx
mov rdx, qword [rax + 8]
call qword [rax]
mov rax, qword [rbx]
movsxd rcx, dword [rax + 4]
mov eax, 0x30
mov word [rcx + rbx + 0x58], ax
lea edx, [rax - 0x2d]
lea rcx, [rbp + 0x118]
call fcn.14022dc58
mov rcx, qword [rbx]
movsxd rcx, dword [rcx + 4]
add rcx, rbx
mov rdx, qword [rax + 8]
call qword [rax]
lea rdx, [rbp + 0x700]
cmp qword [rbp + 0x718], 8
cmovae rdx, qword [rbp + 0x700]
mov r8, qword [rbp + 0x710]
mov rcx, rbx
call fcn.140019270
mov rbx, rax
mov edx, 5
lea rcx, [rbp - 0x58]
call fcn.14022dc6c
mov rdi, rax
lea rdx, [0x1402f2080]
mov rcx, rbx
call fcn.140018e90
mov rbx, rax
mov rcx, qword [rax]
movsxd rcx, dword [rcx + 4]
add rcx, rax
mov rdx, qword [rdi + 8]
call qword [rdi]
mov rcx, qword [rbx]
movsxd rdx, dword [rcx + 4]
mov eax, 0x20
mov word [rdx + rbx + 0x58], ax
lea edx, [rax + 0x20]
lea rcx, [rbp - 0x48]
call fcn.14022dc44
mov rcx, qword [rbx]
movsxd rcx, dword [rcx + 4]
add rcx, rbx
mov edx, dword [rax + 8]
call qword [rax]
lea rdx, [rbp + 0x740]
cmp qword [rbp + 0x758], 8
cmovae rdx, qword [rbp + 0x740]
mov r8, qword [rbp + 0x750]
mov rcx, rbx
call fcn.140019270
lea rdx, [0x1402f2578]
mov rcx, rax
call fcn.140018e90
mov rcx, rax
mov rdx, rsi
call fcn.140018e90
mov edx, 4
mov rax, qword gs:[0x58]
mov rcx, qword [rax]
mov eax, dword [rdx + rcx]
cmp dword [0x14036cfc0], eax
jle 0x140032987
lea rcx, [0x14036cfc0]
call fcn.14022b958
lea rbx, [0x14036cfc8]
cmp dword [0x14036cfc0], 0xffffffff
jne 0x14003298e
mov rcx, rbx
call fcn.14000a1bc
lea rcx, [0x14027e7a0]
call fcn.14022b460
lea rcx, [0x14036cfc0]
call fcn.14022b8f8
jmp 0x14003298e
lea rbx, [0x14036cfc8]
lea rdx, [rbp + 0x7a0]
lea rcx, [rbp + 0x448]
call fcn.14001c570
mov dword [rsp + MsiGetPropertyW], 0x40
mov rdx, qword [0x14036cfe0]
cmp rdx, 8
jb 0x1400329ef
lea rdx, [rdx*2 + 2]
mov rcx, qword [0x14036cfc8]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400329ea
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400337cb
call fcn.1400045a8
movups xmm0, xmmword [rbp + 0x7a0]
movups xmmword [0x14036cfc8], xmm0
movups xmm1, xmmword [rbp + 0x7b0]
movups xmmword [0x14036cfd8], xmm1
movdqa xmm0, xmmword [0x1402f9190]
movdqu xmmword [rbp + 0x7b0], xmm0
mov word [rbp + 0x7a0], r14w
lea rcx, [rbp + 0x7a0]
call fcn.140009bb8
nop
lea rcx, [rbp + 0x700]
call fcn.140009bb8
nop
lea rcx, [rbp + 0x720]
call fcn.140009bb8
nop
lea rcx, [rbp + 0x5a0]
call fcn.140009bb8
nop
lea rcx, [rbp + 0x740]
call fcn.140009bb8
nop
lea rcx, [rbp + 0x430]
call fcn.14001b7c0
call fcn.140022850
cmp qword [0x14036cfe0], 8
cmovae rbx, qword [0x14036cfc8]
mov r8, qword [0x14036cfd8]
mov rdx, rbx
mov rcx, rax
call fcn.140019270
lea rdx, str.firmwareVersion:
mov rcx, rax
call fcn.140018e90
mov rbx, rax
mov rdx, qword [r12 + 8]
mov rcx, rax
call fcn.140018e90
mov rcx, qword [rbx]
movsxd rcx, dword [rcx + 4]
add rcx, rbx
mov dl, 0xa
call fcn.140019760
movzx edx, ax
mov rcx, rbx
call fcn.1400195a0
mov rcx, rbx
call fcn.14001a220
call fcn.140022850
cmp dword [rax + 8], 3
jl 0x140032bca
call fcn.140022850
mov rcx, rax
mov edx, 3
call fcn.140022b40
mov rbx, rax
call fcn.140022850
mov r8, qword [rbx + 0x10]
cmp qword [rbx + 0x18], 8
jb 0x140032b11
mov rbx, qword [rbx]
mov rdx, rbx
mov rcx, rax
call fcn.140019270
lea rdx, str.model:
mov rcx, rax
call fcn.140018e90
mov rbx, rax
mov rdx, qword [r12]
mov rcx, rax
call fcn.140018e90
mov rcx, qword [rbx]
movsxd rcx, dword [rcx + 4]
add rcx, rbx
jmp 0x140032bb0
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov edi, eax
call fcn.140022850
cmp dword [rax + 8], 2
jl 0x140032bca
call fcn.140022850
mov rcx, rax
mov edx, r15d
call fcn.140022b40
mov rbx, rax
call fcn.140022850
mov r8, qword [rbx + 0x10]
cmp qword [rbx + 0x18], 8
jb 0x140032b7f
mov rbx, qword [rbx]
mov rdx, rbx
mov rcx, rax
call fcn.140019270
lea rdx, str.Error_with_DeviceIoControl:
mov rcx, rax
call fcn.140018e90
mov rcx, rax
mov edx, edi
call fcn.14001bc90
mov rbx, rax
mov rcx, qword [rax]
movsxd rcx, dword [rcx + 4]
add rcx, rax
mov dl, 0xa
call fcn.140019760
movzx edx, ax
mov rcx, rbx
call fcn.1400195a0
mov rcx, rbx
call fcn.14001a220
mov edx, 0x410
xor ecx, ecx
lea r9d, [rcx + 4]
mov r8d, 0x1000
call qword [sym.imp.KERNEL32.dll_VirtualAlloc]
mov rbx, rax
mov dword [rsp + 0x44], r14d
mov qword [rsp + 0x38], r14
lea rax, [rsp + 0x44]
mov qword [rsp + 0x30], rax
mov dword [rsp + 0x28], 0x410
mov qword [rsp + 0x20], rbx
xor r9d, r9d
xor r8d, r8d
mov edx, 0x2d0c04
mov rsi, qword [rsp + 0x58]
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_DeviceIoControl]
test eax, eax
je 0x140032c2d
cmp dword [rbx], 7
jne 0x140032c2d
mov byte [r12 + 0x21], 1
mov qword [rbp + 0x530], r14
mov dword [rsp + 0x68], 8
mov dword [rsp + 0x6c], 8
mov dword [rsp + 0x44], r14d
mov qword [rsp + 0x38], r14
lea rax, [rsp + 0x44]
mov qword [rsp + 0x30], rax
mov dword [rsp + 0x28], 8
lea rax, [rsp + 0x68]
mov qword [rsp + 0x20], rax
mov r9d, reloc.OLEAUT32.dll_VariantTimeToDosDateTime
lea r8, [rbp + 0x530]
mov edx, 0x2d1400
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_DeviceIoControl]
mov edi, 0x28
test eax, eax
cmovne edi, dword [rsp + 0x6c]
mov ecx, edi
call fcn.14008c218
mov r15, rax
mov r8d, edi
xor edx, edx
mov rcx, rax
call fcn.14022ffc0
mov dword [r15], 0x28
mov dword [r15 + 4], edi
mov dword [rsp + 0x44], r14d
mov qword [rsp + 0x38], r14
lea rax, [rsp + 0x44]
mov qword [rsp + 0x30], rax
mov dword [rsp + 0x28], edi
mov qword [rsp + 0x20], r15
mov r9d, reloc.OLEAUT32.dll_VariantTimeToDosDateTime
lea r8, [rbp + 0x530]
mov edx, 0x2d1400
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_DeviceIoControl]
mov esi, 1
test eax, eax
je 0x14003312b
movzx eax, byte [r15 + 0x1c]
mov byte [r12 + 0x18], al
mov eax, dword [r15 + 0xc]
test eax, eax
je 0x140032e76
lea rdx, [r15 + rax]
lea rcx, [rbp + 0xb20]
call fcn.1400158c0
nop
mov rdx, qword [rax]
test rdx, rdx
jne 0x140032d2c
mov eax, r14d
jmp 0x140032d3a
mov rax, r13
nop
inc rax
cmp word [rdx + rax*2], 0
jne 0x140032d30
mov r8d, eax
lea rcx, [r12 + 0x10]
call fcn.140002a7c
nop
lea rax, [rbp + 0xb28]
mov rcx, qword [rbp + 0xb20]
cmp rcx, rax
je 0x140032d60
call fcn.140235920
mov rbx, qword [r12 + 0x10]
mov rdi, r14
movzx eax, word [rbx]
test ax, ax
je 0x140032d9f
movzx ecx, ax
call fcn.140235ea4
test eax, eax
je 0x140032d8b
mov rax, rbx
test rdi, rdi
cmovne rax, rdi
mov rdi, rax
jmp 0x140032d8e
mov rdi, r14
add rbx, 2
movzx eax, word [rbx]
test ax, ax
jne 0x140032d70
mov rbx, qword [r12 + 0x10]
test rdi, rdi
je 0x140032dbb
sub rdi, rbx
sar rdi, 1
mov edx, edi
lea rcx, [r12 + 0x10]
call fcn.14001c7d0
mov rbx, qword [r12 + 0x10]
movzx ecx, word [rbx]
call fcn.140235ea4
test eax, eax
je 0x140032de0
nop word [rax + rax]
add rbx, 2
movzx ecx, word [rbx]
call fcn.140235ea4
test eax, eax
jne 0x140032dd0
mov r10, qword [r12 + 0x10]
cmp rbx, r10
je 0x140032e71
sub rbx, r10
sar rbx, 1
mov edx, dword [r10 - 0x10]
test edx, edx
js 0x1400337d1
mov ecx, 1
sub ecx, dword [r10 - 8]
mov eax, dword [r10 - 0xc]
sub eax, edx
or eax, ecx
jge 0x140032e22
lea rcx, [r12 + 0x10]
call fcn.140002a1c
mov r10, qword [r12 + 0x10]
movsxd rax, ebx
lea r8, [r10 + rax*2]
mov edx, dword [r10 - 0x10]
mov edi, edx
sub edi, ebx
lea eax, [rdi + 1]
movsxd r9, eax
add r9, r9
lea eax, [rdx + 1]
movsxd rdx, eax
add rdx, rdx
mov rcx, r10
call fcn.140003dcc
test edi, edi
js 0x1400337dc
mov rax, qword [r12 + 0x10]
cmp edi, dword [rax - 0xc]
jg 0x1400337dc
mov dword [rax - 0x10], edi
movsxd rcx, edi
mov rax, qword [r12 + 0x10]
mov word [rax + rcx*2], r14w
mov esi, 1
mov eax, dword [r15 + 0x10]
test eax, eax
je 0x140032fc7
lea rdx, [r15 + rax]
lea rcx, [rbp + 0xc30]
call fcn.1400158c0
nop
mov rdx, qword [rax]
test rdx, rdx
jne 0x140032ea0
mov eax, r14d
jmp 0x140032ead
mov rax, r13
inc rax
cmp word [rdx + rax*2], 0
jne 0x140032ea3
mov r8d, eax
mov rcx, r12
call fcn.140002a7c
nop
lea rax, [rbp + 0xc38]
mov rcx, qword [rbp + 0xc30]
cmp rcx, rax
je 0x140032ed1
call fcn.140235920
mov rbx, qword [r12]
mov rdi, r14
movzx eax, word [rbx]
test ax, ax
je 0x140032f0e
movzx ecx, ax
call fcn.140235ea4
test eax, eax
je 0x140032efb
mov rax, rbx
test rdi, rdi
cmovne rax, rdi
mov rdi, rax
jmp 0x140032efe
mov rdi, r14
add rbx, 2
movzx eax, word [rbx]
test ax, ax
jne 0x140032ee0
mov rbx, qword [r12]
test rdi, rdi
je 0x140032f27
sub rdi, rbx
sar rdi, 1
mov edx, edi
mov rcx, r12
call fcn.14001c7d0
mov rbx, qword [r12]
movzx ecx, word [rbx]
call fcn.140235ea4
test eax, eax
je 0x140032f43
add rbx, 2
movzx ecx, word [rbx]
call fcn.140235ea4
test eax, eax
jne 0x140032f33
mov r10, qword [r12]
cmp rbx, r10
je 0x140032fc7
sub rbx, r10
sar rbx, 1
mov edx, dword [r10 - 0x10]
test edx, edx
js 0x1400337e7
mov ecx, esi
sub ecx, dword [r10 - 8]
mov eax, dword [r10 - 0xc]
sub eax, edx
or eax, ecx
jge 0x140032f7a
mov rcx, r12
call fcn.140002a1c
mov r10, qword [r12]
movsxd rax, ebx
lea r8, [r10 + rax*2]
mov edx, dword [r10 - 0x10]
mov edi, edx
sub edi, ebx
lea eax, [rdi + 1]
movsxd r9, eax
add r9, r9
lea eax, [rdx + 1]
movsxd rdx, eax
add rdx, rdx
mov rcx, r10
call fcn.140003dcc
test edi, edi
js 0x1400337f2
mov rax, qword [r12]
cmp edi, dword [rax - 0xc]
jg 0x1400337f2
mov dword [rax - 0x10], edi
movsxd rcx, edi
mov rax, qword [r12]
mov word [rax + rcx*2], r14w
mov eax, dword [r15 + 0x14]
test eax, eax
je 0x14003312b
lea rdx, [r15 + rax]
lea rcx, [rbp + 0xa10]
call fcn.1400158c0
nop
mov rdx, qword [rax]
test rdx, rdx
jne 0x140032ff1
mov eax, r14d
jmp 0x140032ffe
mov rax, r13
inc rax
cmp word [rdx + rax*2], 0
jne 0x140032ff4
mov r8d, eax
lea rcx, [r12 + 8]
call fcn.140002a7c
nop
lea rax, [rbp + 0xa18]
mov rcx, qword [rbp + 0xa10]
cmp rcx, rax
je 0x140033024
call fcn.140235920
mov rbx, qword [r12 + 8]
mov rdi, r14
movzx eax, word [rbx]
test ax, ax
je 0x140033063
movzx ecx, ax
call fcn.140235ea4
test eax, eax
je 0x14003304f
mov rax, rbx
test rdi, rdi
cmovne rax, rdi
mov rdi, rax
jmp 0x140033052
mov rdi, r14
add rbx, 2
movzx eax, word [rbx]
test ax, ax
jne 0x140033034
mov rbx, qword [r12 + 8]
test rdi, rdi
je 0x140033082
sub rdi, rbx
sar rdi, 1
mov edx, edi
lea rdi, [r12 + 8]
mov rcx, rdi
call fcn.14001c7d0
mov rbx, qword [rdi]
jmp 0x140033087
lea rdi, [r12 + 8]
movzx ecx, word [rbx]
call fcn.140235ea4
test eax, eax
je 0x1400330a3
add rbx, 2
movzx ecx, word [rbx]
call fcn.140235ea4
test eax, eax
jne 0x140033093
mov r10, qword [rdi]
cmp rbx, r10
je 0x14003312b
sub rbx, r10
sar rbx, 1
mov edx, dword [r10 - 0x10]
test edx, edx
js 0x1400337fd
mov ecx, esi
sub ecx, dword [r10 - 8]
mov eax, dword [r10 - 0xc]
sub eax, edx
or eax, ecx
jge 0x1400330dc
mov rcx, rdi
call fcn.140002a1c
mov r10, qword [rdi]
movsxd rax, ebx
lea r8, [r10 + rax*2]
mov edx, dword [r10 - 0x10]
mov edi, edx
sub edi, ebx
lea eax, [rdi + 1]
movsxd r9, eax
add r9, r9
lea eax, [rdx + 1]
movsxd rdx, eax
add rdx, rdx
mov rcx, r10
call fcn.140003dcc
test edi, edi
js 0x140033808
mov rax, qword [r12 + 8]
cmp edi, dword [rax - 0xc]
jg 0x140033808
mov dword [rax - 0x10], edi
movsxd rcx, edi
mov rax, qword [r12 + 8]
mov word [rax + rcx*2], r14w
mov rcx, qword [r12]
sub rcx, 0x18
call fcn.140002c94
add rax, 0x18
mov qword [rsp + 0x50], rax
lea rcx, [rsp + 0x50]
call fcn.140015650
mov rbx, qword [rsp + 0x50]
cmp dword [rbx - 0x10], 0
jl 0x14003317a
lea rdx, str.INTEL
mov rcx, rbx
call fcn.14022f5d8
test rax, rax
je 0x14003317a
sub rax, rbx
sar rax, 1
test eax, eax
js 0x14003317a
mov byte [r12 + 0x20], 1
lea rdx, [r12 + 0x10]
lea rcx, [rsp + 0x50]
call fcn.140002b88
lea rcx, [rsp + 0x50]
call fcn.140015650
mov rbx, qword [rsp + 0x50]
cmp dword [rbx - 0x10], 0
jl 0x1400331c2
lea rdx, str.INTEL
mov rcx, rbx
call fcn.14022f5d8
test rax, rax
je 0x1400331c2
sub rax, rbx
sar rax, 1
test eax, eax
js 0x1400331c2
mov byte [r12 + 0x20], 1
call fcn.140022850
cmp dword [rax + 8], 3
jl 0x140033250
mov rax, qword [r12]
mov qword [rsp + 0x48], rax
call fcn.140022850
mov rcx, rax
mov edx, 3
call fcn.140022b40
mov rbx, rax
call fcn.140022850
mov r8, qword [rbx + 0x10]
cmp qword [rbx + 0x18], 8
jb 0x140033202
mov rbx, qword [rbx]
mov rdx, rbx
mov rcx, rax
call fcn.140019270
lea rdx, str.Model:
mov rcx, rax
call fcn.140018e90
mov rcx, rax
mov rdx, qword [rsp + 0x48]
call fcn.140018e90
mov rbx, rax
mov rcx, qword [rax]
movsxd rcx, dword [rcx + 4]
add rcx, rax
mov dl, 0xa
call fcn.140019760
movzx edx, ax
mov rcx, rbx
call fcn.1400195a0
mov rcx, rbx
call fcn.14001a220
call fcn.140022850
cmp dword [rax + 8], 3
jl 0x1400332df
mov rax, qword [r12 + 8]
mov qword [rsp + 0x48], rax
call fcn.140022850
mov rcx, rax
mov edx, 3
call fcn.140022b40
mov rbx, rax
call fcn.140022850
mov r8, qword [rbx + 0x10]
cmp qword [rbx + 0x18], 8
jb 0x140033291
mov rbx, qword [rbx]
mov rdx, rbx
mov rcx, rax
call fcn.140019270
lea rdx, str.Firmware:
mov rcx, rax
call fcn.140018e90
mov rcx, rax
mov rdx, qword [rsp + 0x48]
call fcn.140018e90
mov rbx, rax
mov rcx, qword [rax]
movsxd rcx, dword [rcx + 4]
add rcx, rax
mov dl, 0xa
call fcn.140019760
movzx edx, ax
mov rcx, rbx
call fcn.1400195a0
mov rcx, rbx
call fcn.14001a220
call fcn.140022850
cmp dword [rax + 8], 3
jl 0x140033363
mov rdi, qword [r12 + 0x10]
call fcn.140022850
mov rcx, rax
mov edx, 3
call fcn.140022b40
mov rbx, rax
call fcn.140022850
mov r8, qword [rbx + 0x10]
cmp qword [rbx + 0x18], 8
jb 0x140033317
mov rbx, qword [rbx]
mov rdx, rbx
mov rcx, rax
call fcn.140019270
lea rdx, str.Vendor:
mov rcx, rax
call fcn.140018e90
mov rcx, rax
mov rdx, rdi
call fcn.140018e90
mov rbx, rax
mov rcx, qword [rax]
movsxd rcx, dword [rcx + 4]
add rcx, rax
mov dl, 0xa
call fcn.140019760
movzx edx, ax
mov rcx, rbx
call fcn.1400195a0
mov rcx, rbx
call fcn.14001a220
mov qword [rbp + 0x530], 1
mov dword [rsp + 0x44], r14d
mov qword [rsp + 0x38], r14
lea rax, [rsp + 0x44]
mov qword [rsp + 0x30], rax
mov dword [rsp + 0x28], 8
lea rax, [rsp + 0x68]
mov qword [rsp + 0x20], rax
mov r9d, reloc.OLEAUT32.dll_VariantTimeToDosDateTime
lea r8, [rbp + 0x530]
mov edx, 0x2d1400
mov rcx, qword [rsp + 0x58]
call qword [sym.imp.KERNEL32.dll_DeviceIoControl]
mov edi, 0x20
test eax, eax
cmovne edi, dword [rsp + 0x6c]
mov ecx, edi
call fcn.14008c218
mov rsi, rax
mov r8d, edi
xor edx, edx
mov rcx, rax
call fcn.14022ffc0
mov dword [rsi], 0x20
mov dword [rsi + 4], edi
mov dword [rsp + 0x44], r14d
mov qword [rsp + 0x38], r14
lea rax, [rsp + 0x44]
mov qword [rsp + 0x30], rax
mov dword [rsp + 0x28], edi
mov qword [rsp + 0x20], rsi
mov r9d, reloc.OLEAUT32.dll_VariantTimeToDosDateTime
lea r8, [rbp + 0x530]
mov edx, 0x2d1400
mov rdi, qword [rsp + 0x58]
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_DeviceIoControl]
test eax, eax
je 0x140033427
movzx eax, byte [rsi + 0x18]
mov byte [r12 + 0x18], al
mov rcx, rsi
call fcn.14008c210
lea rcx, [r12 + 0x10]
call fcn.1400339b0
lea r14, vtable.ATL::CAtlStringMgr.0
test eax, eax
js 0x140033604
mov rcx, qword [r12 + 0x10]
sub rcx, 0x18
call fcn.140002c94
add rax, 0x18
mov qword [rsp + 0x48], rax
mov rdx, qword [r12]
mov r8d, dword [rdx - 0x10]
lea rcx, [rsp + 0x48]
call fcn.140006378
mov rbx, qword [rsp + 0x48]
cmp dword [rbx - 0x10], 0
jle 0x1400335b1
mov edx, 0x20
mov rcx, rbx
call fcn.14022fa88
mov rdi, rax
test rax, rax
je 0x1400335ac
sub rdi, rbx
sar rdi, 1
test edi, edi
jle 0x1400335ac
mov r8d, edi
lea rdx, [rsp + 0x78]
lea rcx, [rsp + 0x48]
call fcn.1400338e0
nop
mov rdx, rax
lea rcx, [r12 + 0x10]
call fcn.140002b88
nop
mov rdx, qword [rsp + 0x78]
add rdx, 0xffffffffffffffe8
mov eax, r13d
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x14003351b
mov rcx, qword [rdx]
mov rax, qword [rcx]
mov r8, qword [rax + 8]
cmp rax, r14
jne 0x140033813
mov rcx, qword [rcx + 8]
mov rax, qword [rcx]
mov r8, qword [rax + 8]
lea rsi, vtable.ATL::CWin32Heap.0
cmp rax, rsi
jne 0x140033813
mov r8, rdx
xor edx, edx
mov rcx, qword [rcx + 8]
call qword [sym.imp.KERNEL32.dll_HeapFree]
lea r8d, [rdi + 1]
mov r9d, dword [rbx - 0x10]
sub r9d, r8d
lea rdx, [rbp - 0x80]
lea rcx, [rsp + 0x48]
call fcn.140015540
mov ebx, dword [rsp + 0x40]
bts ebx, 7
mov dword [rsp + 0x40], ebx
mov rdx, rax
mov rcx, r12
call fcn.140002b88
btr ebx, 7
mov dword [rsp + 0x40], ebx
mov rdx, qword [rbp - 0x80]
add rdx, 0xffffffffffffffe8
mov eax, r13d
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x1400335ac
mov rcx, qword [rdx]
mov rax, qword [rcx]
mov r8, qword [rax + 8]
cmp rax, r14
jne 0x140033828
mov rcx, qword [rcx + 8]
mov rax, qword [rcx]
mov r8, qword [rax + 8]
lea rbx, vtable.ATL::CWin32Heap.0
cmp rax, rbx
jne 0x14003381b
mov r8, rdx
xor edx, edx
mov rcx, qword [rcx + 8]
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov rdi, qword [rsp + 0x58]
jmp 0x1400335b8
mov rdi, qword [rsp + 0x58]
lea rbx, vtable.ATL::CWin32Heap.0
mov rdx, qword [rsp + 0x48]
add rdx, 0xffffffffffffffe8
mov eax, r13d
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x140033604
mov rcx, qword [rdx]
mov rax, qword [rcx]
mov r8, qword [rax + 8]
cmp rax, r14
jne 0x140033830
mov rcx, qword [rcx + 8]
mov rax, qword [rcx]
mov r8, qword [rax + 8]
cmp rax, rbx
jne 0x140033830
mov r8, rdx
xor edx, edx
mov rcx, qword [rcx + 8]
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov rcx, qword [r12]
cmp dword [rcx - 0x10], 3
jl 0x14003369d
add rcx, 0xffffffffffffffe8
call fcn.140002c94
lea rbx, [rax + 0x18]
mov qword [rbp - 0x60], rbx
cmp dword [rbx - 0x10], 0
jl 0x14003364d
lea rdx, [0x1402f3440]
mov rcx, rbx
call fcn.14022f5d8
test rax, rax
je 0x14003364d
sub rax, rbx
sar rax, 1
test eax, eax
js 0x14003364d
mov byte [r12 + 0x22], 1
lea rdx, [rbx - 0x18]
mov eax, r13d
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x14003369d
mov rcx, qword [rdx]
mov rax, qword [rcx]
mov r8, qword [rax + 8]
cmp rax, r14
jne 0x140033840
mov rcx, qword [rcx + 8]
mov rax, qword [rcx]
mov r8, qword [rax + 8]
lea rsi, vtable.ATL::CWin32Heap.0
cmp rax, rsi
jne 0x140033838
mov r8, rdx
xor edx, edx
mov rcx, qword [rcx + 8]
call qword [sym.imp.KERNEL32.dll_HeapFree]
jmp 0x1400336a4
lea rsi, vtable.ATL::CWin32Heap.0
mov rcx, r15
call fcn.14008c210
mov r14d, 1
mov rdx, qword [rsp + 0x50]
add rdx, 0xffffffffffffffe8
lock xadd dword [rdx + 0x10], r13d
sub r13d, r14d
jg 0x140033703
mov rcx, qword [rdx]
mov rax, qword [rcx]
mov r8, qword [rax + 8]
lea r9, vtable.ATL::CAtlStringMgr.0
cmp rax, r9
jne 0x140033775
mov rcx, qword [rcx + 8]
mov rax, qword [rcx]
mov r8, qword [rax + 8]
cmp rax, rsi
jne 0x140033775
mov r8, rdx
xor edx, edx
mov rcx, qword [rcx + 8]
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov rbx, qword [rsp + 0x60]
xor edx, edx
mov r8d, 0x8000
mov rcx, qword [rsp + 0x70]
call qword [sym.imp.KERNEL32.dll_VirtualFree]
test rbx, rbx
je 0x140033731
xor edx, edx
mov r8d, 0x8000
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_VirtualFree]
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_CloseHandle]
nop
lea rcx, [rbp + 0x7c0]
call fcn.14001a370
movzx eax, r14b
mov rcx, qword [rbp + 0xd98]
xor rcx, rsp
call fcn.14022b1a0
mov rbx, qword [rsp + 0xef8]
add rsp, 0xea0
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
call r8
nop
jmp 0x140033703
call fcn.1402325b4
nop
call fcn.1402325b4
nop
call fcn.1402325b4
nop
mov r8d, 0x80
lea rdx, [rbp + 0x7f8]
mov rcx, qword [rbp + 0x7f0]
call fcn.1400188f0
call fcn.140008560
int3
mov r8d, 0x80
lea rdx, [rbp + 0x908]
mov rcx, qword [rbp + 0x900]
call fcn.1400188f0
call fcn.140008560
nop
call fcn.1402325b4
nop
mov ecx, 0x80070057
call fcn.140002d3c
int3
mov ecx, 0x80070057
call fcn.140002d3c
int3
mov ecx, 0x80070057
call fcn.140002d3c
int3
mov ecx, 0x80070057
call fcn.140002d3c
int3
mov ecx, 0x80070057
call fcn.140002d3c
int3
mov ecx, 0x80070057
call fcn.140002d3c
nop
call r8
jmp 0x14003351b
call r8
mov rdi, qword [rsp + 0x58]
jmp 0x1400335b8
call r8
jmp 0x1400335ac
call r8
jmp 0x140033604
call r8
jmp 0x1400336a4
call r8
jmp 0x14003369d