Function at 0x409410
Capabilities:
Contain obfuscated stackstrings
Encode data using xor

Disassembly:
push ebp
push ebx
push edi
push esi
sub esp, 0x74
mov dword [esp + 0x34], ecx
mov eax, dword [ecx + 0x80]
mov dword [esp + 8], eax
mov dword [esp + 0xe], 0xa4a1a15e
mov dword [esp + 0x12], 0x69a7acb4
mov dword [esp + 0x16], 0xcda79f41
mov dword [esp + 0x1a], 0xd8ca0a23
mov dword [esp + 0x1e], 0xd8cccfd9
mov dword [esp + 0x22], 0xd0ddc7dc
mov dword [esp + 0x26], 0xc71aee1a
mov dword [esp + 0x2a], 0xdfdec0db
mov dword [esp + 0x2e], 0x6d6563c9
mov word [esp + 0x32], 0x726b
mov edi, 0xb5
mov ebp, 0x4a
nop
nop
movzx eax, byte [esp + edi - 0xa7]
mov ebx, eax
not ebx
or ebx, ebp
mov esi, ebx
not esi
mov edx, esi
and edx, 0xfffffffd
and ebx, 2
imul ebx, edx
mov edx, esi
and edx, 2
or esi, 2
imul esi, edx
add esi, ebx
mov ebx, esi
xor ebx, edi
and esi, ebp
add esi, esi
sub ebx, esi
add bl, al
add bl, 0x58
mov byte [esp + edi - 0xa7], bl
inc edi
dec ebp
cmp edi, 0xdb
jne 0x409480
mov dword [esp + 4], 0x88adab57
xor edi, edi
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx eax, byte [esp + edi + 4]
lea edx, [edi - 0x7fc487a3]
lea esi, [edi + 0x5d]
and esi, eax
mov ebx, edx
and ebx, eax
xor edx, eax
lea eax, [edx + ebx*2]
add esi, esi
sub eax, esi
add al, 0x18
mov byte [esp + edi + 4], al
mov eax, edi
mov edx, edi
xor edx, 1
add edx, edi
and edi, 1
and eax, 2
mov esi, edx
sub esi, eax
and edx, edi
xor esi, edi
lea edi, [esi + edx*2]
cmp edi, 4
jb 0x4094e0
mov dword [esp + 0x3a], 0x503df7f1
mov dword [esp + 0x3e], 0x6d67756e
mov dword [esp + 0x42], 0x6e022870
mov dword [esp + 0x46], 0x7865797b
mov dword [esp + 0x4a], 0x60677965
mov dword [esp + 0x4e], 0x75322b7e
mov dword [esp + 0x52], 0x3a7b677b
mov dword [esp + 0x56], 0x7a6e787c
mov dword [esp + 0x5a], 0x7e703d27
mov dword [esp + 0x5e], 0x415f040d
mov dword [esp + 0x62], 0x20a0c02
mov dword [esp + 0x66], 0xd4a524a
mov dword [esp + 0x6a], 0x10b0105
mov dword [esp + 0x6e], 0x4e171c11
mov word [esp + 0x72], 0xb556
xor edi, edi
mov ebp, dword [esp + 0x34]
mov ecx, dword [esp + 0x88]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov edx, edi
and edx, 0x24
xor edx, 0xe4
mov eax, edi
and eax, 0x1b
sub eax, edx
xor al, byte [esp + edi + 0x3a]
add al, 0x20
mov byte [esp + edi + 0x3a], al
mov eax, edi
and eax, 1
xor edi, 1
lea edi, [edi + eax*2]
cmp edi, 0x3a
jb 0x4095b0
add ecx, dword [esp + 8]
mov word [esp + 1], 0x25da
mov byte [esp + 3], 0xf9
xor edx, edx
nop
nop
movzx eax, byte [esp + edx + 1]
lea esi, [edx + 0x4cc119ff]
and esi, eax
add eax, edx
add eax, 0x4cc119ff
add esi, esi
sub eax, esi
add al, 8
mov byte [esp + edx + 1], al
mov eax, edx
and eax, 1
xor edx, 1
lea edx, [edx + eax*2]
cmp edx, 3
jb 0x4095f0
movzx ebx, byte [esp + 1]
mov edx, ecx
test bl, bl
je 0x40963b
lea esi, [esp + 2]
mov edx, ecx
nop
mov byte [edx], bl
inc edx
movzx ebx, byte [esi]
inc esi
test bl, bl
jne 0x409630
mov byte [edx], 0
movzx ebx, byte [ebp + 0x60]
test bl, bl
mov eax, dword [esp + 0x8c]
je 0x40965b
lea esi, [ebp + 0x61]
mov byte [edx], bl
inc edx
movzx ebx, byte [esi]
inc esi
test bl, bl
jne 0x409650
mov byte [edx], 0
movzx ebx, byte [esp + 0x3a]
test bl, bl
je 0x40967b
lea esi, [esp + 0x3b]
nop
nop
nop
nop
nop
mov byte [edx], bl
inc edx
movzx ebx, byte [esi]
inc esi
test bl, bl
jne 0x409670
mov byte [edx], 0
movzx ebx, byte [eax]
test bl, bl
mov dword [esp + 8], ecx
je 0x40969b
inc eax
nop
nop
nop
nop
nop
nop
mov byte [edx], bl
inc edx
movzx ebx, byte [eax]
inc eax
test bl, bl
jne 0x409690
mov byte [edx], 0
movzx ecx, byte [esp + 4]
test cl, cl
je 0x4096bb
lea esi, [esp + 5]
nop
nop
nop
nop
nop
mov byte [edx], cl
inc edx
movzx ecx, byte [esi]
inc esi
test cl, cl
jne 0x4096b0
mov byte [edx], 0
movzx ecx, byte [esp + 0xe]
test cl, cl
je 0x4096db
lea esi, [esp + 0xf]
nop
nop
nop
nop
nop
mov byte [edx], cl
inc edx
movzx ecx, byte [esi]
inc esi
test cl, cl
jne 0x4096d0
mov byte [edx], 0
mov ebx, dword [esp + 0x94]
mov ecx, ebx
shr ecx, 2
mov esi, dword [esp + 0x90]
mov eax, esi
mov edi, edx
xchg esi, eax
rep movsd dword es:[edi], dword [esi]
xchg esi, eax
mov eax, ebx
and ebx, 0xfffffffc
add edx, ebx
add ebx, esi
mov ecx, eax
mov esi, eax
shr ecx, 1
and ecx, 1
mov eax, ebx
mov edi, edx
xchg esi, eax
rep movsw word es:[edi], word [esi]
xchg esi, eax
mov ecx, esi
mov eax, esi
and eax, 2
add edx, eax
test cl, 1
je 0x409729
movzx eax, byte [ebx + eax]
mov byte [edx], al
inc edx
mov dword [esp + 0x3a], 0x8a828480
mov byte [esp + 0x3e], 0x91
lea ecx, [esp + 0x3a]
mov edi, 0x7495eaca
nop
movzx eax, byte [ecx]
lea esi, [edi - 0x7495ea00]
and esi, eax
or eax, edi
not eax
or eax, esi
add eax, 0xa6d6c103
mov esi, eax
and esi, 1
xor eax, 1
lea eax, [eax + esi*2]
add al, 0x54
mov byte [ecx], al
inc ecx
dec edi
cmp edi, 0x7495eac5
jne 0x409740
mov dword [esp + 0xe], 0x90e282c
mov byte [esp + 0x12], 0x35
xor eax, eax
nop
nop
mov ecx, eax
add cl, 0xf9
xor cl, byte [esp + eax + 0xe]
add cl, 0x38
mov byte [esp + eax + 0xe], cl
inc eax
cmp eax, 5
jne 0x409780
movzx ecx, byte [esp + 0xe]
test cl, cl
je 0x4097bb
lea esi, [esp + 0xf]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov byte [edx], cl
inc edx
movzx ecx, byte [esi]
inc esi
test cl, cl
jne 0x4097b0
mov byte [edx], 0
movzx ecx, byte [ebp + 0x60]
test cl, cl
je 0x4097db
lea esi, [ebp + 0x61]
nop
nop
nop
nop
nop
nop
nop
mov byte [edx], cl
inc edx
movzx ecx, byte [esi]
inc esi
test cl, cl
jne 0x4097d0
mov byte [edx], 0
movzx ecx, byte [esp + 0x3a]
test cl, cl
je 0x4097fb
lea esi, [esp + 0x3b]
nop
nop
nop
nop
nop
mov byte [edx], cl
inc edx
movzx ecx, byte [esi]
inc esi
test cl, cl
jne 0x4097f0
mov byte [edx], 0
sub edx, dword [esp + 8]
add dword [ebp + 0x80], edx
add esp, 0x74
pop esi
pop edi
pop ebx
pop ebp
ret 0x10