Function at 0x40dcb0
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 ebp, dword [esp + 0xa4]
mov dword [esp + 8], ecx
mov ecx, dword [ecx + 0x60]
mov dword [esp + 0x60], 0xebe49a47
mov dword [esp + 0x64], 0x26eee7d9
mov dword [esp + 0x68], 0xd2eee8cc
mov dword [esp + 0x6c], 0xe7db1d3a
mov dword [esp + 0x70], 0xcfc9d8e4
mov dword [esp + 0x74], 0xfff0c8f1
mov dword [esp + 0x78], 0xfc3bf933
mov dword [esp + 0x7c], 0xc4c7fbc2
mov dword [esp + 0x80], 0x22201cf4
mov dword [esp + 0x84], 0x5522
mov byte [esp + 0x88], 0
mov eax, 0x3d29b73e
nop
nop
nop
nop
nop
movzx ebx, byte [esp + eax - 0x3d29b6de]
mov edx, ebx
and edx, eax
add dl, dl
sub bl, dl
movzx edx, bl
add edx, eax
add dl, 0xca
mov byte [esp + eax - 0x3d29b6de], dl
inc eax
cmp eax, 0x3d29b767
jne 0x40dd30
mov dword [esp], 0x83888ce2
xor esi, esi
mov edi, 0x5f
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx edx, byte [esp + esi]
mov ebx, edi
or ebx, edx
not ebx
mov eax, esi
and eax, 0x7b
xor eax, edx
xor eax, 0xa0
and eax, edx
or eax, ebx
add al, 0xe0
mov byte [esp + esi], al
inc esi
dec edi
cmp esi, 4
jne 0x40dd70
mov dword [esp + 0xc], 0x3234787f
mov dword [esp + 0x10], 0x3e3a4c40
mov dword [esp + 0x14], 0x3d32344f
mov dword [esp + 0x18], 0x26292231
mov dword [esp + 0x1c], 0x56211512
mov dword [esp + 0x20], 0x244b818b
mov dword [esp + 0x24], 0x23291f26
mov dword [esp + 0x28], 0xdab29c1c
mov dword [esp + 0x2c], 0xe4dbdbe1
mov dword [esp + 0x30], 0xd4d1ebdf
mov dword [esp + 0x34], 0xdb82a5d6
mov dword [esp + 0x38], 0x8ecdf1d1
mov dword [esp + 0x3c], 0xc6f6c4c0
mov dword [esp + 0x40], 0xcac497bd
mov dword [esp + 0x44], 0x8fb1c8c7
mov dword [esp + 0x48], 0xf6faf8ca
mov dword [esp + 0x4c], 0xf3aa8eb2
mov dword [esp + 0x50], 0xf7fdf3ff
mov dword [esp + 0x54], 0x82f9f0fb
mov word [esp + 0x58], 0x5fbe
mov byte [esp + 0x5c], 0
mov word [esp + 0x5a], 0
mov eax, 0xc91d19e3
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx edx, byte [esp + eax + 0x36e2e629]
xor edx, eax
mov esi, edx
not esi
and esi, 0x92
and edx, 0x6d
sub edx, esi
add dl, 0x23
mov byte [esp + eax + 0x36e2e629], dl
inc eax
cmp eax, 0xc91d1a34
jne 0x40de50
mov eax, dword [esp + 0xa0]
add eax, ecx
mov ecx, eax
movzx eax, byte [esp + 0xc]
mov edx, ecx
test al, al
je 0x40deab
lea esi, [esp + 0xd]
mov edx, ecx
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov byte [edx], al
inc edx
movzx eax, byte [esi]
inc esi
test al, al
jne 0x40dea0
mov byte [edx], 0
movzx eax, byte [ebp]
test al, al
je 0x40decc
inc ebp
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov byte [edx], al
inc edx
movzx eax, byte [ebp]
inc ebp
test al, al
jne 0x40dec0
mov dword [esp + 4], ecx
mov byte [edx], 0
movzx eax, byte [esp]
test al, al
je 0x40deeb
lea ecx, [esp + 1]
nop
mov byte [edx], al
inc edx
movzx eax, byte [ecx]
inc ecx
test al, al
jne 0x40dee0
mov byte [edx], 0
movzx eax, byte [esp + 0x60]
test al, al
je 0x40df0b
lea ecx, [esp + 0x61]
nop
nop
nop
nop
nop
mov byte [edx], al
inc edx
movzx eax, byte [ecx]
inc ecx
test al, al
jne 0x40df00
mov byte [edx], 0
mov ebx, dword [esp + 0xac]
mov ecx, ebx
shr ecx, 2
mov eax, dword [esp + 0xa8]
mov edi, edx
xchg esi, eax
rep movsd dword es:[edi], dword [esi]
xchg esi, eax
mov ebp, ebx
and ebp, 0xfffffffc
lea esi, [edx + ebp]
add ebp, dword [esp + 0xa8]
mov eax, ebx
and eax, 3
mov ecx, eax
shr ecx, 1
mov ebx, ebp
mov edi, esi
xchg esi, ebx
rep movsw word es:[edi], word [esi]
xchg esi, ebx
mov ecx, eax
xor ecx, 0xfffffffe
or eax, 1
and eax, ecx
je 0x40df84
mov ecx, dword [esp + 0xac]
and ecx, 2
movzx ebx, byte [ebp + ecx]
mov byte [esi + ecx], bl
cmp eax, 1
je 0x40df84
movzx ebx, byte [ebp + ecx + 1]
mov byte [esi + ecx + 1], bl
cmp eax, 2
je 0x40df84
movzx eax, byte [ebp + ecx + 2]
mov byte [esi + ecx + 2], al
mov dword [esp + 0xc], 0xd2d3f7f5
mov dword [esp + 0x10], 0x363a181a
mov dword [esp + 0x14], 0xe330404
mov dword [esp + 0x18], 0xc790174
mov dword [esp + 0x1c], 0x79780c01
mov dword [esp + 0x20], 0x9d9f3c09
mov dword [esp + 0x24], 0x969f9d
xor eax, eax
nop
nop
mov ecx, eax
add cl, 0x2a
xor cl, byte [esp + eax + 0xc]
add cl, 0x2e
mov byte [esp + eax + 0xc], cl
inc eax
cmp eax, 0x1c
jne 0x40dfc0
add edx, dword [esp + 0xac]
movzx eax, byte [esp + 0xc]
test al, al
je 0x40dffb
lea ecx, [esp + 0xd]
nop
nop
nop
nop
nop
nop
mov byte [edx], al
inc edx
movzx eax, byte [ecx]
inc ecx
test al, al
jne 0x40dff0
mov byte [edx], 0
sub edx, dword [esp + 4]
mov eax, dword [esp + 8]
add dword [eax + 0x60], edx
add esp, 0x8c
pop esi
pop edi
pop ebx
pop ebp
ret 0x10