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

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff8
sub esp, 0x78
mov eax, dword [ebp + 8]
add eax, dword [ecx + 0x60]
mov word [esp + 0x18], 0x2b35
mov byte [esp + 0x1a], 0x24
mov dword [esp + 0x1b], 0
mov word [esp + 0x1f], 0
mov dword [esp + 8], 0
mov edx, dword [esp + 8]
cmp edx, 8
ja 0x409b39
nop
nop
mov edx, dword [esp + 8]
mov esi, dword [esp + 8]
movzx esi, byte [esp + esi + 0x18]
lea edi, [edx + 0x5bd62f85]
add edx, 0x85
and edx, esi
or edi, esi
sub edi, edx
mov dword [esp + 0x28], edi
mov edx, dword [esp + 0x28]
mov esi, edx
xor esi, 0x5c
and edx, 0x5c
lea edx, [esi + edx*2]
inc dl
mov esi, dword [esp + 8]
mov byte [esp + esi + 0x18], dl
inc dword [esp + 8]
mov edx, dword [esp + 8]
cmp edx, 9
jb 0x409af0
mov dword [esp + 8], 0xb8aab640
mov word [esp + 0xc], 0xa9a4
mov dword [esp + 0xe], 0
mov dword [esp + 0x12], 0
mov word [esp + 0x16], 0
mov dword [esp], 0
mov edx, dword [esp]
cmp edx, 0xf
ja 0x409bb4
nop
nop
mov edx, dword [esp]
mov esi, dword [esp]
movzx esi, byte [esp + esi + 8]
lea edi, [edx + 0x517f7d45]
lea ebx, [edx + 0x45]
xor ebx, edi
and edi, esi
and ebx, esi
add edx, esi
add edx, 0x517f7d45
lea esi, [ebx + edi*2]
sub edx, esi
mov dword [esp + 0x28], edx
mov edx, dword [esp + 0x28]
add dl, 0x1d
mov esi, dword [esp]
mov byte [esp + esi + 8], dl
inc dword [esp]
mov edx, dword [esp]
cmp edx, 0x10
jb 0x409b70
mov dword [esp + 0x28], 0x3638eced
mov dword [esp + 0x2c], 0x4a4a989c
mov dword [esp + 0x30], 0x4f52489d
mov dword [esp + 0x34], 0x42474e5b
mov dword [esp + 0x38], 0x9a475b5a
mov dword [esp + 0x3c], 0x40b5ffe1
mov dword [esp + 0x40], 0x455f4d46
mov dword [esp + 0x44], 0x56b28840
mov dword [esp + 0x48], 0x484d494b
mov dword [esp + 0x4c], 0x706f796d
mov dword [esp + 0x50], 0x6da2bb76
mov dword [esp + 0x54], 0xba7b7f7b
mov dword [esp + 0x58], 0x6a766864
mov dword [esp + 0x5c], 0x7660b5af
mov dword [esp + 0x60], 0xb1977c65
mov byte [esp + 0x64], 0xdc
mov dword [esp + 0x65], 0
mov word [esp + 0x69], 0
mov dword [esp + 4], 0
mov edx, dword [esp + 4]
cmp edx, 0x42
ja 0x409ca9
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov esi, dword [esp + 4]
mov edx, dword [esp + 4]
movzx edi, byte [esp + edx + 0x28]
lea edx, [esi + 0x20436a3c]
and edx, edi
add esi, edi
add esi, 0x20436a3c
add edx, edx
mov edi, edx
xor edi, esi
not edx
and edx, esi
add edx, edx
sub edx, edi
mov dword [esp], edx
mov edx, dword [esp]
add dl, 0x5c
mov esi, dword [esp + 4]
mov byte [esp + esi + 0x28], dl
inc dword [esp + 4]
mov edx, dword [esp + 4]
cmp edx, 0x43
jb 0x409c60
mov esi, dword [ebp + 0xc]
movzx ebx, byte [esp + 0x28]
mov edx, eax
test bl, bl
je 0x409ccb
lea edi, [esp + 0x29]
mov edx, eax
nop
nop
nop
mov byte [edx], bl
inc edx
movzx ebx, byte [edi]
inc edi
test bl, bl
jne 0x409cc0
mov byte [edx], 0
movzx ebx, byte [esi]
test bl, bl
je 0x409ceb
inc esi
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov byte [edx], bl
inc edx
movzx ebx, byte [esi]
inc esi
test bl, bl
jne 0x409ce0
mov esi, dword [ebp + 0x10]
mov byte [edx], 0
movzx ebx, byte [esp + 8]
test bl, bl
je 0x409d0b
lea edi, [esp + 9]
nop
nop
mov byte [edx], bl
inc edx
movzx ebx, byte [edi]
inc edi
test bl, bl
jne 0x409d00
mov byte [edx], 0
movzx ebx, byte [esi]
test bl, bl
je 0x409d2b
inc esi
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov byte [edx], bl
inc edx
movzx ebx, byte [esi]
inc esi
test bl, bl
jne 0x409d20
mov byte [edx], 0
movzx ebx, byte [esp + 0x18]
test bl, bl
je 0x409d4b
lea esi, [esp + 0x19]
nop
nop
nop
nop
nop
mov byte [edx], bl
inc edx
movzx ebx, byte [esi]
inc esi
test bl, bl
jne 0x409d40
mov byte [edx], 0
sub edx, eax
add dword [ecx + 0x60], edx
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret 0xc