Function at 0x408070
Capabilities:
Contain obfuscated stackstrings

Disassembly:
push ebp
mov ebp, esp
push edi
push esi
xor esi, esi
push ebx
sub esp, 0x5ac
mov dword [ebp - 0x594], eax
xor eax, eax
mov ebx, dword [ebp + 0x14]
mov word [ebp - 0x4e6], ax
xor eax, eax
mov word [ebp - 0x41a], ax
xor eax, eax
mov dword [ebp - 0x58c], edx
xor edx, edx
mov dword [ebp - 0x590], ecx
xor ecx, ecx
mov dword [ebp - 0x4fa], 0x6e0069
mov dword [ebp - 0x4f6], 0x650074
mov dword [ebp - 0x4f2], 0x660072
mov dword [ebp - 0x4ee], 0x630061
mov dword [ebp - 0x4ea], 0x200065
mov dword [ebp - 0x436], 0x690064
mov dword [ebp - 0x432], 0x700073
mov dword [ebp - 0x42e], 0x6e0069
mov dword [ebp - 0x42a], 0x650074
mov dword [ebp - 0x426], 0x660072
mov dword [ebp - 0x422], 0x630061
mov dword [ebp - 0x41e], 0x200065
mov dword [ebp - 0x4b8], 0x650068
mov dword [ebp - 0x4b4], 0x70006c
mov dword [ebp - 0x4b0], 0x6f0063
mov dword [ebp - 0x4ac], 0x74006e
mov dword [ebp - 0x4a8], 0x780065
mov dword [ebp - 0x4a4], 0x74
mov dword [ebp - 0x536], 0x700061
mov dword [ebp - 0x532], 0x6f0070
mov dword [ebp - 0x52e], 0x6a0062
mov dword [ebp - 0x52a], 0x630065
mov word [ebp - 0x538], ax
xor eax, eax
mov word [ebp - 0x55a], ax
xor eax, eax
mov word [ebp - 0x574], ax
mov eax, ebx
mov dword [ebp - 0x526], 0x74
mov dword [ebp - 0x522], 0x610063
mov dword [ebp - 0x51e], 0x63006e
mov dword [ebp - 0x51a], 0x650072
mov dword [ebp - 0x516], 0x740061
mov dword [ebp - 0x512], 0x65
mov dword [ebp - 0x548], 0x69006c
mov dword [ebp - 0x544], 0x650063
mov dword [ebp - 0x540], 0x73006e
mov dword [ebp - 0x53c], 0x640065
mov dword [ebp - 0x50e], 0x720070
mov dword [ebp - 0x50a], 0x640065
mov dword [ebp - 0x506], 0x630065
mov dword [ebp - 0x502], 0x69006c
mov dword [ebp - 0x4fe], 0x64
mov dword [ebp - 0x566], 0x690068
mov dword [ebp - 0x562], 0x640064
mov dword [ebp - 0x55e], 0x6e0065
mov dword [ebp - 0x558], 0x6f0063
mov dword [ebp - 0x554], 0x74006e
mov dword [ebp - 0x550], 0x6f0072
mov dword [ebp - 0x54c], 0x6c
mov dword [ebp - 0x57c], 0x750064
mov dword [ebp - 0x578], 0x6c0061
mov dword [ebp - 0x46e], 0x6f006e
mov dword [ebp - 0x46a], 0x65006e
mov dword [ebp - 0x466], 0x740078
mov dword [ebp - 0x462], 0x6e0065
mov dword [ebp - 0x45e], 0x690073
mov dword [ebp - 0x45a], 0x6c0062
mov word [ebp - 0x4d0], dx
mov edx, 0x40f458
mov word [ebp - 0x470], cx
mov dword [ebp - 0x456], 0x65
mov dword [ebp - 0x452], 0x6c006f
mov dword [ebp - 0x44e], 0x610065
mov dword [ebp - 0x44a], 0x740075
mov dword [ebp - 0x446], 0x6d006f
mov dword [ebp - 0x442], 0x740061
mov dword [ebp - 0x43e], 0x6f0069
mov dword [ebp - 0x43a], 0x6e
mov dword [ebp - 0x4e4], 0x650072
mov dword [ebp - 0x4e0], 0x740073
mov dword [ebp - 0x4dc], 0x690072
mov dword [ebp - 0x4d8], 0x740063
mov dword [ebp - 0x4d4], 0x640065
mov dword [ebp - 0x488], 0x670061
mov dword [ebp - 0x484], 0x720067
mov dword [ebp - 0x480], 0x670065
mov dword [ebp - 0x47c], 0x740061
mov dword [ebp - 0x478], 0x620061
mov dword [ebp - 0x474], 0x65006c
mov dword [ebp - 0x4ce], 0x650072
mov dword [ebp - 0x4ca], 0x6c0070
mov dword [ebp - 0x4c6], 0x630061
mov dword [ebp - 0x4c2], 0x620061
mov dword [ebp - 0x4be], 0x65006c
mov word [ebp - 0x4ba], si
mov dword [ebp - 0x4a0], 0x650072
mov dword [ebp - 0x49c], 0x650076
mov dword [ebp - 0x498], 0x730072
mov dword [ebp - 0x494], 0x620065
mov dword [ebp - 0x490], 0x6e0069
mov dword [ebp - 0x48c], 0x64
mov dword [ebp - 0x572], 0x720070
mov dword [ebp - 0x56e], 0x78006f
mov dword [ebp - 0x56a], 0x79
call dbg.AddToTLDataStrW
mov eax, dword [ebp + 0x10]
cmp dword [eax + 0x28], 4
je 0x408471
mov esi, 4
lea esi, [esi]
mov edx, 0x40f45e
mov eax, ebx
call dbg.AddToTLDataStrW
sub esi, 1
jne 0x408448
mov edx, 0x40f90c
mov eax, ebx
call dbg.AddToTLDataStrW
mov edx, 0x40f462
mov eax, ebx
call dbg.AddToTLDataStrW
mov esi, 4
lea esi, [esi]
lea esi, [esi]
mov edx, 0x40f45e
mov eax, ebx
call dbg.AddToTLDataStrW
sub esi, 1
jne 0x408480
mov edx, str.uuid
mov eax, ebx
lea edi, [ebp - 0x418]
call dbg.AddToTLDataStrW
mov edx, 0x40f444
mov eax, ebx
call dbg.AddToTLDataStrW
mov eax, dword [ebp + 0x10]
mov dword [esp + 4], edi
mov dword [esp + 8], 0x100
mov dword [esp], eax
call dword [sym.imp.ole32.dll_StringFromGUID2]
sub esp, 0xc
cmp word [ebp - 0x418], 0
je 0x408ba8
mov eax, edi
lea esi, [esi]
add eax, 2
cmp word [eax], 0
jne 0x4084e0
sub eax, edi
sar eax, 1
sub eax, 1
xor ecx, ecx
lea edx, [ebp - 0x416]
mov word [ebp + eax*2 - 0x418], cx
mov eax, ebx
call dbg.AddToTLDataStrW
mov edx, 0x40f448
mov eax, ebx
call dbg.AddToTLDataStrW
mov edi, dword [ebp + 8]
test edi, edi
je 0x40856f
mov edx, 0x40f462
mov eax, ebx
mov edi, 4
call dbg.AddToTLDataStrW
lea esi, [esi]
nop
mov edx, 0x40f45e
mov eax, ebx
call dbg.AddToTLDataStrW
sub edi, 1
jne 0x408530
mov edx, str.helpstring
mov eax, ebx
call dbg.AddToTLDataStrW
mov edx, 0x40f468
mov eax, ebx
call dbg.AddToTLDataStrW
mov edx, dword [ebp + 8]
mov eax, ebx
call dbg.AddToTLDataStrW
mov edx, 0x40f46e
mov eax, ebx
call dbg.AddToTLDataStrW
mov edx, dword [ebp + 0xc]
test edx, edx
jne 0x408790
mov eax, dword [ebp + 0x10]
movzx eax, word [eax + 0x36]
test ax, ax
je 0x4085fc
test al, 1
jne 0x408810
test al, 2
jne 0x408855
test al, 4
jne 0x40889d
test al, 8
jne 0x4088dd
test al, 0x10
jne 0x40891d
test al, 0x20
jne 0x40895d
test al, 0x40
jne 0x40899d
test al, 0x80
jne 0x4089dd
test ah, 1
jne 0x408a1e
test ah, 2
jne 0x408a5e
test ah, 4
jne 0x408a9e
test ah, 8
jne 0x408ade
test ah, 0x20
jne 0x408b1e
test ah, 0x40
jne 0x408b5e
mov eax, ebx
mov edx, 0x40f474
call dbg.AddToTLDataStrW
mov eax, dword [ebp + 0x10]
cmp dword [eax + 0x28], 4
je 0x408778
lea edx, [ebp - 0x4fa]
mov eax, ebx
call dbg.AddToTLDataStrW
mov edx, dword [ebp - 0x590]
mov eax, ebx
call dbg.AddToTLDataStrW
mov eax, ebx
mov edx, 0x40f45e
call dbg.AddToTLDataStrW
mov eax, dword [ebp - 0x58c]
test eax, eax
je 0x40864e
mov eax, dword [ebp + 0x10]
cmp dword [eax + 0x28], 4
jne 0x4086a0
mov eax, ebx
mov edx, 0x40f482
call dbg.AddToTLDataStrW
cmp word [ebx + 4], 0
lea eax, [ebx + 4]
je 0x408671
lea esi, [esi]
add eax, 2
cmp word [eax], 0
jne 0x408668
mov edx, 0x7d
jmp 0x408687
movzx edx, word [esi + 0x40f488]
mov word [eax + esi], dx
add esi, 2
test dx, dx
jne 0x408680
lea esp, [ebp - 0xc]
pop ebx
pop esi
pop edi
pop ebp
ret
mov edx, 0x40f47c
mov eax, ebx
call dbg.AddToTLDataStrW
mov edi, dword [ebp - 0x594]
lea edx, [ebp - 0x584]
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 - 0x588]
mov eax, dword [edi]
sub esp, 0xc
mov dword [esp + 8], edx
mov edx, dword [ebp - 0x584]
mov dword [esp], edi
mov dword [esp + 4], edx
call dword [eax + 0x38]
sub esp, 0xc
test eax, eax
js 0x408b93
mov eax, dword [ebp - 0x588]
lea ecx, [ebp - 0x580]
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 edx, dword [ebp - 0x580]
mov eax, ebx
sub esp, 0x18
call dbg.AddToTLDataStrW
mov edx, 0x40f45e
mov eax, ebx
call dbg.AddToTLDataStrW
mov eax, dword [ebp - 0x580]
mov dword [esp], eax
call dword [sym.imp.oleaut32.dll_SysFreeString]
mov eax, dword [ebp - 0x588]
sub esp, 4
mov edx, dword [eax]
mov dword [esp], eax
call dword [edx + 8]
sub esp, 4
jmp 0x40864e
lea edx, [ebp - 0x436]
mov eax, ebx
call dbg.AddToTLDataStrW
jmp 0x408622
mov edx, 0x40f462
mov eax, ebx
mov edi, 4
call dbg.AddToTLDataStrW
lea esi, [esi]
mov edx, 0x40f45e
mov eax, ebx
call dbg.AddToTLDataStrW
sub edi, 1
jne 0x4087a8
lea edx, [ebp - 0x4b8]
mov eax, ebx
lea edi, [ebp - 0x218]
call dbg.AddToTLDataStrW
mov edx, 0x40f444
mov eax, ebx
call dbg.AddToTLDataStrW
mov eax, dword [ebp + 0xc]
mov dword [esp + 4], str.0x_.8lx
mov dword [esp], edi
mov dword [esp + 8], eax
call dword [sym.imp.user32.dll_wsprintfW]
mov edx, edi
mov eax, ebx
call dbg.AddToTLDataStrW
mov edx, 0x40f448
mov eax, ebx
call dbg.AddToTLDataStrW
jmp 0x40857a
mov edx, 0x40f462
mov eax, ebx
mov edi, 4
call dbg.AddToTLDataStrW
lea esi, [esi]
mov edx, 0x40f45e
mov eax, ebx
call dbg.AddToTLDataStrW
sub edi, 1
jne 0x408828
mov eax, ebx
lea edx, [ebp - 0x536]
call dbg.AddToTLDataStrW
mov eax, dword [ebp + 0x10]
movzx eax, word [eax + 0x36]
test al, 2
je 0x408596
mov edx, 0x40f462
mov eax, ebx
mov edi, 4
call dbg.AddToTLDataStrW
lea esi, [esi]
lea esi, [esi]
mov edx, 0x40f45e
mov eax, ebx
call dbg.AddToTLDataStrW
sub edi, 1
jne 0x408870
mov eax, ebx
lea edx, [ebp - 0x522]
call dbg.AddToTLDataStrW
mov eax, dword [ebp + 0x10]
movzx eax, word [eax + 0x36]
test al, 4
je 0x40859e
mov edx, 0x40f462
mov eax, ebx
mov edi, 4
call dbg.AddToTLDataStrW
nop
mov edx, 0x40f45e
mov eax, ebx
call dbg.AddToTLDataStrW
sub edi, 1
jne 0x4088b0
mov eax, ebx
lea edx, [ebp - 0x548]
call dbg.AddToTLDataStrW
mov eax, dword [ebp + 0x10]
movzx eax, word [eax + 0x36]
test al, 8
je 0x4085a6
mov edx, 0x40f462
mov eax, ebx
mov edi, 4
call dbg.AddToTLDataStrW
nop
mov edx, 0x40f45e
mov eax, ebx
call dbg.AddToTLDataStrW
sub edi, 1
jne 0x4088f0
mov eax, ebx
lea edx, [ebp - 0x50e]
call dbg.AddToTLDataStrW
mov eax, dword [ebp + 0x10]
movzx eax, word [eax + 0x36]
test al, 0x10
je 0x4085ae
mov edx, 0x40f462
mov eax, ebx
mov edi, 4
call dbg.AddToTLDataStrW
nop
mov edx, 0x40f45e
mov eax, ebx
call dbg.AddToTLDataStrW
sub edi, 1
jne 0x408930
mov eax, ebx
lea edx, [ebp - 0x566]
call dbg.AddToTLDataStrW
mov eax, dword [ebp + 0x10]
movzx eax, word [eax + 0x36]
test al, 0x20
je 0x4085b6
mov edx, 0x40f462
mov eax, ebx
mov edi, 4
call dbg.AddToTLDataStrW
nop
mov edx, 0x40f45e
mov eax, ebx
call dbg.AddToTLDataStrW
sub edi, 1
jne 0x408970
mov eax, ebx
lea edx, [ebp - 0x558]
call dbg.AddToTLDataStrW
mov eax, dword [ebp + 0x10]
movzx eax, word [eax + 0x36]
test al, 0x40
je 0x4085be
mov edx, 0x40f462
mov eax, ebx
mov edi, 4
call dbg.AddToTLDataStrW
nop
mov edx, 0x40f45e
mov eax, ebx
call dbg.AddToTLDataStrW
sub edi, 1
jne 0x4089b0
mov eax, ebx
lea edx, [ebp - 0x57c]
call dbg.AddToTLDataStrW
mov eax, dword [ebp + 0x10]
movzx eax, word [eax + 0x36]
test al, 0x80
je 0x4085c6
mov edx, 0x40f462
mov eax, ebx
mov edi, 4
call dbg.AddToTLDataStrW
nop
mov edx, 0x40f45e
mov eax, ebx
call dbg.AddToTLDataStrW
sub edi, 1
jne 0x4089f0
mov eax, ebx
lea edx, [ebp - 0x46e]
call dbg.AddToTLDataStrW
mov eax, dword [ebp + 0x10]
movzx eax, word [eax + 0x36]
test ah, 1
je 0x4085cf
mov edx, 0x40f462
mov eax, ebx
mov edi, 4
call dbg.AddToTLDataStrW
nop
mov edx, 0x40f45e
mov eax, ebx
call dbg.AddToTLDataStrW
sub edi, 1
jne 0x408a30
mov eax, ebx
lea edx, [ebp - 0x452]
call dbg.AddToTLDataStrW
mov eax, dword [ebp + 0x10]
movzx eax, word [eax + 0x36]
test ah, 2
je 0x4085d8
mov edx, 0x40f462
mov eax, ebx
mov edi, 4
call dbg.AddToTLDataStrW
nop
mov edx, 0x40f45e
mov eax, ebx
call dbg.AddToTLDataStrW
sub edi, 1
jne 0x408a70
mov eax, ebx
lea edx, [ebp - 0x4e4]
call dbg.AddToTLDataStrW
mov eax, dword [ebp + 0x10]
movzx eax, word [eax + 0x36]
test ah, 4
je 0x4085e1
mov edx, 0x40f462
mov eax, ebx
mov edi, 4
call dbg.AddToTLDataStrW
nop
mov edx, 0x40f45e
mov eax, ebx
call dbg.AddToTLDataStrW
sub edi, 1
jne 0x408ab0
mov eax, ebx
lea edx, [ebp - 0x488]
call dbg.AddToTLDataStrW
mov eax, dword [ebp + 0x10]
movzx eax, word [eax + 0x36]
test ah, 8
je 0x4085ea
mov edx, 0x40f462
mov eax, ebx
mov edi, 4
call dbg.AddToTLDataStrW
nop
mov edx, 0x40f45e
mov eax, ebx
call dbg.AddToTLDataStrW
sub edi, 1
jne 0x408af0
mov eax, ebx
lea edx, [ebp - 0x4ce]
call dbg.AddToTLDataStrW
mov eax, dword [ebp + 0x10]
movzx eax, word [eax + 0x36]
test ah, 0x20
je 0x4085f3
mov edx, 0x40f462
mov eax, ebx
mov edi, 4
call dbg.AddToTLDataStrW
nop
mov edx, 0x40f45e
mov eax, ebx
call dbg.AddToTLDataStrW
sub edi, 1
jne 0x408b30
mov eax, ebx
lea edx, [ebp - 0x4a0]
call dbg.AddToTLDataStrW
mov eax, dword [ebp + 0x10]
movzx eax, word [eax + 0x36]
test ah, 0x40
je 0x4085fc
mov edx, 0x40f462
mov eax, ebx
mov edi, 4
call dbg.AddToTLDataStrW
nop
mov edx, 0x40f45e
mov eax, ebx
call dbg.AddToTLDataStrW
sub edi, 1
jne 0x408b70
lea edx, [ebp - 0x572]
mov eax, ebx
call dbg.AddToTLDataStrW
jmp 0x4085fc
mov edx, str._failed_
mov eax, ebx
call dbg.AddToTLDataStrW
jmp 0x40864e
mov eax, 0xffffffff
jmp 0x4084f0