Function at 0x4034e0
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, 0x40f1a8
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 sym._AddToTLDataStrW
mov eax, dword [ebp + 0x10]
cmp dword [eax + 0x28], 4
je 0x4038df
mov esi, 4
lea esi, [esi]
mov edx, 0x40f1ae
mov eax, ebx
call sym._AddToTLDataStrW
dec esi
jne 0x4038b8
mov edx, 0x417e18
mov eax, ebx
call sym._AddToTLDataStrW
mov edx, 0x40f1b2
mov eax, ebx
call sym._AddToTLDataStrW
mov esi, 4
lea esi, [esi]
mov edx, 0x40f1ae
mov eax, ebx
call sym._AddToTLDataStrW
dec esi
jne 0x4038e8
mov edx, str.uuid
mov eax, ebx
lea edi, [ebp - 0x418]
call sym._AddToTLDataStrW
mov edx, 0x40f194
mov eax, ebx
call sym._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 0x404000
mov eax, edi
add eax, 2
cmp word [eax], 0
jne 0x403940
sub eax, edi
sar eax, 1
dec eax
xor ecx, ecx
lea edx, [ebp - 0x416]
mov word [ebp + eax*2 - 0x418], cx
mov eax, ebx
call sym._AddToTLDataStrW
mov edx, 0x40f198
mov eax, ebx
call sym._AddToTLDataStrW
mov edi, dword [ebp + 8]
test edi, edi
je 0x4039cd
mov edx, 0x40f1b2
mov eax, ebx
mov edi, 4
call sym._AddToTLDataStrW
lea esi, [esi]
mov edx, 0x40f1ae
mov eax, ebx
call sym._AddToTLDataStrW
dec edi
jne 0x403990
mov edx, str.helpstring
mov eax, ebx
call sym._AddToTLDataStrW
mov edx, 0x40f1b8
mov eax, ebx
call sym._AddToTLDataStrW
mov edx, dword [ebp + 8]
mov eax, ebx
call sym._AddToTLDataStrW
mov edx, 0x40f1be
mov eax, ebx
call sym._AddToTLDataStrW
mov edx, dword [ebp + 0xc]
test edx, edx
jne 0x403bf0
mov eax, dword [ebp + 0x10]
movzx eax, word [eax + 0x36]
test ax, ax
je 0x403a5a
test al, 1
jne 0x403c70
test al, 2
jne 0x403cb3
test al, 4
jne 0x403cf3
test al, 8
jne 0x403d33
test al, 0x10
jne 0x403d73
test al, 0x20
jne 0x403db3
test al, 0x40
jne 0x403df3
test al, 0x80
jne 0x403e33
test ah, 1
jne 0x403e74
test ah, 2
jne 0x403eb4
test ah, 4
jne 0x403ef4
test ah, 8
jne 0x403f34
test ah, 0x20
jne 0x403f74
test ah, 0x40
jne 0x403fb4
mov eax, ebx
mov edx, 0x40f1c4
call sym._AddToTLDataStrW
mov eax, dword [ebp + 0x10]
cmp dword [eax + 0x28], 4
je 0x403bd8
lea edx, [ebp - 0x4fa]
mov eax, ebx
call sym._AddToTLDataStrW
mov edx, dword [ebp - 0x590]
mov eax, ebx
call sym._AddToTLDataStrW
mov eax, ebx
mov edx, 0x40f1ae
call sym._AddToTLDataStrW
mov eax, dword [ebp - 0x58c]
test eax, eax
je 0x403aac
mov eax, dword [ebp + 0x10]
cmp dword [eax + 0x28], 4
jne 0x403b00
mov eax, ebx
mov edx, 0x40f1d2
call sym._AddToTLDataStrW
cmp word [ebx + 4], 0
lea eax, [ebx + 4]
je 0x403ad1
lea esi, [esi]
add eax, 2
cmp word [eax], 0
jne 0x403ac8
mov edx, 0x7d
jmp 0x403ae7
movzx edx, word [esi + 0x40f1d8]
mov word [eax + esi], dx
add esi, 2
test dx, dx
jne 0x403ae0
lea esp, [ebp - 0xc]
pop ebx
pop esi
pop edi
pop ebp
ret
mov edx, 0x40f1cc
mov eax, ebx
call sym._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 0x403fe9
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 sym._AddToTLDataStrW
mov edx, 0x40f1ae
mov eax, ebx
call sym._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 0x403aac
lea edx, [ebp - 0x436]
mov eax, ebx
call sym._AddToTLDataStrW
jmp 0x403a80
mov edx, 0x40f1b2
mov eax, ebx
mov edi, 4
call sym._AddToTLDataStrW
lea esi, [esi]
mov edx, 0x40f1ae
mov eax, ebx
call sym._AddToTLDataStrW
dec edi
jne 0x403c08
lea edx, [ebp - 0x4b8]
mov eax, ebx
lea edi, [ebp - 0x218]
call sym._AddToTLDataStrW
mov edx, 0x40f194
mov eax, ebx
call sym._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 sym._AddToTLDataStrW
mov edx, 0x40f198
mov eax, ebx
call sym._AddToTLDataStrW
jmp 0x4039d8
mov edx, 0x40f1b2
mov eax, ebx
mov edi, 4
call sym._AddToTLDataStrW
lea esi, [esi]
mov edx, 0x40f1ae
mov eax, ebx
call sym._AddToTLDataStrW
dec edi
jne 0x403c88
mov eax, ebx
lea edx, [ebp - 0x536]
call sym._AddToTLDataStrW
mov eax, dword [ebp + 0x10]
movzx eax, word [eax + 0x36]
test al, 2
je 0x4039f4
mov edx, 0x40f1b2
mov eax, ebx
mov edi, 4
call sym._AddToTLDataStrW
lea esi, [esi]
mov edx, 0x40f1ae
mov eax, ebx
call sym._AddToTLDataStrW
dec edi
jne 0x403cc8
mov eax, ebx
lea edx, [ebp - 0x522]
call sym._AddToTLDataStrW
mov eax, dword [ebp + 0x10]
movzx eax, word [eax + 0x36]
test al, 4
je 0x4039fc
mov edx, 0x40f1b2
mov eax, ebx
mov edi, 4
call sym._AddToTLDataStrW
lea esi, [esi]
mov edx, 0x40f1ae
mov eax, ebx
call sym._AddToTLDataStrW
dec edi
jne 0x403d08
mov eax, ebx
lea edx, [ebp - 0x548]
call sym._AddToTLDataStrW
mov eax, dword [ebp + 0x10]
movzx eax, word [eax + 0x36]
test al, 8
je 0x403a04
mov edx, 0x40f1b2
mov eax, ebx
mov edi, 4
call sym._AddToTLDataStrW
lea esi, [esi]
mov edx, 0x40f1ae
mov eax, ebx
call sym._AddToTLDataStrW
dec edi
jne 0x403d48
mov eax, ebx
lea edx, [ebp - 0x50e]
call sym._AddToTLDataStrW
mov eax, dword [ebp + 0x10]
movzx eax, word [eax + 0x36]
test al, 0x10
je 0x403a0c
mov edx, 0x40f1b2
mov eax, ebx
mov edi, 4
call sym._AddToTLDataStrW
lea esi, [esi]
mov edx, 0x40f1ae
mov eax, ebx
call sym._AddToTLDataStrW
dec edi
jne 0x403d88
mov eax, ebx
lea edx, [ebp - 0x566]
call sym._AddToTLDataStrW
mov eax, dword [ebp + 0x10]
movzx eax, word [eax + 0x36]
test al, 0x20
je 0x403a14
mov edx, 0x40f1b2
mov eax, ebx
mov edi, 4
call sym._AddToTLDataStrW
lea esi, [esi]
mov edx, 0x40f1ae
mov eax, ebx
call sym._AddToTLDataStrW
dec edi
jne 0x403dc8
mov eax, ebx
lea edx, [ebp - 0x558]
call sym._AddToTLDataStrW
mov eax, dword [ebp + 0x10]
movzx eax, word [eax + 0x36]
test al, 0x40
je 0x403a1c
mov edx, 0x40f1b2
mov eax, ebx
mov edi, 4
call sym._AddToTLDataStrW
lea esi, [esi]
mov edx, 0x40f1ae
mov eax, ebx
call sym._AddToTLDataStrW
dec edi
jne 0x403e08
mov eax, ebx
lea edx, [ebp - 0x57c]
call sym._AddToTLDataStrW
mov eax, dword [ebp + 0x10]
movzx eax, word [eax + 0x36]
test al, 0x80
je 0x403a24
mov edx, 0x40f1b2
mov eax, ebx
mov edi, 4
call sym._AddToTLDataStrW
lea esi, [esi]
mov edx, 0x40f1ae
mov eax, ebx
call sym._AddToTLDataStrW
dec edi
jne 0x403e48
mov eax, ebx
lea edx, [ebp - 0x46e]
call sym._AddToTLDataStrW
mov eax, dword [ebp + 0x10]
movzx eax, word [eax + 0x36]
test ah, 1
je 0x403a2d
mov edx, 0x40f1b2
mov eax, ebx
mov edi, 4
call sym._AddToTLDataStrW
lea esi, [esi]
mov edx, 0x40f1ae
mov eax, ebx
call sym._AddToTLDataStrW
dec edi
jne 0x403e88
mov eax, ebx
lea edx, [ebp - 0x452]
call sym._AddToTLDataStrW
mov eax, dword [ebp + 0x10]
movzx eax, word [eax + 0x36]
test ah, 2
je 0x403a36
mov edx, 0x40f1b2
mov eax, ebx
mov edi, 4
call sym._AddToTLDataStrW
lea esi, [esi]
mov edx, 0x40f1ae
mov eax, ebx
call sym._AddToTLDataStrW
dec edi
jne 0x403ec8
mov eax, ebx
lea edx, [ebp - 0x4e4]
call sym._AddToTLDataStrW
mov eax, dword [ebp + 0x10]
movzx eax, word [eax + 0x36]
test ah, 4
je 0x403a3f
mov edx, 0x40f1b2
mov eax, ebx
mov edi, 4
call sym._AddToTLDataStrW
lea esi, [esi]
mov edx, 0x40f1ae
mov eax, ebx
call sym._AddToTLDataStrW
dec edi
jne 0x403f08
mov eax, ebx
lea edx, [ebp - 0x488]
call sym._AddToTLDataStrW
mov eax, dword [ebp + 0x10]
movzx eax, word [eax + 0x36]
test ah, 8
je 0x403a48
mov edx, 0x40f1b2
mov eax, ebx
mov edi, 4
call sym._AddToTLDataStrW
lea esi, [esi]
mov edx, 0x40f1ae
mov eax, ebx
call sym._AddToTLDataStrW
dec edi
jne 0x403f48
mov eax, ebx
lea edx, [ebp - 0x4ce]
call sym._AddToTLDataStrW
mov eax, dword [ebp + 0x10]
movzx eax, word [eax + 0x36]
test ah, 0x20
je 0x403a51
mov edx, 0x40f1b2
mov eax, ebx
mov edi, 4
call sym._AddToTLDataStrW
lea esi, [esi]
mov edx, 0x40f1ae
mov eax, ebx
call sym._AddToTLDataStrW
dec edi
jne 0x403f88
mov eax, ebx
lea edx, [ebp - 0x4a0]
call sym._AddToTLDataStrW
mov eax, dword [ebp + 0x10]
movzx eax, word [eax + 0x36]
test ah, 0x40
je 0x403a5a
mov edx, 0x40f1b2
mov eax, ebx
mov edi, 4
call sym._AddToTLDataStrW
lea esi, [esi]
mov edx, 0x40f1ae
mov eax, ebx
call sym._AddToTLDataStrW
dec edi
jne 0x403fc8
lea edx, [ebp - 0x572]
mov eax, ebx
call sym._AddToTLDataStrW
jmp 0x403a5a
mov edx, str._failed_
mov eax, ebx
call sym._AddToTLDataStrW
jmp 0x403aac
mov eax, 0xffffffff
jmp 0x40394e