Function at 0x40d530
Capabilities:
Contain obfuscated stackstrings
Encode data using xor
Resolve function by parsing pe exports

Disassembly:
push ebp
push ebx
push edi
push esi
sub esp, 0x90
mov dword [esp + 0xc], ecx
mov eax, dword [ecx + 0x60]
mov dword [esp], eax
mov dword [esp + 0x64], 0xdbdcda8f
mov dword [esp + 0x68], 0x9ed6dfa9
mov dword [esp + 0x6c], 0xa2d6c8b4
mov dword [esp + 0x70], 0xef9b658a
mov dword [esp + 0x74], 0xe79998ec
mov dword [esp + 0x78], 0xe7e098e1
mov dword [esp + 0x7c], 0xe4abf9a3
mov dword [esp + 0x80], 0x8c8feb92
mov dword [esp + 0x84], 0x525054fc
mov word [esp + 0x88], 0x6d52
mov dword [esp + 0x8a], 0
mov byte [esp + 0x8e], 0
mov eax, 0xeea1a012
mov esi, 0xed
nop
nop
nop
nop
nop
nop
nop
movzx edi, byte [esp + eax + 0x115e6052]
mov edx, esi
xor edx, eax
and edx, edi
xor edx, eax
mov edi, edx
xor edi, 0x5b
and edx, 0x24
add edx, edx
sub edx, edi
inc dl
mov byte [esp + eax + 0x115e6052], dl
inc eax
dec esi
cmp eax, 0xeea1a03d
jne 0x40d5c0
mov dword [esp + 4], 0x497c7892
mov byte [esp + 8], 0
mov eax, 0x93
mov esi, 0x6c
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx edx, byte [esp + eax - 0x8f]
lea edi, [edx + edx]
not edi
add edi, edx
or edi, esi
or edx, eax
and edx, edi
add dl, 0x21
mov byte [esp + eax - 0x8f], dl
inc eax
dec esi
cmp eax, 0x98
jne 0x40d610
mov dword [esp + 0x10], 0xc2ccb8b7
mov dword [esp + 0x14], 0xc6cab4b0
mov dword [esp + 0x18], 0xf5c2fcb7
mov dword [esp + 0x1c], 0xfef9f2c1
mov dword [esp + 0x20], 0x8ef1cdc2
mov dword [esp + 0x24], 0xcc9b51ab
mov dword [esp + 0x28], 0xd3e9d7ce
mov dword [esp + 0x2c], 0xea8294d4
mov dword [esp + 0x30], 0xdcdbdbd1
mov dword [esp + 0x34], 0xdce1dbe7
mov dword [esp + 0x38], 0x9bd2edde
mov dword [esp + 0x3c], 0xe6a5a1a1
mov dword [esp + 0x40], 0x9eae9c90
mov dword [esp + 0x44], 0x9aacdfe5
mov dword [esp + 0x48], 0xc7e188af
mov dword [esp + 0x4c], 0x8e8a888a
mov dword [esp + 0x50], 0x83caf6c2
mov dword [esp + 0x54], 0xbf858387
mov dword [esp + 0x58], 0xd2b9808b
mov word [esp + 0x5c], 0x17f6
mov dword [esp + 0x5e], 0
xor ecx, ecx
xor ebp, ebp
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, ebp
not eax
mov ebx, ebp
shr ebx, 1
and ebx, 1
movzx edx, byte [esp + ebp + 0x10]
mov edi, ebp
and edi, 0x15
and eax, 2
imul eax, edi
mov esi, ecx
and esi, 0x2e
or edi, 2
imul edi, ebx
lea eax, [eax + edi*2]
sub eax, esi
add eax, ebp
add eax, 0xe9576617
xor eax, edx
mov edx, eax
and edx, 0xc
xor eax, 0x8c
lea eax, [eax + edx*2]
inc al
mov byte [esp + ebp + 0x10], al
inc ebp
add ecx, 2
cmp ebp, 0x52
jne 0x40d6f0
mov ecx, dword [esp + 0xa4]
add ecx, dword [esp]
movzx eax, byte [esp + 0x10]
mov edx, ecx
test al, al
je 0x40d76b
lea esi, [esp + 0x11]
mov edx, ecx
nop
nop
nop
nop
nop
mov byte [edx], al
inc edx
movzx eax, byte [esi]
inc esi
test al, al
jne 0x40d760
mov byte [edx], 0
mov esi, dword [esp + 0xa8]
movzx eax, byte [esi]
test al, al
je 0x40d78b
inc esi
nop
nop
nop
mov byte [edx], al
inc edx
movzx eax, byte [esi]
inc esi
test al, al
jne 0x40d780
mov dword [esp], ecx
mov byte [edx], 0
movzx eax, byte [esp + 4]
test al, al
je 0x40d7ab
lea ecx, [esp + 5]
nop
nop
mov byte [edx], al
inc edx
movzx eax, byte [ecx]
inc ecx
test al, al
jne 0x40d7a0
mov byte [edx], 0
movzx eax, byte [esp + 0x64]
test al, al
je 0x40d7cb
lea ecx, [esp + 0x65]
nop
nop
nop
nop
nop
mov byte [edx], al
inc edx
movzx eax, byte [ecx]
inc ecx
test al, al
jne 0x40d7c0
mov byte [edx], 0
mov ebp, dword [esp + 0xb0]
mov ecx, ebp
shr ecx, 2
mov ebx, dword [esp + 0xac]
mov eax, ebx
mov edi, edx
xchg esi, eax
rep movsd dword es:[edi], dword [esi]
xchg esi, eax
mov eax, ebp
and eax, 0xfffffffc
lea esi, [edx + eax]
add eax, ebx
mov ebx, ebp
and ebx, 3
mov ecx, ebx
shr ecx, 1
mov ebp, eax
mov edi, esi
xchg esi, ebp
rep movsw word es:[edi], word [esi]
xchg esi, ebp
mov ecx, dword [esp + 0xb0]
xor ecx, 2
and ecx, ebx
je 0x40d842
mov edi, dword [esp + 0xb0]
and edi, 2
movzx ebx, byte [eax + edi]
mov byte [esi + edi], bl
cmp ecx, 1
je 0x40d842
movzx ebx, byte [eax + edi + 1]
mov byte [esi + edi + 1], bl
cmp ecx, 2
je 0x40d842
movzx eax, byte [eax + edi + 2]
mov byte [esi + edi + 2], al
mov dword [esp + 0x10], 0x4e416563
mov dword [esp + 0x14], 0x425a3432
mov dword [esp + 0x18], 0x12413030
mov dword [esp + 0x1c], 0x281b2f18
mov dword [esp + 0x20], 0x131c2817
mov dword [esp + 0x24], 0x7f7d5027
mov word [esp + 0x28], 0x7d7b
mov byte [esp + 0x2a], 0x86
mov dword [esp + 0x2b], 0
mov ecx, 0x1a46c266
mov esi, 0xe5b93d9a
movzx eax, byte [esp + ecx - 0x1a46c256]
lea edi, [ecx - 1]
mov ebx, esi
and ebx, 0xa0890842
and edi, 0x4080bd
or edi, ebx
mov ebx, edi
xor ebx, 0x4570b5bd
and edi, 0xf8
xor edi, 0xde56da47
add ebx, edi
inc ebx
mov edi, esi
or edi, 0x3ba965f8
add edi, ecx
or edi, ebx
mov ebx, eax
and ebx, 7
or ebx, 0x302040d0
and eax, 0xfffffff8
xor eax, ebx
xor eax, 0xf476dad7
mov ebx, eax
and ebx, edi
add eax, edi
add ebx, ebx
sub eax, ebx
add al, 7
mov byte [esp + ecx - 0x1a46c256], al
inc ecx
dec esi
cmp ecx, 0x1a46c285
jne 0x40d890
add edx, dword [esp + 0xb0]
movzx eax, byte [esp + 0x10]
test al, al
je 0x40d92b
lea ecx, [esp + 0x11]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov byte [edx], al
inc edx
movzx eax, byte [ecx]
inc ecx
test al, al
jne 0x40d920
mov byte [edx], 0
sub edx, dword [esp]
mov eax, dword [esp + 0xc]
add dword [eax + 0x60], edx
add esp, 0x90
pop esi
pop edi
pop ebx
pop ebp
ret 0x10