Function at 0x180020e80
Capabilities:
Read .ini file

Disassembly:
mov rax, rsp
push rsi
push rdi
push r12
push r13
push r14
sub rsp, 0x4f0
mov qword [rsp + 0x1e0], 0xfffffffffffffffe
mov qword [rax + 0x18], rbx
movaps xmmword [rax - 0x38], xmm6
mov rax, qword [0x1800ba600]
xor rax, rsp
mov qword [rsp + 0x4d0], rax
mov rdi, rdx
mov rsi, rcx
mov qword [rsp + 0xc8], rcx
mov r8d, 0x104
lea rdx, [rsp + 0x2c0]
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_GetModuleFileNameA]
mov qword [rsp + 0x2b8], SafeArrayUnaccessData
xor ebx, ebx
mov qword [rsp + 0x2b0], rbx
mov byte [rsp + 0x2a0], bl
lea rcx, [rsp + 0x2c0]
call fcn.180064df0
mov r8, rax
lea rdx, [rsp + 0x2c0]
lea rcx, [rsp + 0x298]
call fcn.180005ecc
nop
lea rcx, str.IEXPLORE
call fcn.180064df0
mov r9, rax
xor r8d, r8d
lea rdx, str.IEXPLORE
lea rcx, [rsp + 0x298]
call fcn.18000e3d8
or r12, 0xffffffffffffffff
cmp rax, r12
jne 0x180020f98
lea rcx, str.iexplore
call fcn.180064df0
mov r9, rax
xor r8d, r8d
lea rdx, str.iexplore
lea rcx, [rsp + 0x298]
call fcn.18000e3d8
cmp rax, r12
jne 0x180020f98
cmp qword [rsp + 0x2b8], 0x10
jb 0x180020f91
mov rcx, qword [rsp + 0x2a0]
call fcn.18006419c
xor eax, eax
jmp 0x180021f18
call qword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
mov dword [rsp + 0x4c], eax
cmp rdi, rbx
je 0x180021e20
mov dword [rsp + 0xe4], eax
mov dword [rsp + 0xe8], 1
lea r8, [rsp + 0xe4]
lea rdx, [rsp + 0x280]
lea rcx, [0x1800bd4c0]
call fcn.18001bc40
call fcn.180063b28
mov qword [rsp + 0x40], rbx
mov al, byte [0x1800bc260]
mov byte [0x1800bc260], al
mov rax, qword [rdi]
lea r8, [rsp + 0x40]
lea rdx, [0x18008ef50]
mov rcx, rdi
call qword [rax]
cmp eax, ebx
jl 0x180021903
lea rcx, [rsi - 0x50]
call fcn.1800209a0
mov dword [rsp + 0xe0], 0x1bb75694
lea rdx, [rsp + 0xe0]
lea r13, [0x1800bd6f0]
mov rcx, r13
call fcn.1800088e4
mov rdi, qword [rax]
mov qword [rsp + 0x58], rdi
cmp rdi, rbx
je 0x18002104d
lock add dword [rdi + 0x10], 1
mov rdi, qword [rsp + 0x58]
cmp rdi, rbx
je 0x180021066
cmp qword [rdi], rbx
je 0x180021062
mov rcx, qword [rdi]
call qword [sym.imp.OLEAUT32.dll_VariantInit]
jmp 0x180021068
mov eax, ebx
jmp 0x180021068
mov eax, ebx
cmp eax, ebx
je 0x1800213c7
cmp rdi, rbx
je 0x18002108d
cmp qword [rdi + 8], rbx
jne 0x180021087
mov rcx, qword [rdi]
call fcn.18007d5b0
mov qword [rdi + 8], rax
mov rcx, qword [rdi + 8]
jmp 0x180021090
mov rcx, rbx
lea rdx, [0x180090500]
call fcn.180067150
cmp eax, ebx
je 0x1800213c7
cmp rdi, rbx
je 0x1800210c1
cmp qword [rdi + 8], rbx
jne 0x1800210bb
mov rcx, qword [rdi]
call fcn.18007d5b0
mov qword [rdi + 8], rax
mov rcx, qword [rdi + 8]
jmp 0x1800210c4
mov rcx, rbx
lea rdx, [0x180090574]
call fcn.180067150
cmp eax, ebx
jne 0x180021882
mov rax, rbx
mov qword [rsp + 0x60], rbx
mov rcx, qword [rsp + 0x40]
cmp rcx, rbx
je 0x180021100
mov rax, qword [rcx]
lea r8, [rsp + 0x60]
lea rdx, [0x180098698]
call qword [rax]
mov rax, qword [rsp + 0x60]
cmp rax, rbx
je 0x1800213b0
mov qword [rsp + 0x70], rbx
mov r9, qword [rax]
lea r8, [rsp + 0x70]
lea rdx, [0x180098748]
mov rcx, rax
call qword [r9 + SafeArrayAllocDescriptor]
mov r13d, eax
cmp eax, ebx
jge 0x1800211be
mov rcx, qword [rsp + 0x70]
cmp rcx, rbx
je 0x180021140
mov rdx, qword [rcx]
call qword [rdx + 0x10]
nop
mov rcx, qword [rsp + 0x60]
cmp rcx, rbx
je 0x180021151
mov rax, qword [rcx]
call qword [rax + 0x10]
nop
cmp rdi, rbx
je 0x18002118d
mov eax, r12d
lock xadd dword [rdi + 0x10], eax
add eax, r12d
jne 0x18002118d
mov rdi, qword [rsp + 0x58]
cmp qword [rdi], rbx
je 0x180021176
mov rcx, qword [rdi]
call qword [sym.imp.OLEAUT32.dll_SysStringLen]
mov rcx, qword [rdi + 8]
cmp rcx, rbx
je 0x180021184
call fcn.180064200
mov rcx, rdi
call fcn.18006419c
nop
mov rcx, qword [rsp + 0x40]
cmp rcx, rbx
je 0x18002119e
mov rax, qword [rcx]
call qword [rax + 0x10]
nop
cmp qword [rsp + 0x2b8], 0x10
jb 0x1800211b6
mov rcx, qword [rsp + 0x2a0]
call fcn.18006419c
mov eax, r13d
jmp 0x180021f18
mov rcx, qword [rsp + 0x70]
mov rax, qword [rcx]
lea r8, [rsi + 0xc8]
lea rdx, [rsi - 0x50]
call qword [rax + 0x28]
mov rcx, qword [rsp + 0x40]
mov rax, qword [rcx]
lea rdx, [rsp + 0x120]
call qword [rax + 0x128]
mov r13d, eax
cmp eax, ebx
jge 0x180021284
mov rcx, qword [rsp + 0x70]
cmp rcx, rbx
je 0x180021206
mov rdx, qword [rcx]
call qword [rdx + 0x10]
nop
mov rcx, qword [rsp + 0x60]
cmp rcx, rbx
je 0x180021217
mov rax, qword [rcx]
call qword [rax + 0x10]
nop
cmp rdi, rbx
je 0x180021253
mov eax, r12d
lock xadd dword [rdi + 0x10], eax
add eax, r12d
jne 0x180021253
mov rdi, qword [rsp + 0x58]
cmp qword [rdi], rbx
je 0x18002123c
mov rcx, qword [rdi]
call qword [sym.imp.OLEAUT32.dll_SysStringLen]
mov rcx, qword [rdi + 8]
cmp rcx, rbx
je 0x18002124a
call fcn.180064200
mov rcx, rdi
call fcn.18006419c
nop
mov rcx, qword [rsp + 0x40]
cmp rcx, rbx
je 0x180021264
mov rax, qword [rcx]
call qword [rax + 0x10]
nop
cmp qword [rsp + 0x2b8], 0x10
jb 0x18002127c
mov rcx, qword [rsp + 0x2a0]
call fcn.18006419c
mov eax, r13d
jmp 0x180021f18
mov rax, qword [rsp + 0x120]
mov qword [rsi + 0xb8], rax
mov byte [0x1800bc260], 1
mov r13, qword [rsp + 0x40]
cmp qword [rsi + 0x80], r13
je 0x1800212d0
cmp r13, rbx
je 0x1800212b7
mov rax, qword [r13]
mov rcx, r13
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
mov rcx, qword [rsi + 0x80]
cmp rcx, rbx
je 0x1800212c9
mov rax, qword [rcx]
call qword [rax + 0x10]
mov qword [rsi + 0x80], r13
mov dword [rsp + 0x90], r12d
mov dword [rsp + 0x94], r12d
mov dword [rsp + 0x98], r12d
mov dword [rsp + 0x9c], r12d
mov qword [rsp + 0x1d8], rbx
mov qword [rsp + 0x38], rbx
mov qword [rsp + 0x30], rbx
mov dword [rsp + 0x28], ebx
mov dword [rsp + 0x20], ebx
xor r9d, r9d
lea r8, [rsp + 0x90]
mov rdx, qword [rsi + 0xb8]
lea rcx, [rsi - 0x48]
call fcn.180019238
mov qword [rsi - 0x40], rax
cmp rax, rbx
jne 0x18002138a
xor r9d, r9d
lea r8, str.Frame_Tab
xor edx, edx
mov rcx, qword [rsi + 0xb8]
call qword [sym.imp.USER32.dll_FindWindowExA]
mov edx, 5
mov rcx, rax
call qword [sym.imp.USER32.dll_GetWindow]
mov qword [rsp + 0x138], rbx
mov qword [rsp + 0x38], rbx
mov qword [rsp + 0x30], rbx
mov dword [rsp + 0x28], ebx
mov dword [rsp + 0x20], ebx
xor r9d, r9d
lea r8, [rsp + 0x90]
mov rdx, rax
lea rcx, [rsi - 0x48]
call fcn.180019238
mov qword [rsi - 0x40], rax
mov dword [rsi + 0x90], 1
mov rcx, qword [rsp + 0x70]
cmp rcx, rbx
je 0x1800213ab
mov rax, qword [rcx]
call qword [rax + 0x10]
mov rax, qword [rsp + 0x60]
jmp 0x1800213b0
mov rax, qword [rsp + 0x60]
cmp rax, rbx
je 0x180021882
mov rdx, qword [rax]
mov rcx, rax
call qword [rdx + 0x10]
jmp 0x180021882
mov dword [rsp + 0xd0], 0xc04f27db
lea rdx, [rsp + 0xd0]
mov rcx, r13
call fcn.1800088e4
mov rax, qword [rax]
mov qword [rsp + 0xa8], rax
cmp rax, rbx
je 0x1800213f7
lock add dword [rax + 0x10], 1
lea rdx, [0x180090560]
lea rcx, [rsp + 0x130]
call fcn.180002188
mov rdx, rax
lea rcx, [rsp + 0xa8]
call fcn.18000ec6c
mov rdi, qword [rsp + 0x130]
cmp rdi, rbx
je 0x18002145e
mov eax, r12d
lock xadd dword [rdi + 0x10], eax
add eax, r12d
jne 0x18002145e
cmp rdi, rbx
je 0x18002145e
cmp qword [rdi], rbx
je 0x180021448
mov rcx, qword [rdi]
call qword [sym.imp.OLEAUT32.dll_SysStringLen]
mov rcx, qword [rdi + 8]
cmp rcx, rbx
je 0x180021456
call fcn.180064200
mov rcx, rdi
call fcn.18006419c
mov dword [rsp + 0x68], 0x6f4d5c45
lea rdx, [rsp + 0x68]
mov rcx, r13
call fcn.1800088e4
mov rdi, qword [rax]
mov qword [rsp + 0xd8], rdi
cmp rdi, rbx
je 0x180021490
lock add dword [rdi + 0x10], 1
mov rdi, qword [rsp + 0xd8]
mov eax, VariantTimeToDosDateTime
mov word [rsp + 0x140], ax
mov word [rsp + 0x148], r12w
lea rcx, [rsp + 0x160]
call qword [sym.imp.OLEAUT32.dll_VariantClear]
nop
mov r13d, 8
mov word [rsp + 0x108], r13w
cmp rdi, rbx
je 0x1800214ce
mov rdi, qword [rdi]
jmp 0x1800214d1
mov rdi, rbx
cmp rdi, rbx
jne 0x1800214e0
mov qword [rsp + 0x110], rbx
jmp 0x18002150c
mov rcx, rdi
call qword [sym.imp.OLEAUT32.dll_SysAllocStringByteLen]
mov edx, eax
mov rcx, rdi
call qword [sym.imp.OLEAUT32.dll_DllRegisterServer]
mov qword [rsp + 0x110], rax
cmp rax, rbx
jne 0x18002150c
mov ecx, 0x8007000e
call fcn.18007d370
nop
lea rdx, str.dtx.ini
lea rcx, [rsp + 0xb8]
call fcn.180002188
nop
mov dword [rsp + 0xb0], 0x4c81a2b
lea rdx, [rsp + 0xb0]
lea rcx, [0x1800bd6f0]
call fcn.1800088e4
mov rcx, rax
lea r8, [rsp + 0xb8]
lea rdx, [rsp + 0x80]
call fcn.180016958
nop
mov rax, qword [rsp + 0xb8]
cmp rax, rbx
je 0x18002159f
mov ecx, r12d
lock xadd dword [rax + 0x10], ecx
add ecx, r12d
jne 0x18002159f
mov rdi, qword [rsp + 0xb8]
cmp qword [rdi], rbx
je 0x180021589
mov rcx, qword [rdi]
call qword [sym.imp.OLEAUT32.dll_SysStringLen]
mov rcx, qword [rdi + 8]
cmp rcx, rbx
je 0x180021597
call fcn.180064200
mov rcx, rdi
call fcn.18006419c
mov rdi, qword [rsp + 0x80]
cmp rdi, rbx
je 0x1800215c4
cmp qword [rdi + 8], rbx
jne 0x1800215be
mov rcx, qword [rdi]
call fcn.18007d5b0
mov qword [rdi + 8], rax
mov rax, qword [rdi + 8]
jmp 0x1800215c7
mov rax, rbx
mov qword [rsp + 0x28], rax
mov dword [rsp + 0x20], 0xff
lea r9, [rsp + 0x3d0]
lea r8, [0x180090554]
lea rdx, str.show
lea rcx, [0x180090548]
call qword [sym.imp.KERNEL32.dll_GetPrivateProfileStringA]
cmp byte [rsp + 0x3d0], 0x31
je 0x18002166a
mov rdi, qword [rsp + 0x80]
cmp rdi, rbx
je 0x180021626
cmp qword [rdi + 8], rbx
jne 0x180021620
mov rcx, qword [rdi]
call fcn.18007d5b0
mov qword [rdi + 8], rax
mov r9, qword [rdi + 8]
jmp 0x180021629
mov r9, rbx
lea r8, [0x180090560]
lea rdx, str.show
lea rcx, [0x180090548]
call qword [sym.imp.KERNEL32.dll_WritePrivateProfileStringA]
mov rcx, qword [rsp + 0x40]
mov rax, qword [rcx]
lea r9, [rsp + 0x160]
lea r8, [rsp + 0x140]
lea rdx, [rsp + 0x108]
call qword [rax + 0x1b8]
lea rcx, [rsp + 0x158]
call fcn.18005f5c4
nop
mov rsi, 0xffffffff80000001
mov r8, rsi
lea rdx, str.SingleShow
mov rcx, qword [rax]
call fcn.18005cb70
mov dil, al
mov rdx, qword [rsp + 0x158]
add rdx, 0xffffffffffffffe8
mov ecx, r12d
lock xadd dword [rdx + 0x10], ecx
add ecx, r12d
cmp ecx, ebx
jg 0x1800216b9
mov rcx, qword [rdx]
mov r8, qword [rcx]
call qword [rreloc.OLEAUT32.dll_VariantClear + 8]
cmp dil, bl
je 0x18002172c
mov rcx, qword [rsp + 0x40]
mov rax, qword [rcx]
lea r9, [rsp + 0x160]
lea r8, [rsp + 0x140]
lea rdx, [rsp + 0x108]
call qword [rax + 0x1b8]
lea rcx, [rsp + 0xc8]
call fcn.18005f5c4
nop
mov r9, rsi
xor r8d, r8d
lea rdx, str.SingleShow
mov rcx, qword [rax]
call fcn.18005cc04
nop
mov rdx, qword [rsp + 0xc8]
add rdx, 0xffffffffffffffe8
mov eax, r12d
lock xadd dword [rdx + 0x10], eax
add eax, r12d
cmp eax, ebx
jg 0x18002172c
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
mov dword [rsp + 0x6c], ebx
mov dword [rsp + 0x50], ebx
lea rdx, [rsp + 0x50]
lea rcx, [rsp + 0x6c]
call fcn.18005d0f4
cmp dword [rsp + 0x6c], 7
jle 0x180021771
mov rcx, qword [rsp + 0x40]
mov rax, qword [rcx]
lea r9, [rsp + 0x160]
lea r8, [rsp + 0x140]
lea rdx, [rsp + 0x108]
call qword [rax + 0x1b8]
nop
mov rdi, qword [rsp + 0x80]
cmp rdi, rbx
je 0x1800217bc
mov eax, r12d
lock xadd dword [rdi + 0x10], eax
add eax, r12d
jne 0x1800217b4
cmp rdi, rbx
je 0x1800217b4
cmp qword [rdi], rbx
je 0x18002179e
mov rcx, qword [rdi]
call qword [sym.imp.OLEAUT32.dll_SysStringLen]
mov rcx, qword [rdi + 8]
cmp rcx, rbx
je 0x1800217ac
call fcn.180064200
mov rcx, rdi
call fcn.18006419c
mov qword [rsp + 0x80], rbx
lea rcx, [rsp + 0x108]
call qword [sym.imp.OLEAUT32.dll_VariantCopy]
nop
lea rcx, [rsp + 0x160]
call qword [sym.imp.OLEAUT32.dll_VariantCopy]
nop
lea rcx, [rsp + 0x140]
call qword [sym.imp.OLEAUT32.dll_VariantCopy]
nop
mov rax, qword [rsp + 0xd8]
cmp rax, rbx
je 0x180021830
mov ecx, r12d
lock xadd dword [rax + 0x10], ecx
add ecx, r12d
jne 0x180021830
mov rdi, qword [rsp + 0xd8]
cmp qword [rdi], rbx
je 0x180021819
mov rcx, qword [rdi]
call qword [sym.imp.OLEAUT32.dll_SysStringLen]
mov rcx, qword [rdi + 8]
cmp rcx, rbx
je 0x180021827
call fcn.180064200
mov rcx, rdi
call fcn.18006419c
nop
mov rax, qword [rsp + 0xa8]
cmp rax, rbx
je 0x18002187d
mov ecx, r12d
lock xadd dword [rax + 0x10], ecx
add ecx, r12d
jne 0x18002187d
mov rdi, qword [rsp + 0xa8]
cmp qword [rdi], rbx
je 0x180021860
mov rcx, qword [rdi]
call qword [sym.imp.OLEAUT32.dll_SysStringLen]
mov rcx, qword [rdi + 8]
cmp rcx, rbx
je 0x18002186e
call fcn.180064200
mov rcx, rdi
call fcn.18006419c
mov rdi, qword [rsp + 0x58]
jmp 0x180021882
mov rdi, qword [rsp + 0x58]
mov rcx, qword [rsp + 0x40]
cmp rcx, rbx
je 0x180021897
mov rax, qword [rcx]
call qword [rax + 0x10]
mov qword [rsp + 0x40], rbx
cmp rdi, rbx
je 0x1800218d3
mov eax, r12d
lock xadd dword [rdi + 0x10], eax
add eax, r12d
jne 0x1800218d3
mov rdi, qword [rsp + 0x58]
cmp qword [rdi], rbx
je 0x1800218bc
mov rcx, qword [rdi]
call qword [sym.imp.OLEAUT32.dll_SysStringLen]
mov rcx, qword [rdi + 8]
cmp rcx, rbx
je 0x1800218ca
call fcn.180064200
mov rcx, rdi
call fcn.18006419c
nop
mov rcx, qword [rsp + 0x40]
cmp rcx, rbx
je 0x1800218e4
mov rax, qword [rcx]
call qword [rax + 0x10]
nop
cmp qword [rsp + 0x2b8], 0x10
jb 0x1800218fc
mov rcx, qword [rsp + 0x2a0]
call fcn.18006419c
xor eax, eax
jmp 0x180021f18
mov rcx, qword [rsi + 0x70]
cmp rcx, rbx
je 0x180021916
mov rax, qword [rcx]
call qword [rax + 0x10]
mov qword [rsi + 0x70], rbx
mov rax, qword [rdi]
lea r8, [rsi + 0x70]
lea rdx, [0x180098628]
mov rcx, rdi
call qword [rax]
mov r11, qword [rdi]
lea r8, [rsp + 0xf0]
lea rdx, [0x180098688]
mov rcx, rdi
call qword [r11]
cmp eax, ebx
jl 0x180021968
mov rcx, qword [rsp + 0xf0]
mov rax, qword [rcx]
lea rdx, [rsi + 0xb8]
call qword [rax + reloc.OLEAUT32.dll_SafeArrayGetElement]
mov rcx, qword [rsp + 0xf0]
mov rax, qword [rcx]
call qword [rax + 0x10]
mov rcx, qword [rsi + 0xb8]
cmp rcx, rbx
jne 0x1800219a7
mov rcx, qword [rsp + 0x40]
cmp rcx, rbx
je 0x180021985
mov rax, qword [rcx]
call qword [rax + 0x10]
nop
cmp qword [rsp + 0x2b8], 0x10
jb 0x18002199d
mov rcx, qword [rsp + 0x2a0]
call fcn.18006419c
mov eax, 0x80004005
jmp 0x180021f18
lea rdx, [rsp + 0x1c8]
call qword [sym.imp.USER32.dll_GetClientRect]
mov r11, qword [rdi]
lea r8, [rsp + 0xf8]
lea rdx, [0x180098768]
mov rcx, rdi
call qword [r11]
cmp eax, ebx
jl 0x180021e07
mov rcx, qword [rsp + 0xf8]
mov rax, qword [rcx]
lea r8, [rsp + 0x100]
lea rdx, [0x18008ed30]
call qword [rax]
mov edi, eax
mov rcx, qword [rsp + 0xf8]
mov rdx, qword [rcx]
call qword [rdx + 0x10]
cmp edi, ebx
jl 0x180021e07
cmp qword [rsi + 0x80], rbx
je 0x180021a2b
mov rcx, qword [rsi + 0x80]
cmp rcx, rbx
je 0x180021a2b
mov qword [rsi + 0x80], rbx
mov rax, qword [rcx]
call qword [rax + 0x10]
mov rcx, qword [rsp + 0x100]
mov rax, qword [rcx]
lea r9, [rsi + 0x80]
lea r8, [0x18008ef50]
lea rdx, [0x180098738]
call qword [rax + reloc.OLEAUT32.dll_SafeArrayGetElement]
mov r14d, eax
mov dword [rsp + 0x50], eax
mov qword [rsp + 0x1e8], rbx
lea rcx, [rsi - 0x48]
mov qword [rsp + 0x38], rbx
mov qword [rsp + 0x30], rbx
mov dword [rsp + 0x28], 0x80
mov dword [rsp + 0x20], 0x56019b4d
xor r9d, r9d
lea r8, [rsp + 0x1c8]
mov rdx, qword [rsi + 0xb8]
call fcn.180019238
mov qword [rsi - 0x40], rax
jmp 0x180021aab
mov qword [rsp + 0x88], rbx
mov rcx, qword [rsi + 0x80]
mov rax, qword [rcx]
lea rdx, [rsp + 0x88]
call qword [rax + SysAllocStringByteLen]
mov rcx, qword [rsi + 0x148]
cmp rcx, rbx
je 0x180021b0c
mov rdx, qword [rsp + 0x88]
cmp rdx, rbx
je 0x180021af1
add rcx, 0xa0
mov rax, qword [rcx]
call qword [rax + 0x28]
mov rcx, qword [rsi + 0x148]
add rcx, 0xa0
mov rax, qword [rcx]
mov rdx, qword [rsi + 0x80]
call qword [rax + 0x40]
mov rcx, rbx
mov qword [rsp + 0xc0], rbx
mov rax, qword [rsp + 0x88]
cmp rax, rbx
je 0x180021b44
mov r9, qword [rax]
lea r8, [rsp + 0xc0]
lea rdx, [0x180098708]
mov rcx, rax
call qword [r9]
mov rcx, qword [rsp + 0xc0]
cmp rcx, rbx
je 0x180021d11
mov qword [rsp + 0x78], rbx
mov rax, qword [rcx]
lea rdx, [rsp + 0x78]
call qword [rax + 0x128]
mov rcx, qword [rsp + 0x78]
cmp rcx, rbx
je 0x180021d06
mov edx, 0x400
xor ecx, ecx
call qword [sym.imp.OLEAUT32.dll_SysReAllocStringLen]
mov qword [rsp + 0xa0], rax
cmp rax, rbx
jne 0x180021b93
mov ecx, 0x8007000e
call fcn.18000100c
nop
mov rcx, qword [rsp + 0x78]
mov rax, qword [rcx]
lea rdx, [rsp + 0xa0]
call qword [rax + 0x40]
cmp qword [rsi + 0x88], rbx
je 0x180021cf3
lea rcx, [rsp + 0x210]
call qword [sym.imp.OLEAUT32.dll_VariantClear]
nop
mov r13d, 8
mov rcx, r13
call fcn.180064d40
cmp rax, rbx
je 0x180021be2
lea rcx, [rsp + 0x178]
mov qword [rax], rcx
jmp 0x180021be5
mov rax, rbx
mov qword [rsp + 0x178], rax
mov qword [rsp + 0x190], rbx
mov qword [rsp + 0x198], rbx
mov qword [rsp + 0x1a0], rbx
mov qword [rsp + 0x1a8], rbx
mov rdi, qword [rsp + 0xa0]
mov word [rsp + 0x1b0], r13w
mov rcx, rdi
call qword [sym.imp.OLEAUT32.dll_SysReAllocString]
mov qword [rsp + 0x1b8], rax
cmp rax, rbx
jne 0x180021c44
cmp rdi, rbx
je 0x180021c44
mov ecx, 0x8007000e
call fcn.18007d370
nop
lea rdx, [rsp + 0x1b0]
lea rcx, [rsp + 0x178]
call fcn.18001de50
lea r11, [rsp + 0x228]
mov qword [rsp + 0x138], r11
mov rdi, qword [rsi + 0x88]
lea rdx, [rsp + 0x178]
lea rcx, [rsp + 0x228]
call fcn.18001cab0
mov r11, qword [rsp + 0x1a8]
mov qword [rsp + 0x258], r11
lea rdx, str.DTFramework_OnDocumentComplete
lea rcx, [rsp + 0x1f0]
call fcn.180002188
mov r10, qword [rdi]
lea r9, [rsp + 0x210]
lea r8, [rsp + 0x228]
mov rdx, rax
mov rcx, rdi
call qword [r10 + 0x28]
nop
lea rcx, [rsp + 0x1b0]
call qword [sym.imp.OLEAUT32.dll_VariantCopy]
nop
lea rcx, [rsp + 0x178]
call fcn.1800082b0
nop
lea rcx, [rsp + 0x210]
call qword [sym.imp.OLEAUT32.dll_VariantCopy]
nop
mov rcx, qword [rsp + 0xa0]
call qword [sym.imp.OLEAUT32.dll_SysStringLen]
mov rcx, qword [rsp + 0x78]
cmp rcx, rbx
je 0x180021d11
mov rax, qword [rcx]
call qword [rax + 0x10]
mov rcx, qword [rsp + 0x100]
mov rax, qword [rcx]
call qword [rax + 0x10]
cmp r14d, ebx
jne 0x180021ddf
lea r9, [rsi + 0xc8]
lea r8, [0x180098748]
lea rdx, [rsi - 0x50]
mov rcx, qword [rsi + 0x80]
call fcn.18000ea8c
call qword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
mov r9d, eax
xor r8d, r8d
lea rdx, [0x180011654]
lea ecx, [r8 + 7]
call qword [sym.imp.USER32.dll_SetWindowsHookExA]
mov qword [0x1800bc250], rax
lea rcx, [rsi - 0x50]
call fcn.1800102bc
lea rcx, [rsp + 0x128]
call fcn.18001740c
lea r8, [rsi - 0x50]
mov rdx, qword [rax]
mov rcx, qword [rsi + 0xb8]
call qword [sym.imp.USER32.dll_SetPropA]
mov edi, eax
mov rdx, qword [rsp + 0x128]
add rdx, 0xffffffffffffffe8
mov ecx, r12d
lock xadd dword [rdx + 0x10], ecx
add ecx, r12d
cmp ecx, ebx
jg 0x180021dbb
mov rcx, qword [rdx]
mov r8, qword [rcx]
call qword [rreloc.OLEAUT32.dll_VariantClear + 8]
cmp edi, ebx
je 0x180021ddf
lea r8, [0x180017468]
mov edx, 0xfffffffc
mov rcx, qword [rsi + 0xb8]
call qword [sym.imp.USER32.dll_SetWindowLongPtrA]
mov qword [rsi + 0x158], rax
mov rcx, qword [rsp + 0xc0]
cmp rcx, rbx
je 0x180021df3
mov rax, qword [rcx]
call qword [rax + 0x10]
nop
mov rcx, qword [rsp + 0x88]
cmp rcx, rbx
je 0x180021e07
mov rax, qword [rcx]
call qword [rax + 0x10]
nop
mov rcx, qword [rsp + 0x40]
cmp rcx, rbx
je 0x180021efe
mov rax, qword [rcx]
call qword [rax + 0x10]
jmp 0x180021efe
lea r8, [rsp + 0x4c]
lea rdx, [rsp + 0x270]
lea rcx, [0x1800bd4c0]
call fcn.1800118dc
movdqu xmm6, xmmword [rax]
movaps xmmword [rsp + 0x90], xmm6
mov rdi, qword [0x1800bd4f0]
mov rax, qword [rsp + 0x90]
cmp rax, rbx
je 0x180021e62
cmp rax, qword [0x1800bd4c0]
je 0x180021e67
call fcn.180065948
cmp qword [rsp + 0x98], rdi
je 0x180021e96
movdqa xmmword [rsp + 0x200], xmm6
lea r8, [rsp + 0x200]
lea rdx, [rsp + 0x260]
lea rcx, [0x1800bd4c0]
call fcn.1800192f0
lea rcx, [rsi + 0x18]
mov rax, qword [rcx]
xor edx, edx
call qword [rax + 0x30]
mov rcx, qword [rsi + 0x70]
cmp rcx, rbx
je 0x180021eb5
mov rax, qword [rcx]
call qword [rax + 0x10]
mov qword [rsi + 0x70], rbx
cmp qword [rsi + 0x158], rbx
je 0x180021eef
mov rcx, qword [rsi + 0xb8]
call qword [sym.imp.USER32.dll_IsWindow]
cmp eax, ebx
je 0x180021eef
mov r8, qword [rsi + 0x158]
mov edx, 0xfffffffc
mov rcx, qword [rsi + 0xb8]
call qword [sym.imp.USER32.dll_SetWindowLongPtrA]
mov qword [rsi + 0x158], rbx
cmp qword [0x1800bd4f8], rbx
jne 0x180021efe
call fcn.180063b8c
nop
cmp qword [rsp + 0x2b8], 0x10
jb 0x180021f16
mov rcx, qword [rsp + 0x2a0]
call fcn.18006419c
xor eax, eax
mov rcx, qword [rsp + 0x4d0]
xor rcx, rsp
call fcn.180064d20
lea r11, [rsp + 0x4f0]
mov rbx, qword [r11 + 0x40]
movaps xmm6, xmmword [r11 - 0x10]
mov rsp, r11
pop r14
pop r13
pop r12
pop rdi
pop rsi
ret