Function at 0x407ab0
Capabilities:
Contain obfuscated stackstrings

Disassembly:
push edi
lea edi, [esp + 8]
and esp, 0xfffffff0
push dword [edi - 4]
push ebp
mov ebp, esp
push edi
push esi
xor esi, esi
push ebx
sub esp, 0x624
mov dword [ebp - 0x614], eax
mov eax, dword [edi]
movdqu xmm0, xmmword [str.interfacdispintehelpcontappobjeccancreatlicensedpredeclicontrol]
mov ebx, dword [edi + 0xc]
mov dword [ebp - 0x608], edx
xor edx, edx
mov dword [ebp - 0x600], eax
mov eax, dword [edi + 4]
movups xmmword [ebp - 0x538], xmm0
movdqu xmm0, xmmword [0x40fa20]
mov dword [ebp - 0x604], eax
mov eax, dword [edi + 8]
movups xmmword [ebp - 0x438], xmm0
movdqu xmm0, xmmword [0x40fa30]
mov dword [ebp - 0x5fc], eax
xor eax, eax
mov word [ebp - 0x524], ax
xor eax, eax
mov dword [ebp - 0x60c], ecx
xor ecx, ecx
mov word [ebp - 0x41c], ax
xor eax, eax
mov dword [ebp - 0x528], 0x200065
mov dword [ebp - 0x428], 0x660072
mov dword [ebp - 0x424], 0x630061
mov dword [ebp - 0x420], 0x200065
mov dword [ebp - 0x4c8], 0x780065
mov dword [ebp - 0x4c4], 0x74
movups xmmword [ebp - 0x4d8], xmm0
movdqu xmm0, xmmword [0x40fa40]
mov word [ebp - 0x5a8], ax
xor eax, eax
movups xmmword [ebp - 0x598], xmm0
movdqu xmm0, xmmword [0x40fa50]
mov word [ebp - 0x5ca], ax
xor eax, eax
movups xmmword [ebp - 0x578], xmm0
movdqu xmm0, xmmword [0x40fa60]
mov word [ebp - 0x5e4], ax
mov eax, ebx
movups xmmword [ebp - 0x5b8], xmm0
movdqu xmm0, xmmword [0x40fa70]
mov dword [ebp - 0x588], 0x74
movups xmmword [ebp - 0x558], xmm0
movdqu xmm0, xmmword [0x40fa80]
mov dword [ebp - 0x568], 0x65
movups xmmword [ebp - 0x5c8], xmm0
movdqu xmm0, xmmword [str.nonextenoleautomrestrictaggregatreplacabreversebtypedef__s___s_]
mov dword [ebp - 0x548], 0x64
movups xmmword [ebp - 0x478], xmm0
movdqu xmm0, xmmword [0x40faa0]
mov dword [ebp - 0x5d6], 0x690068
movups xmmword [ebp - 0x458], xmm0
movdqu xmm0, xmmword [0x40fab0]
mov dword [ebp - 0x5d2], 0x640064
mov dword [ebp - 0x5ce], 0x6e0065
mov dword [ebp - 0x5ec], 0x750064
mov dword [ebp - 0x5e8], 0x6c0061
mov dword [ebp - 0x468], 0x690073
mov dword [ebp - 0x464], 0x6c0062
mov dword [ebp - 0x460], 0x65
mov dword [ebp - 0x448], 0x740061
mov dword [ebp - 0x444], 0x6f0069
mov dword [ebp - 0x440], 0x6e
movups xmmword [ebp - 0x518], xmm0
movdqu xmm0, xmmword [0x40fac0]
mov word [ebp - 0x4e4], si
lea esi, [ebx + 0x204]
movups xmmword [ebp - 0x498], xmm0
movdqu xmm0, xmmword [0x40fad0]
mov word [ebp - 0x504], dx
mov edx, esi
movups xmmword [ebp - 0x4f8], xmm0
movdqu xmm0, xmmword [0x40fae0]
mov word [ebp - 0x480], cx
mov ecx, 0x40f500
mov dword [ebp - 0x508], 0x640065
mov dword [ebp - 0x488], 0x620061
mov dword [ebp - 0x484], 0x65006c
mov dword [ebp - 0x4e8], 0x65006c
mov dword [ebp - 0x4a8], 0x6e0069
mov dword [ebp - 0x4a4], 0x64
mov dword [ebp - 0x5e2], 0x720070
mov dword [ebp - 0x5de], 0x78006f
mov dword [ebp - 0x5da], 0x79
movups xmmword [ebp - 0x4b8], xmm0
call sym._AddToTLDataStrW.isra.0
mov eax, dword [ebp - 0x5fc]
cmp dword [eax + 0x28], 4
je 0x407d8f
mov edi, 4
mov esi, esi
lea edi, [edi]
mov ecx, 0x40f506
mov edx, esi
mov eax, ebx
call sym._AddToTLDataStrW.isra.0
sub edi, 1
jne 0x407d60
mov ecx, 0x40f9cc
mov edx, esi
mov eax, ebx
call sym._AddToTLDataStrW.isra.0
mov ecx, 0x40f50a
mov edx, esi
mov eax, ebx
call sym._AddToTLDataStrW.isra.0
mov edi, 4
lea esi, [esi]
mov ecx, 0x40f506
mov edx, esi
mov eax, ebx
call sym._AddToTLDataStrW.isra.0
sub edi, 1
jne 0x407d98
mov ecx, str.uuid
mov edx, esi
mov eax, ebx
mov dword [ebp - 0x610], edi
call sym._AddToTLDataStrW.isra.0
mov ecx, 0x40f510
mov edx, esi
mov eax, ebx
call sym._AddToTLDataStrW.isra.0
mov eax, dword [ebp - 0x5fc]
lea edi, [ebp - 0x418]
mov dword [esp + 8], 0x100
mov dword [esp + 4], edi
mov dword [esp], eax
call dword [sym.imp.ole32.dll_StringFromGUID2]
sub esp, 0xc
cmp word [ebp - 0x418], 0
je 0x4085d0
mov eax, edi
lea esi, [esi]
add eax, 2
cmp word [eax], 0
jne 0x407e08
sub eax, edi
sar eax, 1
sub eax, 1
xor ecx, ecx
mov edx, esi
mov word [ebp + eax*2 - 0x418], cx
lea ecx, [ebp - 0x416]
mov eax, ebx
call sym._AddToTLDataStrW.isra.0
mov ecx, 0x40f514
mov edx, esi
mov eax, ebx
call sym._AddToTLDataStrW.isra.0
mov edi, dword [ebp - 0x600]
test edi, edi
je 0x407eac
mov ecx, 0x40f50a
mov edx, esi
mov eax, ebx
mov edi, 4
call sym._AddToTLDataStrW.isra.0
lea esi, [esi]
mov ecx, 0x40f506
mov edx, esi
mov eax, ebx
call sym._AddToTLDataStrW.isra.0
sub edi, 1
jne 0x407e60
mov ecx, str.helpstring
mov edx, esi
mov eax, ebx
call sym._AddToTLDataStrW.isra.0
mov ecx, 0x40f518
mov edx, esi
mov eax, ebx
call sym._AddToTLDataStrW.isra.0
mov ecx, dword [ebp - 0x600]
mov edx, esi
mov eax, ebx
call sym._AddToTLDataStrW.isra.0
mov ecx, 0x40f51e
mov edx, esi
mov eax, ebx
call sym._AddToTLDataStrW.isra.0
mov edx, dword [ebp - 0x604]
test edx, edx
jne 0x4080e8
mov eax, dword [ebp - 0x5fc]
movzx eax, word [eax + 0x36]
test ax, ax
je 0x407f3f
test al, 1
jne 0x408170
test al, 2
jne 0x4081bc
test al, 4
jne 0x408204
test al, 8
jne 0x408254
test al, 0x10
jne 0x4082a4
test al, 0x20
jne 0x4082f4
test al, 0x40
jne 0x408344
test al, 0x80
jne 0x408394
test ah, 1
jne 0x4083e5
test ah, 2
jne 0x408435
test ah, 4
jne 0x408485
test ah, 8
jne 0x4084d5
test ah, 0x20
jne 0x408525
test ah, 0x40
jne 0x408575
mov eax, ebx
mov ecx, 0x40f524
mov edx, esi
call sym._AddToTLDataStrW.isra.0
mov eax, dword [ebp - 0x5fc]
cmp dword [eax + 0x28], 4
je 0x4080d0
lea ecx, [ebp - 0x538]
mov edx, esi
mov eax, ebx
call sym._AddToTLDataStrW.isra.0
mov ecx, dword [ebp - 0x60c]
mov edx, esi
mov eax, ebx
call sym._AddToTLDataStrW.isra.0
mov eax, ebx
mov ecx, 0x40f506
mov edx, esi
call sym._AddToTLDataStrW.isra.0
mov eax, dword [ebp - 0x608]
test eax, eax
je 0x407f9f
mov eax, dword [ebp - 0x5fc]
cmp dword [eax + 0x28], 4
jne 0x407ff0
mov eax, ebx
mov ecx, 0x40f532
mov edx, esi
call sym._AddToTLDataStrW.isra.0
cmp word [ebx + 4], 0
lea eax, [ebx + 4]
je 0x407fc9
mov esi, esi
lea edi, [edi]
add eax, 2
cmp word [eax], 0
jne 0x407fc0
mov edx, dword [ebp - 0x610]
nop
movzx ecx, word [edx + 0x40f538]
mov word [eax + edx], cx
add edx, 2
test cx, cx
jne 0x407fd0
lea esp, [ebp - 0xc]
pop ebx
pop esi
pop edi
pop ebp
lea esp, [edi - 8]
pop edi
ret
mov ecx, 0x40f52c
mov edx, esi
mov eax, ebx
call sym._AddToTLDataStrW.isra.0
mov edi, dword [ebp - 0x614]
lea edx, [ebp - 0x5f4]
mov eax, dword [edi]
mov dword [esp + 8], edx
mov dword [esp + 4], 0
mov dword [esp], edi
call dword [eax + 0x20]
lea edx, [ebp - 0x5f8]
mov eax, dword [edi]
sub esp, 0xc
mov dword [esp + 8], edx
mov edx, dword [ebp - 0x5f4]
mov dword [esp], edi
mov dword [esp + 4], edx
call dword [eax + 0x38]
sub esp, 0xc
test eax, eax
js 0x4085b7
mov eax, dword [ebp - 0x5f8]
lea ecx, [ebp - 0x5f0]
mov edx, dword [eax]
mov dword [esp + 8], ecx
mov dword [esp + 0x14], 0
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], 0
mov dword [esp + 4], 0xffffffff
mov dword [esp], eax
call dword [edx + 0x30]
mov ecx, dword [ebp - 0x5f0]
mov edx, esi
mov eax, ebx
sub esp, 0x18
call sym._AddToTLDataStrW.isra.0
mov ecx, 0x40f506
mov edx, esi
mov eax, ebx
call sym._AddToTLDataStrW.isra.0
mov eax, dword [ebp - 0x5f0]
mov dword [esp], eax
call dword [sym.imp.oleaut32.dll_SysFreeString]
mov eax, dword [ebp - 0x5f8]
sub esp, 4
mov edx, dword [eax]
mov dword [esp], eax
call dword [edx + 8]
sub esp, 4
jmp 0x407f9f
lea ecx, [ebp - 0x438]
mov edx, esi
mov eax, ebx
call sym._AddToTLDataStrW.isra.0
jmp 0x407f6c
mov ecx, 0x40f50a
mov edx, esi
mov eax, ebx
mov edi, 4
call sym._AddToTLDataStrW.isra.0
nop
lea esi, [esi]
mov ecx, 0x40f506
mov edx, esi
mov eax, ebx
call sym._AddToTLDataStrW.isra.0
sub edi, 1
jne 0x408100
lea ecx, [ebp - 0x4d8]
mov edx, esi
lea edi, [ebp - 0x218]
mov eax, ebx
call sym._AddToTLDataStrW.isra.0
mov edx, esi
mov ecx, 0x40f510
mov eax, ebx
call sym._AddToTLDataStrW.isra.0
mov eax, dword [ebp - 0x604]
mov dword [esp + 4], str.0x_.8lx
mov dword [esp], edi
mov dword [esp + 8], eax
call dword [sym.imp.user32.dll_wsprintfW]
mov ecx, edi
mov edx, esi
mov eax, ebx
call sym._AddToTLDataStrW.isra.0
mov ecx, 0x40f514
mov edx, esi
mov eax, ebx
call sym._AddToTLDataStrW.isra.0
jmp 0x407eba
mov ecx, 0x40f50a
mov edx, esi
mov eax, ebx
mov edi, 4
call sym._AddToTLDataStrW.isra.0
nop
lea esi, [esi]
mov ecx, 0x40f506
mov edx, esi
mov eax, ebx
call sym._AddToTLDataStrW.isra.0
sub edi, 1
jne 0x408188
mov eax, ebx
lea ecx, [ebp - 0x598]
mov edx, esi
call sym._AddToTLDataStrW.isra.0
mov eax, dword [ebp - 0x5fc]
movzx eax, word [eax + 0x36]
test al, 2
je 0x407ed9
mov ecx, 0x40f50a
mov edx, esi
mov eax, ebx
mov edi, 4
call sym._AddToTLDataStrW.isra.0
nop
mov ecx, 0x40f506
mov edx, esi
mov eax, ebx
call sym._AddToTLDataStrW.isra.0
sub edi, 1
jne 0x4081d0
mov eax, ebx
lea ecx, [ebp - 0x578]
mov edx, esi
call sym._AddToTLDataStrW.isra.0
mov eax, dword [ebp - 0x5fc]
movzx eax, word [eax + 0x36]
test al, 4
je 0x407ee1
mov ecx, 0x40f50a
mov edx, esi
mov eax, ebx
mov edi, 4
call sym._AddToTLDataStrW.isra.0
mov esi, esi
lea edi, [edi]
mov ecx, 0x40f506
mov edx, esi
mov eax, ebx
call sym._AddToTLDataStrW.isra.0
sub edi, 1
jne 0x408220
mov eax, ebx
lea ecx, [ebp - 0x5b8]
mov edx, esi
call sym._AddToTLDataStrW.isra.0
mov eax, dword [ebp - 0x5fc]
movzx eax, word [eax + 0x36]
test al, 8
je 0x407ee9
mov ecx, 0x40f50a
mov edx, esi
mov eax, ebx
mov edi, 4
call sym._AddToTLDataStrW.isra.0
mov esi, esi
lea edi, [edi]
mov ecx, 0x40f506
mov edx, esi
mov eax, ebx
call sym._AddToTLDataStrW.isra.0
sub edi, 1
jne 0x408270
mov eax, ebx
lea ecx, [ebp - 0x558]
mov edx, esi
call sym._AddToTLDataStrW.isra.0
mov eax, dword [ebp - 0x5fc]
movzx eax, word [eax + 0x36]
test al, 0x10
je 0x407ef1
mov ecx, 0x40f50a
mov edx, esi
mov eax, ebx
mov edi, 4
call sym._AddToTLDataStrW.isra.0
mov esi, esi
lea edi, [edi]
mov ecx, 0x40f506
mov edx, esi
mov eax, ebx
call sym._AddToTLDataStrW.isra.0
sub edi, 1
jne 0x4082c0
mov eax, ebx
lea ecx, [ebp - 0x5d6]
mov edx, esi
call sym._AddToTLDataStrW.isra.0
mov eax, dword [ebp - 0x5fc]
movzx eax, word [eax + 0x36]
test al, 0x20
je 0x407ef9
mov ecx, 0x40f50a
mov edx, esi
mov eax, ebx
mov edi, 4
call sym._AddToTLDataStrW.isra.0
mov esi, esi
lea edi, [edi]
mov ecx, 0x40f506
mov edx, esi
mov eax, ebx
call sym._AddToTLDataStrW.isra.0
sub edi, 1
jne 0x408310
mov eax, ebx
lea ecx, [ebp - 0x5c8]
mov edx, esi
call sym._AddToTLDataStrW.isra.0
mov eax, dword [ebp - 0x5fc]
movzx eax, word [eax + 0x36]
test al, 0x40
je 0x407f01
mov ecx, 0x40f50a
mov edx, esi
mov eax, ebx
mov edi, 4
call sym._AddToTLDataStrW.isra.0
mov esi, esi
lea edi, [edi]
mov ecx, 0x40f506
mov edx, esi
mov eax, ebx
call sym._AddToTLDataStrW.isra.0
sub edi, 1
jne 0x408360
mov eax, ebx
lea ecx, [ebp - 0x5ec]
mov edx, esi
call sym._AddToTLDataStrW.isra.0
mov eax, dword [ebp - 0x5fc]
movzx eax, word [eax + 0x36]
test al, 0x80
je 0x407f09
mov ecx, 0x40f50a
mov edx, esi
mov eax, ebx
mov edi, 4
call sym._AddToTLDataStrW.isra.0
mov esi, esi
lea edi, [edi]
mov ecx, 0x40f506
mov edx, esi
mov eax, ebx
call sym._AddToTLDataStrW.isra.0
sub edi, 1
jne 0x4083b0
mov eax, ebx
lea ecx, [ebp - 0x478]
mov edx, esi
call sym._AddToTLDataStrW.isra.0
mov eax, dword [ebp - 0x5fc]
movzx eax, word [eax + 0x36]
test ah, 1
je 0x407f12
mov ecx, 0x40f50a
mov edx, esi
mov eax, ebx
mov edi, 4
call sym._AddToTLDataStrW.isra.0
nop
lea esi, [esi]
mov ecx, 0x40f506
mov edx, esi
mov eax, ebx
call sym._AddToTLDataStrW.isra.0
sub edi, 1
jne 0x408400
mov eax, ebx
lea ecx, [ebp - 0x458]
mov edx, esi
call sym._AddToTLDataStrW.isra.0
mov eax, dword [ebp - 0x5fc]
movzx eax, word [eax + 0x36]
test ah, 2
je 0x407f1b
mov ecx, 0x40f50a
mov edx, esi
mov eax, ebx
mov edi, 4
call sym._AddToTLDataStrW.isra.0
nop
lea esi, [esi]
mov ecx, 0x40f506
mov edx, esi
mov eax, ebx
call sym._AddToTLDataStrW.isra.0
sub edi, 1
jne 0x408450
mov eax, ebx
lea ecx, [ebp - 0x518]
mov edx, esi
call sym._AddToTLDataStrW.isra.0
mov eax, dword [ebp - 0x5fc]
movzx eax, word [eax + 0x36]
test ah, 4
je 0x407f24
mov ecx, 0x40f50a
mov edx, esi
mov eax, ebx
mov edi, 4
call sym._AddToTLDataStrW.isra.0
nop
lea esi, [esi]
mov ecx, 0x40f506
mov edx, esi
mov eax, ebx
call sym._AddToTLDataStrW.isra.0
sub edi, 1
jne 0x4084a0
mov eax, ebx
lea ecx, [ebp - 0x498]
mov edx, esi
call sym._AddToTLDataStrW.isra.0
mov eax, dword [ebp - 0x5fc]
movzx eax, word [eax + 0x36]
test ah, 8
je 0x407f2d
mov ecx, 0x40f50a
mov edx, esi
mov eax, ebx
mov edi, 4
call sym._AddToTLDataStrW.isra.0
nop
lea esi, [esi]
mov ecx, 0x40f506
mov edx, esi
mov eax, ebx
call sym._AddToTLDataStrW.isra.0
sub edi, 1
jne 0x4084f0
mov eax, ebx
lea ecx, [ebp - 0x4f8]
mov edx, esi
call sym._AddToTLDataStrW.isra.0
mov eax, dword [ebp - 0x5fc]
movzx eax, word [eax + 0x36]
test ah, 0x20
je 0x407f36
mov ecx, 0x40f50a
mov edx, esi
mov eax, ebx
mov edi, 4
call sym._AddToTLDataStrW.isra.0
nop
lea esi, [esi]
mov ecx, 0x40f506
mov edx, esi
mov eax, ebx
call sym._AddToTLDataStrW.isra.0
sub edi, 1
jne 0x408540
mov eax, ebx
lea ecx, [ebp - 0x4b8]
mov edx, esi
call sym._AddToTLDataStrW.isra.0
mov eax, dword [ebp - 0x5fc]
movzx eax, word [eax + 0x36]
test ah, 0x40
je 0x407f3f
mov ecx, 0x40f50a
mov edx, esi
mov eax, ebx
mov edi, 4
call sym._AddToTLDataStrW.isra.0
nop
lea esi, [esi]
mov ecx, 0x40f506
mov edx, esi
mov eax, ebx
call sym._AddToTLDataStrW.isra.0
sub edi, 1
jne 0x408590
lea ecx, [ebp - 0x5e2]
mov edx, esi
mov eax, ebx
call sym._AddToTLDataStrW.isra.0
jmp 0x407f3f
mov ecx, str._failed_
mov edx, esi
mov eax, ebx
call sym._AddToTLDataStrW.isra.0
jmp 0x407f9f
mov eax, 0xffffffff
jmp 0x407e18