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

Disassembly:
push ebp
push ebx
push edi
push esi
sub esp, 0x50
mov esi, dword [esp + 0x68]
mov dword [esp + 0x1c], ecx
mov eax, dword [ecx + 0x80]
mov dword [esp + 0x18], eax
mov word [esp + 4], 0x4543
mov byte [esp + 6], 0x4e
mov dword [esp + 7], 0
mov byte [esp + 0xb], 0
xor ebx, ebx
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx eax, byte [esp + ebx + 4]
mov edi, 0x26762072
sub edi, ebx
or edi, eax
add edi, ebx
add edi, 0xd989df8e
mov ebp, edi
and ebp, 2
mov ecx, edi
or ecx, 0xfffffffd
inc ecx
mov edx, edi
and edx, 0xfffffffd
imul edx, ecx
or edi, 2
imul edi, ebp
sub edx, edi
add eax, ebx
add eax, edx
add eax, 0x99d881cb
mov ecx, eax
and ecx, 1
xor eax, 1
lea eax, [eax + ecx*2]
mov byte [esp + ebx + 4], al
mov eax, ebx
and eax, 1
xor ebx, 1
lea ebx, [ebx + eax*2]
cmp ebx, 8
jb 0x409280
mov dword [esp + 0xc], 0x4a444822
mov dword [esp + 0x10], 0x5f46
mov byte [esp + 0x14], 0
xor eax, eax
mov ecx, eax
add cl, 0x6f
xor cl, byte [esp + eax + 0xc]
add cl, 0xd5
mov byte [esp + eax + 0xc], cl
inc eax
cmp eax, 9
jne 0x4092f0
mov dword [esp + 0x20], 0xa8d70d0f
mov dword [esp + 0x24], 0x574d5baa
mov dword [esp + 0x28], 0x562e1058
mov dword [esp + 0x2c], 0x505f5f5d
mov dword [esp + 0x30], 0x585d575b
mov dword [esp + 0x34], 0x5f16315a
mov dword [esp + 0x38], 0x2414d45
mov dword [esp + 0x3c], 0x5242505c
mov dword [esp + 0x40], 0x56481b39
mov dword [esp + 0x44], 0x2b056c4b
mov byte [esp + 0x48], 0xc4
mov dword [esp + 0x49], 0
mov dword [esp + 0x4c], 0
xor ebx, ebx
nop
nop
nop
movzx edi, byte [esp + ebx + 0x20]
lea ebp, [ebx + ebx]
mov eax, ebp
and eax, 0x76
mov ecx, ebx
xor ecx, 0xa32a3afb
add ecx, eax
mov eax, ecx
and eax, edi
add eax, eax
sub eax, ecx
mov ecx, edi
not ecx
and ecx, eax
not eax
and eax, edi
sub eax, ecx
mov edx, 2
sub edx, eax
sub edx, eax
not edx
and edx, 2
xor eax, 1
add eax, edx
add al, 0x18
mov byte [esp + ebx + 0x20], al
and ebp, 2
xor ebx, 1
add ebx, ebp
cmp ebx, 0x30
jb 0x409370
mov ebp, dword [esp + 0x64]
add ebp, dword [esp + 0x18]
mov dword [esp], 0x320405
mov eax, 0xe6bb3e74
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx edi, byte [esp + eax + 0x1944c18c]
mov ecx, eax
and ecx, edi
add ecx, ecx
sub edi, ecx
add edi, eax
mov ebx, edi
and ebx, 0x3b
add ebx, ebx
xor edi, 0x44
sub ebx, edi
mov byte [esp + eax + 0x1944c18c], bl
inc eax
cmp eax, 0xe6bb3e78
jne 0x4093e0
movzx eax, byte [esp]
mov edi, ebp
test al, al
mov edx, dword [esp + 0x6c]
je 0x40943b
lea ebx, [esp + 1]
mov edi, ebp
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov byte [edi], al
inc edi
movzx eax, byte [ebx]
inc ebx
test al, al
jne 0x409430
mov byte [edi], 0
mov ecx, dword [esp + 0x1c]
movzx eax, byte [ecx + 0x60]
test al, al
je 0x40945b
lea ebx, [ecx + 0x61]
nop
nop
nop
mov byte [edi], al
inc edi
movzx eax, byte [ebx]
inc ebx
test al, al
jne 0x409450
mov byte [edi], 0
movzx eax, byte [esp + 0x20]
test al, al
je 0x40947b
lea ebx, [esp + 0x21]
nop
nop
nop
nop
nop
mov byte [edi], al
inc edi
movzx eax, byte [ebx]
inc ebx
test al, al
jne 0x409470
mov byte [edi], 0
movzx eax, byte [esi]
test al, al
je 0x40949b
inc esi
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov byte [edi], al
inc edi
movzx eax, byte [esi]
inc esi
test al, al
jne 0x409490
mov byte [edi], 0
movzx eax, byte [esp + 0xc]
test al, al
je 0x4094bb
lea esi, [esp + 0xd]
nop
nop
nop
nop
nop
mov byte [edi], al
inc edi
movzx eax, byte [esi]
inc esi
test al, al
jne 0x4094b0
mov byte [edi], 0
movzx eax, byte [edx]
test al, al
je 0x4094db
inc edx
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov byte [edi], al
inc edi
movzx eax, byte [edx]
inc edx
test al, al
jne 0x4094d0
mov byte [edi], 0
movzx eax, byte [esp + 4]
test al, al
je 0x4094fb
lea edx, [esp + 5]
nop
nop
nop
nop
nop
mov byte [edi], al
inc edi
movzx eax, byte [edx]
inc edx
test al, al
jne 0x4094f0
mov byte [edi], 0
sub edi, ebp
add dword [ecx + 0x80], edi
add esp, 0x50
pop esi
pop edi
pop ebx
pop ebp
ret 0xc