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

Disassembly:
push ebp
push ebx
push edi
push esi
sub esp, 0x58
mov esi, dword [esp + 0x70]
mov dword [esp + 0x14], ecx
mov eax, dword [ecx + 0x60]
mov dword [esp + 0x10], eax
mov dword [esp], 0x263d33
mov ebx, 0xc9
mov ebp, 0x36
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx eax, byte [esp + ebx - 0xc9]
mov edi, ebp
or edi, eax
not eax
or eax, ebx
add eax, edi
mov cl, 0x11
sub cl, al
mov byte [esp + ebx - 0xc9], cl
inc ebx
dec ebp
cmp ebx, 0xcd
jne 0x40d740
mov dword [esp + 4], 0x8a8c88b2
mov word [esp + 8], 0xa78e
mov dword [esp + 0xa], 0
mov word [esp + 0xe], 0
xor ebx, ebx
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx eax, byte [esp + ebx + 4]
mov ecx, eax
not ecx
or ecx, 0x371135c1
lea edi, [eax + ecx]
inc edi
and eax, 0x3e
xor eax, 0xc8eeca3e
or edi, eax
mov eax, 0x817109a4
sub eax, ebx
and eax, 0x8060083e
mov ebp, ebx
and ebp, 1
or eax, ebp
xor eax, 0x36003441
mov ecx, edi
and ecx, eax
add eax, edi
add ecx, ecx
sub eax, ecx
add al, 0x39
mov byte [esp + ebx + 4], al
xor ebx, 1
lea ebx, [ebx + ebp*2]
cmp ebx, 0xc
jb 0x40d790
mov dword [esp + 0x18], 0xd6dc0003
mov dword [esp + 0x1c], 0xd2d604f8
mov dword [esp + 0x20], 0x2dc6cc03
mov dword [esp + 0x24], 0x2a312e39
mov dword [esp + 0x28], 0xf2293d3e
mov dword [esp + 0x2c], 0x3407d9df
mov dword [esp + 0x30], 0x2721333a
mov dword [esp + 0x34], 0x261ee42c
mov dword [esp + 0x38], 0x242f2f29
mov dword [esp + 0x3c], 0x2429272b
mov dword [esp + 0x40], 0xff61d2a
mov dword [esp + 0x44], 0xd2151919
mov dword [esp + 0x48], 0x21a0c08
mov dword [esp + 0x4c], 0x61cc32d
mov dword [esp + 0x50], 0xdb29001b
mov byte [esp + 0x54], 0xf8
mov word [esp + 0x55], 0
mov byte [esp + 0x57], 0
mov edx, 0x75
mov ebp, 0x8a
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx edi, byte [esp + edx - 0x5d]
mov eax, edi
not eax
mov ecx, edi
xor ecx, 0xb3
or edi, 0x4c
and edi, ecx
mov ecx, ebp
and ecx, 0xb3
mov ebx, edx
and ebx, 0x4c
or ebx, ecx
and eax, 0xb3
or eax, edi
xor eax, ebx
add al, 0xb7
mov byte [esp + edx - 0x5d], al
inc edx
dec ebp
cmp edx, 0xb5
jne 0x40d880
mov ecx, dword [esp + 0x6c]
add ecx, dword [esp + 0x10]
movzx ebx, byte [esp + 0x18]
mov edi, ecx
test bl, bl
je 0x40d8eb
lea eax, [esp + 0x19]
mov edi, ecx
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov byte [edi], bl
inc edi
movzx ebx, byte [eax]
inc eax
test bl, bl
jne 0x40d8e0
mov byte [edi], 0
movzx eax, byte [esi]
test al, al
mov edx, dword [esp + 0x74]
je 0x40d90b
inc esi
nop
nop
nop
nop
nop
nop
mov byte [edi], al
inc edi
movzx eax, byte [esi]
inc esi
test al, al
jne 0x40d900
mov byte [edi], 0
movzx eax, byte [esp + 4]
test al, al
je 0x40d92b
lea esi, [esp + 5]
nop
nop
nop
nop
nop
mov byte [edi], al
inc edi
movzx eax, byte [esi]
inc esi
test al, al
jne 0x40d920
mov byte [edi], 0
movzx eax, byte [edx]
test al, al
je 0x40d94b
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 0x40d940
mov byte [edi], 0
movzx eax, byte [esp]
test al, al
je 0x40d96b
lea edx, [esp + 1]
nop
nop
nop
nop
nop
nop
mov byte [edi], al
inc edi
movzx eax, byte [edx]
inc edx
test al, al
jne 0x40d960
mov byte [edi], 0
sub edi, ecx
mov eax, dword [esp + 0x14]
add dword [eax + 0x60], edi
add esp, 0x58
pop esi
pop edi
pop ebx
pop ebp
ret 0xc