Function at 0x40db90
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], 0xed101639
mov dword [esp + 0x68], 0x4aee151f
mov dword [esp + 0x6c], 0x60ef410
mov dword [esp + 0x70], 0xf9195b32
mov dword [esp + 0x74], 0x90b14f8
mov dword [esp + 0x78], 0x1040c07
mov dword [esp + 0x7c], 0xf8b907bd
mov dword [esp + 0x80], 0xf8f5f1ea
mov dword [esp + 0x84], 0x969c9008
mov word [esp + 0x88], 0x839a
mov dword [esp + 0x8a], 0
mov word [esp + 0x8e], 0
mov esi, 0x2a163569
mov edi, 0xd5e9ca96
nop
nop
nop
nop
nop
movzx eax, byte [esp + esi - 0x2a163505]
mov ebx, esi
and ebx, eax
add ebx, ebx
mov edx, ebx
not edx
and edx, esi
and ebx, edi
sub edx, ebx
add edx, eax
lea eax, [edx + edx]
mov ecx, eax
and ecx, 0xe4
mov ebx, eax
and ebx, 0x5b21e9e4
mov ebp, edx
sub ebp, ebx
add ecx, ebp
add ecx, 0x2d90f4f2
and eax, 2
and edx, 1
or ecx, 1
xor ecx, edx
add ecx, eax
mov byte [esp + esi - 0x2a163505], cl
inc esi
dec edi
cmp esi, 0x2a163595
jne 0x40dc20
mov dword [esp + 4], 0xf1e4e09e
mov word [esp + 8], 0
mov byte [esp + 0xa], 0
lea esi, [esp + 4]
mov edi, 0x2ece792a
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx ecx, byte [esi]
mov eax, edi
or eax, ecx
lea edx, [eax + eax]
not edx
add edx, eax
lea eax, [edi - 0x2ece7900]
and eax, ecx
or eax, edx
add al, 0xd7
mov byte [esi], al
inc esi
dec edi
cmp edi, 0x2ece7923
jne 0x40dca0
mov dword [esp + 0x10], 0x2e24f0f3
mov dword [esp + 0x14], 0x222efcf8
mov dword [esp + 0x18], 0x253e24f3
mov dword [esp + 0x1c], 0x3a212639
mov dword [esp + 0x20], 0xe2392526
mov dword [esp + 0x24], 0x2cdf9987
mov dword [esp + 0x28], 0x2f31232a
mov dword [esp + 0x2c], 0x4ed6ec24
mov dword [esp + 0x30], 0x5c575759
mov dword [esp + 0x34], 0x5c495f4b
mov dword [esp + 0x38], 0x478e955a
mov dword [esp + 0x3c], 0x825d5959
mov dword [esp + 0x40], 0x524a5458
mov dword [esp + 0x44], 0x5e4493b5
mov dword [esp + 0x48], 0x9bb9504b
mov dword [esp + 0x4c], 0x6a4e5056
mov dword [esp + 0x50], 0x6fa682a6
mov dword [esp + 0x54], 0x7b6d776b
mov dword [esp + 0x58], 0x8e61786f
mov word [esp + 0x5c], 0xcbaa
mov byte [esp + 0x62], 0
mov dword [esp + 0x5e], 0
xor esi, esi
xor edi, edi
mov ebp, dword [esp + 0xa4]
nop
nop
nop
movzx eax, byte [esp + edi + 0x10]
mov ecx, esi
and ecx, 0x42
mov edx, edi
xor edx, 0xae93e221
add edx, ecx
mov ecx, eax
and ecx, edx
add ecx, ecx
sub edx, ecx
add dl, al
add dl, 0x5b
mov byte [esp + edi + 0x10], dl
inc edi
add esi, 2
cmp edi, 0x53
jne 0x40dd80
add ebp, dword [esp]
movzx eax, byte [esp + 0x10]
mov edx, ebp
test al, al
je 0x40dddb
lea esi, [esp + 0x11]
mov edx, ebp
nop
nop
nop
nop
nop
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 0x40ddd0
mov byte [edx], 0
mov ecx, dword [esp + 0xa8]
movzx eax, byte [ecx]
test al, al
je 0x40ddfb
inc ecx
nop
nop
nop
mov byte [edx], al
inc edx
movzx eax, byte [ecx]
inc ecx
test al, al
jne 0x40ddf0
mov byte [edx], 0
movzx eax, byte [esp + 4]
test al, al
je 0x40de1b
lea ecx, [esp + 5]
nop
nop
nop
nop
nop
mov byte [edx], al
inc edx
movzx eax, byte [ecx]
inc ecx
test al, al
jne 0x40de10
mov byte [edx], 0
movzx eax, byte [esp + 0x64]
test al, al
mov dword [esp], ebp
je 0x40de3b
lea ecx, [esp + 0x65]
nop
nop
mov byte [edx], al
inc edx
movzx eax, byte [ecx]
inc ecx
test al, al
jne 0x40de30
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 ecx, ebp
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 0x40de8d
mov ecx, dword [esp + 0xb0]
and ecx, 2
movzx eax, byte [eax + ecx]
mov byte [esi + ecx], al
mov dword [esp + 0x10], 0xd2d33735
mov dword [esp + 0x14], 0xf6fa989a
mov dword [esp + 0x18], 0x8ef38484
mov dword [esp + 0x1c], 0x8cb981b4
mov dword [esp + 0x20], 0xb9b88c81
mov dword [esp + 0x24], 0x1d1ffc89
mov word [esp + 0x28], 0x1f1d
mov byte [esp + 0x2a], 0x16
mov dword [esp + 0x2b], 0
mov byte [esp + 0x2f], 0
mov ecx, 0x4a
mov esi, 0x15
mov ebx, dword [esp]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov edi, esi
and edi, 0x11
mov eax, ecx
and eax, 0x6e
or eax, edi
xor al, byte [esp + ecx - 0x3a]
xor al, 0x11
add al, 0x8e
mov byte [esp + ecx - 0x3a], al
inc ecx
dec esi
cmp ecx, 0x6a
jne 0x40def0
add edx, dword [esp + 0xb0]
movzx eax, byte [esp + 0x10]
test al, al
je 0x40df3b
lea ecx, [esp + 0x11]
nop
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 0x40df30
mov byte [edx], 0
sub edx, ebx
mov eax, dword [esp + 0xc]
add dword [eax + 0x60], edx
add esp, 0x90
pop esi
pop edi
pop ebx
pop ebp
ret 0x10