Function at 0x14007e6a0
Capabilities:
Read .ini file
Set file attributes

Disassembly:
push rbp
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x15270]
mov eax, 0x15370
call fcn.14024c240
sub rsp, rax
mov qword [rbp - 0x50], 0xfffffffffffffffe
mov qword [rsp + 0x153a0], rbx
mov qword [rsp + 0x153a8], rsi
mov qword [rsp + 0x153b0], rdi
mov rax, qword [0x140398250]
xor rax, rsp
mov qword [rbp + 0x15260], rax
xor r8d, r8d
lea rdx, str.CBaseFuncSub::FS_CreateGetDevInfoIni
lea rcx, [rbp - 0x80]
call fcn.1400075a0
nop
mov dword [rsp + 0x48], 0xa
mov eax, dword [0x1402edb5c]
mov dword [rbp + 0x1f0], eax
movzx eax, word [0x1402edb60]
mov word [rbp + 0x1f4], ax
xor r14d, r14d
mov r12d, r14d
mov ebx, r14d
lea rax, [fcn.14001fec0]
mov qword [rsp + 0x20], rax
lea r9, [0x1400058c0]
lea edx, [r14 + 8]
lea r8d, [r14 + 0x40]
lea rcx, [rbp - 0x10]
call fcn.1402472e0
nop
xor edx, edx
mov r8d, 0x800
lea rcx, [rbp + 0x1e30]
call fcn.14024b970
xor edx, edx
mov r8d, 0x200
lea rcx, [rbp + 0xc10]
call fcn.14024b970
xor edx, edx
mov r8d, 0x410
lea rcx, [rbp + 0xe10]
call fcn.14024b970
mov rcx, qword [0x1403b9750]
mov rax, qword [rcx]
call qword [rax + 0x48]
mov rdi, qword [rax]
lea r8, [rbp + 0x1220]
lea rdx, str.TEMPPATH
mov rcx, rax
call qword [rdi + 0x18]
lea r8, [0x1402e5094]
mov edx, 0x400
lea rcx, [rbp + 0x1220]
call fcn.140246470
lea r8, str.InsDrv.ini
mov edx, 0x400
lea rcx, [rbp + 0x1220]
call fcn.140246470
xor edx, edx
mov r8d, 0x80
lea rcx, [rbp + 0x2e0]
call fcn.14024b970
xor edx, edx
mov r8d, 0x80
lea rcx, [rbp + 0x360]
call fcn.14024b970
xor edx, edx
mov r8d, 0x208
lea rcx, [rbp + 0x5f0]
call fcn.14024b970
xor edx, edx
mov qword [rbp + 0x238], rdx
mov qword [rbp + 0x240], rdx
mov qword [rbp + 0x248], rdx
mov qword [rbp + 0x250], rdx
xor eax, eax
mov qword [rbp + 0x218], rax
mov qword [rbp + 0x220], rax
mov qword [rbp + 0x228], rax
mov qword [rbp + 0x230], rax
mov qword [rbp + 0x1f8], rax
mov qword [rbp + 0x200], rax
mov qword [rbp + 0x208], rax
mov qword [rbp + 0x210], rax
mov word [rbp + 0x2a40], r14w
mov r8d, 0x7fe
lea rcx, [rbp + 0x2a42]
call fcn.14024b970
mov rcx, qword [0x1403b9750]
mov rax, qword [rcx]
call qword [rax + 0x48]
mov rdi, qword [rax]
lea r8, [rbp + 0x2a40]
lea rdx, str.PDL_TYPE
mov rcx, rax
call qword [rdi + 0x18]
lea rsi, [rbp + 0x2a40]
lea rdi, str.LIPS4
mov ecx, 6
repe cmpsw word [rsi], word [rdi]
jne 0x14007ea13
mov rcx, qword [0x1403b9750]
mov rax, qword [rcx]
call qword [rax + 0x48]
mov rdi, qword [rax]
lea r8, [rbp + 0x238]
lea rdx, str.GETDEVLEVEL
mov rcx, rax
call qword [rdi + 0x18]
mov rcx, qword [0x1403b9750]
mov rax, qword [rcx]
call qword [rax + 0x48]
mov rdi, qword [rax]
lea r8, [rbp + 0x218]
lea rdx, str.DIASINSTALLFLAG
mov rcx, rax
call qword [rdi + 0x18]
mov rcx, qword [0x1403b9750]
mov rax, qword [rcx]
call qword [rax + 0x48]
mov rdi, qword [rax]
lea r8, [rbp + 0x1f8]
lea rdx, [0x1402dda38]
mov rcx, rax
call qword [rdi + 0x18]
lea rdx, [rbp + 0x1220]
mov qword [rsp + 0x28], rdx
mov dword [rsp + 0x20], 0x104
lea r9, [rbp + 0x5f0]
lea r8, [0x1402dc4e0]
lea rdx, str.Product
lea rcx, str.Installer_Info
call qword [sym.imp.KERNEL32.dll_GetPrivateProfileStringW]
lea rdx, [rbp + 0x1220]
mov qword [rsp + 0x28], rdx
mov dword [rsp + 0x20], 0x40
lea r9, [rbp + 0x2e0]
lea r8, [0x1402dc4e0]
lea rdx, str.MajorVersion
lea rcx, str.DIAS
call qword [sym.imp.KERNEL32.dll_GetPrivateProfileStringW]
lea rdx, [rbp + 0x1220]
mov qword [rsp + 0x28], rdx
mov dword [rsp + 0x20], 0x40
lea r9, [rbp + 0x360]
lea r8, [0x1402dc4e0]
lea rdx, str.MinorVersion
lea rcx, str.DIAS
call qword [sym.imp.KERNEL32.dll_GetPrivateProfileStringW]
lea rdx, [rbp + 0x5f0]
mov qword [rsp + 0x28], rdx
lea rax, [rbp + 0x360]
mov qword [rsp + 0x20], rax
lea r9, [rbp + 0x2e0]
lea r8, str._t_t_t_MajorVer_s__MinorVer_s__Product_s_.
lea edx, [r14 + 7]
lea rcx, [rbp - 0x80]
call fcn.140007780
mov edx, 0x20
lea rcx, [rbp + 0x1220]
call qword [sym.imp.KERNEL32.dll_SetFileAttributesW]
lea r9, [rbp + 0x1220]
mov r8d, 0x7fff
lea rdx, [rbp + 0x5260]
lea rcx, str.GetDevInfoPrinters
call qword [sym.imp.KERNEL32.dll_GetPrivateProfileSectionW]
call fcn.140102a14
mov rdi, rax
mov ecx, r14d
test rax, rax
setne cl
test ecx, ecx
jne 0x14007ea66
mov ecx, 0x80004005
call fcn.140005210
int3
mov rax, qword [rax]
mov edx, 0x7fff
mov r8d, 2
mov rcx, rdi
call qword [rax]
test rax, rax
jne 0x14007ea84
call fcn.140020970
int3
lea rcx, [rax + 0x18]
mov qword [rsp + 0x50], rcx
cmp dword [rcx - 0xc], 0x7fff
jge 0x14007eaa1
mov ecx, 0x80070057
call fcn.140005210
int3
mov dword [rcx - 0x10], 0x7fff
mov word [rcx + 0xfffe], r14w
mov r9d, 0xfffe
lea r8, [rbp + 0x5260]
mov edx, r9d
call fcn.1402471ac
nop
xor edx, edx
lea r8d, [rdx + 0xa]
lea rcx, [rsp + 0x50]
call fcn.140064b10
mov edx, 0x3b
lea r8d, [rdx - 0x31]
lea rcx, [rsp + 0x50]
call fcn.140064b10
mov rdi, qword [rsp + 0x50]
or r15, 0xffffffffffffffff
cmp dword [rdi - 0x10], 0
jge 0x14007eafd
mov eax, r15d
jmp 0x14007eb1c
lea rdx, [rbp + 0x1f0]
mov rcx, rdi
call fcn.140245e24
test rax, rax
jne 0x14007eb16
mov eax, r15d
jmp 0x14007eb1c
sub rax, rdi
sar rax, 1
mov r8d, eax
lea rdx, [rsp + 0x40]
lea rcx, [rsp + 0x50]
call fcn.14000d770
nop
xor eax, eax
mov rcx, r15
lea rdi, [rsp + 0x48]
repne scasw ax, word [rdi]
not rcx
lea r8d, [rcx - 1]
lea rdx, [rsp + 0x48]
lea rcx, [rsp + 0x40]
call fcn.140005f90
mov rdi, qword [rsp + 0x40]
lea r13, [rdi - 0x10]
nop dword [rax + rax]
test ebx, ebx
js 0x14007ebf6
cmp ebx, dword [r13]
jge 0x14007ebf6
mov edx, 0xa
movsxd rax, ebx
lea rcx, [rdi + rax*2]
call fcn.140247344
mov rsi, rax
test rax, rax
je 0x14007ebf6
sub rsi, rdi
sar rsi, 1
test esi, esi
jle 0x14007ebf6
cmp r12d, 0x100
jge 0x14007ebf6
mov r9d, esi
sub r9d, ebx
mov r8d, ebx
lea rdx, [rbp - 0x68]
lea rcx, [rsp + 0x40]
call fcn.14000d690
nop
movsxd rcx, r12d
lea rcx, [rbp + rcx*8 - 0x10]
mov rdx, rax
call fcn.140006100
nop
mov rdx, qword [rbp - 0x68]
add rdx, 0xffffffffffffffe8
mov eax, r15d
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x14007ebe6
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
lea ebx, [rsi + 1]
inc r12d
mov rdi, qword [rsp + 0x40]
jmp 0x14007eb60
xor edx, edx
mov r8d, 0x208
lea rcx, [rbp + 0x3e0]
call fcn.14024b970
xor edx, edx
mov r8d, 0x80
lea rcx, [rbp + 0x260]
call fcn.14024b970
lea rdx, [rbp + 0x1220]
mov qword [rsp + 0x28], rdx
mov dword [rsp + 0x20], 0x104
lea r9, [rbp + 0x3e0]
lea r8, [0x1402dc4e0]
lea rdx, str.Product
lea rcx, str.Installer_Info
call qword [sym.imp.KERNEL32.dll_GetPrivateProfileStringW]
test eax, eax
je 0x14007ec90
cmp word [rbp + 0x3e0], 0
je 0x14007ec90
lea rdx, [rbp + 0x3e0]
lea rcx, [rbp + 0x260]
call qword [sym.imp.KERNEL32.dll_lstrcpyW]
lea r8, str..ini
mov edx, 0x104
lea rcx, [rbp + 0x3e0]
call fcn.140246470
jmp 0x14007ecb8
lea rdx, str.PrinterDriverInstaller
lea rcx, [rbp + 0x260]
call qword [sym.imp.KERNEL32.dll_lstrcpyW]
lea rdx, str.GetDevInfo.ini
lea rcx, [rbp + 0x3e0]
call qword [sym.imp.KERNEL32.dll_lstrcpyW]
mov rcx, qword [0x1403b9750]
mov rax, qword [rcx]
call qword [rax + 0x48]
mov rsi, qword [rax]
lea r8, [rbp + 0x3e0]
lea rdx, str.GETDEVININAME
mov rcx, rax
call qword [rsi + 0x20]
mov rcx, qword [0x1403b9750]
mov rax, qword [rcx]
call qword [rax + 0x48]
mov rsi, qword [rax]
lea r8, [rbp + 0x260]
lea rdx, str.GETDEVRUNONCEVALUENAME
mov rcx, rax
call qword [rsi + 0x20]
mov rcx, qword [0x1403b9750]
mov rax, qword [rcx]
call qword [rax + 0x48]
mov rsi, qword [rax]
lea r8, [rbp + 0x1e30]
lea rdx, str.ProgramFilesFolder
mov rcx, rax
call qword [rsi + 0x18]
lea r9, str.CanonGetDev
lea r8, [rbp + 0x1e30]
lea rdx, [0x1402e3978]
lea rcx, [rbp + 0x1e30]
call qword [sym.imp.USER32.dll_wsprintfW]
lea r9, [rbp + 0x3e0]
lea r8, [rbp + 0x1e30]
lea rdx, [0x1402dd6b0]
lea rcx, [rbp + 0xc10]
call qword [sym.imp.USER32.dll_wsprintfW]
mov r8d, 0x5001
lea rdx, [rbp + 0xc10]
lea rcx, [rbp - 0x48]
call fcn.14011afe8
nop
lea rdx, str._GetDevicePrinters__n
lea rcx, [rbp - 0x48]
call fcn.14011a86c
mov rcx, qword [0x1403b9750]
mov rax, qword [rcx]
call qword [rax + 0x18]
mov rdx, qword [rax]
mov rcx, rax
call qword [rdx + 0x28]
mov r13d, eax
mov dword [rsp + 0x78], eax
mov ebx, r14d
mov dword [rsp + 0x3c], ebx
movsxd r12, r12d
mov qword [rbp - 0x60], r12
test eax, eax
jle 0x14007f59c
mov esi, r15d
xor edx, edx
mov r8d, 0x410
lea rcx, [rbp + 0x2630]
call fcn.14024b970
mov rcx, qword [0x1403b9750]
mov rax, qword [rcx]
call qword [rax + 0x18]
mov rdi, qword [rax]
mov edx, ebx
mov rcx, rax
call qword [rdi + 0x68]
lea r8, [rax + 8]
mov edx, 0x208
lea rcx, [rbp + 0x2630]
call fcn.140246628
mov r11, r14
test r12, r12
jle 0x14007f550
nop word [rax + rax]
mov rdi, qword [rbp + r11*8 - 0x10]
lea rax, [rbp + 0x2630]
sub rdi, rax
nop
movzx edx, word [rax]
movzx ecx, word [rax + rdi]
sub edx, ecx
jne 0x14007ee43
add rax, 2
test ecx, ecx
jne 0x14007ee30
test edx, edx
cmove esi, r14d
inc r11
cmp r11, r12
jl 0x14007ee20
test esi, esi
jne 0x14007f550
lea rcx, str.LIPS4
call fcn.140023e50
test eax, eax
je 0x14007f426
mov rcx, qword [0x1403b9750]
mov rax, qword [rcx]
call qword [rax + 0x48]
mov rdi, qword [rax]
lea r8, [rbp + 0x3a60]
lea rdx, str.GETDEVLEVEL
mov rcx, rax
call qword [rdi + 0x18]
lea rcx, [rbp + 0x3a60]
call fcn.14024740c
cmp eax, 0xa
jne 0x14007f426
mov rcx, qword [0x1403b9750]
mov rax, qword [rcx]
call qword [rax + 0x48]
mov rdi, qword [rax]
lea r8, [rbp + 0x4a60]
lea rdx, str.DIASINSTALLFLAG
mov rcx, rax
call qword [rdi + 0x18]
lea rdx, [0x1402e2d90]
lea rcx, [rbp + 0x4a60]
call qword [sym.imp.KERNEL32.dll_lstrcmpW]
test eax, eax
je 0x14007ef18
mov rcx, qword [0x1403b9758]
mov rax, qword [rcx]
call qword [rax + 0x20]
mov rdi, qword [rax]
lea r9, [rbp + 0x5f0]
lea r8, [rbp + 0x360]
lea rdx, [rbp + 0x2e0]
mov rcx, rax
call qword [rdi + 0x200]
test eax, eax
je 0x14007f426
lea rdx, [0x1402e2d90]
lea rcx, [rbp + 0x1f8]
call qword [sym.imp.KERNEL32.dll_lstrcmpiW]
test eax, eax
je 0x14007f426
mov rcx, qword [0x1403b9750]
mov rax, qword [rcx]
call qword [rax + 0x48]
mov rdi, qword [rax]
lea r8, [rbp + 0x4260]
lea rdx, str.INSTALLATION_SELECT
mov rcx, rax
call qword [rdi + 0x18]
lea rcx, [rbp + 0x4260]
call fcn.14024740c
test eax, eax
jne 0x14007f426
xor edx, edx
mov r8d, 0x410
lea rcx, [rbp + 0x800]
call fcn.14024b970
xor edx, edx
mov r8d, 0x410
lea rcx, [rbp + 0x1a20]
call fcn.14024b970
lea r8, [0x1402deb90]
mov edx, 0x208
lea rcx, [rbp + 0x800]
call fcn.140246628
mov rcx, qword [0x1403b9750]
mov rax, qword [rcx]
call qword [rax + 0x18]
mov rdi, qword [rax]
mov edx, ebx
mov rcx, rax
call qword [rdi + 0x68]
lea r8, [rax + 0x418]
mov edx, 0x208
lea rcx, [rbp + 0x800]
call fcn.140246470
lea r8, [0x1402deb90]
mov edx, 0x208
lea rcx, [rbp + 0x800]
call fcn.140246470
mov rcx, qword [0x1403b9750]
mov rax, qword [rcx]
call qword [rax + 0x18]
mov rdi, qword [rax]
mov edx, ebx
mov rcx, rax
call qword [rdi + 0x68]
lea r8, [rax + 0x828]
mov edx, 0x208
lea rcx, [rbp + 0x1a20]
call fcn.140246628
lea rdx, [rsp + 0x34]
mov qword [rsp + 0x28], rdx
lea rax, [rsp + 0x30]
mov qword [rsp + 0x20], rax
xor r9d, r9d
xor r8d, r8d
lea edx, [r9 + 2]
xor ecx, ecx
call qword [sym.imp.WINSPOOL.DRV_EnumPortsW]
mov edx, dword [rsp + 0x30]
mov ecx, 0x40
call qword [sym.imp.KERNEL32.dll_GlobalAlloc]
mov rdi, rax
mov qword [rbp - 0x58], rax
test rax, rax
je 0x14007f418
lea rax, [rsp + 0x34]
mov qword [rsp + 0x28], rax
lea rax, [rsp + 0x30]
mov qword [rsp + 0x20], rax
mov r9d, dword [rsp + 0x30]
mov r8, rdi
mov edx, 2
xor ecx, ecx
call qword [sym.imp.WINSPOOL.DRV_EnumPortsW]
test eax, eax
je 0x14007f418
xor esi, esi
mov dword [rsp + 0x38], esi
cmp dword [rsp + 0x34], esi
jbe 0x14007f415
mov r14, rdi
nop dword [rax]
mov r9, qword [r14]
lea r8, str._t_t_tPINFO___s.
mov edx, 7
lea rcx, [rbp - 0x80]
call fcn.140007780
lea r9, [rbp + 0x1a20]
lea r8, str._t_t_tCheckPort___s.
mov edx, 7
lea rcx, [rbp - 0x80]
call fcn.140007780
call fcn.140102a14
mov ecx, esi
test rax, rax
setne cl
test ecx, ecx
je 0x14007f58c
mov rdx, qword [rax]
mov rcx, rax
call qword [rdx + 0x18]
lea rbx, [rax + 0x18]
mov qword [rsp + 0x68], rbx
call fcn.140102a14
mov ecx, esi
test rax, rax
setne cl
test ecx, ecx
je 0x14007f581
mov rdx, qword [rax]
mov rcx, rax
call qword [rdx + 0x18]
lea r12, [rax + 0x18]
mov qword [rsp + 0x60], r12
call fcn.140102a14
mov ecx, esi
test rax, rax
setne cl
test ecx, ecx
je 0x14007f576
mov rdx, qword [rax]
mov rcx, rax
call qword [rdx + 0x18]
lea r13, [rax + 0x18]
mov qword [rsp + 0x58], r13
call fcn.140102a14
mov ecx, esi
test rax, rax
setne cl
test ecx, ecx
je 0x14007f56b
mov rdx, qword [rax]
mov rcx, rax
call qword [rdx + 0x18]
lea rdi, [rax + 0x18]
mov qword [rsp + 0x70], rdi
call fcn.140102a14
mov ecx, esi
test rax, rax
setne cl
test ecx, ecx
je 0x14007f560
mov rdx, qword [rax]
mov rcx, rax
call qword [rdx + 0x18]
lea rsi, [rax + 0x18]
mov qword [rbp - 0x70], rsi
mov ecx, 0x7d2
call fcn.1401027e8
test rax, rax
je 0x14007f1cd
mov r8d, 0x7d2
mov rdx, rax
lea rcx, [rsp + 0x68]
call fcn.140005b00
mov rbx, qword [rsp + 0x68]
mov ecx, 0x7d3
call fcn.1401027e8
test rax, rax
je 0x14007f1f4
mov r8d, 0x7d3
mov rdx, rax
lea rcx, [rsp + 0x60]
call fcn.140005b00
mov r12, qword [rsp + 0x60]
mov ecx, 0x7d4
call fcn.1401027e8
test rax, rax
je 0x14007f21b
mov r8d, 0x7d4
mov rdx, rax
lea rcx, [rsp + 0x58]
call fcn.140005b00
mov r13, qword [rsp + 0x58]
mov ecx, 0x7d5
call fcn.1401027e8
test rax, rax
je 0x14007f242
mov r8d, 0x7d5
mov rdx, rax
lea rcx, [rsp + 0x70]
call fcn.140005b00
mov rdi, qword [rsp + 0x70]
mov ecx, 0x7d6
call fcn.1401027e8
test rax, rax
je 0x14007f267
mov r8d, 0x7d6
mov rdx, rax
lea rcx, [rbp - 0x70]
call fcn.140005b00
mov rsi, qword [rbp - 0x70]
mov rdx, rbx
mov rcx, qword [r14 + 0x10]
call qword [sym.imp.KERNEL32.dll_lstrcmpiW]
test eax, eax
je 0x14007f2f1
mov rdx, rsi
mov rcx, qword [r14 + 0x10]
call qword [sym.imp.KERNEL32.dll_lstrcmpiW]
test eax, eax
je 0x14007f2f1
mov rdx, r12
mov rcx, qword [r14 + 0x10]
call qword [sym.imp.KERNEL32.dll_lstrcmpiW]
test eax, eax
jne 0x14007f2bd
lea r8d, [rax + 3]
mov rdx, rdi
mov rcx, qword [r14]
call fcn.140249654
test eax, eax
jne 0x14007f2bd
lea edx, [rax + 0x3a]
mov rcx, qword [r14]
call fcn.140249468
test rax, rax
jne 0x14007f2f1
mov rdx, r13
mov rcx, qword [r14 + 0x10]
call qword [sym.imp.KERNEL32.dll_lstrcmpiW]
test eax, eax
jne 0x14007f348
lea r8d, [rax + 3]
mov rdx, rdi
mov rcx, qword [r14]
call fcn.140249654
test eax, eax
jne 0x14007f348
lea edx, [rax + 0x3a]
mov rcx, qword [r14]
call fcn.140249468
test rax, rax
je 0x14007f348
lea rdx, [rbp + 0x1a20]
mov rcx, qword [r14]
call qword [sym.imp.KERNEL32.dll_lstrcmpiW]
test eax, eax
jne 0x14007f348
lea r9, [rbp + 0x800]
lea r8, str._t_t_tTargetPrinter__s__uses_LPT:_or_USB_port.
lea edx, [rax + 7]
lea rcx, [rbp - 0x80]
call fcn.140007780
lea r8, reloc.WSOCK32.dll_inet_addr
mov edx, 0x208
lea rcx, [rbp + 0x800]
call fcn.140246470
lea rdx, [rbp + 0x800]
lea rcx, [rbp - 0x48]
call fcn.14011a86c
nop
lea rdx, [rsi - 0x18]
mov eax, r15d
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x14007f364
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rsp + 0x70]
add rdx, 0xffffffffffffffe8
mov eax, r15d
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x14007f385
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rsp + 0x58]
add rdx, 0xffffffffffffffe8
mov eax, r15d
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x14007f3a6
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rsp + 0x60]
add rdx, 0xffffffffffffffe8
mov eax, r15d
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x14007f3c7
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rsp + 0x68]
add rdx, 0xffffffffffffffe8
mov eax, r15d
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x14007f3e7
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
mov edi, dword [rsp + 0x38]
inc edi
mov dword [rsp + 0x38], edi
add r14, 0x20
cmp edi, dword [rsp + 0x34]
mov esi, 0
jb 0x14007f0b0
mov rdi, qword [rbp - 0x58]
mov ebx, dword [rsp + 0x3c]
mov r12, qword [rbp - 0x60]
mov r13d, dword [rsp + 0x78]
xor r14d, r14d
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_GlobalFree]
jmp 0x14007f550
mov rcx, qword [0x1403b9750]
mov rax, qword [rcx]
call qword [rax + 0x18]
mov rdi, qword [rax]
mov edx, ebx
mov rcx, rax
call qword [rdi + 0x68]
lea r8, [rax + 0x418]
mov edx, 0x208
lea rcx, [rbp + 0x3650]
call fcn.140246628
mov rcx, qword [0x1403b9750]
mov rax, qword [rcx]
call qword [rax + 0x18]
mov rdi, qword [rax]
mov edx, ebx
mov rcx, rax
call qword [rdi + 0x68]
lea r8, [rax + 0x828]
mov edx, 0x208
lea rcx, [rbp + 0x3240]
call fcn.140246628
mov r8d, 2
lea rdx, [0x1402f0008]
lea rcx, [rbp + 0x3650]
call fcn.1402489b0
test eax, eax
je 0x14007f550
mov r8d, 2
lea rdx, [0x1402f0008]
lea rcx, [rbp + 0x3240]
call fcn.1402489b0
test eax, eax
je 0x14007f550
lea r8, [0x1402deb90]
mov edx, 0x208
lea rcx, [rbp + 0xe10]
call fcn.140246628
mov rcx, qword [0x1403b9750]
mov rax, qword [rcx]
call qword [rax + 0x18]
mov rdi, qword [rax]
mov edx, ebx
mov rcx, rax
call qword [rdi + 0x68]
lea r8, [rax + 0x418]
mov edx, 0x208
lea rcx, [rbp + 0xe10]
call fcn.140246470
lea r8, [0x1402deb90]
mov edx, 0x208
lea rcx, [rbp + 0xe10]
call fcn.140246470
lea r8, reloc.WSOCK32.dll_inet_addr
mov edx, 0x208
lea rcx, [rbp + 0xe10]
call fcn.140246470
lea rdx, [rbp + 0xe10]
lea rcx, [rbp - 0x48]
call fcn.14011a86c
inc ebx
mov dword [rsp + 0x3c], ebx
cmp ebx, r13d
jge 0x14007f597
jmp 0x14007edc2
mov ecx, 0x80004005
call fcn.140005210
nop
mov ecx, 0x80004005
call fcn.140005210
nop
mov ecx, 0x80004005
call fcn.140005210
nop
mov ecx, 0x80004005
call fcn.140005210
nop
mov ecx, 0x80004005
call fcn.140005210
int3
mov rdi, qword [rsp + 0x40]
lea rcx, [rbp - 0x48]
call fcn.14011aaf8
mov r9d, 1
lea r8, str.return___08x
lea edx, [r9 + 1]
lea rcx, [rbp - 0x80]
call fcn.140007780
nop
lea rcx, [rbp - 0x48]
call fcn.14011abd0
nop
lea rdx, [rdi - 0x18]
mov eax, r15d
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x14007f5e6
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rsp + 0x50]
add rdx, 0xffffffffffffffe8
lock xadd dword [rdx + 0x10], r15d
dec r15d
test r15d, r15d
jg 0x14007f607
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
lea r9, [fcn.14001fec0]
mov edx, 8
lea r8d, [rdx + 0x38]
lea rcx, [rbp - 0x10]
call fcn.140247280
nop
lea rcx, [rbp - 0x80]
call fcn.140007730
mov eax, 1
mov rcx, qword [rbp + 0x15260]
xor rcx, rsp
call fcn.140245660
lea r11, [rsp + 0x15370]
mov rbx, qword [r11 + 0x30]
mov rsi, qword [r11 + 0x38]
mov rdi, qword [r11 + 0x40]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rbp
ret