Function at 0x1400afd10
Capabilities:
Load assembly via iassembly

Disassembly:
push rbx
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x250
mov qword [rsp + 0x1c8], 0xfffffffffffffffe
mov rax, qword [0x140148058]
xor rax, rsp
mov qword [rsp + 0x240], rax
mov qword [rsp + 0x188], r9
mov rdi, r8
mov qword [rsp + 0x1a8], r8
mov qword [rsp + 0x1b8], rdx
mov qword [rsp + 0x1b0], rcx
mov qword [rsp + 0x168], r9
mov rcx, qword [rsp + 0x2b0]
mov qword [rsp + 0x180], rcx
mov r8, qword [rsp + 0x2b8]
mov qword [rsp + 0xd0], r8
lea rax, [0x140148ea8]
mov rbx, qword [0x140148ea8]
mov esi, 1
cmp rbx, rax
je 0x1400afdd6
test byte [rbx + 0x1c], sil
je 0x1400afdd6
cmp byte [rbx + 0x19], 5
jb 0x1400afdd6
mov edx, 0x10c
mov qword [rsp + 0x30], r8
mov qword [rsp + 0x28], rcx
mov qword [rsp + 0x20], r9
mov r9, qword [rdi]
mov rcx, qword [rbx + 0x10]
call fcn.14009e7a0
mov rbx, qword [0x140148ea8]
xor r15d, r15d
mov eax, r15d
mov dword [rsp + 0x60], eax
mov qword [rsp + 0x130], r15
mov qword [rsp + 0x110], r15
mov qword [rsp + 0x160], r15
mov qword [rsp + 0x128], r15
mov qword [rsp + 0x58], r15
mov dword [rsp + 0xd8], r15d
mov qword [rsp + 0x118], r15
mov dword [rsp + 0xc0], r15d
mov dword [rsp + 0x54], eax
mov dword [rsp + 0x50], eax
mov eax, esi
mov dword [rsp + 0x68], eax
mov dword [rsp + 0x80], eax
mov r12, qword [rdi]
cmp dword [r12 - 0x10], r15d
jl 0x1400b0674
lea rdx, [0x14000676c]
mov rcx, r12
call fcn.140029900
mov r14, rax
test rax, rax
je 0x1400b0674
sub r14, r12
sar r14, 1
or r13, 0xffffffffffffffff
cmp r14d, r13d
je 0x1400b0678
mov r8d, r14d
lea rdx, [rsp + 0x198]
mov rcx, rdi
call fcn.1400110ec
cmp qword [rax], r15
jne 0x1400afe90
mov qword [rsp + 0x158], r15
jmp 0x1400afeb4
mov rcx, qword [rax]
call qword [sym.imp.OLEAUT32.dll_SysReAllocString]
mov qword [rsp + 0x158], rax
test rax, rax
jne 0x1400afeb4
mov ecx, 0x8007000e
call fcn.1400119f0
nop
jmp 0x1400afeb3
nop
mov r12, qword [rsp + 0x198]
mov eax, r13d
lock xadd dword [r12 - 8], eax
add eax, r13d
test eax, eax
jg 0x1400afef4
mov rdi, qword [r12 - 0x18]
mov rax, qword [rdi]
mov rbx, qword [rax + 8]
mov rcx, rbx
call qword [fcn.140015690]
lea rdx, [r12 - 0x18]
mov rcx, rdi
call rbx
mov rdi, qword [rsp + 0x1a8]
lea r8d, [r14 + 1]
lea rdx, [rsp + 0x1a0]
mov rcx, rdi
call fcn.140010ffc
mov rbx, qword [rax]
test rbx, rbx
je 0x1400aff39
xor ecx, ecx
call qword [sym.imp.OLEAUT32.dll_SysStringLen]
mov rcx, rbx
call qword [sym.imp.OLEAUT32.dll_SysReAllocString]
mov qword [rsp + 0x128], rax
test rax, rax
jne 0x1400aff39
mov ecx, 0x8007000e
call fcn.1400119f0
int3
mov r14, qword [rsp + 0x1a0]
mov eax, r13d
lock xadd dword [r14 - 8], eax
add eax, r13d
test eax, eax
jg 0x1400aff6e
mov rdi, qword [r14 - 0x18]
mov rax, qword [rdi]
mov rbx, qword [rax + 8]
mov rcx, rbx
call qword [fcn.140015690]
lea rdx, [r14 - 0x18]
mov rcx, rdi
call rbx
mov rdi, qword [rsp + 0x1b0]
mov rdi, qword [rdi + 0x1d8]
mov rax, qword [rdi]
mov rbx, qword [rax + 0x20]
mov rcx, rbx
call qword [fcn.140015690]
lea r9, [rsp + 0x130]
mov r8, qword [rsp + 0x128]
mov rdx, qword [rsp + 0x158]
mov rcx, rdi
call rbx
mov r14d, eax
test eax, eax
jns 0x1400afff0
mov rcx, qword [0x140148ea8]
lea rbx, [0x140148ea8]
cmp rcx, rbx
je 0x1400afff7
mov r12d, 2
test byte [rcx + 0x1c], r12b
je 0x1400afffd
cmp byte [rcx + 0x19], r12b
jb 0x1400afffd
mov edx, 0x10e
mov r9d, eax
lea r8, [0x1400090a8]
mov rcx, qword [rcx + 0x10]
call fcn.14000fd64
jmp 0x1400afffd
lea rbx, [0x140148ea8]
mov r12d, 2
mov rcx, qword [rsp + 0x158]
call qword [sym.imp.OLEAUT32.dll_SysStringLen]
test r14d, r14d
js 0x1400b06b7
lea rax, [rsp + 0x110]
mov qword [rsp + 0x20], rax
lea r9, [0x140001228]
mov r8d, esi
xor edx, edx
lea rcx, [0x140001238]
call qword [sym.imp.ole32.dll_CoCreateInstance]
mov r14d, eax
test eax, eax
jns 0x1400b0076
mov rcx, qword [0x140148ea8]
cmp rcx, rbx
je 0x1400b06b7
test byte [rcx + 0x1c], r12b
je 0x1400b06b7
cmp byte [rcx + 0x19], r12b
jb 0x1400b06b7
mov edx, 0x10f
mov r9d, eax
mov rcx, qword [rcx + 0x10]
jmp 0x1400b06ab
mov rbx, qword [rsp + 0x110]
mov rax, qword [rbx]
mov rdi, qword [rax + 0x208]
mov rcx, rdi
call qword [fcn.140015690]
lea r8, [rsp + 0xa8]
mov rdx, qword [rsp + 0x1b8]
mov rcx, rbx
call rdi
mov r14d, eax
jmp 0x1400b00ea
lea rbx, [0x140148ea8]
test r14d, r14d
js 0x1400b0101
cmp r15w, word [rsp + 0xa8]
jne 0x1400b0146
mov r14d, 0x8007000d
mov rcx, qword [0x140148ea8]
cmp rcx, rbx
je 0x1400b06b7
test byte [rcx + 0x1c], r12b
je 0x1400b06b7
cmp byte [rcx + 0x19], r12b
jb 0x1400b06b7
mov edx, 0x110
mov r9d, 0x8007000d
lea r8, [0x1400090a8]
mov rcx, qword [rcx + 0x10]
call fcn.14000fd64
test r14d, r14d
js 0x1400b06b7
mov qword [rsp + 0x178], r15
mov rbx, qword [rsp + 0x110]
mov rax, qword [rbx]
mov rdi, qword [rax + 0x168]
mov rcx, rdi
call qword [fcn.140015690]
lea rdx, [rsp + 0x178]
mov rcx, rbx
call rdi
mov r14d, eax
test eax, eax
jns 0x1400b01ac
mov rcx, qword [0x140148ea8]
lea rax, [0x140148ea8]
cmp rcx, rax
je 0x1400b0210
test byte [rcx + 0x1c], r12b
je 0x1400b0210
cmp byte [rcx + 0x19], r12b
jb 0x1400b0210
mov edx, 0x111
jmp 0x1400b01fc
mov rbx, qword [rsp + 0x178]
mov rax, qword [rbx]
mov rdi, qword [rax + 0x68]
mov rcx, rdi
call qword [fcn.140015690]
lea rdx, [rsp + 0x160]
mov rcx, rbx
call rdi
mov r14d, eax
test eax, eax
jns 0x1400b0210
mov rcx, qword [0x140148ea8]
lea rax, [0x140148ea8]
cmp rcx, rax
je 0x1400b0210
test byte [rcx + 0x1c], r12b
je 0x1400b0210
cmp byte [rcx + 0x19], r12b
jb 0x1400b0210
mov edx, 0x112
mov r9d, r14d
lea r8, [0x1400090a8]
mov rcx, qword [rcx + 0x10]
call fcn.14000fd64
nop
mov rbx, qword [rsp + 0x178]
test rbx, rbx
je 0x1400b0232
mov rax, qword [rbx]
mov rdi, qword [rax + 0x10]
mov rcx, rdi
call qword [fcn.140015690]
mov rcx, rbx
call rdi
test r14d, r14d
js 0x1400b06b7
mov qword [rsp + 0x150], r15
mov qword [rsp + 0x138], r15
mov rbx, qword [rsp + 0x160]
mov rax, qword [rbx]
mov rdi, qword [rax + 0x60]
mov rcx, rdi
call qword [fcn.140015690]
lea rdx, [rsp + 0x150]
mov rcx, rbx
call rdi
mov r14d, eax
test eax, eax
jns 0x1400b02a9
mov rcx, qword [0x140148ea8]
lea rax, [0x140148ea8]
cmp rcx, rax
je 0x1400b043f
test byte [rcx + 0x1c], r12b
je 0x1400b043f
cmp byte [rcx + 0x19], r12b
jb 0x1400b043f
mov edx, 0x113
jmp 0x1400b0307
mov rbx, qword [rsp + 0x150]
mov rax, qword [rbx]
mov rdi, qword [rax + 0x38]
mov rcx, rdi
call qword [fcn.140015690]
lea r8, [rsp + 0x138]
xor edx, edx
mov rcx, rbx
call rdi
mov r14d, eax
test eax, eax
jns 0x1400b031f
mov rcx, qword [0x140148ea8]
lea rax, [0x140148ea8]
cmp rcx, rax
je 0x1400b043f
test byte [rcx + 0x1c], r12b
je 0x1400b043f
cmp byte [rcx + 0x19], r12b
jb 0x1400b043f
mov edx, 0x114
mov r9d, r14d
lea r8, [0x1400090a8]
mov rcx, qword [rcx + 0x10]
call fcn.14000fd64
jmp 0x1400b043f
mov rbx, qword [rsp + 0x138]
mov rax, qword [rbx]
mov rdi, qword [rax + 0x148]
mov rcx, rdi
call qword [fcn.140015690]
lea rdx, [rsp + 0x58]
mov rcx, rbx
call rdi
mov r14d, eax
test eax, eax
js 0x1400b043f
mov dword [rsp + 0x28], r13d
mov rax, qword [rsp + 0x58]
mov qword [rsp + 0x20], rax
mov r9d, r13d
lea r8, [0x1400b1b30]
mov edx, esi
mov ecx, 0x7f
call qword [sym.imp.KERNEL32.dll_CompareStringW]
mov ecx, dword [rsp + 0x68]
cmp eax, r12d
cmove ecx, r15d
mov dword [rsp + 0x68], ecx
test ecx, ecx
je 0x1400b0412
mov rbx, qword [rsp + 0x130]
mov rax, qword [rbx]
mov rdi, qword [rax + 0x28]
mov rcx, rdi
call qword [fcn.140015690]
lea rax, [rsp + 0xd8]
mov qword [rsp + 0x28], rax
mov dword [rsp + 0x20], 0x800
mov r9d, esi
lea r8, [rsp + 0x58]
lea rdx, [0x1400011e8]
mov rcx, rbx
call rdi
mov r14d, eax
test eax, eax
jns 0x1400b0417
mov rcx, qword [0x140148ea8]
lea rax, [0x140148ea8]
cmp rcx, rax
je 0x1400b0412
test byte [rcx + 0x1c], r12b
je 0x1400b0412
cmp byte [rcx + 0x19], r12b
jb 0x1400b0412
mov edx, 0x115
mov dword [rsp + 0x20], r14d
mov r9, qword [rsp + 0x58]
lea r8, [0x1400090a8]
mov rcx, qword [rcx + 0x10]
call fcn.140011da0
test r14d, r14d
js 0x1400b043f
mov rbx, qword [rsp + 0x138]
mov rax, qword [rbx]
mov rdi, qword [rax + 0x60]
mov rcx, rdi
call qword [fcn.140015690]
lea rdx, [rsp + 0x118]
mov rcx, rbx
call rdi
mov r14d, eax
mov rbx, qword [rsp + 0x138]
test rbx, rbx
je 0x1400b0462
mov rax, qword [rbx]
mov rdi, qword [rax + 0x10]
mov rcx, rdi
call qword [fcn.140015690]
mov rcx, rbx
call rdi
nop
mov rbx, qword [rsp + 0x150]
test rbx, rbx
je 0x1400b0484
mov rax, qword [rbx]
mov rdi, qword [rax + 0x10]
mov rcx, rdi
call qword [fcn.140015690]
mov rcx, rbx
call rdi
test r14d, r14d
js 0x1400b06b7
mov dword [rsp + 0x28], r13d
mov rax, qword [rsp + 0x58]
mov qword [rsp + 0x20], rax
mov r9d, r13d
lea r8, [0x1400b1b50]
mov edx, esi
mov ebx, 0x7f
mov ecx, ebx
call qword [sym.imp.KERNEL32.dll_CompareStringW]
cmp eax, r12d
je 0x1400b05d5
mov dword [rsp + 0x28], r13d
mov rax, qword [rsp + 0x58]
mov qword [rsp + 0x20], rax
mov r9d, r13d
lea r8, [0x1400b1b60]
mov edx, esi
mov ecx, ebx
call qword [sym.imp.KERNEL32.dll_CompareStringW]
cmp eax, r12d
je 0x1400b05d5
mov dword [rsp + 0x28], r13d
mov rax, qword [rsp + 0x58]
mov qword [rsp + 0x20], rax
mov r9d, r13d
lea r8, [0x1400b1b70]
mov edx, esi
mov ecx, ebx
call qword [sym.imp.KERNEL32.dll_CompareStringW]
cmp eax, r12d
jne 0x1400b0524
mov dword [rsp + 0x54], 3
mov dword [rsp + 0x50], r15d
jmp 0x1400b05e5
mov dword [rsp + 0x28], r13d
mov rax, qword [rsp + 0x58]
mov qword [rsp + 0x20], rax
mov r9d, r13d
lea r8, [0x1400b1b90]
mov edx, esi
mov ecx, ebx
call qword [sym.imp.KERNEL32.dll_CompareStringW]
cmp eax, r12d
jne 0x1400b0553
mov dword [rsp + 0x54], r15d
jmp 0x1400b057f
mov dword [rsp + 0x28], r13d
mov rax, qword [rsp + 0x58]
mov qword [rsp + 0x20], rax
mov r9d, r13d
lea r8, [0x1400b1b30]
mov edx, esi
mov ecx, ebx
call qword [sym.imp.KERNEL32.dll_CompareStringW]
cmp eax, r12d
jne 0x1400b0585
mov dword [rsp + 0x54], esi
mov dword [rsp + 0x50], esi
jmp 0x1400b05e5
mov r14d, 0x80004001
mov rcx, qword [0x140148ea8]
lea rax, [0x140148ea8]
cmp rcx, rax
je 0x1400b06b7
test byte [rcx + 0x1c], r12b
je 0x1400b06b7
cmp byte [rcx + 0x19], r12b
jb 0x1400b06b7
mov edx, 0x116
mov r9, qword [rsp + 0x58]
lea r8, [0x1400090a8]
mov rcx, qword [rcx + 0x10]
call fcn.14000fcd0
jmp 0x1400b06b7
mov dword [rsp + 0x54], 6
mov dword [rsp + 0x50], 4
mov rbx, qword [rsp + 0x118]
mov rax, qword [rbx]
mov rdi, qword [rax + 0x40]
mov rcx, rdi
call qword [fcn.140015690]
lea rdx, [rsp + 0xc0]
mov rcx, rbx
call rdi
mov r14d, eax
test eax, eax
js 0x1400b06b7
mov eax, dword [rsp + 0xc0]
mov r8d, dword [rsp + 0x54]
cmp eax, r8d
jge 0x1400b06b7
mov r14d, 0x80070057
mov rcx, qword [0x140148ea8]
lea rdx, [0x140148ea8]
cmp rcx, rdx
je 0x1400b06b7
test byte [rcx + 0x1c], r12b
je 0x1400b06b7
cmp byte [rcx + 0x19], r12b
jb 0x1400b06b7
mov edx, 0x117
mov dword [rsp + 0x28], r8d
mov dword [rsp + 0x20], eax
mov r9, qword [rsp + 0x58]
lea r8, [0x1400090a8]
mov rcx, qword [rcx + 0x10]
call fcn.140017424
jmp 0x1400b06b7
or r13, 0xffffffffffffffff
mov r14d, 0x80070057
lea rax, [0x140148ea8]
mov r12d, 2
cmp rbx, rax
je 0x1400b06b7
test byte [rbx + 0x1c], r12b
je 0x1400b06b7
cmp byte [rbx + 0x19], r12b
jb 0x1400b06b7
mov edx, 0x10d
mov r9d, 0x80070057
mov rcx, qword [rbx + 0x10]
lea r8, [0x1400090a8]
call fcn.14000fd64
xor eax, eax
mov qword [rsp + 0x88], rax
mov qword [rsp + 0x90], rax
mov qword [rsp + 0x98], rax
mov ebx, dword [rsp + 0x50]
test r14d, r14d
js 0x1400b0e27
mov eax, dword [rsp + 0x54]
inc eax
add eax, ebx
mov dword [rsp + 0x98], eax
mov ecx, eax
mov eax, DispGetParam
mul rcx
cmovo rax, r13
mov rcx, rax
call fcn.140105b34
mov rcx, rax
mov qword [rsp + 0x88], rax
test rax, rax
jne 0x1400b071e
mov r14d, 0x8007000e
jmp 0x1400b0e27
mov eax, dword [rsp + 0x98]
lea r8, [rax + rax*2]
shl r8, 3
xor edx, edx
call sub.msvcrt.dll_memset
mov eax, dword [rsp + 0x98]
dec eax
lea rdx, [rax + rax*2]
mov ecx, reloc.Cabinet.dll_FCIFlushCabinet
mov rax, qword [rsp + 0x88]
mov word [rax + rdx*8], cx
mov ecx, 0x20
call fcn.140105a40
mov rbx, rax
test rax, rax
je 0x1400b07b3
lea rax, [0x140004ee0]
mov qword [rbx], rax
lea rcx, [rbx + 8]
mov qword [rcx], r15
lea rdi, [rbx + 0x10]
mov qword [rdi], r15
mov dword [rbx + 0x18], r15d
lock add dword [rbx + 0x18], esi
mov rax, qword [rsp + 0x188]
cmp qword [rcx], rax
je 0x1400b0799
mov rdx, rax
call fcn.140028f10
mov rax, qword [rsp + 0x180]
cmp qword [rdi], rax
je 0x1400b07b6
mov rdx, rax
mov rcx, rdi
call fcn.140028f10
jmp 0x1400b07b6
mov rbx, r15
mov eax, dword [rsp + 0x98]
dec eax
lea rdx, [rax + rax*2]
mov rax, qword [rsp + 0x88]
mov qword [rax + rdx*8 + 8], rbx
mov dword [rsp + 0x6c], r15d
cmp dword [rsp + 0xc0], r15d
jle 0x1400b0e23
mov ebx, 8
mov qword [rsp + 0xb8], r15
mov qword [rsp + 0xa0], r15
mov qword [rsp + 0xb0], r15
lea rcx, [rsp + 0xf8]
call qword [sym.imp.OLEAUT32.dll_VariantClear]
nop
lea rcx, [rsp + 0xe0]
call qword [sym.imp.OLEAUT32.dll_VariantClear]
nop
movzx eax, bx
mov dword [rsp + 0x64], eax
mov rbx, qword [rsp + 0x118]
mov rax, qword [rbx]
mov rdi, qword [rax + 0x38]
mov rcx, rdi
call qword [fcn.140015690]
lea r8, [rsp + 0xb8]
mov edx, dword [rsp + 0x6c]
mov rcx, rbx
call rdi
mov r14d, eax
test eax, eax
js 0x1400b0cf3
mov rbx, qword [rsp + 0xa0]
mov rdi, qword [rsp + 0xb8]
cmp rbx, rdi
je 0x1400b08ce
mov rsi, rbx
mov rbx, r15
mov qword [rsp + 0xa0], rbx
test rdi, rdi
je 0x1400b08ac
mov rax, qword [rdi]
mov rbx, qword [rax]
mov rcx, rbx
call qword [fcn.140015690]
lea r8, [rsp + 0xa0]
lea rdx, [0x1400b2040]
mov rcx, rdi
call rbx
mov rbx, qword [rsp + 0xa0]
test rsi, rsi
je 0x1400b08ce
mov rax, qword [rsi]
mov rbx, qword [rax + 0x10]
mov rcx, rbx
call qword [fcn.140015690]
mov rcx, rsi
call rbx
mov rbx, qword [rsp + 0xa0]
test rbx, rbx
je 0x1400b0e18
lea rcx, [0x1400b1bb8]
call qword [sym.imp.OLEAUT32.dll_SysReAllocString]
mov rdi, rax
mov qword [rsp + 0x1c0], rax
test rax, rax
je 0x1400b0e0d
mov rax, qword [rbx]
mov rsi, qword [rax + 0x160]
mov rcx, rsi
call qword [fcn.140015690]
lea r8, [rsp + 0xf8]
mov rdx, rdi
mov rcx, rbx
call rsi
mov r14d, eax
mov rcx, rdi
call qword [sym.imp.OLEAUT32.dll_SysStringLen]
test r14d, r14d
js 0x1400b0dd8
mov edi, 8
cmp di, word [rsp + 0xf8]
jne 0x1400b0dcd
mov rax, qword [rsp + 0x100]
test rax, rax
je 0x1400b0dcd
mov dword [rsp + 0x28], r13d
mov qword [rsp + 0x20], rax
mov r9d, r13d
lea r8, [0x1400b1bc8]
lea esi, [rdi - 7]
mov edx, esi
lea ebx, [rdi + 0x77]
mov ecx, ebx
call qword [sym.imp.KERNEL32.dll_CompareStringW]
cmp eax, r12d
jne 0x1400b0985
lea eax, [rdi + 0xb]
jmp 0x1400b0a70
mov dword [rsp + 0x28], r13d
mov rax, qword [rsp + 0x100]
mov qword [rsp + 0x20], rax
mov r9d, r13d
lea r8, [0x1400b1bd0]
mov edx, esi
mov ecx, ebx
call qword [sym.imp.KERNEL32.dll_CompareStringW]
cmp eax, r12d
jne 0x1400b09b8
movzx eax, di
jmp 0x1400b0a70
mov dword [rsp + 0x28], r13d
mov rax, qword [rsp + 0x100]
mov qword [rsp + 0x20], rax
mov r9d, r13d
lea r8, [0x1400b1be0]
mov edx, esi
mov ecx, ebx
call qword [sym.imp.KERNEL32.dll_CompareStringW]
cmp eax, r12d
je 0x1400b09b0
mov dword [rsp + 0x28], r13d
mov rax, qword [rsp + 0x100]
mov qword [rsp + 0x20], rax
mov r9d, r13d
lea r8, [0x1400b1bf8]
mov edx, esi
mov ecx, ebx
call qword [sym.imp.KERNEL32.dll_CompareStringW]
cmp eax, r12d
jne 0x1400b0a15
mov eax, 3
jmp 0x1400b0a70
mov dword [rsp + 0x28], r13d
mov rax, qword [rsp + 0x100]
mov qword [rsp + 0x20], rax
mov r9d, r13d
lea r8, [0x1400b1c00]
mov edx, esi
mov ecx, ebx
call qword [sym.imp.KERNEL32.dll_CompareStringW]
cmp eax, r12d
je 0x1400b0a0e
mov dword [rsp + 0x28], r13d
mov rax, qword [rsp + 0x100]
mov qword [rsp + 0x20], rax
mov r9d, r13d
lea r8, [0x1400b1c08]
mov edx, esi
mov ecx, ebx
call qword [sym.imp.KERNEL32.dll_CompareStringW]
cmp eax, r12d
jne 0x1400b0a74
mov eax, reloc.WSOCK32.dll_inet_ntoa
mov dword [rsp + 0x64], eax
mov rbx, qword [rsp + 0xa0]
mov rax, qword [rbx]
mov rdi, qword [rax + 0xd0]
mov rcx, rdi
call qword [fcn.140015690]
lea rdx, [rsp + 0xb0]
mov rcx, rbx
call rdi
mov r14d, eax
test eax, eax
js 0x1400b0d98
mov edx, 8
mov word [rsp + 0xe0], dx
mov rcx, qword [rsp + 0xb0]
mov qword [rsp + 0xb0], r15
mov qword [rsp + 0xe8], rcx
mov eax, dword [rsp + 0x64]
cmp ax, dx
je 0x1400b0b07
xor r9d, r9d
mov word [rsp + 0x20], ax
lea r8d, [rdx + 0x77]
lea rdx, [rsp + 0xe0]
lea rcx, [rsp + 0xe0]
call qword [sym.imp.OLEAUT32.dll_SafeArrayPtrOfIndex]
mov r14d, eax
test eax, eax
js 0x1400b0cbb
jmp 0x1400b0bb1
mov edx, 0x26
call qword [sym.imp.msvcrt.dll_wcschr]
test rax, rax
je 0x1400b0bb1
mov rdx, qword [rsp + 0xe8]
lea rcx, [rsp + 0x148]
call fcn.140011450
nop
lea rcx, [rsp + 0x148]
call fcn.1400e8afc
mov rcx, qword [rsp + 0xe8]
call qword [sym.imp.OLEAUT32.dll_SysStringLen]
mov rcx, qword [rsp + 0x148]
mov edx, dword [rcx - 0x10]
call qword [sym.imp.OLEAUT32.dll_SysReAllocStringLen]
test rax, rax
je 0x1400b0d6e
mov qword [rsp + 0xe8], rax
mov rcx, qword [rsp + 0x148]
add rcx, 0xffffffffffffffe8
mov qword [rsp + 0x168], rcx
mov eax, r13d
lock xadd dword [rcx + 0x10], eax
add eax, r13d
test eax, eax
jg 0x1400b0bb1
mov rdi, qword [rcx]
mov rax, qword [rdi]
mov rbx, qword [rax + 8]
mov rcx, rbx
call qword [fcn.140015690]
mov rdx, qword [rsp + 0x168]
mov rcx, rdi
call rbx
mov eax, dword [rsp + 0x98]
sub eax, dword [rsp + 0x6c]
sub eax, r12d
lea rcx, [rax + rax*2]
mov rax, qword [rsp + 0x88]
lea rbx, [rax + rcx*8]
test rbx, rbx
je 0x1400b0c2d
mov rcx, rbx
call qword [sym.imp.OLEAUT32.dll_VariantCopy]
test eax, eax
js 0x1400b0c2d
mov eax, DispGetParam
mov r9d, eax
lea r8, [rsp + 0xe0]
mov edx, eax
mov rcx, rbx
call qword [sym.imp.msvcrt.dll_memcpy_s]
test eax, eax
je 0x1400b0c24
cmp eax, 0xc
je 0x1400b0d8d
cmp eax, 0x16
je 0x1400b0d82
cmp eax, 0x22
je 0x1400b0d82
cmp eax, 0x50
jne 0x1400b0d77
mov word [rsp + 0xe0], r15w
lea rcx, [rsp + 0xe0]
call qword [sym.imp.OLEAUT32.dll_VariantCopy]
nop
lea rcx, [rsp + 0xf8]
call qword [sym.imp.OLEAUT32.dll_VariantCopy]
nop
mov rcx, qword [rsp + 0xb0]
call qword [sym.imp.OLEAUT32.dll_SysStringLen]
nop
mov rbx, qword [rsp + 0xa0]
test rbx, rbx
je 0x1400b0c7d
mov rax, qword [rbx]
mov rdi, qword [rax + 0x10]
mov rcx, rdi
call qword [fcn.140015690]
mov rcx, rbx
call rdi
nop
mov rbx, qword [rsp + 0xb8]
test rbx, rbx
je 0x1400b0c9f
mov rax, qword [rbx]
mov rdi, qword [rax + 0x10]
mov rcx, rdi
call qword [fcn.140015690]
mov rcx, rbx
call rdi
mov eax, dword [rsp + 0x6c]
add eax, esi
mov dword [rsp + 0x6c], eax
cmp eax, dword [rsp + 0xc0]
jge 0x1400b0e23
jmp 0x1400b07e3
mov rcx, qword [0x140148ea8]
lea rax, [0x140148ea8]
cmp rcx, rax
je 0x1400b0cf3
test byte [rcx + 0x1c], r12b
je 0x1400b0cf3
cmp byte [rcx + 0x19], r12b
jb 0x1400b0cf3
mov edx, 0x11a
mov r9d, r14d
lea r8, [0x1400090a8]
mov rcx, qword [rcx + 0x10]
call fcn.14000fd64
nop
lea rcx, [rsp + 0xe0]
call qword [sym.imp.OLEAUT32.dll_VariantCopy]
nop
lea rcx, [rsp + 0xf8]
call qword [sym.imp.OLEAUT32.dll_VariantCopy]
nop
mov rcx, qword [rsp + 0xb0]
call qword [sym.imp.OLEAUT32.dll_SysStringLen]
nop
mov rbx, qword [rsp + 0xa0]
test rbx, rbx
je 0x1400b0d43
mov rax, qword [rbx]
mov rdi, qword [rax + 0x10]
mov rcx, rdi
call qword [fcn.140015690]
mov rcx, rbx
call rdi
nop
mov rbx, qword [rsp + 0xb8]
test rbx, rbx
je 0x1400b0e23
mov rax, qword [rbx]
mov rdi, qword [rax + 0x10]
mov rcx, rdi
call qword [fcn.140015690]
mov rcx, rbx
call rdi
jmp 0x1400b0e23
call fcn.1400117c0
nop
jmp 0x1400b0d76
nop
mov ecx, 0x80004005
call fcn.1400119f0
int3
mov ecx, 0x80070057
call fcn.1400119f0
int3
mov ecx, 0x8007000e
call fcn.1400119f0
int3
mov rcx, qword [0x140148ea8]
lea rax, [0x140148ea8]
cmp rcx, rax
je 0x1400b0cf3
test byte [rcx + 0x1c], r12b
je 0x1400b0cf3
cmp byte [rcx + 0x19], r12b
jb 0x1400b0cf3
mov edx, 0x119
jmp 0x1400b0cdf
mov r14d, 0x80070057
jmp 0x1400b0cf3
mov rcx, qword [0x140148ea8]
lea rax, [0x140148ea8]
cmp rcx, rax
je 0x1400b0cf3
test byte [rcx + 0x1c], r12b
je 0x1400b0cf3
cmp byte [rcx + 0x19], r12b
jb 0x1400b0cf3
mov edx, 0x118
jmp 0x1400b0cdf
mov ecx, 0x8007000e
call fcn.1400119f0
int3
mov r14d, 0x80004002
jmp 0x1400b0cf3
mov ebx, dword [rsp + 0x50]
mov esi, SafeArrayAccessData
mov qword [rsp + 0x120], r15
mov qword [rsp + 0x230], 0
mov dword [rsp + 0x238], r15d
test r14d, r14d
js 0x1400b10b6
cmp dword [rsp + 0x98], ebx
jl 0x1400b10b6
mov dword [rsp + 0x28], r13d
mov rax, qword [rsp + 0x58]
mov qword [rsp + 0x20], rax
mov r9d, r13d
lea r8, [0x1400b1b50]
lea ebx, [rsi - 0x12]
mov edx, ebx
lea edi, [rsi + 0x6c]
mov ecx, edi
call qword [sym.imp.KERNEL32.dll_CompareStringW]
cmp eax, r12d
je 0x1400b1023
mov dword [rsp + 0x28], r13d
mov rax, qword [rsp + 0x58]
mov qword [rsp + 0x20], rax
mov r9d, r13d
lea r8, [0x1400b1b60]
mov edx, ebx
mov ecx, edi
call qword [sym.imp.KERNEL32.dll_CompareStringW]
cmp eax, r12d
je 0x1400b1023
mov dword [rsp + 0x28], r13d
mov rax, qword [rsp + 0x58]
mov qword [rsp + 0x20], rax
mov r9d, r13d
lea r8, [0x1400b1b70]
mov edx, ebx
mov ecx, edi
call qword [sym.imp.KERNEL32.dll_CompareStringW]
cmp eax, r12d
jne 0x1400b0ef1
mov dword [rsp + 0x54], 3
jmp 0x1400b10bc
mov dword [rsp + 0x28], r13d
mov rax, qword [rsp + 0x58]
mov qword [rsp + 0x20], rax
mov r9d, r13d
lea r8, [0x1400b1b90]
mov edx, ebx
mov ecx, edi
call qword [sym.imp.KERNEL32.dll_CompareStringW]
cmp eax, r12d
jne 0x1400b0f3b
mov dword [rsp + 0x54], r15d
mov ecx, 0x4013
mov rax, qword [rsp + 0x88]
mov word [rax], cx
lea rcx, [rsp + 0x230]
jmp 0x1400b10a8
mov dword [rsp + 0x28], r13d
mov rax, qword [rsp + 0x58]
mov qword [rsp + 0x20], rax
mov r9d, r13d
lea r8, [0x1400b1b30]
mov edx, ebx
mov ecx, edi
call qword [sym.imp.KERNEL32.dll_CompareStringW]
cmp eax, r12d
jne 0x1400b10bc
mov dword [rsp + 0x54], ebx
mov ecx, 0x4013
mov rax, qword [rsp + 0x88]
mov word [rax], cx
lea rcx, [rsp + 0x230]
mov rax, qword [rsp + 0x88]
mov qword [rax + 8], rcx
mov eax, dword [rsp + 0x98]
cmp eax, r12d
jb 0x1400b1018
add eax, 0xfffffffe
lea r8, [rax + rax*2]
mov r9, qword [rsp + 0x88]
cmp si, word [r9 + r8*8]
jne 0x1400b1018
mov eax, dword [r9 + r8*8 + 8]
mov ecx, 0xf4240
cmp eax, ecx
cmova eax, ecx
and eax, 0xfffffffc
mov dword [rsp + 0x230], eax
mov rcx, qword [0x140148ea8]
lea rdx, [0x140148ea8]
cmp rcx, rdx
je 0x1400b10bc
test byte [rcx + 0x1c], r12b
je 0x1400b10bc
cmp byte [rcx + 0x19], 5
jb 0x1400b10bc
mov edx, 0x11b
mov dword [rsp + 0x20], eax
mov r9d, dword [r9 + r8*8 + 8]
lea r8, [0x1400090a8]
mov rcx, qword [rcx + 0x10]
call fcn.140011e38
jmp 0x1400b10bc
mov r14d, 0x80004005
jmp 0x1400b10bc
mov dword [rsp + 0x54], 6
mov ecx, 0x4008
mov rax, qword [rsp + 0x88]
mov word [rax + 0x48], cx
lea rcx, [rsp + 0x120]
mov rax, qword [rsp + 0x88]
mov qword [rax + 0x50], rcx
mov ecx, 0x4013
mov rax, qword [rsp + 0x88]
mov word [rax + 0x30], cx
lea rdx, [rsp + 0x230]
mov rax, qword [rsp + 0x88]
mov qword [rax + 0x38], rdx
mov rax, qword [rsp + 0x88]
mov word [rax + 0x18], cx
lea rdx, [rsp + 0x234]
mov rax, qword [rsp + 0x88]
mov qword [rax + 0x20], rdx
mov rax, qword [rsp + 0x88]
mov word [rax], cx
lea rcx, [rsp + 0x238]
mov rax, qword [rsp + 0x88]
mov qword [rax + 8], rcx
jmp 0x1400b10bc
mov r14d, 0x8000ffff
mov rax, qword [section..data]
mov rbx, qword [rax + 0x18]
mov rcx, rbx
call qword [fcn.140015690]
lea rcx, section..data
call rbx
lea rsi, [rax + 0x18]
mov qword [rsp + 0x140], rsi
test r14d, r14d
js 0x1400b1217
cmp dword [rsp + 0x68], r15d
je 0x1400b1217
lea rcx, [rsp + 0x1d0]
call qword [sym.imp.OLEAUT32.dll_VariantClear]
nop
mov word [rsp + 0x1f0], r15w
xor edx, edx
lea r8d, [rdx + 0x3e]
lea rcx, [rsp + 0x1f2]
call sub.msvcrt.dll_memset
mov rbx, qword [rsp + 0x130]
mov rax, qword [rbx]
mov rdi, qword [rax + 0x30]
mov rcx, rdi
call qword [fcn.140015690]
mov qword [rsp + 0x40], r15
lea rax, [rsp + 0x1f0]
mov qword [rsp + 0x38], rax
lea rax, [rsp + 0x1d0]
mov qword [rsp + 0x30], rax
lea rax, [rsp + 0x88]
mov qword [rsp + 0x28], rax
mov eax, 1
mov word [rsp + 0x20], ax
lea r9d, [rax + 0x7e]
lea r8, [0x1400011e8]
mov edx, dword [rsp + 0xd8]
mov rcx, rbx
call rdi
mov r8d, eax
mov dword [rsp + 0x60], eax
test eax, eax
jns 0x1400b1209
cmp eax, 0x80020009
jne 0x1400b11cc
mov r9, qword [rsp + 0x200]
mov r8, qword [rsp + 0x1f8]
lea rdx, [0x1400b1c18]
lea rcx, [rsp + 0x140]
call fcn.1400157a0
mov rsi, qword [rsp + 0x140]
mov r8d, dword [rsp + 0x60]
mov rcx, qword [0x140148ea8]
lea rax, [0x140148ea8]
cmp rcx, rax
je 0x1400b1209
test byte [rcx + 0x1c], r12b
je 0x1400b1209
cmp byte [rcx + 0x19], r12b
jb 0x1400b1209
mov edx, 0x11c
mov qword [rsp + 0x20], rsi
mov r9d, r8d
lea r8, [0x1400090a8]
mov rcx, qword [rcx + 0x10]
call fcn.1400170b0
nop
lea rcx, [rsp + 0x1d0]
call qword [sym.imp.OLEAUT32.dll_VariantCopy]
mov dword [rsp + 0x68], r15d
mov dword [rsp + 0x70], r15d
test r14d, r14d
js 0x1400b12b9
mov rbx, qword [rsp + 0xd0]
mov r8, rbx
mov edx, 1
xor ecx, ecx
call qword [sym.imp.ole32.dll_CreateStreamOnHGlobal]
mov r14d, eax
test eax, eax
js 0x1400b12b9
mov rdi, qword [rbx]
mov rax, qword [rdi]
mov rbx, qword [rax + 0x20]
mov rcx, rbx
call qword [fcn.140015690]
lea r9, [rsp + 0x70]
mov r8d, VarDecFix
lea rdx, [0x1400b1c30]
mov rcx, rdi
call rbx
mov r14d, eax
test eax, eax
jns 0x1400b12b1
mov rcx, qword [0x140148ea8]
lea rax, [0x140148ea8]
cmp rcx, rax
je 0x1400b12b1
test byte [rcx + 0x1c], r12b
je 0x1400b12b1
cmp byte [rcx + 0x19], r12b
jb 0x1400b12b1
mov edx, 0x11d
mov r9d, r14d
lea r8, [0x1400090a8]
mov rcx, qword [rcx + 0x10]
call fcn.14000fd64
mov eax, dword [rsp + 0x70]
mov dword [rsp + 0x68], eax
mov rax, qword [section..data]
mov rbx, qword [rax + 0x18]
mov rcx, rbx
call qword [fcn.140015690]
lea rcx, section..data
call rbx
add rax, 0x18
mov qword [rsp + 0xc8], rax
mov rax, qword [section..data]
mov rbx, qword [rax + 0x18]
mov rcx, rbx
call qword [fcn.140015690]
lea rcx, section..data
call rbx
lea rdi, [rax + 0x18]
mov qword [rsp + 0x78], rdi
test r14d, r14d
js 0x1400b1916
lea rcx, [rsp + 0xc8]
cmp dword [rsp + 0x60], r15d
jge 0x1400b1340
mov r9, rsi
lea r8, [0x1400b1cf0]
lea rdx, [0x1400b1db0]
call fcn.140080bbc
mov esi, 1
jmp 0x1400b15e6
mov r9, qword [rsp + 0x128]
mov r8, qword [rsp + 0x58]
lea rdx, [0x1400b1eb0]
call fcn.140080bbc
mov dword [rsp + 0x28], r13d
mov rax, qword [rsp + 0x58]
mov qword [rsp + 0x20], rax
mov r9d, r13d
lea r8, [0x1400b1b50]
mov esi, 1
mov edx, esi
lea ebx, [rsi + 0x7e]
mov ecx, ebx
call qword [sym.imp.KERNEL32.dll_CompareStringW]
cmp eax, r12d
je 0x1400b14f8
mov dword [rsp + 0x28], r13d
mov rax, qword [rsp + 0x58]
mov qword [rsp + 0x20], rax
mov r9d, r13d
lea r8, [0x1400b1b60]
mov edx, esi
mov ecx, ebx
call qword [sym.imp.KERNEL32.dll_CompareStringW]
cmp eax, r12d
je 0x1400b14f8
mov dword [rsp + 0x28], r13d
mov rax, qword [rsp + 0x58]
mov qword [rsp + 0x20], rax
mov r9d, r13d
lea r8, [0x1400b1b90]
mov edx, esi
mov ecx, ebx
call qword [sym.imp.KERNEL32.dll_CompareStringW]
cmp eax, r12d
jne 0x1400b13fb
mov eax, dword [rsp + 0x98]
sub eax, dword [rsp + 0x54]
sub eax, r12d
lea rdx, [0x1400b1f90]
jmp 0x1400b15ab
mov dword [rsp + 0x28], r13d
mov rax, qword [rsp + 0x58]
mov qword [rsp + 0x20], rax
mov r9d, r13d
lea r8, [0x1400b1b30]
mov edx, esi
mov ecx, ebx
call qword [sym.imp.KERNEL32.dll_CompareStringW]
cmp eax, r12d
jne 0x1400b15d0
lea rdx, [0x1400b1fa0]
lea rcx, [rsp + 0x78]
call fcn.1400b7d80
mov eax, dword [rsp + 0x98]
sub eax, dword [rsp + 0x54]
sub eax, r12d
lea rcx, [rax + rax*2]
mov rax, qword [rsp + 0x88]
mov rcx, qword [rax + rcx*8 + 8]
mov edi, dword [rcx]
mov rax, qword [rsp + 0x78]
mov ecx, dword [rax - 0x10]
mov dword [rsp + 0x80], ecx
lea ebx, [rcx + rdi]
lea edx, [rbx + 0x64]
mov r8d, esi
sub r8d, dword [rax - 8]
mov ecx, dword [rax - 0xc]
sub ecx, edx
or ecx, r8d
jge 0x1400b148e
lea rcx, [rsp + 0x78]
call fcn.140044540
mov rax, qword [rsp + 0x78]
mov edx, esi
sub edx, dword [rax - 8]
mov ecx, dword [rax - 0xc]
sub ecx, ebx
or ecx, edx
jge 0x1400b14ad
mov edx, ebx
lea rcx, [rsp + 0x78]
call fcn.140044540
mov rax, qword [rsp + 0x78]
test ebx, ebx
js 0x1400b14ed
cmp ebx, dword [rax - 0xc]
jg 0x1400b14ed
mov dword [rax - 0x10], ebx
movsxd rcx, ebx
mov byte [rcx + rax], r15b
mov r8, rdi
mov ecx, dword [rsp + 0x80]
add rcx, rax
mov edx, 0x61
call sub.msvcrt.dll_memset
lea rdx, [0x1400b1ff0]
lea rcx, [rsp + 0x78]
call fcn.1400b7d80
jmp 0x1400b15d0
mov ecx, 0x80070057
call fcn.1400119f0
int3
lea r8, [0x1400b1cf0]
lea rdx, [0x1400b1ef0]
lea rcx, [rsp + 0xc8]
call fcn.140080bbc
lea rdx, [0x1400b1f10]
lea rcx, [rsp + 0x78]
call fcn.1400b7d80
mov eax, dword [rsp + 0x98]
mov ebx, dword [rsp + 0x54]
sub eax, ebx
sub eax, 3
lea rcx, [rax + rax*2]
mov rax, qword [rsp + 0x88]
mov rcx, qword [rax + rcx*8 + 8]
mov r9d, dword [rcx]
lea r8, [0x1400b1d70]
lea rdx, [0x1400b1f20]
lea rcx, [rsp + 0x78]
call fcn.1400b6f54
mov eax, dword [rsp + 0x98]
sub eax, ebx
sub eax, 4
lea rcx, [rax + rax*2]
mov rax, qword [rsp + 0x88]
mov rcx, qword [rax + rcx*8 + 8]
mov r9d, dword [rcx]
lea r8, [0x1400b1d70]
lea rdx, [0x1400b1f48]
lea rcx, [rsp + 0x78]
call fcn.1400b6f54
mov eax, dword [rsp + 0x98]
sub eax, ebx
sub eax, 5
lea rdx, [0x1400b1f70]
lea rcx, [rax + rax*2]
mov rax, qword [rsp + 0x88]
mov rcx, qword [rax + rcx*8 + 8]
mov r9d, dword [rcx]
lea r8, [0x1400b1d70]
lea rcx, [rsp + 0x78]
call fcn.1400b6f54
mov r8, qword [rsp + 0x58]
lea rdx, [0x1400b2000]
lea rcx, [rsp + 0x78]
call fcn.1400b6f54
lea rdx, [0x1400b2018]
lea rcx, [rsp + 0x78]
call fcn.1400b6f54
mov dword [rsp + 0x60], r15d
mov rcx, qword [rsp + 0x120]
call qword [sym.imp.OLEAUT32.dll_VariantInit]
mov dword [rsp + 0x6c], eax
mov rdx, qword [section..data]
mov rbx, qword [rdx + 0x18]
mov rcx, rbx
call qword [fcn.140015690]
lea rcx, section..data
call rbx
lea rbx, [rax + 0x18]
mov qword [rsp + 0x190], rbx
mov ecx, 0x3e8
mov rdi, qword [rsp + 0xc8]
mov r10d, dword [rdi - 0x10]
mov r8d, dword [rsp + 0x60]
mov eax, dword [rsp + 0x6c]
test r10d, r10d
jne 0x1400b165f
cmp r8d, eax
jae 0x1400b1864
mov edx, eax
sub edx, r8d
cmp edx, ecx
cmova edx, ecx
mov dword [rsp + 0x80], edx
test edx, edx
je 0x1400b16b5
mov ecx, r8d
mov rax, qword [rsp + 0x120]
lea r8, [rax + rcx*2]
mov dword [rsp + 0x20], r15d
mov r9d, edx
mov edx, r10d
lea rcx, [rsp + 0xc8]
call fcn.1400eeb78
mov r8d, dword [rsp + 0x60]
add r8d, dword [rsp + 0x80]
mov dword [rsp + 0x60], r8d
mov rdi, qword [rsp + 0xc8]
mov eax, dword [rdi - 0x10]
lea edx, [rax*2 + 1]
add edx, eax
mov dword [rsp + 0x80], edx
mov ecx, esi
sub ecx, dword [rbx - 8]
mov eax, dword [rbx - 0xc]
sub eax, edx
or eax, ecx
jge 0x1400b16f2
lea rcx, [rsp + 0x190]
call fcn.140044540
mov rbx, qword [rsp + 0x190]
mov edx, dword [rsp + 0x80]
test edx, edx
js 0x1400b1908
cmp edx, dword [rbx - 0xc]
jg 0x1400b1908
mov dword [rbx - 0x10], edx
movsxd rax, edx
mov byte [rax + rbx], r15b
mov qword [rsp + 0x38], r15
mov qword [rsp + 0x30], r15
mov dword [rsp + 0x28], edx
mov qword [rsp + 0x20], rbx
mov r9d, dword [rdi - 0x10]
mov r8, rdi
xor edx, edx
mov ecx, 0xfde9
call qword [sym.imp.KERNEL32.dll_WideCharToMultiByte]
mov esi, eax
test eax, eax
jne 0x1400b178e
cmp dword [rdi - 0x10], r15d
je 0x1400b178e
call qword [sym.imp.KERNEL32.dll_GetLastError]
movzx r14d, ax
or r14d, 0x80070000
test eax, eax
cmovle r14d, eax
mov rcx, qword [0x140148ea8]
lea rax, [0x140148ea8]
cmp rcx, rax
je 0x1400b1795
test byte [rcx + 0x1c], r12b
je 0x1400b1795
cmp byte [rcx + 0x19], r12b
jb 0x1400b1795
mov edx, 0x11e
mov r9d, r14d
lea r8, [0x1400090a8]
mov rcx, qword [rcx + 0x10]
call fcn.14000fd64
mov rcx, qword [0x140148ea8]
mov dword [rsp + 0x70], r15d
test r14d, r14d
js 0x1400b1833
cmp esi, r13d
jne 0x1400b17b4
mov rsi, r13
inc rsi
cmp byte [rbx + rsi], r15b
jne 0x1400b17ab
test esi, esi
js 0x1400b1828
cmp esi, dword [rbx - 0xc]
jg 0x1400b1828
mov dword [rbx - 0x10], esi
movsxd rax, esi
mov byte [rax + rbx], r15b
mov edi, dword [rbx - 0x10]
mov rax, qword [rsp + 0xd0]
mov r14, qword [rax]
mov rax, qword [r14]
mov rsi, qword [rax + 0x20]
mov rcx, rsi
call qword [fcn.140015690]
lea r9, [rsp + 0x70]
mov r8d, edi
mov rdx, rbx
mov rcx, r14
call rsi
mov r14d, eax
test eax, eax
js 0x1400b181f
mov eax, dword [rsp + 0x68]
add eax, dword [rsp + 0x70]
mov dword [rsp + 0x68], eax
lea rcx, [rsp + 0xc8]
call fcn.140011644
mov esi, 1
jmp 0x1400b1637
mov rcx, qword [0x140148ea8]
jmp 0x1400b1833
mov ecx, 0x80070057
call fcn.1400119f0
int3
lea rax, [0x140148ea8]
cmp rcx, rax
je 0x1400b1864
test byte [rcx + 0x1c], r12b
je 0x1400b1864
cmp byte [rcx + 0x19], r12b
jb 0x1400b1864
mov edx, 0x11f
mov r9d, r14d
lea r8, [0x1400090a8]
mov rcx, qword [rcx + 0x10]
call fcn.14000fd64
nop
lea rsi, [rbx - 0x18]
mov eax, r13d
lock xadd dword [rsi + 0x10], eax
add eax, r13d
test eax, eax
jg 0x1400b1892
mov rdi, qword [rsi]
mov rax, qword [rdi]
mov rbx, qword [rax + 8]
mov rcx, rbx
call qword [fcn.140015690]
mov rdx, rsi
mov rcx, rdi
call rbx
mov rdi, qword [rsp + 0x78]
test r14d, r14d
js 0x1400b1916
mov dword [rsp + 0x70], r15d
mov ebx, dword [rdi - 0x10]
mov rax, qword [rsp + 0xd0]
mov r14, qword [rax]
mov rax, qword [r14]
mov rsi, qword [rax + 0x20]
mov rcx, rsi
call qword [fcn.140015690]
lea r9, [rsp + 0x70]
mov r8d, ebx
mov rdx, rdi
mov rcx, r14
call rsi
mov r14d, eax
mov eax, dword [rsp + 0x68]
add eax, dword [rsp + 0x70]
test r14d, r14d
js 0x1400b1916
mov ebx, eax
mov rax, qword [rsp + 0xd0]
mov r14, qword [rax]
mov rax, qword [r14]
mov rsi, qword [rax + 0x30]
mov rcx, rsi
call qword [fcn.140015690]
mov edx, ebx
mov rcx, r14
call rsi
mov r14d, eax
jmp 0x1400b1916
mov ecx, 0x80070057
call fcn.1400119f0
nop
jmp 0x1400b1915
nop
mov rdx, qword [rsp + 0x88]
test rdx, rdx
je 0x1400b1960
mov ebx, r15d
cmp dword [rsp + 0x98], r15d
jbe 0x1400b1958
mov eax, ebx
lea rcx, [rax + rax*2]
lea rcx, [rdx + rcx*8]
call qword [sym.imp.OLEAUT32.dll_VariantCopy]
inc ebx
mov rdx, qword [rsp + 0x88]
cmp ebx, dword [rsp + 0x98]
jb 0x1400b1930
mov rdi, qword [rsp + 0x78]
mov rcx, rdx
call sub.msvcrt.dll_free
mov rcx, qword [0x140148ea8]
lea rax, [0x140148ea8]
cmp rcx, rax
je 0x1400b19b7
test byte [rcx + 0x1c], 1
je 0x1400b19b7
movzx eax, byte [rcx + 0x19]
test r14d, r14d
mov edx, 5
cmovns r12d, edx
cmp eax, r12d
jl 0x1400b19b7
mov edx, 0x120
mov rax, qword [rsp + 0xd0]
mov rax, qword [rax]
mov qword [rsp + 0x20], rax
mov r9d, r14d
lea r8, [0x1400090a8]
mov rcx, qword [rcx + 0x10]
call fcn.14001783c
nop
lea rsi, [rdi - 0x18]
mov eax, r13d
lock xadd dword [rsi + 0x10], eax
add eax, r13d
test eax, eax
jg 0x1400b19e6
mov rdi, qword [rsi]
mov rax, qword [rdi]
mov rbx, qword [rax + 8]
mov rcx, rbx
call qword [fcn.140015690]
mov rdx, rsi
mov rcx, rdi
call rbx
nop
mov rsi, qword [rsp + 0xc8]
mov eax, r13d
lock xadd dword [rsi - 8], eax
add eax, r13d
test eax, eax
jg 0x1400b1a1b
mov rdi, qword [rsi - 0x18]
mov rax, qword [rdi]
mov rbx, qword [rax + 8]
mov rcx, rbx
call qword [fcn.140015690]
lea rdx, [rsi - 0x18]
mov rcx, rdi
call rbx
nop
mov rsi, qword [rsp + 0x140]
mov eax, r13d
lock xadd dword [rsi - 8], eax
add eax, r13d
test eax, eax
jg 0x1400b1a50
mov rdi, qword [rsi - 0x18]
mov rax, qword [rdi]
mov rbx, qword [rax + 8]
mov rcx, rbx
call qword [fcn.140015690]
lea rdx, [rsi - 0x18]
mov rcx, rdi
call rbx
nop
mov rcx, qword [rsp + 0x120]
call qword [sym.imp.OLEAUT32.dll_SysStringLen]
nop
mov rbx, qword [rsp + 0x118]
test rbx, rbx
je 0x1400b1a82
mov rax, qword [rbx]
mov rdi, qword [rax + 0x10]
mov rcx, rdi
call qword [fcn.140015690]
mov rcx, rbx
call rdi
nop
mov rcx, qword [rsp + 0x58]
call qword [sym.imp.OLEAUT32.dll_SysStringLen]
nop
mov rcx, qword [rsp + 0x128]
call qword [sym.imp.OLEAUT32.dll_SysStringLen]
nop
mov rbx, qword [rsp + 0x160]
test rbx, rbx
je 0x1400b1ac0
mov rax, qword [rbx]
mov rdi, qword [rax + 0x10]
mov rcx, rdi
call qword [fcn.140015690]
mov rcx, rbx
call rdi
nop
mov rbx, qword [rsp + 0x110]
test rbx, rbx
je 0x1400b1ae3
mov rax, qword [rbx]
mov rdi, qword [rax + 0x10]
mov rcx, rdi
call qword [fcn.140015690]
mov rcx, rbx
call rdi
nop
mov rbx, qword [rsp + 0x130]
test rbx, rbx
je 0x1400b1b05
mov rax, qword [rbx]
mov rdi, qword [rax + 0x10]
mov rcx, rdi
call qword [fcn.140015690]
mov rcx, rbx
call rdi
mov eax, r14d
mov rcx, qword [rsp + 0x240]
xor rcx, rsp
call fcn.140001000
add rsp, 0x250
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
ret