Function at 0x1400306b0
Capabilities:
Check if file exists
Get file size
Read file on windows

Disassembly:
mov qword [rsp + 0x18], rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0xb90]
sub rsp, 0xc90
movaps xmmword [rsp + 0xc80], xmm6
mov rax, qword [0x14012a210]
xor rax, rsp
mov qword [rbp + 0xb70], rax
mov r13, rdx
mov rdi, rcx
mov qword [rsp + 0x48], rcx
xor esi, esi
mov ebx, esi
mov dword [rbp + 0x198], esi
xor edx, edx
mov r8d, 0x800
lea rcx, [rbp + 0x370]
call fcn.1400a83f0
mov dword [rbp + 0x238], esi
mov qword [rbp - 8], rsi
xorps xmm0, xmm0
xor eax, eax
movups xmmword [rbp + 0x298], xmm0
movups xmmword [rbp + 0x2a8], xmm0
mov qword [rbp + 0x2b8], rax
xor edx, edx
lea rcx, [rbp + 0x298]
call fcn.140063740
nop
mov qword [rbp + 0x1c8], rsi
mov qword [rbp + 0x1d8], rsi
mov qword [rbp + 0x1e0], 7
mov word [rbp + 0x1c8], si
xor r8d, r8d
lea rdx, [0x1400ff490]
lea rcx, [rbp + 0x1c8]
call fcn.140011160
nop
lea rdx, [rbp + 0x1c8]
call fcn.140033570
lea rcx, [rbp + 0x1c8]
cmp qword [rbp + 0x1e0], 8
cmovae rcx, qword [rbp + 0x1c8]
call qword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
jne 0x1400307db
mov qword [rbp + 0x50], rsi
mov qword [rbp + 0x60], rsi
mov qword [rbp + 0x68], reloc.ACTIVEDS.dll_FreeADsMem
lea r8d, [rsi + 2]
lea rdx, [0x1401052f8]
lea rcx, [rbp + 0x50]
call fcn.140006590
xor r8d, r8d
lea rdx, [rbp + 0x50]
mov rcx, rdi
call fcn.140032800
lea rcx, [rbp + 0x1c8]
cmp qword [rbp + 0x1e0], 8
cmovae rcx, qword [rbp + 0x1c8]
mov qword [rsp + 0x30], rsi
mov dword [rsp + 0x28], 0x80
mov dword [rsp + 0x20], 3
xor r9d, r9d
mov edx, 0x80000000
lea r8d, [r9 + 1]
call qword [sym.imp.KERNEL32.dll_CreateFileW]
mov r15, rax
cmp rax, 0xffffffffffffffff
jne 0x1400308ad
mov rdx, qword [rbp + 0x1e0]
cmp rdx, 8
jb 0x14003086d
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp + 0x1c8]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140030867
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140031ed0
call fcn.1400a59a4
nop
lea rcx, [rbp + 0x298]
call fcn.140063a70
mov eax, ebx
mov rcx, qword [rbp + 0xb70]
xor rcx, rsp
call fcn.1400a5460
mov rbx, qword [rsp + 0xce0]
movaps xmm6, xmmword [rsp + 0xc80]
add rsp, 0xc90
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
xor edx, edx
mov rcx, r15
call qword [sym.imp.KERNEL32.dll_GetFileSize]
mov edi, eax
cmp eax, 0xffffffff
je 0x140030826
mov qword [rsp + 0x20], rsi
lea r9, [rbp + 0x238]
mov r8d, 2
lea rdx, [rbp + 0x19c]
mov rcx, r15
call qword [sym.imp.KERNEL32.dll_ReadFile]
test eax, eax
je 0x140030826
mov eax, 0xfeff
cmp word [rbp + 0x19c], ax
je 0x14003090c
xor r9d, r9d
xor r8d, r8d
xor edx, edx
mov rcx, r15
call qword [sym.imp.KERNEL32.dll_SetFilePointer]
mov qword [rsp + 0x20], rsi
lea r9, [rbp + 0x198]
mov r8d, edi
lea rdx, [rbp + 0x370]
mov rcx, r15
call qword [sym.imp.KERNEL32.dll_ReadFile]
test eax, eax
je 0x140030826
mov qword [rbp + 0x30], rsi
mov qword [rbp + 0x40], rsi
mov qword [rbp + 0x48], reloc.ACTIVEDS.dll_FreeADsMem
mov r8d, 0x26
lea rdx, str.EA52333F_290A_40F5_86FD_98309C3BF487
lea rcx, [rbp + 0x30]
call fcn.140006590
lea rax, [rbp - 8]
mov qword [rsp + 0x20], rax
mov r9d, dword [rbp + 0x198]
lea r8, [rbp + 0x370]
lea rdx, [rbp + 0x30]
call fcn.140051290
test al, al
je 0x140030826
mov esi, dword [rbp + 0x198]
add rsi, 2
shr rsi, 1
mov r12d, esi
mov eax, 2
mul r12
mov r14, 0xffffffffffffffff
cmovo rax, r14
mov rcx, rax
call fcn.1400a5c74
mov rbx, rax
test esi, esi
je 0x1400309c1
xor eax, eax
movzx eax, ax
mov rdi, rbx
mov ecx, r12d
rep stosw word [rdi], ax
lea r8d, [rsi - 1]
add r8, r8
mov rsi, qword [rbp - 8]
mov rdx, rsi
mov rcx, rbx
call fcn.1400a7d40
xor r12d, r12d
mov qword [rbp - 0x28], r12
mov qword [rbp - 0x18], r12
mov qword [rbp - 0x10], 7
mov word [rbp - 0x28], r12w
mov r8, r14
inc r8
cmp word [rbx + r8*2], r12w
jne 0x1400309f2
mov rdx, rbx
lea rcx, [rbp - 0x28]
call fcn.140011160
nop
lea r8, [rbp - 0x28]
cmp qword [rbp - 0x10], 8
cmovae r8, qword [rbp - 0x28]
mov qword [rsp + 0x38], r12
mov qword [rsp + 0x30], r12
mov dword [rsp + 0x28], r12d
mov qword [rsp + 0x20], r12
mov r9d, dword [rbp - 0x18]
xor edx, edx
mov ecx, 0xfde9
call qword [sym.imp.KERNEL32.dll_WideCharToMultiByte]
movsxd rdi, eax
mov qword [rbp - 0x48], r12
mov qword [rbp - 0x38], r12
mov qword [rbp - 0x30], reloc.ACTIVEDS.dll_FreeADsMem
mov rdx, rdi
xor r8d, r8d
lea rcx, [rbp - 0x48]
call fcn.140019140
lea rcx, [rbp - 0x48]
cmp qword [rbp - 0x30], 0x10
cmovae rcx, qword [rbp - 0x48]
lea r8, [rbp - 0x28]
cmp qword [rbp - 0x10], 8
cmovae r8, qword [rbp - 0x28]
mov qword [rsp + 0x38], r12
mov qword [rsp + 0x30], r12
mov dword [rsp + 0x28], edi
mov qword [rsp + 0x20], rcx
mov r9d, dword [rbp - 0x18]
xor edx, edx
mov ecx, 0xfde9
call qword [sym.imp.KERNEL32.dll_WideCharToMultiByte]
lea rax, [rbp - 0x48]
cmp r13, rax
je 0x140030b07
mov rdx, qword [r13 + 0x18]
cmp rdx, 0x10
jb 0x140030ae2
mov rcx, qword [r13]
inc rdx
cmp rdx, 0x1000
jb 0x140030add
add rdx, 0x27
mov rdi, qword [rcx - 8]
sub rcx, rdi
lea rax, [rcx - 8]
cmp rax, 0x1f
ja 0x140031edc
mov rcx, rdi
call fcn.1400a59a4
movups xmm0, xmmword [rbp - 0x48]
movups xmmword [r13], xmm0
movups xmm1, xmmword [rbp - 0x38]
movups xmmword [r13 + 0x10], xmm1
mov qword [rbp - 0x38], r12
mov eax, reloc.ACTIVEDS.dll_FreeADsMem
mov qword [rbp - 0x30], rax
mov byte [rbp - 0x48], 0
jmp 0x140030b0b
mov rax, qword [rbp - 0x30]
cmp rax, 0x10
jb 0x140030b43
lea rdx, [rax + 1]
mov rcx, qword [rbp - 0x48]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140030b3e
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140031edc
call fcn.1400a59a4
mov qword [rbp - 0x38], r12
mov qword [rbp - 0x30], reloc.ACTIVEDS.dll_FreeADsMem
mov byte [rbp - 0x48], 0
mov rdx, qword [rbp - 0x10]
cmp rdx, 8
jb 0x140030b93
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 0x28]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140030b8e
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140031ee2
call fcn.1400a59a4
mov rcx, rbx
call fcn.1400a59a4
test rsi, rsi
je 0x140030ba8
mov rcx, rsi
call fcn.1400a59a4
mov rcx, r15
call qword [sym.imp.KERNEL32.dll_CloseHandle]
xorps xmm0, xmm0
movsd qword [rsp + 0x68], xmm0
mov dword [rsp + 0x70], r12d
mov qword [rbp + 0x270], r12
mov qword [rbp + 0x280], r12
mov qword [rbp + 0x288], reloc.ACTIVEDS.dll_FreeADsMem
mov byte [rbp + 0x270], 0
mov qword [rbp + 0x248], r12
mov qword [rbp + 0x258], r12
mov qword [rbp + 0x260], reloc.ACTIVEDS.dll_FreeADsMem
mov byte [rbp + 0x248], 0
movups xmmword [rbp + 0x208], xmm0
movups xmmword [rbp + 0x218], xmm0
movups xmmword [rbp + 0x228], xmm0
mov rdx, r13
lea rcx, [rbp + 0x138]
call fcn.1400061c0
mov rdx, rax
lea rcx, [rbp + 0x208]
call fcn.140004310
nop
lea rdx, [rbp + 0x208]
call fcn.14002c650
lea rax, [rsp + 0x78]
mov qword [rsp + 0x40], rax
call fcn.140004080
mov rcx, rax
test rax, rax
je 0x140031ee8
mov rax, qword [rax]
call qword [rax + 0x18]
add rax, 0x18
mov qword [rsp + 0x78], rax
lea r15, str.agentId
lea rcx, [rsp + 0x78]
cmp r15, 0x10000
jae 0x140030c89
movzx edx, r15w
call fcn.1400112e0
jmp 0x140030c98
mov r8d, 7
mov rdx, r15
call fcn.140011410
nop
lea r8, [rbp + 0x248]
lea rdx, [rsp + 0x78]
lea rcx, [rbp + 0x208]
call fcn.140004c30
mov qword [rbp + 0x1e8], r12
mov qword [rbp + 0x1f8], r12
mov qword [rbp + 0x200], 7
mov word [rbp + 0x1e8], r12w
xor r8d, r8d
lea rdx, [0x1400ff490]
lea rcx, [rbp + 0x1e8]
call fcn.140011160
nop
lea rcx, [rbp + 0x248]
mov rdi, qword [rbp + 0x258]
cmp qword [rbp + 0x260], 0x10
jb 0x140030d0c
mov rsi, qword [rbp + 0x248]
add rdi, rsi
jmp 0x140030d16
add rdi, rcx
lea rsi, [rbp + 0x248]
mov qword [rbp + 0x1a0], r12
mov rbx, r12
mov qword [rbp + 0x1b0], rbx
mov ecx, 7
mov qword [rbp + 0x1b8], rcx
mov word [rbp + 0x1a0], r12w
mov rdx, rdi
sub rdx, rsi
cmp rdx, 8
jb 0x140030d61
lea rcx, [rbp + 0x1a0]
call fcn.140033710
mov qword [rbp + 0x1b0], rbx
mov rcx, qword [rbp + 0x1b8]
lea rax, [rbp + 0x1a0]
mov qword [rbp + 0x70], rax
cmp rsi, rdi
je 0x140030dc7
movsx r9d, byte [rsi]
cmp rbx, rcx
jae 0x140030da5
lea rax, [rbx + 1]
mov qword [rbp + 0x1b0], rax
lea rax, [rbp + 0x1a0]
cmp rcx, 8
cmovae rax, qword [rbp + 0x1a0]
mov word [rax + rbx*2], r9w
mov word [rax + rbx*2 + 2], r12w
jmp 0x140030db1
lea rcx, [rbp + 0x1a0]
call fcn.14001e640
inc rsi
mov rcx, qword [rbp + 0x1b8]
mov rbx, qword [rbp + 0x1b0]
cmp rsi, rdi
jne 0x140030d71
mov qword [rbp + 0x10], r12
mov qword [rbp + 0x20], r12
mov qword [rbp + 0x28], r12
lea rsi, [rbp + 0x1a0]
cmp rcx, 8
cmovae rsi, qword [rbp + 0x1a0]
cmp rbx, 8
jae 0x140030e00
movups xmm0, xmmword [rsi]
movups xmmword [rbp + 0x10], xmm0
mov qword [rbp + 0x28], 7
jmp 0x140030e94
mov rdi, rbx
or rdi, 7
movabs rax, 0x7ffffffffffffffe
cmp rdi, rax
cmova rdi, rax
lea rcx, [rdi + 1]
movabs rax, 0x7fffffffffffffff
cmp rcx, rax
ja 0x140031ed6
add rcx, rcx
cmp rcx, 0x1000
jb 0x140030e6a
lea rax, [rcx + 0x27]
cmp rax, rcx
jbe 0x140031ed6
mov rcx, rax
call fcn.1400a5718
mov rcx, rax
test rax, rax
je 0x140031ef3
add rax, 0x27
and rax, 0xffffffffffffffe0
mov qword [rax - 8], rcx
jmp 0x140030e79
test rcx, rcx
je 0x140030e76
call fcn.1400a5718
jmp 0x140030e79
mov rax, r12
mov qword [rbp + 0x10], rax
lea r8, [rbx*2 + 2]
mov rdx, rsi
mov rcx, rax
call fcn.1400a7d40
mov qword [rbp + 0x28], rdi
mov qword [rbp + 0x20], rbx
lea r8, [rbp + 0x1e8]
lea rdx, [rbp + 0x10]
call fcn.140033280
lea rdx, [rbp + 0x1e8]
cmp qword [rbp + 0x200], 8
cmovae rdx, qword [rbp + 0x1e8]
lea rcx, [rbp + 0x1a0]
cmp qword [rbp + 0x1b8], 8
cmovae rcx, qword [rbp + 0x1a0]
call fcn.1400bc088
test eax, eax
je 0x140031169
lea rdi, [rbp + 0x1e8]
cmp qword [rbp + 0x200], 8
cmovae rdi, qword [rbp + 0x1e8]
call fcn.140004080
mov rcx, rax
test rax, rax
je 0x140031f1b
mov rax, qword [rax]
call qword [rax + 0x18]
add rax, 0x18
mov qword [rbp + 0x240], rax
test rdi, rdi
je 0x140030f4c
cmp rdi, 0x10000
jae 0x140030f3b
movzx edx, di
lea rcx, [rbp + 0x240]
call fcn.1400112e0
jmp 0x140030f62
mov rax, r14
nop
inc rax
cmp word [rdi + rax*2], 0
jne 0x140030f40
jmp 0x140030f4f
mov eax, r12d
mov r8d, eax
mov rdx, rdi
lea rcx, [rbp + 0x240]
call fcn.140011410
nop
lea rax, [rbp]
mov qword [rsp + 0x40], rax
lea rax, [rbp - 0x80]
mov qword [rbp + 0x268], rax
mov rdi, qword [rbp + 0x240]
mov rcx, qword [rdi - 0x18]
mov rax, qword [rcx]
call qword [rax + 0x20]
mov rcx, rax
cmp dword [rdi - 8], 0
jl 0x140030fa0
cmp rax, qword [rdi - 0x18]
jne 0x140030fa0
lea rbx, [rdi - 0x18]
lock inc dword [rdi - 8]
jmp 0x140030fd6
mov rax, qword [rax]
mov r8d, 2
mov edx, dword [rdi - 0x10]
call qword [rax]
mov rbx, rax
test rax, rax
je 0x140031ef9
mov eax, dword [rdi - 0x10]
mov dword [rbx + 8], eax
mov r9d, dword [rdi - 0x10]
inc r9d
mov r8, rdi
movsxd rdx, r9d
lea rcx, [rbx + 0x18]
call fcn.140006ae0
lea rax, [rbx + 0x18]
mov qword [rbp], rax
call fcn.140004080
mov rcx, rax
test rax, rax
je 0x140031eff
mov rax, qword [rax]
call qword [rax + 0x18]
add rax, 0x18
mov qword [rbp - 0x80], rax
lea rcx, [rbp - 0x80]
cmp r15, 0x10000
jae 0x140031015
movzx edx, r15w
call fcn.1400112e0
jmp 0x140031024
mov r8d, 7
mov rdx, r15
call fcn.140011410
nop
lea r8, [rbp]
lea rdx, [rbp - 0x80]
lea rcx, [rbp + 0x208]
call fcn.140005a90
cmp byte [rbp + 0x208], 0
je 0x140031064
lea rcx, [rbp + 0x210]
call fcn.140065be0
test al, al
je 0x140031064
lea rdx, [rbp + 0x210]
lea rcx, [rbp + 0x298]
call fcn.140063ae0
lea rdx, [rbp + 0x78]
lea rcx, [rbp + 0x298]
call fcn.140066640
mov rbx, rax
cmp r13, rax
je 0x1400310e8
mov rdx, qword [r13 + 0x18]
cmp rdx, 0x10
jb 0x1400310b7
mov rcx, qword [r13]
inc rdx
cmp rdx, 0x1000
jb 0x1400310b2
add rdx, 0x27
mov r8, qword [rcx - 8]
sub rcx, r8
lea rax, [rcx - 8]
cmp rax, 0x1f
ja 0x140031f0a
mov rcx, r8
call fcn.1400a59a4
mov qword [r13 + 0x10], r12
mov qword [r13 + 0x18], reloc.ACTIVEDS.dll_FreeADsMem
mov byte [r13], 0
movups xmm0, xmmword [rbx]
movups xmmword [r13], xmm0
movups xmm1, xmmword [rbx + 0x10]
movups xmmword [r13 + 0x10], xmm1
mov qword [rbx + 0x10], r12
mov qword [rbx + 0x18], reloc.ACTIVEDS.dll_FreeADsMem
mov byte [rbx], 0
mov rdx, qword [rbp + 0x90]
cmp rdx, 0x10
jb 0x140031126
inc rdx
mov rcx, qword [rbp + 0x78]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140031121
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140031f0a
call fcn.1400a59a4
mov rdx, r13
lea rcx, [rbp + 0x158]
call fcn.1400061c0
mov r8d, 1
mov rdx, rax
mov r15, qword [rsp + 0x48]
mov rcx, r15
call fcn.140032800
nop
mov eax, r14d
lock xadd dword [rdi - 8], eax
sub eax, 1
jg 0x14003116e
mov rcx, qword [rdi - 0x18]
mov rax, qword [rcx]
lea rdx, [rdi - 0x18]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
jmp 0x14003116e
mov r15, qword [rsp + 0x48]
lea rax, [rsp + 0x60]
mov qword [rsp + 0x50], rax
call fcn.140004080
mov rcx, rax
test rax, rax
je 0x140031f10
mov rax, qword [rax]
call qword [rax + 0x18]
add rax, 0x18
mov qword [rsp + 0x60], rax
lea rax, str.licenseKey
lea rcx, [rsp + 0x60]
cmp rax, 0x10000
jae 0x1400311b6
movzx edx, ax
call fcn.1400112e0
jmp 0x1400311c5
mov r8d, 0xa
mov rdx, rax
call fcn.140011410
nop
lea r8, [rbp + 0x270]
lea rdx, [rsp + 0x60]
lea rcx, [rbp + 0x208]
call fcn.140004c30
cmp qword [rbp + 0x280], 0
jne 0x1400314ac
lea rdx, [rsp + 0x68]
call fcn.140032440
test al, al
jne 0x1400311fe
call fcn.140032070
lea rdx, [rsp + 0x68]
call fcn.140032440
test al, al
je 0x140031cfe
movsd xmm6, qword [rsp + 0x68]
comisd xmm6, xmmword [0x14010c1d8]
ja 0x140031236
movaps xmm0, xmm6
call fcn.1400ddd00
movaps xmm1, xmm6
subsd xmm1, xmm0
movaps xmm6, xmm0
subsd xmm6, xmm1
addsd xmm6, qword [0x14010c1c0]
comisd xmm6, xmmword [0x14010c1d8]
ja 0x14003125e
movaps xmm0, xmm6
call fcn.1400df5b0
movaps xmm1, xmm0
subsd xmm1, xmm6
movaps xmm6, xmm1
addsd xmm6, xmm0
call fcn.140004080
mov rcx, rax
test rax, rax
je 0x140031f1b
mov rax, qword [rax]
call qword [rax + 0x18]
add rax, 0x18
mov qword [rbp + 0x290], rax
xorps xmm0, xmm0
movups xmmword [rbp + 0x360], xmm0
mov edi, dword [rsp + 0x70]
test edi, edi
jne 0x1400312ae
lea rdx, [rbp + 0x360]
movaps xmm0, xmm6
call qword [sym.imp.OLEAUT32.dll_UnRegisterTypeLib]
cmp eax, 1
movzx esi, word [rbp + 0x366]
je 0x1400312b1
mov esi, r14d
xorps xmm0, xmm0
movups xmmword [rbp + 0x350], xmm0
test edi, edi
jne 0x1400312db
lea rdx, [rbp + 0x350]
movaps xmm0, xmm6
call qword [sym.imp.OLEAUT32.dll_UnRegisterTypeLib]
cmp eax, 1
movzx ebx, word [rbp + 0x352]
je 0x1400312de
mov ebx, r14d
xorps xmm1, xmm1
movups xmmword [rbp + 0x340], xmm1
test edi, edi
jne 0x140031309
lea rdx, [rbp + 0x340]
movaps xmm0, xmm6
call qword [sym.imp.OLEAUT32.dll_UnRegisterTypeLib]
cmp eax, 1
movzx r8d, word [rbp + 0x340]
je 0x14003130c
mov r8d, r14d
mov dword [rsp + 0x20], esi
mov r9d, ebx
lea rdx, [0x140105340]
lea rcx, [rbp + 0x290]
call fcn.1400196e0
lea rax, [rbp + 8]
mov qword [rsp + 0x50], rax
lea rax, [rbp - 0x70]
mov qword [rsp + 0x58], rax
mov rdi, qword [rbp + 0x290]
mov rcx, qword [rdi - 0x18]
mov rax, qword [rcx]
call qword [rax + 0x20]
mov rcx, rax
cmp dword [rdi - 8], 0
jl 0x140031362
cmp rax, qword [rdi - 0x18]
jne 0x140031362
lea rbx, [rdi - 0x18]
lock inc dword [rdi - 8]
jmp 0x140031398
mov rax, qword [rax]
mov r8d, 2
mov edx, dword [rdi - 0x10]
call qword [rax]
mov rbx, rax
test rax, rax
je 0x140031f26
mov eax, dword [rdi - 0x10]
mov dword [rbx + 8], eax
mov r9d, dword [rdi - 0x10]
inc r9d
mov r8, rdi
movsxd rdx, r9d
lea rcx, [rbx + 0x18]
call fcn.140006ae0
lea rax, [rbx + 0x18]
mov qword [rbp + 8], rax
call fcn.140004080
mov rcx, rax
test rax, rax
je 0x140031f2c
mov rax, qword [rax]
call qword [rax + 0x18]
add rax, 0x18
mov qword [rbp - 0x70], rax
lea rdx, str.expiryDate
lea rcx, [rbp - 0x70]
cmp rdx, 0x10000
jae 0x1400313dd
movzx edx, dx
call fcn.1400112e0
jmp 0x1400313e9
mov r8d, 0xa
call fcn.140011410
nop
lea r8, [rbp + 8]
lea rdx, [rbp - 0x70]
lea rcx, [rbp + 0x208]
call fcn.140005a90
cmp byte [rbp + 0x208], 0
je 0x140031429
lea rcx, [rbp + 0x210]
call fcn.140065be0
test al, al
je 0x140031429
lea rdx, [rbp + 0x210]
lea rcx, [rbp + 0x298]
call fcn.140063ae0
lea rdx, [rbp + 0x98]
lea rcx, [rbp + 0x298]
call fcn.140066640
mov rdx, rax
mov rcx, r13
call fcn.1400060d0
mov rdx, qword [rbp + 0xb0]
cmp rdx, 0x10
jb 0x140031489
inc rdx
mov rcx, qword [rbp + 0x98]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140031483
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140031f37
call fcn.1400a59a4
nop
lock xadd dword [rdi - 8], r14d
sub r14d, 1
jg 0x140031cfe
mov rcx, qword [rdi - 0x18]
mov rax, qword [rcx]
lea rdx, [rdi - 0x18]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
jmp 0x140031cfe
xorps xmm0, xmm0
xor eax, eax
movups xmmword [rbp + 0x2c0], xmm0
movups xmmword [rbp + 0x2d0], xmm0
movups xmmword [rbp + 0x2e0], xmm0
movups xmmword [rbp + 0x2f0], xmm0
mov qword [rbp + 0x300], rax
lea rax, vtable.CLicensing.0
mov qword [rbp + 0x2c0], rax
mov qword [rbp + 0x2c8], r12
mov qword [rbp + 0x2d8], r12
mov qword [rbp + 0x2e0], reloc.ACTIVEDS.dll_FreeADsMem
mov byte [rbp + 0x2c8], 0
call fcn.140004080
mov rcx, rax
test rax, rax
je 0x140031f3d
mov rax, qword [rax]
call qword [rax + 0x18]
add rax, 0x18
mov qword [rbp + 0x2f8], rax
xor r8d, r8d
lea rdx, [0x1400ff290]
lea rcx, [rbp + 0x2c8]
call fcn.140006590
mov qword [rbp + 0x2e8], r12
mov byte [rbp + 0x2f0], 0
call fcn.140004080
mov rcx, rax
test rax, rax
je 0x140031f48
mov rax, qword [rax]
call qword [rax + 0x18]
lea rdi, [rax + 0x18]
mov qword [rbp + 0x1c0], rdi
lea rax, [rbp - 0x68]
mov qword [rsp + 0x58], rax
lea rdx, [rbp + 0x270]
cmp qword [rbp + 0x288], 0x10
cmovae rdx, qword [rbp + 0x270]
lea rcx, [rbp + 0xb8]
call fcn.140013cc0
mov rbx, rax
cmp qword [rax + 0x18], 8
jb 0x1400315a3
mov rbx, qword [rax]
call fcn.140004080
mov rcx, rax
test rax, rax
je 0x140031f53
mov rax, qword [rax]
call qword [rax + 0x18]
add rax, 0x18
mov qword [rbp - 0x68], rax
test rbx, rbx
je 0x1400315ed
cmp rbx, 0x10000
jae 0x1400315de
movzx edx, bx
lea rcx, [rbp - 0x68]
call fcn.1400112e0
jmp 0x140031600
mov rax, r14
inc rax
cmp word [rbx + rax*2], 0
jne 0x1400315e1
jmp 0x1400315f0
mov eax, r12d
mov r8d, eax
mov rdx, rbx
lea rcx, [rbp - 0x68]
call fcn.140011410
nop
lea rdx, [rbp - 0x68]
lea rcx, [rbp + 0x2c0]
call fcn.140035390
nop
mov rdx, qword [rbp + 0xd0]
cmp rdx, 8
jb 0x140031657
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp + 0xb8]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140031652
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140031f5e
call fcn.1400a59a4
cmp dword [rbp + 0x300], 5
jne 0x140031a03
lea rdx, [rsp + 0x68]
call fcn.140032440
test al, al
jne 0x140031677
call fcn.140032070
lea rdx, [rsp + 0x68]
call fcn.140032440
test al, al
je 0x140031c82
movsd xmm6, qword [rsp + 0x68]
comisd xmm6, xmmword [0x14010c1d8]
ja 0x1400316af
movaps xmm0, xmm6
call fcn.1400ddd00
movaps xmm1, xmm6
subsd xmm1, xmm0
movaps xmm6, xmm0
subsd xmm6, xmm1
addsd xmm6, qword [0x14010c1c0]
comisd xmm6, xmmword [0x14010c1d8]
ja 0x1400316d7
movaps xmm0, xmm6
call fcn.1400df5b0
movaps xmm1, xmm0
subsd xmm1, xmm6
movaps xmm6, xmm1
addsd xmm6, xmm0
call fcn.140004080
mov rcx, rax
test rax, rax
je 0x140031f64
mov rax, qword [rax]
call qword [rax + 0x18]
add rax, 0x18
mov qword [rbp + 0x268], rax
xorps xmm0, xmm0
movups xmmword [rbp + 0x310], xmm0
mov edi, dword [rsp + 0x70]
test edi, edi
jne 0x140031727
lea rdx, [rbp + 0x310]
movaps xmm0, xmm6
call qword [sym.imp.OLEAUT32.dll_UnRegisterTypeLib]
cmp eax, 1
movzx esi, word [rbp + 0x316]
je 0x14003172a
mov esi, r14d
xorps xmm0, xmm0
movups xmmword [rbp + 0x320], xmm0
test edi, edi
jne 0x140031754
lea rdx, [rbp + 0x320]
movaps xmm0, xmm6
call qword [sym.imp.OLEAUT32.dll_UnRegisterTypeLib]
cmp eax, 1
movzx ebx, word [rbp + 0x322]
je 0x140031757
mov ebx, r14d
xorps xmm1, xmm1
movups xmmword [rbp + 0x330], xmm1
test edi, edi
jne 0x140031782
lea rdx, [rbp + 0x330]
movaps xmm0, xmm6
call qword [sym.imp.OLEAUT32.dll_UnRegisterTypeLib]
cmp eax, 1
movzx r8d, word [rbp + 0x330]
je 0x140031785
mov r8d, r14d
mov dword [rsp + 0x20], esi
mov r9d, ebx
lea rdx, [0x140105340]
lea rcx, [rbp + 0x268]
call fcn.1400196e0
lea rax, [rsp + 0x40]
mov qword [rsp + 0x58], rax
lea rax, [rbp - 0x60]
mov qword [rsp + 0x50], rax
mov rdi, qword [rbp + 0x268]
mov rcx, qword [rdi - 0x18]
mov rax, qword [rcx]
call qword [rax + 0x20]
mov rcx, rax
cmp dword [rdi - 8], 0
jl 0x1400317dc
cmp rax, qword [rdi - 0x18]
jne 0x1400317dc
lea rbx, [rdi - 0x18]
lock inc dword [rdi - 8]
jmp 0x140031812
mov rax, qword [rax]
mov r8d, 2
mov edx, dword [rdi - 0x10]
call qword [rax]
mov rbx, rax
test rax, rax
je 0x140031f6f
mov eax, dword [rdi - 0x10]
mov dword [rbx + 8], eax
mov r9d, dword [rdi - 0x10]
inc r9d
mov r8, rdi
movsxd rdx, r9d
lea rcx, [rbx + 0x18]
call fcn.140006ae0
lea rax, [rbx + 0x18]
mov qword [rsp + 0x40], rax
call fcn.140004080
mov rcx, rax
test rax, rax
je 0x140031f75
mov rax, qword [rax]
call qword [rax + 0x18]
add rax, 0x18
mov qword [rbp - 0x60], rax
lea rdx, str.expiryDate
lea rcx, [rbp - 0x60]
cmp rdx, 0x10000
jae 0x140031858
movzx edx, dx
call fcn.1400112e0
jmp 0x140031864
mov r8d, 0xa
call fcn.140011410
nop
lea r8, [rsp + 0x40]
lea rdx, [rbp - 0x60]
lea rcx, [rbp + 0x208]
call fcn.140005a90
lea rax, [rbp - 0x58]
mov qword [rsp + 0x58], rax
lea rax, [rbp - 0x50]
mov qword [rsp + 0x50], rax
call fcn.140004080
mov rcx, rax
test rax, rax
je 0x140031f80
mov rax, qword [rax]
call qword [rax + 0x18]
add rax, 0x18
mov qword [rbp - 0x58], rax
lea rax, [0x1400ff490]
lea rcx, [rbp - 0x58]
cmp rax, 0x10000
jae 0x1400318c7
movzx edx, ax
call fcn.1400112e0
jmp 0x1400318d3
xor r8d, r8d
mov rdx, rax
call fcn.140011410
nop
call fcn.140004080
mov rcx, rax
test rax, rax
je 0x140031f8b
mov rax, qword [rax]
call qword [rax + 0x18]
add rax, 0x18
mov qword [rbp - 0x50], rax
lea rdx, str.licenseKey
lea rcx, [rbp - 0x50]
cmp rdx, 0x10000
jae 0x140031910
movzx edx, dx
call fcn.1400112e0
jmp 0x14003191c
mov r8d, 0xa
call fcn.140011410
nop
lea r8, [rbp - 0x58]
lea rdx, [rbp - 0x50]
lea rcx, [rbp + 0x208]
call fcn.140005a90
cmp byte [rbp + 0x208], 0
je 0x14003195c
lea rcx, [rbp + 0x210]
call fcn.140065be0
test al, al
je 0x14003195c
lea rdx, [rbp + 0x210]
lea rcx, [rbp + 0x298]
call fcn.140063ae0
lea rdx, [rbp + 0xd8]
lea rcx, [rbp + 0x298]
call fcn.140066640
mov rdx, rax
mov rcx, r13
call fcn.1400060d0
mov rdx, qword [rbp + 0xf0]
cmp rdx, 0x10
jb 0x1400319bb
inc rdx
mov rcx, qword [rbp + 0xd8]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400319b6
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140031f96
call fcn.1400a59a4
mov rdx, r13
lea rcx, [rbp + 0x178]
call fcn.1400061c0
mov r8d, 1
mov rdx, rax
mov rcx, r15
call fcn.140032800
nop
mov eax, r14d
lock xadd dword [rdi - 8], eax
sub eax, 1
jg 0x1400319f7
mov rcx, qword [rdi - 0x18]
mov rax, qword [rcx]
lea rdx, [rdi - 0x18]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
mov rdi, qword [rbp + 0x1c0]
jmp 0x140031c82
mov rdx, qword [rbp + 0x2f8]
lea rbx, [rdx - 0x18]
lea rsi, [rdi - 0x18]
cmp rbx, rsi
je 0x140031abe
cmp dword [rsi + 0x10], 0
jl 0x140031aa7
mov rcx, qword [rbx]
cmp rcx, qword [rsi]
jne 0x140031aa7
mov rax, qword [rcx]
call qword [rax + 0x20]
mov rcx, rax
cmp dword [rbx + 0x10], 0
jl 0x140031a4a
cmp rax, qword [rbx]
jne 0x140031a4a
mov rdi, rbx
lock inc dword [rbx + 0x10]
jmp 0x140031a81
mov rax, qword [rax]
mov r8d, 1
mov edx, dword [rbx + 8]
call qword [rax]
mov rdi, rax
test rax, rax
je 0x140031f9c
mov eax, dword [rbx + 8]
mov dword [rdi + 8], eax
mov r9d, dword [rbx + 8]
inc r9d
lea r8, [rbx + 0x18]
movsxd rdx, r9d
lea rcx, [rdi + 0x18]
call fcn.140022ec0
mov eax, r14d
lock xadd dword [rsi + 0x10], eax
sub eax, 1
jg 0x140031a9a
mov rcx, qword [rsi]
mov rax, qword [rcx]
mov rdx, rsi
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
add rdi, 0x18
mov qword [rbp + 0x1c0], rdi
jmp 0x140031abe
mov r8d, dword [rdx - 0x10]
lea rcx, [rbp + 0x1c0]
call fcn.140022db0
mov rdi, qword [rbp + 0x1c0]
lea rax, [rbp - 0x78]
mov qword [rsp + 0x58], rax
lea rax, [rsp + 0x48]
mov qword [rsp + 0x50], rax
mov rdx, rdi
lea rcx, [rbp + 0xf8]
call fcn.140013cc0
mov rbx, rax
cmp qword [rax + 0x18], 8
jb 0x140031aed
mov rbx, qword [rax]
call fcn.140004080
mov rcx, rax
test rax, rax
je 0x140031fa2
mov rax, qword [rax]
call qword [rax + 0x18]
add rax, 0x18
mov qword [rbp - 0x78], rax
test rbx, rbx
je 0x140031b3c
cmp rbx, 0x10000
jae 0x140031b28
movzx edx, bx
lea rcx, [rbp - 0x78]
call fcn.1400112e0
jmp 0x140031b4f
mov rax, r14
nop dword [rax + rax]
inc rax
cmp word [rbx + rax*2], 0
jne 0x140031b30
jmp 0x140031b3f
mov eax, r12d
mov r8d, eax
mov rdx, rbx
lea rcx, [rbp - 0x78]
call fcn.140011410
nop
call fcn.140004080
mov rcx, rax
test rax, rax
je 0x140031fad
mov rax, qword [rax]
call qword [rax + 0x18]
add rax, 0x18
mov qword [rsp + 0x48], rax
lea rdx, str.expiryDate
lea rcx, [rsp + 0x48]
cmp rdx, 0x10000
jae 0x140031b8e
movzx edx, dx
call fcn.1400112e0
jmp 0x140031b9a
mov r8d, 0xa
call fcn.140011410
nop
lea r8, [rbp - 0x78]
lea rdx, [rsp + 0x48]
lea rcx, [rbp + 0x208]
call fcn.140005a90
nop
mov rdx, qword [rbp + 0x110]
cmp rdx, 8
jb 0x140031bf6
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp + 0xf8]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140031bf1
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140031fb8
call fcn.1400a59a4
cmp byte [rbp + 0x208], 0
je 0x140031c22
lea rcx, [rbp + 0x210]
call fcn.140065be0
test al, al
je 0x140031c22
lea rdx, [rbp + 0x210]
lea rcx, [rbp + 0x298]
call fcn.140063ae0
lea rdx, [rbp + 0x118]
lea rcx, [rbp + 0x298]
call fcn.140066640
mov rdx, rax
mov rcx, r13
call fcn.1400060d0
mov rdx, qword [rbp + 0x130]
cmp rdx, 0x10
jb 0x140031c82
inc rdx
mov rcx, qword [rbp + 0x118]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140031c7c
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140031fbe
call fcn.1400a59a4
nop
lea rdx, [rdi - 0x18]
mov eax, r14d
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x140031c9d
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rbp + 0x2f8]
add rdx, 0xffffffffffffffe8
lock xadd dword [rdx + 0x10], r14d
sub r14d, 1
jg 0x140031cbd
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
mov rdx, qword [rbp + 0x2e0]
cmp rdx, 0x10
jb 0x140031cfe
inc rdx
mov rcx, qword [rbp + 0x2c8]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140031cf9
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140031fc4
call fcn.1400a59a4
mov ebx, 1
mov rdx, qword [rbp + 0x1b8]
cmp rdx, 8
jb 0x140031d49
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp + 0x1a0]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140031d44
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140031fca
call fcn.1400a59a4
mov qword [rbp + 0x1b0], r12
mov qword [rbp + 0x1b8], 7
mov word [rbp + 0x1a0], r12w
mov rdx, qword [rbp + 0x200]
cmp rdx, 8
jb 0x140031da9
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp + 0x1e8]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140031da4
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140031fd0
call fcn.1400a59a4
mov qword [rbp + 0x1f8], r12
mov qword [rbp + 0x200], 7
mov word [rbp + 0x1e8], r12w
lea rcx, [rbp + 0x210]
call fcn.140063a70
nop
mov rdx, qword [rbp + 0x260]
cmp rdx, 0x10
jb 0x140031e11
inc rdx
mov rcx, qword [rbp + 0x248]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140031e0c
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140031fd6
call fcn.1400a59a4
mov qword [rbp + 0x258], r12
mov qword [rbp + 0x260], reloc.ACTIVEDS.dll_FreeADsMem
mov byte [rbp + 0x248], 0
mov rdx, qword [rbp + 0x288]
cmp rdx, 0x10
jb 0x140031e67
inc rdx
mov rcx, qword [rbp + 0x270]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140031e62
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140031eca
call fcn.1400a59a4
mov qword [rbp + 0x280], r12
mov qword [rbp + 0x288], reloc.ACTIVEDS.dll_FreeADsMem
mov byte [rbp + 0x270], 0
mov rdx, qword [rbp + 0x1e0]
cmp rdx, 8
jb 0x14003086d
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp + 0x1c8]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140030867
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140031ed0
jmp 0x140030867
call fcn.1400b4704
nop
call fcn.1400b4704
nop
call fcn.140003e70
nop
call fcn.1400b4704
nop
call fcn.1400b4704
nop
mov ecx, 0x80004005
call fcn.140003f50
nop
call fcn.1400b4704
nop
call fcn.140006ad0
nop
mov ecx, 0x80004005
call fcn.140003f50
nop
call fcn.1400b4704
nop
mov ecx, 0x80004005
call fcn.140003f50
int3
mov ecx, 0x80004005
call fcn.140003f50
nop
call fcn.140006ad0
nop
mov ecx, 0x80004005
call fcn.140003f50
nop
call fcn.1400b4704
nop
mov ecx, 0x80004005
call fcn.140003f50
nop
mov ecx, 0x80004005
call fcn.140003f50
nop
mov ecx, 0x80004005
call fcn.140003f50
nop
call fcn.1400b4704
int3
mov ecx, 0x80004005
call fcn.140003f50
nop
call fcn.140006ad0
nop
mov ecx, 0x80004005
call fcn.140003f50
nop
mov ecx, 0x80004005
call fcn.140003f50
nop
mov ecx, 0x80004005
call fcn.140003f50
nop
call fcn.1400b4704
nop
call fcn.140006ad0
nop
mov ecx, 0x80004005
call fcn.140003f50
nop
mov ecx, 0x80004005
call fcn.140003f50
nop
call fcn.1400b4704
int3
call fcn.1400b4704
nop
call fcn.1400b4704
nop
call fcn.1400b4704
nop
call fcn.1400b4704
nop
call fcn.1400b4704
int3