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

Disassembly:
push ebp
push ebx
push edi
push esi
sub esp, 0x54
mov edx, dword [esp + 0x70]
mov esi, dword [esp + 0x6c]
mov edi, dword [esp + 0x68]
mov dword [esp + 0x20], ecx
mov eax, dword [ecx + 0x80]
mov dword [esp + 0x1c], eax
mov word [esp + 8], 0x9d93
mov byte [esp + 0xa], 0xe6
mov dword [esp + 0xb], 0
xor ebx, ebx
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, ebx
add al, 0x59
xor al, byte [esp + ebx + 8]
add al, 0x43
mov byte [esp + ebx + 8], al
inc ebx
cmp ebx, 7
jne 0x40d540
mov dword [esp + 0x10], 0xc6c8c4d2
mov word [esp + 0x14], 0xedd6
mov dword [esp + 0x16], 0
mov word [esp + 0x1a], 0
mov ebx, 0x2c
mov ebp, 0xd3
nop
nop
nop
nop
movzx ecx, byte [esp + ebx - 0x1c]
mov eax, ebp
xor eax, ebx
and eax, ecx
xor eax, ebx
add al, 0x24
mov byte [esp + ebx - 0x1c], al
inc ebx
dec ebp
cmp ebx, 0x38
jne 0x40d580
mov dword [esp + 0x24], 0x7ca19b9d
mov dword [esp + 0x28], 0x7943717a
mov dword [esp + 0x2c], 0x429e844c
mov dword [esp + 0x30], 0x4c414d4f
mov dword [esp + 0x34], 0x4c4b4549
mov dword [esp + 0x38], 0x71b69f4a
mov dword [esp + 0x3c], 0x96575b57
mov dword [esp + 0x40], 0x6e5a6c68
mov dword [esp + 0x44], 0x625ca18b
mov dword [esp + 0x48], 0xa58b6059
mov byte [esp + 0x4c], 0x38
mov dword [esp + 0x4d], 0
mov byte [esp + 0x51], 0
mov ebx, 0xaba08158
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx eax, byte [esp + ebx + 0x545f7ecc]
xor eax, ebx
add eax, 0xa5dd7947
mov ecx, eax
and ecx, 1
xor eax, 1
lea eax, [eax + ecx*2]
mov byte [esp + ebx + 0x545f7ecc], al
inc ebx
cmp ebx, 0xaba08186
jne 0x40d610
add edi, dword [esp + 0x1c]
mov word [esp], 0xb4b5
mov byte [esp + 2], 0x9e
mov word [esp + 3], 0
xor ebx, ebx
mov ecx, dword [esp + 0x20]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, ebx
add al, 0x9a
xor al, byte [esp + ebx]
add al, 0xfe
mov byte [esp + ebx], al
inc ebx
cmp ebx, 5
jne 0x40d660
movzx ebx, byte [esp]
mov eax, edi
test bl, bl
je 0x40d69c
lea ebp, [esp + 1]
mov edi, eax
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov byte [edi], bl
inc edi
movzx ebx, byte [ebp]
inc ebp
test bl, bl
jne 0x40d690
mov byte [edi], 0
movzx ebx, byte [ecx + 0x60]
test bl, bl
je 0x40d6bc
lea ebp, [ecx + 0x61]
nop
nop
nop
nop
nop
nop
mov byte [edi], bl
inc edi
movzx ebx, byte [ebp]
inc ebp
test bl, bl
jne 0x40d6b0
mov byte [edi], 0
movzx ebx, byte [esp + 0x24]
test bl, bl
je 0x40d6dc
lea ebp, [esp + 0x25]
nop
nop
nop
nop
mov byte [edi], bl
inc edi
movzx ebx, byte [ebp]
inc ebp
test bl, bl
jne 0x40d6d0
mov byte [edi], 0
movzx ebx, byte [esi]
test bl, bl
je 0x40d6fb
inc esi
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov byte [edi], bl
inc edi
movzx ebx, byte [esi]
inc esi
test bl, bl
jne 0x40d6f0
mov byte [edi], 0
movzx ebx, byte [esp + 0x10]
test bl, bl
je 0x40d71b
lea esi, [esp + 0x11]
nop
nop
nop
nop
nop
mov byte [edi], bl
inc edi
movzx ebx, byte [esi]
inc esi
test bl, bl
jne 0x40d710
mov byte [edi], 0
movzx ebx, byte [edx]
test bl, bl
je 0x40d73b
inc edx
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov byte [edi], bl
inc edi
movzx ebx, byte [edx]
inc edx
test bl, bl
jne 0x40d730
mov byte [edi], 0
movzx edx, byte [esp + 8]
test dl, dl
je 0x40d75b
lea esi, [esp + 9]
nop
nop
nop
nop
nop
mov byte [edi], dl
inc edi
movzx edx, byte [esi]
inc esi
test dl, dl
jne 0x40d750
mov byte [edi], 0
sub edi, eax
add dword [ecx + 0x80], edi
add esp, 0x54
pop esi
pop edi
pop ebx
pop ebp
ret 0xc