Function at 0x40dce0
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, 0x8c
mov dword [esp + 0xc], ecx
mov eax, dword [ecx + 0x60]
mov dword [esp], eax
mov dword [esp + 0x64], 0x9fa4a6d3
mov dword [esp + 0x68], 0x1a625b51
mov dword [esp + 0x6c], 0x565a6044
mov dword [esp + 0x70], 0x6b47052e
mov dword [esp + 0x74], 0x5b41406c
mov dword [esp + 0x78], 0x73484049
mov dword [esp + 0x7c], 0x4c0f710f
mov dword [esp + 0x80], 0x544b4f56
mov dword [esp + 0x84], 0xe6e8e47c
mov dword [esp + 0x88], 0xcdd6
xor esi, esi
xor edi, edi
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov edx, esi
and edx, 0x78
mov eax, edi
xor eax, 0x7c
add eax, edx
xor al, byte [esp + edi + 0x64]
add al, 0x94
mov byte [esp + edi + 0x64], al
inc edi
add esi, 2
cmp edi, 0x28
jne 0x40dd60
mov dword [esp + 4], 0x292438c2
mov byte [esp + 8], 0
mov esi, 0x48
mov edx, 0x269462b8
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx ebp, byte [esp + esi - 0x44]
mov eax, ebp
not eax
or eax, 0xc
mov ebx, edx
and ebx, 0xb3
mov edi, edx
or edi, 0xc
add edi, esi
or edi, ebx
add eax, ebp
or ebp, 0xc
mov ebx, 0xfe
sub ebx, eax
and ebx, ebp
xor ebx, edi
mov al, 0x9c
sub al, bl
mov byte [esp + esi - 0x44], al
inc esi
dec edx
cmp esi, 0x4d
jne 0x40dda0
mov dword [esp + 0x10], 0xfec4b0b3
mov dword [esp + 0x14], 0xc2feaca8
mov dword [esp + 0x18], 0xc5cec493
mov dword [esp + 0x1c], 0xcac1c6c9
mov dword [esp + 0x20], 0x82c9c5c6
mov dword [esp + 0x24], 0xdcefa9a7
mov dword [esp + 0x28], 0xdfd1c3da
mov dword [esp + 0x2c], 0xdef69cc4
mov dword [esp + 0x30], 0xccd7d7c9
mov dword [esp + 0x34], 0xacd9cfdb
mov dword [esp + 0x38], 0xa7def5aa
mov dword [esp + 0x3c], 0xe2ada9a9
mov dword [esp + 0x40], 0x92ba94a8
mov dword [esp + 0x44], 0x8ea4d3f5
mov dword [esp + 0x48], 0xcbe9b0bb
mov dword [esp + 0x4c], 0xbabeb0b6
mov dword [esp + 0x50], 0xbfc6e2c6
mov dword [esp + 0x54], 0x8bbdb7bb
mov dword [esp + 0x58], 0xde8188bf
mov word [esp + 0x5c], 0x1bfa
mov word [esp + 0x62], 0
mov dword [esp + 0x5e], 0
xor eax, eax
mov ecx, dword [esp + 0xa0]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov edx, eax
add dl, 0x19
xor dl, byte [esp + eax + 0x10]
add dl, 0x83
mov byte [esp + eax + 0x10], dl
inc eax
cmp eax, 0x54
jne 0x40dea0
add ecx, dword [esp]
movzx eax, byte [esp + 0x10]
mov edx, ecx
test al, al
je 0x40dedb
lea esi, [esp + 0x11]
mov edx, ecx
nop
nop
nop
nop
nop
nop
mov byte [edx], al
inc edx
movzx eax, byte [esi]
inc esi
test al, al
jne 0x40ded0
mov byte [edx], 0
mov esi, dword [esp + 0xa4]
movzx eax, byte [esi]
test al, al
je 0x40defb
inc esi
nop
nop
nop
mov byte [edx], al
inc edx
movzx eax, byte [esi]
inc esi
test al, al
jne 0x40def0
mov dword [esp], ecx
mov byte [edx], 0
movzx eax, byte [esp + 4]
test al, al
je 0x40df1b
lea ecx, [esp + 5]
nop
nop
mov byte [edx], al
inc edx
movzx eax, byte [ecx]
inc ecx
test al, al
jne 0x40df10
mov byte [edx], 0
movzx eax, byte [esp + 0x64]
test al, al
je 0x40df3b
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 0x40df30
mov byte [edx], 0
mov eax, dword [esp + 0xac]
mov ecx, eax
mov esi, eax
shr ecx, 2
mov ebx, dword [esp + 0xa8]
mov eax, ebx
mov edi, edx
xchg esi, eax
rep movsd dword es:[edi], dword [esi]
xchg esi, eax
mov edi, esi
mov eax, esi
and eax, 0xfffffffc
lea esi, [edx + eax]
add eax, ebx
mov ecx, edi
mov ebp, edi
shr ecx, 1
and ecx, 1
mov ebx, eax
mov edi, esi
xchg esi, ebx
rep movsw word es:[edi], word [esi]
xchg esi, ebx
mov ecx, ebp
test cl, 1
je 0x40df93
mov ecx, dword [esp + 0xac]
and ecx, 2
movzx eax, byte [eax + ecx]
mov byte [esi + ecx], al
mov dword [esp + 0x10], 0x2a294557
mov dword [esp + 0x14], 0x1616e4fe
mov dword [esp + 0x18], 0xee19e8f8
mov dword [esp + 0x1c], 0xf0e7f3e0
mov dword [esp + 0x20], 0x1f1c10eb
mov dword [esp + 0x24], 0xb3bdd813
mov dword [esp + 0x28], 0xa2bdbf
mov ecx, 0xd9d3024a
mov esi, 0xb3a60494
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, esi
and eax, 0xb0a400de
mov edi, ecx
xor edi, 0xfc52b9ef
mov ebp, 0x49
sub ebp, eax
sub ebp, edi
add eax, edi
add eax, 6
and ebp, 0xf2
and eax, 0xd
or eax, ebp
xor al, byte [esp + ecx + 0x262cfdc6]
xor al, 0xf2
add al, 0x55
mov byte [esp + ecx + 0x262cfdc6], al
inc ecx
add esi, 2
cmp ecx, 0xd9d30266
jne 0x40dfe0
add edx, dword [esp + 0xac]
movzx eax, byte [esp + 0x10]
test al, al
je 0x40e04b
lea ecx, [esp + 0x11]
nop
nop
nop
nop
nop
nop
mov byte [edx], al
inc edx
movzx eax, byte [ecx]
inc ecx
test al, al
jne 0x40e040
mov byte [edx], 0
sub edx, dword [esp]
mov eax, dword [esp + 0xc]
add dword [eax + 0x60], edx
add esp, 0x8c
pop esi
pop edi
pop ebx
pop ebp
ret 0x10