Function at 0x407bf0
Capabilities:
Contain obfuscated stackstrings

Disassembly:
push ebp
mov ebp, esp
push edi
xor edi, edi
push esi
push ebx
sub esp, 0x5bc
mov dword [ebp - 0x5a4], eax
xor eax, eax
mov ebx, dword [ebp + 0x14]
mov word [ebp - 0x41c], ax
xor eax, eax
mov dword [ebp - 0x59c], edx
xor edx, edx
mov dword [ebp - 0x5a0], ecx
xor ecx, ecx
mov dword [ebp - 0x504], 0x6e0069
mov dword [ebp - 0x500], 0x650074
mov dword [ebp - 0x4fc], 0x660072
mov dword [ebp - 0x4f8], 0x630061
mov dword [ebp - 0x4f4], 0x200065
mov word [ebp - 0x4f0], di
mov dword [ebp - 0x438], 0x690064
mov dword [ebp - 0x434], 0x700073
mov dword [ebp - 0x430], 0x6e0069
mov dword [ebp - 0x42c], 0x650074
mov dword [ebp - 0x428], 0x660072
mov dword [ebp - 0x424], 0x630061
mov dword [ebp - 0x420], 0x200065
mov dword [ebp - 0x4bc], 0x650068
mov dword [ebp - 0x4b8], 0x70006c
mov dword [ebp - 0x4b4], 0x6f0063
mov dword [ebp - 0x4b0], 0x74006e
mov dword [ebp - 0x4ac], 0x780065
mov dword [ebp - 0x4a8], 0x74
mov dword [ebp - 0x540], 0x700061
mov dword [ebp - 0x53c], 0x6f0070
mov dword [ebp - 0x538], 0x6a0062
mov dword [ebp - 0x534], 0x630065
mov word [ebp - 0x544], ax
xor eax, eax
mov word [ebp - 0x568], ax
xor eax, eax
mov word [ebp - 0x584], ax
xor eax, eax
mov dword [ebp - 0x530], 0x74
mov dword [ebp - 0x52c], 0x610063
mov dword [ebp - 0x528], 0x63006e
mov dword [ebp - 0x524], 0x650072
mov dword [ebp - 0x520], 0x740061
mov dword [ebp - 0x51c], 0x65
mov dword [ebp - 0x554], 0x69006c
mov dword [ebp - 0x550], 0x650063
mov dword [ebp - 0x54c], 0x73006e
mov dword [ebp - 0x548], 0x640065
mov dword [ebp - 0x518], 0x720070
mov dword [ebp - 0x514], 0x640065
mov dword [ebp - 0x510], 0x630065
mov dword [ebp - 0x50c], 0x69006c
mov dword [ebp - 0x508], 0x64
mov dword [ebp - 0x574], 0x690068
mov dword [ebp - 0x570], 0x640064
mov dword [ebp - 0x56c], 0x6e0065
mov dword [ebp - 0x564], 0x6f0063
mov dword [ebp - 0x560], 0x74006e
mov dword [ebp - 0x55c], 0x6f0072
mov dword [ebp - 0x558], 0x6c
mov dword [ebp - 0x58c], 0x750064
mov dword [ebp - 0x588], 0x6c0061
mov dword [ebp - 0x470], 0x6f006e
mov dword [ebp - 0x46c], 0x65006e
mov dword [ebp - 0x468], 0x740078
mov dword [ebp - 0x464], 0x6e0065
mov dword [ebp - 0x460], 0x690073
mov dword [ebp - 0x45c], 0x6c0062
mov word [ebp - 0x4d8], ax
mov eax, ebx
mov word [ebp - 0x474], dx
mov edx, 0x40f458
mov word [ebp - 0x4c0], cx
mov dword [ebp - 0x458], 0x65
mov dword [ebp - 0x454], 0x6c006f
mov dword [ebp - 0x450], 0x610065
mov dword [ebp - 0x44c], 0x740075
mov dword [ebp - 0x448], 0x6d006f
mov dword [ebp - 0x444], 0x740061
mov dword [ebp - 0x440], 0x6f0069
mov dword [ebp - 0x43c], 0x6e
mov dword [ebp - 0x4ec], 0x650072
mov dword [ebp - 0x4e8], 0x740073
mov dword [ebp - 0x4e4], 0x690072
mov dword [ebp - 0x4e0], 0x740063
mov dword [ebp - 0x4dc], 0x640065
mov dword [ebp - 0x48c], 0x670061
mov dword [ebp - 0x488], 0x720067
mov dword [ebp - 0x484], 0x670065
mov dword [ebp - 0x480], 0x740061
mov dword [ebp - 0x47c], 0x620061
mov dword [ebp - 0x478], 0x65006c
mov dword [ebp - 0x4d4], 0x650072
mov dword [ebp - 0x4d0], 0x6c0070
mov dword [ebp - 0x4cc], 0x630061
mov dword [ebp - 0x4c8], 0x620061
mov dword [ebp - 0x4c4], 0x65006c
mov dword [ebp - 0x4a4], 0x650072
mov dword [ebp - 0x4a0], 0x650076
mov dword [ebp - 0x49c], 0x730072
mov dword [ebp - 0x498], 0x620065
mov dword [ebp - 0x494], 0x6e0069
mov dword [ebp - 0x490], 0x64
mov dword [ebp - 0x580], 0x720070
mov dword [ebp - 0x57c], 0x78006f
mov dword [ebp - 0x578], 0x79
call dbg.AddToTLDataStrW
mov eax, dword [ebp + 0x10]
cmp dword [eax + 0x28], 4
je 0x407ff1
mov esi, 4
lea esi, [esi]
mov edx, 0x40f45e
mov eax, ebx
call dbg.AddToTLDataStrW
sub esi, 1
jne 0x407fc8
mov edx, 0x40f90c
mov eax, ebx
call dbg.AddToTLDataStrW
mov edx, 0x40f462
mov eax, ebx
call dbg.AddToTLDataStrW
mov edi, 4
lea esi, [esi]
lea esi, [esi]
mov edx, 0x40f45e
mov eax, ebx
call dbg.AddToTLDataStrW
sub edi, 1
jne 0x408000
mov edx, str.uuid
mov eax, ebx
lea esi, [ebp - 0x418]
call dbg.AddToTLDataStrW
mov edx, 0x40f444
mov eax, ebx
call dbg.AddToTLDataStrW
mov dword [esp + 8], 0x100
mov dword [esp + 4], esi
mov eax, dword [ebp + 0x10]
mov dword [esp], eax
call sym._StringFromGUID2_12
sub esp, 0xc
cmp word [ebp - 0x418], 0
je 0x4087a8
mov eax, esi
lea esi, [esi]
add eax, 2
cmp word [eax], 0
jne 0x408060
sub eax, esi
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 esi, dword [ebp + 8]
test esi, esi
je 0x4080ef
mov edx, 0x40f462
mov eax, ebx
mov esi, 4
call dbg.AddToTLDataStrW
lea esi, [esi]
nop
mov edx, 0x40f45e
mov eax, ebx
call dbg.AddToTLDataStrW
sub esi, 1
jne 0x4080b0
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 0x408308
mov eax, dword [ebp + 0x10]
movzx eax, word [eax + 0x36]
test ax, ax
je 0x40817c
test al, 1
jne 0x408388
test al, 2
jne 0x4083cd
test al, 4
jne 0x40840d
test al, 8
jne 0x40844d
test al, 0x10
jne 0x4084e0
test al, 0x20
jne 0x408490
test al, 0x40
jne 0x408530
test al, 0x80
jne 0x408575
test ah, 1
jne 0x4086a8
test ah, 2
jne 0x408618
test ah, 4
jne 0x408748
test ah, 8
jne 0x4085c8
test ah, 0x20
jne 0x4086f8
test ah, 0x40
jne 0x408668
mov eax, ebx
mov edx, 0x40f474
call dbg.AddToTLDataStrW
mov eax, dword [ebp + 0x10]
cmp dword [eax + 0x28], 4
je 0x4082f0
lea edx, [ebp - 0x504]
mov eax, ebx
call dbg.AddToTLDataStrW
mov edx, dword [ebp - 0x5a0]
mov eax, ebx
call dbg.AddToTLDataStrW
mov eax, ebx
mov edx, 0x40f45e
call dbg.AddToTLDataStrW
mov eax, dword [ebp - 0x59c]
test eax, eax
je 0x4081ce
mov eax, dword [ebp + 0x10]
cmp dword [eax + 0x28], 4
jne 0x408218
mov eax, ebx
mov edx, 0x40f482
call dbg.AddToTLDataStrW
cmp word [ebx + 4], 0
lea eax, [ebx + 4]
je 0x4081f8
lea esi, [esi]
add eax, 2
cmp word [eax], 0
jne 0x4081e8
lea esi, [esi]
movzx edx, word [edi + 0x40f488]
mov word [eax + edi], dx
add edi, 2
test dx, dx
jne 0x4081f8
lea esp, [ebp - 0xc]
pop ebx
pop esi
pop edi
pop ebp
ret
mov edx, 0x40f47c
mov eax, ebx
call dbg.AddToTLDataStrW
mov esi, dword [ebp - 0x5a4]
lea edx, [ebp - 0x594]
mov eax, dword [esi]
mov dword [esp + 8], edx
mov dword [esp + 4], 0
mov dword [esp], esi
call dword [eax + 0x20]
lea edx, [ebp - 0x598]
mov eax, dword [esi]
sub esp, 0xc
mov dword [esp + 8], edx
mov edx, dword [ebp - 0x594]
mov dword [esp], esi
mov dword [esp + 4], edx
call dword [eax + 0x38]
sub esp, 0xc
test eax, eax
js 0x408793
mov eax, dword [ebp - 0x598]
lea esi, [ebp - 0x590]
mov edx, dword [eax]
mov dword [esp + 0x14], 0
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], 0
mov dword [esp + 8], esi
mov dword [esp + 4], 0xffffffff
mov dword [esp], eax
call dword [edx + 0x30]
mov edx, dword [ebp - 0x590]
mov eax, ebx
sub esp, 0x18
call dbg.AddToTLDataStrW
mov edx, 0x40f45e
mov eax, ebx
call dbg.AddToTLDataStrW
mov eax, dword [ebp - 0x590]
mov dword [esp], eax
call sym._SysFreeString_4
mov eax, dword [ebp - 0x598]
sub esp, 4
mov edx, dword [eax]
mov dword [esp], eax
call dword [edx + 8]
sub esp, 4
jmp 0x4081ce
lea edx, [ebp - 0x438]
mov eax, ebx
call dbg.AddToTLDataStrW
jmp 0x4081a2
mov edx, 0x40f462
mov eax, ebx
mov esi, 4
call dbg.AddToTLDataStrW
lea esi, [esi]
mov edx, 0x40f45e
mov eax, ebx
call dbg.AddToTLDataStrW
sub esi, 1
jne 0x408320
lea edx, [ebp - 0x4bc]
mov eax, ebx
lea esi, [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], esi
mov dword [esp + 8], eax
call sym._wsprintfW
mov edx, esi
mov eax, ebx
call dbg.AddToTLDataStrW
mov edx, 0x40f448
mov eax, ebx
call dbg.AddToTLDataStrW
jmp 0x4080fa
mov edx, 0x40f462
mov eax, ebx
mov esi, 4
call dbg.AddToTLDataStrW
lea esi, [esi]
mov edx, 0x40f45e
mov eax, ebx
call dbg.AddToTLDataStrW
sub esi, 1
jne 0x4083a0
mov eax, ebx
lea edx, [ebp - 0x540]
call dbg.AddToTLDataStrW
mov eax, dword [ebp + 0x10]
movzx eax, word [eax + 0x36]
test al, 2
je 0x408116
mov edx, 0x40f462
mov eax, ebx
mov esi, 4
call dbg.AddToTLDataStrW
nop
mov edx, 0x40f45e
mov eax, ebx
call dbg.AddToTLDataStrW
sub esi, 1
jne 0x4083e0
mov eax, ebx
lea edx, [ebp - 0x52c]
call dbg.AddToTLDataStrW
mov eax, dword [ebp + 0x10]
movzx eax, word [eax + 0x36]
test al, 4
je 0x40811e
mov edx, 0x40f462
mov eax, ebx
mov esi, 4
call dbg.AddToTLDataStrW
nop
mov edx, 0x40f45e
mov eax, ebx
call dbg.AddToTLDataStrW
sub esi, 1
jne 0x408420
mov eax, ebx
lea edx, [ebp - 0x554]
call dbg.AddToTLDataStrW
mov eax, dword [ebp + 0x10]
movzx eax, word [eax + 0x36]
test al, 8
je 0x408126
mov edx, 0x40f462
mov eax, ebx
mov esi, 4
call dbg.AddToTLDataStrW
nop
mov edx, 0x40f45e
mov eax, ebx
call dbg.AddToTLDataStrW
sub esi, 1
jne 0x408460
mov eax, ebx
lea edx, [ebp - 0x518]
call dbg.AddToTLDataStrW
mov eax, dword [ebp + 0x10]
movzx eax, word [eax + 0x36]
test al, 0x10
je 0x40812e
jmp 0x4084e0
mov edx, 0x40f462
mov eax, ebx
mov esi, 4
call dbg.AddToTLDataStrW
lea esi, [esi]
mov edx, 0x40f45e
mov eax, ebx
call dbg.AddToTLDataStrW
sub esi, 1
jne 0x4084a8
mov eax, ebx
lea edx, [ebp - 0x564]
call dbg.AddToTLDataStrW
mov eax, dword [ebp + 0x10]
movzx eax, word [eax + 0x36]
test al, 0x40
je 0x40813e
jmp 0x408530
mov edx, 0x40f462
mov eax, ebx
mov esi, 4
call dbg.AddToTLDataStrW
lea esi, [esi]
mov edx, 0x40f45e
mov eax, ebx
call dbg.AddToTLDataStrW
sub esi, 1
jne 0x4084f8
mov eax, ebx
lea edx, [ebp - 0x574]
call dbg.AddToTLDataStrW
mov eax, dword [ebp + 0x10]
movzx eax, word [eax + 0x36]
test al, 0x20
je 0x408136
jmp 0x408490
mov edx, 0x40f462
mov eax, ebx
mov esi, 4
call dbg.AddToTLDataStrW
lea esi, [esi]
mov edx, 0x40f45e
mov eax, ebx
call dbg.AddToTLDataStrW
sub esi, 1
jne 0x408548
mov eax, ebx
lea edx, [ebp - 0x58c]
call dbg.AddToTLDataStrW
mov eax, dword [ebp + 0x10]
movzx eax, word [eax + 0x36]
test al, 0x80
je 0x408146
mov edx, 0x40f462
mov eax, ebx
mov esi, 4
call dbg.AddToTLDataStrW
lea esi, [esi]
lea esi, [esi]
mov edx, 0x40f45e
mov eax, ebx
call dbg.AddToTLDataStrW
sub esi, 1
jne 0x408590
mov eax, ebx
lea edx, [ebp - 0x470]
call dbg.AddToTLDataStrW
mov eax, dword [ebp + 0x10]
movzx eax, word [eax + 0x36]
test ah, 1
je 0x40814f
jmp 0x4086a8
mov edx, 0x40f462
mov eax, ebx
mov esi, 4
call dbg.AddToTLDataStrW
lea esi, [esi]
mov edx, 0x40f45e
mov eax, ebx
call dbg.AddToTLDataStrW
sub esi, 1
jne 0x4085e0
mov eax, ebx
lea edx, [ebp - 0x4d4]
call dbg.AddToTLDataStrW
mov eax, dword [ebp + 0x10]
movzx eax, word [eax + 0x36]
test ah, 0x20
je 0x408173
jmp 0x4086f8
mov edx, 0x40f462
mov eax, ebx
mov esi, 4
call dbg.AddToTLDataStrW
lea esi, [esi]
mov edx, 0x40f45e
mov eax, ebx
call dbg.AddToTLDataStrW
sub esi, 1
jne 0x408630
mov eax, ebx
lea edx, [ebp - 0x4ec]
call dbg.AddToTLDataStrW
mov eax, dword [ebp + 0x10]
movzx eax, word [eax + 0x36]
test ah, 4
je 0x408161
jmp 0x408748
mov edx, 0x40f462
mov eax, ebx
mov esi, 4
call dbg.AddToTLDataStrW
lea esi, [esi]
mov edx, 0x40f45e
mov eax, ebx
call dbg.AddToTLDataStrW
sub esi, 1
jne 0x408680
lea edx, [ebp - 0x580]
mov eax, ebx
call dbg.AddToTLDataStrW
jmp 0x40817c
mov edx, 0x40f462
mov eax, ebx
mov esi, 4
call dbg.AddToTLDataStrW
lea esi, [esi]
mov edx, 0x40f45e
mov eax, ebx
call dbg.AddToTLDataStrW
sub esi, 1
jne 0x4086c0
mov eax, ebx
lea edx, [ebp - 0x454]
call dbg.AddToTLDataStrW
mov eax, dword [ebp + 0x10]
movzx eax, word [eax + 0x36]
test ah, 2
je 0x408158
jmp 0x408618
mov edx, 0x40f462
mov eax, ebx
mov esi, 4
call dbg.AddToTLDataStrW
lea esi, [esi]
mov edx, 0x40f45e
mov eax, ebx
call dbg.AddToTLDataStrW
sub esi, 1
jne 0x408710
mov eax, ebx
lea edx, [ebp - 0x4a4]
call dbg.AddToTLDataStrW
mov eax, dword [ebp + 0x10]
movzx eax, word [eax + 0x36]
test ah, 0x40
je 0x40817c
jmp 0x408668
mov edx, 0x40f462
mov eax, ebx
mov esi, 4
call dbg.AddToTLDataStrW
lea esi, [esi]
mov edx, 0x40f45e
mov eax, ebx
call dbg.AddToTLDataStrW
sub esi, 1
jne 0x408760
mov eax, ebx
lea edx, [ebp - 0x48c]
call dbg.AddToTLDataStrW
mov eax, dword [ebp + 0x10]
movzx eax, word [eax + 0x36]
test ah, 8
je 0x40816a
jmp 0x4085c8
mov edx, str._failed_
mov eax, ebx
call dbg.AddToTLDataStrW
jmp 0x4081ce
mov eax, 0xffffffff
jmp 0x408070