Function at 0x140030740
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 [0x14035b8c0]
xor rax, rsp
mov qword [rbp + 0xd98], rax
mov r12, r8
mov edi, edx
mov dword [rsp + 0x50], edx
mov rbx, rcx
xor r14d, r14d
mov eax, r14d
mov dword [rsp + 0x48], eax
mov dword [rsp + 0x40], eax
lea rcx, [rbp + 0x7c8]
call fcn.140009d24
nop
mov byte [rbp + 0x7c0], r14b
lea r8d, [r14 + 0x15]
lea rdx, str.GetPhysicalDeviceInfo
lea rcx, [rbp + 0x7c8]
call fcn.14000997c
nop
call fcn.140022280
cmp dword [rax + 8], 4
jl 0x1400307e0
mov byte [rbp + 0x7c0], 1
lea rcx, [rbp + 0x7c0]
call fcn.1400183a0
lea rcx, [r12 + 8]
call fcn.140002834
mov rcx, r12
call fcn.140002834
mov word [r12 + 0x20], 0
mov byte [r12 + 0x22], 0
mov dword [r12 + 0x1c], edi
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 rsi, rax
mov qword [rsp + 0x58], rax
cmp rax, 0xffffffffffffffff
jne 0x140030d70
call fcn.140022280
cmp dword [rax + 8], 3
jl 0x140030d68
call fcn.140022280
mov r12, rax
lea rcx, [rbp + 0x230]
call fcn.14001b520
nop
lea rcx, [rbp + 0x620]
call fcn.140009d24
nop
lea r8d, [rsi + 6]
lea rdx, str.TRACE
lea rcx, [rbp + 0x620]
call fcn.14000997c
lea rcx, [rbp + 0x540]
call fcn.140009d24
nop
mov esi, r14d
mov r15d, 2
cmp dword [r12 + 0x10], r14d
jle 0x14003091d
cmp esi, 0xa
jge 0x14003091d
mov rcx, qword [rbp + 0x550]
mov rdx, qword [rbp + 0x558]
mov rax, rdx
sub rax, rcx
cmp rax, r15
jb 0x1400308f9
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, [0x1402f0290]
call fcn.14022e100
mov word [rbx + rdi*2], r14w
jmp 0x140030914
mov qword [rsp + 0x20], r15
lea r9, [0x1402f0290]
mov rdx, r15
lea rcx, [rbp + 0x540]
call fcn.1400230d0
inc esi
cmp esi, dword [r12 + 0x10]
jl 0x1400308a0
lea rcx, [rbp + 0x780]
call fcn.140009d24
nop
lea rcx, [rbp + 0x760]
call fcn.140009d24
nop
lea r8, [rbp + 0x760]
lea rdx, [rbp + 0x780]
mov rcx, r12
call fcn.1400223b0
lea rsi, [rbp + 0x540]
cmp qword [rbp + 0x558], 8
cmovae rsi, qword [rbp + 0x540]
mov edx, 0x2040
lea rcx, [rbp - 0x38]
call fcn.14022c1f4
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.140018d10
mov rbx, rax
mov edx, reloc.OLEAUT32.dll_SafeArrayGetDim
lea rcx, [rbp - 0x28]
call fcn.14022c1f4
mov rdi, rax
lea rdx, [0x1402eff50]
mov rcx, rbx
call fcn.140018930
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.14022c21c
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.14022c208
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.140018d10
mov rbx, rax
mov edx, 5
lea rcx, [rbp + 8]
call fcn.14022c21c
mov rdi, rax
lea rdx, [0x1402eff50]
mov rcx, rbx
call fcn.140018930
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.14022c1f4
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.140018d10
lea rdx, [0x1402f02e0]
mov rcx, rax
call fcn.140018930
mov rcx, rax
mov rdx, rsi
call fcn.140018930
mov edx, 4
mov rax, qword gs:[0x58]
mov rcx, qword [rax]
lea rbx, [0x14036afa0]
mov eax, dword [rdx + rcx]
cmp dword [0x14036af98], eax
jle 0x140030b57
lea rcx, [0x14036af98]
call fcn.140229c6c
cmp dword [0x14036af98], 0xffffffff
jne 0x140030b57
mov rcx, rbx
call fcn.140009d24
lea rcx, [0x14027cd90]
call fcn.140229a10
lea rcx, [0x14036af98]
call fcn.140229c0c
nop
lea rcx, [rbp + 0x5c0]
call fcn.140006790
movdqa xmm0, xmmword [0x1402f6db0]
movdqu xmmword [rbp + 0x5d0], xmm0
mov word [rbp + 0x5c0], r14w
mov dword [rsp + 0x40], r15d
mov rcx, qword [rbp + 0x2b8]
test cl, 2
jne 0x140030bb9
mov rax, qword [rbp + 0x288]
mov r8, qword [rax]
test r8, r8
je 0x140030bb9
mov rax, qword [rbp + 0x268]
mov rdx, qword [rax]
cmp r8, qword [rbp + 0x2b0]
cmovb r8, qword [rbp + 0x2b0]
sub r8, rdx
jmp 0x140030bea
test cl, 4
jne 0x140030bf9
mov rax, qword [rbp + 0x280]
mov rcx, qword [rax]
test rcx, rcx
je 0x140030bf9
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.14000997c
and r15d, 0xfffffffd
mov dword [rsp + 0x40], r15d
or r15d, 1
mov dword [rsp + 0x40], r15d
mov rdx, qword [0x14036afb8]
cmp rdx, 8
jb 0x140030c51
lea rdx, [rdx*2 + 2]
mov rcx, qword [0x14036afa0]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140030c4c
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400330eb
call fcn.140004154
movups xmm0, xmmword [rbp + 0x5c0]
movups xmmword [0x14036afa0], xmm0
movups xmm1, xmmword [rbp + 0x5d0]
movups xmmword [0x14036afb0], xmm1
movdqa xmm0, xmmword [0x1402f6db0]
movdqu xmmword [rbp + 0x5d0], xmm0
mov word [rbp + 0x5c0], r14w
and r15d, 0xfffffffe
mov dword [rsp + 0x40], r15d
lea rcx, [rbp + 0x5c0]
call fcn.140009568
nop
lea rcx, [rbp + 0x760]
call fcn.140009568
nop
lea rcx, [rbp + 0x780]
call fcn.140009568
nop
lea rcx, [rbp + 0x540]
call fcn.140009568
nop
lea rcx, [rbp + 0x620]
call fcn.140009568
nop
lea rcx, [rbp + 0x230]
call fcn.14001b1e0
call fcn.140022280
cmp qword [0x14036afb8], 8
cmovae rbx, qword [0x14036afa0]
mov r8, qword [0x14036afb0]
mov rdx, rbx
mov rcx, rax
call fcn.140018d10
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.140018930
mov rcx, rax
mov edx, dword [rsp + 0x50]
call fcn.14001b6b0
mov rcx, rax
lea rdx, str._with_error:
call fcn.140018930
mov rcx, rax
mov edx, edi
call fcn.14001b6b0
mov rbx, rax
mov rcx, qword [rax]
movsxd rcx, dword [rcx + 4]
add rcx, rax
mov dl, 0xa
call fcn.140019200
movzx edx, ax
mov rcx, rbx
call fcn.140019040
mov rcx, rbx
call fcn.140019c40
xor r14b, r14b
jmp 0x1400330ab
mov edx, 0x21
xor ecx, ecx
lea r9d, [rdx - 0x1d]
mov r8d, 0x1000
call qword [sym.imp.KERNEL32.dll_VirtualAlloc]
mov qword [rsp + 0x78], 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 + 0x78]
test rdx, rdx
je 0x14003308b
test rax, rax
je 0x140033078
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], dil
mov word [rdx + 5], 0x101
movzx eax, dil
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.14022e570
mov dword [rbx], 0x211
call fcn.140022280
mov ecx, 0x20
lea r15d, [rcx - 0x1e]
cmp dword [rax + 8], 3
jl 0x140031342
call fcn.140022280
mov r13, rax
lea rcx, [rbp + 0x130]
call fcn.14001b520
nop
lea rcx, [rbp + 0x680]
call fcn.140009d24
nop
lea r8d, [r15 + 3]
lea rdx, str.TRACE
lea rcx, [rbp + 0x680]
call fcn.14000997c
lea rcx, [rbp + 0x560]
call fcn.140009d24
nop
mov esi, r14d
cmp dword [r13 + 0x10], r14d
jle 0x140030efd
nop word [rax + rax]
cmp esi, 0xa
jge 0x140030efd
mov rcx, qword [rbp + 0x570]
mov rdx, qword [rbp + 0x578]
mov rax, rdx
sub rax, rcx
cmp rax, 2
jb 0x140030eda
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, [0x1402f0290]
call fcn.14022e100
mov word [rbx + rdi*2], r14w
jmp 0x140030ef5
mov qword [rsp + 0x20], r15
lea r9, [0x1402f0290]
mov rdx, r15
lea rcx, [rbp + 0x560]
call fcn.1400230d0
inc esi
cmp esi, dword [r13 + 0x10]
jl 0x140030e80
lea rcx, [rbp + 0x660]
call fcn.140009d24
nop
lea rcx, [rbp + 0x640]
call fcn.140009d24
nop
lea r8, [rbp + 0x640]
lea rdx, [rbp + 0x660]
mov rcx, r13
call fcn.1400223b0
lea rsi, [rbp + 0x560]
cmp qword [rbp + 0x578], 8
cmovae rsi, qword [rbp + 0x560]
mov edx, 0x2040
lea rcx, [rbp + 0x28]
call fcn.14022c1f4
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.140018d10
mov rbx, rax
mov edx, reloc.OLEAUT32.dll_SafeArrayGetDim
lea rcx, [rbp + 0x38]
call fcn.14022c1f4
mov rdi, rax
lea rdx, [0x1402eff50]
mov rcx, rbx
call fcn.140018930
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.14022c21c
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.14022c208
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.140018d10
mov rbx, rax
mov edx, 5
lea rcx, [rbp + 0x68]
call fcn.14022c21c
mov rdi, rax
lea rdx, [0x1402eff50]
mov rcx, rbx
call fcn.140018930
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.14022c1f4
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.140018d10
lea rdx, [0x1402f02e0]
mov rcx, rax
call fcn.140018930
mov rcx, rax
mov rdx, rsi
call fcn.140018930
mov edx, 4
mov rax, qword gs:[0x58]
mov rcx, qword [rax]
mov eax, dword [rdx + rcx]
cmp dword [0x14036af98], eax
jle 0x140031138
lea rcx, [0x14036af98]
call fcn.140229c6c
lea rsi, [0x14036afa0]
cmp dword [0x14036af98], 0xffffffff
jne 0x14003113f
mov rcx, rsi
call fcn.140009d24
lea rcx, [0x14027cd90]
call fcn.140229a10
lea rcx, [0x14036af98]
call fcn.140229c0c
jmp 0x14003113f
lea rsi, [0x14036afa0]
lea rcx, [rbp + 0x5e0]
call fcn.140006790
movdqa xmm0, xmmword [0x1402f6db0]
movdqu xmmword [rbp + 0x5f0], xmm0
mov word [rbp + 0x5e0], r14w
mov dword [rsp + 0x40], 8
mov rcx, qword [rbp + 0x1b8]
test cl, 2
jne 0x1400311a8
mov rax, qword [rbp + 0x188]
mov r8, qword [rax]
test r8, r8
je 0x1400311a8
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 0x1400311d9
test cl, 4
jne 0x1400311e8
mov rax, qword [rbp + 0x180]
mov rcx, qword [rax]
test rcx, rcx
je 0x1400311e8
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.14000997c
mov edi, 8
and edi, 0xfffffff7
mov dword [rsp + 0x40], edi
or edi, 4
mov dword [rsp + 0x40], edi
mov rdx, qword [0x14036afb8]
cmp rdx, 8
jb 0x140031241
lea rdx, [rdx*2 + 2]
mov rcx, qword [0x14036afa0]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14003123c
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400330f1
call fcn.140004154
movups xmm0, xmmword [rbp + 0x5e0]
movups xmmword [0x14036afa0], xmm0
movups xmm1, xmmword [rbp + 0x5f0]
movups xmmword [0x14036afb0], xmm1
movdqa xmm0, xmmword [0x1402f6db0]
movdqu xmmword [rbp + 0x5f0], xmm0
mov word [rbp + 0x5e0], r14w
and edi, 0xfffffffb
mov dword [rsp + 0x48], edi
mov dword [rsp + 0x40], edi
lea rcx, [rbp + 0x5e0]
call fcn.140009568
nop
lea rcx, [rbp + 0x640]
call fcn.140009568
nop
lea rcx, [rbp + 0x660]
call fcn.140009568
nop
lea rcx, [rbp + 0x560]
call fcn.140009568
nop
lea rcx, [rbp + 0x680]
call fcn.140009568
nop
lea rcx, [rbp + 0x130]
call fcn.14001b1e0
call fcn.140022280
mov rdx, rsi
cmp qword [0x14036afb8], 8
cmovae rdx, qword [0x14036afa0]
mov r8, qword [0x14036afb0]
mov rcx, rax
call fcn.140018d10
lea rdx, str.Looking_for_Drive:
mov rcx, rax
call fcn.140018930
mov rcx, rax
mov edi, dword [rsp + 0x50]
mov edx, edi
call fcn.14001b6b0
mov rbx, rax
mov rcx, qword [rax]
movsxd rcx, dword [rcx + 4]
add rcx, rax
mov dl, 0xa
call fcn.140019200
movzx edx, ax
mov rcx, rbx
call fcn.140019040
mov rcx, rbx
call fcn.140019c40
mov rbx, qword [rsp + 0x60]
mov ecx, 0x20
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, ecx
mov r8, qword [rsp + 0x78]
mov edx, 0x7c088
mov rcx, qword [rsp + 0x58]
call qword [sym.imp.KERNEL32.dll_DeviceIoControl]
mov r13, 0xffffffffffffffff
test eax, eax
je 0x1400324c9
call fcn.140022280
cmp dword [rax + 8], 3
jl 0x1400318c2
call fcn.140022280
mov rbx, rax
mov qword [rsp + 0x70], rax
lea rcx, [rbp + 0x330]
call fcn.14001b520
nop
lea rcx, [rbp + 0x6e0]
call fcn.140009d24
nop
lea r8d, [r13 + 6]
lea rdx, str.TRACE
lea rcx, [rbp + 0x6e0]
call fcn.14000997c
lea rcx, [rbp + 0x580]
call fcn.140009d24
nop
mov esi, r14d
cmp dword [rbx + 0x10], r14d
jle 0x140031479
nop dword [rax]
cmp esi, 0xa
jge 0x140031479
mov rcx, qword [rbp + 0x590]
mov rdx, qword [rbp + 0x598]
mov rax, rdx
sub rax, rcx
cmp rax, 2
jb 0x140031453
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, [0x1402f0290]
call fcn.14022e100
mov word [rbx + rdi*2], r14w
mov rbx, qword [rsp + 0x70]
jmp 0x14003146e
mov qword [rsp + 0x20], r15
lea r9, [0x1402f0290]
mov rdx, r15
lea rcx, [rbp + 0x580]
call fcn.1400230d0
inc esi
cmp esi, dword [rbx + 0x10]
jl 0x1400313f0
lea rcx, [rbp + 0x6c0]
call fcn.140009d24
nop
lea rcx, [rbp + 0x6a0]
call fcn.140009d24
nop
lea r8, [rbp + 0x6a0]
lea rdx, [rbp + 0x6c0]
mov rcx, rbx
call fcn.1400223b0
lea rsi, [rbp + 0x580]
cmp qword [rbp + 0x598], 8
cmovae rsi, qword [rbp + 0x580]
mov edx, 0x2040
lea rcx, [rbp + 0x88]
call fcn.14022c1f4
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.140018d10
mov rbx, rax
mov edx, reloc.OLEAUT32.dll_SafeArrayGetDim
lea rcx, [rbp + 0x98]
call fcn.14022c1f4
mov rdi, rax
lea rdx, [0x1402eff50]
mov rcx, rbx
call fcn.140018930
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.14022c21c
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.14022c208
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.140018d10
mov rbx, rax
mov edx, 5
lea rcx, [rbp + 0xc8]
call fcn.14022c21c
mov rdi, rax
lea rdx, [0x1402eff50]
mov rcx, rbx
call fcn.140018930
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 + 0xd8]
call fcn.14022c1f4
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.140018d10
lea rdx, [0x1402f02e0]
mov rcx, rax
call fcn.140018930
mov rcx, rax
mov rdx, rsi
call fcn.140018930
mov edx, 4
mov rax, qword gs:[0x58]
mov rcx, qword [rax]
mov eax, dword [rdx + rcx]
cmp dword [0x14036af98], eax
jle 0x1400316c2
lea rcx, [0x14036af98]
call fcn.140229c6c
cmp dword [0x14036af98], 0xffffffff
jne 0x1400316c2
lea rcx, [0x14036afa0]
call fcn.140009d24
lea rcx, [0x14027cd90]
call fcn.140229a10
lea rcx, [0x14036af98]
call fcn.140229c0c
nop
lea rcx, [rbp + 0x600]
call fcn.140006790
movdqa xmm0, xmmword [0x1402f6db0]
movdqu xmmword [rbp + 0x610], xmm0
mov word [rbp + 0x600], r14w
mov edi, dword [rsp + 0x48]
or edi, 0x20
mov dword [rsp + 0x40], edi
mov rcx, qword [rbp + 0x3b8]
test cl, 2
jne 0x14003172e
mov rax, qword [rbp + 0x388]
mov r8, qword [rax]
test r8, r8
je 0x14003172e
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 0x14003175f
test cl, 4
jne 0x14003176e
mov rax, qword [rbp + 0x380]
mov rcx, qword [rax]
test rcx, rcx
je 0x14003176e
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.14000997c
and edi, 0xffffffdf
mov dword [rsp + 0x40], edi
or edi, 0x10
mov dword [rsp + 0x40], edi
mov rdx, qword [0x14036afb8]
cmp rdx, 8
jb 0x1400317c2
lea rdx, [rdx*2 + 2]
mov rcx, qword [0x14036afa0]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400317bd
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400330f7
call fcn.140004154
movups xmm0, xmmword [rbp + 0x600]
movups xmmword [0x14036afa0], xmm0
movups xmm1, xmmword [rbp + 0x610]
movups xmmword [0x14036afb0], xmm1
movdqa xmm0, xmmword [0x1402f6db0]
movdqu xmmword [rbp + 0x610], xmm0
mov word [rbp + 0x600], r14w
and edi, 0xffffffef
mov dword [rsp + 0x48], edi
mov dword [rsp + 0x40], edi
lea rcx, [rbp + 0x600]
call fcn.140009568
nop
lea rcx, [rbp + 0x6a0]
call fcn.140009568
nop
lea rcx, [rbp + 0x6c0]
call fcn.140009568
nop
lea rcx, [rbp + 0x580]
call fcn.140009568
nop
lea rcx, [rbp + 0x6e0]
call fcn.140009568
nop
lea rcx, [rbp + 0x330]
call fcn.14001b1e0
call fcn.140022280
lea rdx, [0x14036afa0]
cmp qword [0x14036afb8], 8
cmovae rdx, qword [0x14036afa0]
mov r8, qword [0x14036afb0]
mov rcx, rax
call fcn.140018d10
lea rdx, str.Got_Drive:
mov rcx, rax
call fcn.140018930
mov rcx, rax
mov edi, dword [rsp + 0x50]
mov edx, edi
call fcn.14001b6b0
mov rbx, rax
mov rcx, qword [rax]
movsxd rcx, dword [rcx + 4]
add rcx, rax
mov dl, 0xa
call fcn.140019200
movzx edx, ax
mov rcx, rbx
call fcn.140019040
mov rcx, rbx
call fcn.140019c40
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 0x140031ad6
nop word [rax + rax]
lea rax, [rbp + 0xd68]
mov r8, r13
nop word [rax + rax]
inc r8
cmp byte [rax + r8], 0
jne 0x140031ab0
lea rdx, [rbp + 0xd69]
lea rcx, [rbp + 0xd68]
call fcn.14022e100
cmp byte [rbp + 0xd68], 0x20
je 0x140031aa0
lea rcx, [rbp + 0xd68]
mov rax, r13
inc rax
cmp byte [rcx + rax], 0
jne 0x140031ae0
test eax, eax
je 0x140031b0d
nop dword [rax]
lea ecx, [rax - 1]
mov eax, ecx
lea rdx, [rbp + 0xd68]
add rdx, rax
cmp byte [rdx], 0x20
jne 0x140031b0d
mov eax, ecx
mov byte [rdx], 0
test ecx, ecx
jne 0x140031af0
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 0x140031bb6
nop dword [rax]
lea rax, [rbp + 0xd40]
mov r8, r13
nop word [rax + rax]
inc r8
cmp byte [rax + r8], 0
jne 0x140031b90
lea rdx, [rbp + 0xd41]
lea rcx, [rbp + 0xd40]
call fcn.14022e100
cmp byte [rbp + 0xd40], 0x20
je 0x140031b80
lea rcx, [rbp + 0xd40]
mov rax, r13
inc rax
cmp byte [rcx + rax], 0
jne 0x140031bc0
test eax, eax
je 0x140031bed
nop dword [rax]
lea ecx, [rax - 1]
mov eax, ecx
lea rdx, [rbp + 0xd40]
add rdx, rax
cmp byte [rdx], 0x20
jne 0x140031bed
mov eax, ecx
mov byte [rdx], 0
test ecx, ecx
jne 0x140031bd0
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 0x140031d16
nop
lea rax, [rbp + 0xd50]
mov r8, r13
nop word [rax + rax]
inc r8
cmp byte [rax + r8], 0
jne 0x140031cf0
lea rdx, [rbp + 0xd51]
lea rcx, [rbp + 0xd50]
call fcn.14022e100
cmp byte [rbp + 0xd50], 0x20
je 0x140031ce0
lea rcx, [rbp + 0xd50]
mov rax, r13
inc rax
cmp byte [rcx + rax], 0
jne 0x140031d20
test eax, eax
je 0x140031d4d
nop dword [rax]
lea ecx, [rax - 1]
mov eax, ecx
lea rdx, [rbp + 0xd50]
add rdx, rax
cmp byte [rdx], 0x20
jne 0x140031d4d
mov eax, ecx
mov byte [rdx], 0
test ecx, ecx
jne 0x140031d30
mov dword [r12 + 0x1c], edi
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 0x140031d70
inc edi
mov r9d, 0x80
lea r8, [rbp + 0x7f8]
mov edx, edi
lea rcx, [rbp + 0x7f0]
call fcn.140018170
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 0x140031e3b
call qword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0x7a
jne 0x140031e3b
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.140018170
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 0x1400330fd
mov rdx, qword [rbp + 0x7f0]
test rdx, rdx
jne 0x140031e54
mov eax, r14d
jmp 0x140031e6a
mov rax, r13
nop word [rax + rax]
inc rax
cmp word [rdx + rax*2], 0
jne 0x140031e60
mov r8d, eax
lea rcx, [r12 + 8]
call fcn.1400029fc
nop
lea rax, [rbp + 0x7f8]
mov rcx, qword [rbp + 0x7f0]
cmp rcx, rax
je 0x140031e90
call fcn.140233ed0
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 0x140031eb0
inc edi
mov r9d, 0x80
lea r8, [rbp + 0x908]
mov edx, edi
lea rcx, [rbp + 0x900]
call fcn.140018170
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 0x140031f7b
call qword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0x7a
jne 0x140031f7b
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.140018170
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 0x14003311c
mov rdx, qword [rbp + 0x900]
test rdx, rdx
jne 0x140031f94
mov eax, r14d
jmp 0x140031faa
mov rax, r13
nop word [rax + rax]
inc rax
cmp word [rdx + rax*2], 0
jne 0x140031fa0
mov r8d, eax
mov rcx, r12
call fcn.1400029fc
nop
lea rax, [rbp + 0x908]
mov rcx, qword [rbp + 0x900]
cmp rcx, rax
je 0x140031fce
call fcn.140233ed0
call fcn.140022280
cmp dword [rax + 8], 3
jl 0x14003245d
call fcn.140022280
mov rbx, rax
mov qword [rsp + 0x70], rax
lea rcx, [rbp + 0x430]
call fcn.14001b520
nop
lea rcx, [rbp + 0x740]
call fcn.140009d24
nop
mov r8d, 5
lea rdx, str.TRACE
lea rcx, [rbp + 0x740]
call fcn.14000997c
lea rcx, [rbp + 0x5a0]
call fcn.140009d24
nop
mov esi, r14d
cmp dword [rbx + 0x10], r14d
jle 0x1400320c0
cmp esi, 0xa
jge 0x1400320c0
mov rcx, qword [rbp + 0x5b0]
mov rdx, qword [rbp + 0x5b8]
mov rax, rdx
sub rax, rcx
cmp rax, 2
jb 0x14003209a
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, [0x1402f0290]
call fcn.14022e100
mov word [rbx + rdi*2], r14w
mov rbx, qword [rsp + 0x70]
jmp 0x1400320b5
mov qword [rsp + 0x20], r15
lea r9, [0x1402f0290]
mov rdx, r15
lea rcx, [rbp + 0x5a0]
call fcn.1400230d0
inc esi
cmp esi, dword [rbx + 0x10]
jl 0x140032037
lea rcx, [rbp + 0x720]
call fcn.140009d24
nop
lea rcx, [rbp + 0x700]
call fcn.140009d24
nop
lea r8, [rbp + 0x700]
lea rdx, [rbp + 0x720]
mov rcx, rbx
call fcn.1400223b0
lea rsi, [rbp + 0x5a0]
cmp qword [rbp + 0x5b8], 8
cmovae rsi, qword [rbp + 0x5a0]
mov edx, 0x2040
lea rcx, [rbp + 0xe8]
call fcn.14022c1f4
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.140018d10
mov rbx, rax
mov edx, reloc.OLEAUT32.dll_SafeArrayGetDim
lea rcx, [rbp + 0xf8]
call fcn.14022c1f4
mov rdi, rax
lea rdx, [0x1402eff50]
mov rcx, rbx
call fcn.140018930
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.14022c21c
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.14022c208
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.140018d10
mov rbx, rax
mov edx, 5
lea rcx, [rbp - 0x58]
call fcn.14022c21c
mov rdi, rax
lea rdx, [0x1402eff50]
mov rcx, rbx
call fcn.140018930
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.14022c1f4
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.140018d10
lea rdx, [0x1402f02e0]
mov rcx, rax
call fcn.140018930
mov rcx, rax
mov rdx, rsi
call fcn.140018930
mov edx, 4
mov rax, qword gs:[0x58]
mov rcx, qword [rax]
mov eax, dword [rdx + rcx]
cmp dword [0x14036af98], eax
jle 0x140032307
lea rcx, [0x14036af98]
call fcn.140229c6c
lea rbx, [0x14036afa0]
cmp dword [0x14036af98], 0xffffffff
jne 0x14003230e
mov rcx, rbx
call fcn.140009d24
lea rcx, [0x14027cd90]
call fcn.140229a10
lea rcx, [0x14036af98]
call fcn.140229c0c
jmp 0x14003230e
lea rbx, [0x14036afa0]
lea rdx, [rbp + 0x7a0]
lea rcx, [rbp + 0x448]
call fcn.14001bf90
mov eax, dword [rsp + 0x48]
or eax, 0x40
mov dword [rsp + 0x40], eax
mov rdx, qword [0x14036afb8]
cmp rdx, 8
jb 0x140032372
lea rdx, [rdx*2 + 2]
mov rcx, qword [0x14036afa0]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14003236d
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14003313b
call fcn.140004154
movups xmm0, xmmword [rbp + 0x7a0]
movups xmmword [0x14036afa0], xmm0
movups xmm1, xmmword [rbp + 0x7b0]
movups xmmword [0x14036afb0], xmm1
movdqa xmm0, xmmword [0x1402f6db0]
movdqu xmmword [rbp + 0x7b0], xmm0
mov word [rbp + 0x7a0], r14w
lea rcx, [rbp + 0x7a0]
call fcn.140009568
nop
lea rcx, [rbp + 0x700]
call fcn.140009568
nop
lea rcx, [rbp + 0x720]
call fcn.140009568
nop
lea rcx, [rbp + 0x5a0]
call fcn.140009568
nop
lea rcx, [rbp + 0x740]
call fcn.140009568
nop
lea rcx, [rbp + 0x430]
call fcn.14001b1e0
call fcn.140022280
cmp qword [0x14036afb8], 8
cmovae rbx, qword [0x14036afa0]
mov r8, qword [0x14036afb0]
mov rdx, rbx
mov rcx, rax
call fcn.140018d10
lea rdx, str.firmwareVersion:
mov rcx, rax
call fcn.140018930
mov rbx, rax
mov rdx, qword [r12 + 8]
mov rcx, rax
call fcn.140018930
mov rcx, qword [rbx]
movsxd rcx, dword [rcx + 4]
add rcx, rbx
mov dl, 0xa
call fcn.140019200
movzx edx, ax
mov rcx, rbx
call fcn.140019040
mov rcx, rbx
call fcn.140019c40
call fcn.140022280
cmp dword [rax + 8], 3
jl 0x14003254d
call fcn.140022280
mov rcx, rax
mov edx, 3
call fcn.140022570
mov rbx, rax
call fcn.140022280
mov r8, qword [rbx + 0x10]
cmp qword [rbx + 0x18], 8
jb 0x140032494
mov rbx, qword [rbx]
mov rdx, rbx
mov rcx, rax
call fcn.140018d10
lea rdx, str.model:
mov rcx, rax
call fcn.140018930
mov rbx, rax
mov rdx, qword [r12]
mov rcx, rax
call fcn.140018930
mov rcx, qword [rbx]
movsxd rcx, dword [rcx + 4]
add rcx, rbx
jmp 0x140032533
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov edi, eax
call fcn.140022280
cmp dword [rax + 8], 2
jl 0x14003254d
call fcn.140022280
mov rcx, rax
mov edx, r15d
call fcn.140022570
mov rbx, rax
call fcn.140022280
mov r8, qword [rbx + 0x10]
cmp qword [rbx + 0x18], 8
jb 0x140032502
mov rbx, qword [rbx]
mov rdx, rbx
mov rcx, rax
call fcn.140018d10
lea rdx, str.Error_with_DeviceIoControl:
mov rcx, rax
call fcn.140018930
mov rcx, rax
mov edx, edi
call fcn.14001b6b0
mov rbx, rax
mov rcx, qword [rax]
movsxd rcx, dword [rcx + 4]
add rcx, rax
mov dl, 0xa
call fcn.140019200
movzx edx, ax
mov rcx, rbx
call fcn.140019040
mov rcx, rbx
call fcn.140019c40
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 rdi, qword [rsp + 0x58]
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_DeviceIoControl]
test eax, eax
je 0x1400325b0
cmp dword [rbx], 7
jne 0x1400325b0
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, rdi
call qword [sym.imp.KERNEL32.dll_DeviceIoControl]
mov edi, 0x28
test eax, eax
cmovne edi, dword [rsp + 0x6c]
mov ecx, edi
call fcn.14008a740
mov r15, rax
mov r8d, edi
xor edx, edx
mov rcx, rax
call fcn.14022e570
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, qword [rsp + 0x58]
call qword [sym.imp.KERNEL32.dll_DeviceIoControl]
test eax, eax
je 0x140032ac1
movzx eax, byte [r15 + 0x1c]
mov byte [r12 + 0x18], al
mov eax, dword [r15 + 0xc]
test eax, eax
je 0x1400327f1
lea rdx, [r15 + rax]
lea rcx, [rbp + 0xb20]
call fcn.140015360
nop
mov rdx, qword [rax]
test rdx, rdx
jne 0x1400326ac
mov eax, r14d
jmp 0x1400326ba
mov rax, r13
nop
inc rax
cmp word [rdx + rax*2], 0
jne 0x1400326b0
mov r8d, eax
lea rcx, [r12 + 0x10]
call fcn.1400029fc
nop
lea rax, [rbp + 0xb28]
mov rcx, qword [rbp + 0xb20]
cmp rcx, rax
je 0x1400326e0
call fcn.140233ed0
mov rbx, qword [r12 + 0x10]
mov rdi, r14
movzx eax, word [rbx]
test ax, ax
je 0x14003271f
movzx ecx, ax
call fcn.140234454
test eax, eax
je 0x14003270b
mov rax, rbx
test rdi, rdi
cmovne rax, rdi
mov rdi, rax
jmp 0x14003270e
mov rdi, r14
add rbx, 2
movzx eax, word [rbx]
test ax, ax
jne 0x1400326f0
mov rbx, qword [r12 + 0x10]
test rdi, rdi
je 0x14003273b
sub rdi, rbx
sar rdi, 1
mov edx, edi
lea rcx, [r12 + 0x10]
call fcn.14001c1f0
mov rbx, qword [r12 + 0x10]
movzx ecx, word [rbx]
call fcn.140234454
test eax, eax
je 0x140032760
nop word [rax + rax]
add rbx, 2
movzx ecx, word [rbx]
call fcn.140234454
test eax, eax
jne 0x140032750
mov r10, qword [r12 + 0x10]
cmp rbx, r10
je 0x1400327f1
sub rbx, r10
sar rbx, 1
mov edx, dword [r10 - 0x10]
test edx, edx
js 0x140033141
mov ecx, 1
sub ecx, dword [r10 - 8]
mov eax, dword [r10 - 0xc]
sub eax, edx
or eax, ecx
jge 0x1400327a2
lea rcx, [r12 + 0x10]
call fcn.14000299c
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.14000397c
test edi, edi
js 0x14003314c
mov rax, qword [r12 + 0x10]
cmp edi, dword [rax - 0xc]
jg 0x14003314c
mov dword [rax - 0x10], edi
movsxd rcx, edi
mov rax, qword [r12 + 0x10]
mov word [rax + rcx*2], r14w
mov eax, dword [r15 + 0x10]
test eax, eax
je 0x14003294a
lea rdx, [r15 + rax]
lea rcx, [rbp + 0xc30]
call fcn.140015360
nop
mov rdx, qword [rax]
test rdx, rdx
jne 0x14003281b
mov eax, r14d
jmp 0x14003282a
mov rax, r13
nop
inc rax
cmp word [rdx + rax*2], 0
jne 0x140032820
mov r8d, eax
mov rcx, r12
call fcn.1400029fc
nop
lea rax, [rbp + 0xc38]
mov rcx, qword [rbp + 0xc30]
cmp rcx, rax
je 0x14003284e
call fcn.140233ed0
mov rbx, qword [r12]
mov rdi, r14
movzx eax, word [rbx]
test ax, ax
je 0x14003288e
nop dword [rax]
movzx ecx, ax
call fcn.140234454
test eax, eax
je 0x14003287b
mov rax, rbx
test rdi, rdi
cmovne rax, rdi
mov rdi, rax
jmp 0x14003287e
mov rdi, r14
add rbx, 2
movzx eax, word [rbx]
test ax, ax
jne 0x140032860
mov rbx, qword [r12]
test rdi, rdi
je 0x1400328a7
sub rdi, rbx
sar rdi, 1
mov edx, edi
mov rcx, r12
call fcn.14001c1f0
mov rbx, qword [r12]
movzx ecx, word [rbx]
call fcn.140234454
test eax, eax
je 0x1400328c3
add rbx, 2
movzx ecx, word [rbx]
call fcn.140234454
test eax, eax
jne 0x1400328b3
mov r10, qword [r12]
cmp rbx, r10
je 0x14003294a
sub rbx, r10
sar rbx, 1
mov edx, dword [r10 - 0x10]
test edx, edx
js 0x140033157
mov ecx, 1
sub ecx, dword [r10 - 8]
mov eax, dword [r10 - 0xc]
sub eax, edx
or eax, ecx
jge 0x1400328fd
mov rcx, r12
call fcn.14000299c
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.14000397c
test edi, edi
js 0x140033162
mov rax, qword [r12]
cmp edi, dword [rax - 0xc]
jg 0x140033162
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 0x140032ac1
lea rdx, [r15 + rax]
lea rcx, [rbp + 0xa10]
call fcn.140015360
nop
mov rdx, qword [rax]
test rdx, rdx
jne 0x140032974
mov eax, r14d
jmp 0x14003298a
mov rax, r13
nop word [rax + rax]
inc rax
cmp word [rdx + rax*2], 0
jne 0x140032980
mov r8d, eax
lea rcx, [r12 + 8]
call fcn.1400029fc
nop
lea rax, [rbp + 0xa18]
mov rcx, qword [rbp + 0xa10]
cmp rcx, rax
je 0x1400329b0
call fcn.140233ed0
mov rbx, qword [r12 + 8]
mov rdi, r14
movzx eax, word [rbx]
test ax, ax
je 0x1400329ef
movzx ecx, ax
call fcn.140234454
test eax, eax
je 0x1400329db
mov rax, rbx
test rdi, rdi
cmovne rax, rdi
mov rdi, rax
jmp 0x1400329de
mov rdi, r14
add rbx, 2
movzx eax, word [rbx]
test ax, ax
jne 0x1400329c0
mov rbx, qword [r12 + 8]
test rdi, rdi
je 0x140032a0b
sub rdi, rbx
sar rdi, 1
mov edx, edi
lea rcx, [r12 + 8]
call fcn.14001c1f0
mov rbx, qword [r12 + 8]
movzx ecx, word [rbx]
call fcn.140234454
test eax, eax
je 0x140032a30
nop word [rax + rax]
add rbx, 2
movzx ecx, word [rbx]
call fcn.140234454
test eax, eax
jne 0x140032a20
mov r10, qword [r12 + 8]
cmp rbx, r10
je 0x140032ac1
sub rbx, r10
sar rbx, 1
mov edx, dword [r10 - 0x10]
test edx, edx
js 0x14003316d
mov ecx, 1
sub ecx, dword [r10 - 8]
mov eax, dword [r10 - 0xc]
sub eax, edx
or eax, ecx
jge 0x140032a72
lea rcx, [r12 + 8]
call fcn.14000299c
mov r10, qword [r12 + 8]
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.14000397c
test edi, edi
js 0x140033178
mov rax, qword [r12 + 8]
cmp edi, dword [rax - 0xc]
jg 0x140033178
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.140002c14
add rax, 0x18
mov qword [rsp + 0x50], rax
lea rcx, [rsp + 0x50]
call fcn.1400150f0
mov rbx, qword [rsp + 0x50]
cmp dword [rbx - 0x10], 0
jl 0x140032b10
lea rdx, str.INTEL
mov rcx, rbx
call fcn.14022dc40
test rax, rax
je 0x140032b10
sub rax, rbx
sar rax, 1
test eax, eax
js 0x140032b10
mov byte [r12 + 0x20], 1
lea rdx, [r12 + 0x10]
lea rcx, [rsp + 0x50]
call fcn.140002b08
lea rcx, [rsp + 0x50]
call fcn.1400150f0
mov rbx, qword [rsp + 0x50]
cmp dword [rbx - 0x10], 0
jl 0x140032b58
lea rdx, str.INTEL
mov rcx, rbx
call fcn.14022dc40
test rax, rax
je 0x140032b58
sub rax, rbx
sar rax, 1
test eax, eax
js 0x140032b58
mov byte [r12 + 0x20], 1
call fcn.140022280
cmp dword [rax + 8], 3
jl 0x140032bdb
mov rsi, qword [r12]
call fcn.140022280
mov rcx, rax
mov edx, 3
call fcn.140022570
mov rbx, rax
call fcn.140022280
mov r8, qword [rbx + 0x10]
cmp qword [rbx + 0x18], 8
jb 0x140032b8f
mov rbx, qword [rbx]
mov rdx, rbx
mov rcx, rax
call fcn.140018d10
lea rdx, str.Model:
mov rcx, rax
call fcn.140018930
mov rcx, rax
mov rdx, rsi
call fcn.140018930
mov rbx, rax
mov rcx, qword [rax]
movsxd rcx, dword [rcx + 4]
add rcx, rax
mov dl, 0xa
call fcn.140019200
movzx edx, ax
mov rcx, rbx
call fcn.140019040
mov rcx, rbx
call fcn.140019c40
call fcn.140022280
cmp dword [rax + 8], 3
jl 0x140032c5f
mov rsi, qword [r12 + 8]
call fcn.140022280
mov rcx, rax
mov edx, 3
call fcn.140022570
mov rbx, rax
call fcn.140022280
mov r8, qword [rbx + 0x10]
cmp qword [rbx + 0x18], 8
jb 0x140032c13
mov rbx, qword [rbx]
mov rdx, rbx
mov rcx, rax
call fcn.140018d10
lea rdx, str.Firmware:
mov rcx, rax
call fcn.140018930
mov rcx, rax
mov rdx, rsi
call fcn.140018930
mov rbx, rax
mov rcx, qword [rax]
movsxd rcx, dword [rcx + 4]
add rcx, rax
mov dl, 0xa
call fcn.140019200
movzx edx, ax
mov rcx, rbx
call fcn.140019040
mov rcx, rbx
call fcn.140019c40
call fcn.140022280
cmp dword [rax + 8], 3
jl 0x140032ce3
mov rdi, qword [r12 + 0x10]
call fcn.140022280
mov rcx, rax
mov edx, 3
call fcn.140022570
mov rbx, rax
call fcn.140022280
mov r8, qword [rbx + 0x10]
cmp qword [rbx + 0x18], 8
jb 0x140032c97
mov rbx, qword [rbx]
mov rdx, rbx
mov rcx, rax
call fcn.140018d10
lea rdx, str.Vendor:
mov rcx, rax
call fcn.140018930
mov rcx, rax
mov rdx, rdi
call fcn.140018930
mov rbx, rax
mov rcx, qword [rax]
movsxd rcx, dword [rcx + 4]
add rcx, rax
mov dl, 0xa
call fcn.140019200
movzx edx, ax
mov rcx, rbx
call fcn.140019040
mov rcx, rbx
call fcn.140019c40
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.14008a740
mov rsi, rax
mov r8d, edi
xor edx, edx
mov rcx, rax
call fcn.14022e570
mov ebx, 0x20
mov dword [rsi], ebx
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
lea r9d, [rbx - 0x14]
lea r8, [rbp + 0x530]
mov edx, 0x2d1400
mov rcx, qword [rsp + 0x58]
call qword [sym.imp.KERNEL32.dll_DeviceIoControl]
test eax, eax
je 0x140032da3
movzx eax, byte [rsi + 0x18]
mov byte [r12 + 0x18], al
mov rcx, rsi
call fcn.14008a738
mov edx, ebx
lea rcx, [r12 + 0x10]
call fcn.140033310
lea r14, vtable.ATL::CAtlStringMgr.0
lea rdi, vtable.ATL::CWin32Heap.0
test eax, eax
js 0x140032f7f
mov rcx, qword [r12 + 0x10]
sub rcx, 0x18
call fcn.140002c14
add rax, 0x18
mov qword [rsp + 0x48], rax
mov rdx, qword [r12]
mov r8d, dword [rdx - 0x10]
lea rcx, [rsp + 0x48]
call fcn.140005a9c
mov rbx, qword [rsp + 0x48]
cmp dword [rbx - 0x10], 0
jle 0x140032f33
mov edx, 0x20
mov rcx, rbx
call fcn.14022e038
mov rdi, rax
test rax, rax
je 0x140032f2c
sub rdi, rbx
sar rdi, 1
test edi, edi
jle 0x140032f2c
mov r8d, edi
lea rdx, [rsp + 0x70]
lea rcx, [rsp + 0x48]
call fcn.140033240
nop
mov rdx, rax
lea rcx, [r12 + 0x10]
call fcn.140002b08
nop
mov rdx, qword [rsp + 0x70]
add rdx, 0xffffffffffffffe8
mov eax, r13d
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x140032ea0
mov rcx, qword [rdx]
mov rax, qword [rcx]
mov r8, qword [rax + 8]
cmp rax, r14
jne 0x140033183
mov rcx, qword [rcx + 8]
mov rax, qword [rcx]
mov r8, qword [rax + 8]
lea r9, vtable.ATL::CWin32Heap.0
cmp rax, r9
jne 0x140033183
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.140014fe0
mov ebx, dword [rsp + 0x40]
bts ebx, 7
mov dword [rsp + 0x40], ebx
mov rdx, rax
mov rcx, r12
call fcn.140002b08
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 0x140032f2c
mov rcx, qword [rdx]
mov rax, qword [rcx]
mov r8, qword [rax + 8]
cmp rax, r14
jne 0x140033193
mov rcx, qword [rcx + 8]
mov rax, qword [rcx]
mov r8, qword [rax + 8]
lea rdi, vtable.ATL::CWin32Heap.0
cmp rax, rdi
jne 0x14003318b
mov r8, rdx
xor edx, edx
mov rcx, qword [rcx + 8]
call qword [sym.imp.KERNEL32.dll_HeapFree]
jmp 0x140032f33
lea rdi, 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 0x140032f7f
mov rcx, qword [rdx]
mov rax, qword [rcx]
mov r8, qword [rax + 8]
cmp rax, r14
jne 0x14003319b
mov rcx, qword [rcx + 8]
mov rax, qword [rcx]
mov r8, qword [rax + 8]
cmp rax, rdi
jne 0x14003319b
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 0x14003300f
add rcx, 0xffffffffffffffe8
call fcn.140002c14
lea rbx, [rax + 0x18]
mov qword [rbp - 0x60], rbx
cmp dword [rbx - 0x10], 0
jl 0x140032fc8
lea rdx, [0x1402f1160]
mov rcx, rbx
call fcn.14022dc40
test rax, rax
je 0x140032fc8
sub rax, rbx
sar rax, 1
test eax, eax
js 0x140032fc8
mov byte [r12 + 0x22], 1
lea rdx, [rbx - 0x18]
mov eax, r13d
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x14003300f
mov rcx, qword [rdx]
mov rax, qword [rcx]
mov r8, qword [rax + 8]
cmp rax, r14
jne 0x1400331a3
mov rcx, qword [rcx + 8]
mov rax, qword [rcx]
mov r8, qword [rax + 8]
cmp rax, rdi
jne 0x1400331a3
mov r8, rdx
xor edx, edx
mov rcx, qword [rcx + 8]
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov rcx, r15
call fcn.14008a738
mov r14d, 1
mov rdx, qword [rsp + 0x50]
add rdx, 0xffffffffffffffe8
lock xadd dword [rdx + 0x10], r13d
sub r13d, r14d
jg 0x14003306e
mov rcx, qword [rdx]
mov rax, qword [rcx]
mov r8, qword [rax + 8]
lea r9, vtable.ATL::CAtlStringMgr.0
cmp rax, r9
jne 0x1400330e5
mov rcx, qword [rcx + 8]
mov rax, qword [rcx]
mov r8, qword [rax + 8]
cmp rax, rdi
jne 0x1400330e5
mov r8, rdx
xor edx, edx
mov rcx, qword [rcx + 8]
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov rsi, qword [rsp + 0x58]
mov rbx, qword [rsp + 0x60]
xor edx, edx
mov r8d, 0x8000
mov rcx, qword [rsp + 0x78]
call qword [sym.imp.KERNEL32.dll_VirtualFree]
test rbx, rbx
je 0x1400330a1
xor edx, edx
mov r8d, 0x8000
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_VirtualFree]
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_CloseHandle]
nop
lea rcx, [rbp + 0x7c0]
call fcn.140019d90
movzx eax, r14b
mov rcx, qword [rbp + 0xd98]
xor rcx, rsp
call fcn.140229750
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 0x14003306e
call fcn.140230b64
nop
call fcn.140230b64
nop
call fcn.140230b64
nop
mov r8d, 0x80
lea rdx, [rbp + 0x7f8]
mov rcx, qword [rbp + 0x7f0]
call fcn.140018390
call fcn.140007f10
int3
mov r8d, 0x80
lea rdx, [rbp + 0x908]
mov rcx, qword [rbp + 0x900]
call fcn.140018390
call fcn.140007f10
nop
call fcn.140230b64
nop
mov ecx, 0x80070057
call fcn.140002cbc
int3
mov ecx, 0x80070057
call fcn.140002cbc
int3
mov ecx, 0x80070057
call fcn.140002cbc
int3
mov ecx, 0x80070057
call fcn.140002cbc
int3
mov ecx, 0x80070057
call fcn.140002cbc
int3
mov ecx, 0x80070057
call fcn.140002cbc
nop
call r8
jmp 0x140032ea0
call r8
jmp 0x140032f33
call r8
jmp 0x140032f2c
call r8
jmp 0x140032f7f
call r8
jmp 0x14003300f