Function at 0x40da10
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 ebx, dword [esp + 0xa0]
mov dword [esp + 0xc], ecx
mov eax, dword [ecx + 0x60]
mov dword [esp], eax
mov dword [esp + 0x64], 0xfbc4caa7
mov dword [esp + 0x68], 0x86fec7c9
mov dword [esp + 0x6c], 0xf2fef8dc
mov dword [esp + 0x70], 0xc7ebad8a
mov dword [esp + 0x74], 0xfff9e8c4
mov dword [esp + 0x78], 0xcff0f8f1
mov dword [esp + 0x7c], 0xecabc9b3
mov dword [esp + 0x80], 0xe4e7ebe2
mov dword [esp + 0x84], 0x42404cd4
mov dword [esp + 0x88], 0x5542
mov esi, 0x2e21dc16
mov edi, 0xa3bc47e9
nop
nop
movzx eax, byte [esp + esi - 0x2e21dbb2]
lea edx, [eax + eax]
not edx
add edx, eax
and edx, esi
and eax, edi
or eax, edx
add al, 0x92
mov byte [esp + esi - 0x2e21dbb2], al
inc esi
dec edi
cmp esi, 0x2e21dc3e
jne 0x40da90
mov ecx, ebx
mov dword [esp + 4], 0x10c1026
mov dword [esp + 8], 0
mov esi, 0xb11d2bc1
mov edi, 0x4ee2d43e
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx eax, byte [esp + esi + 0x4ee2d443]
mov edx, esi
and edx, eax
add edx, edx
sub edx, eax
add edx, edi
and edx, esi
add dl, dl
sub al, dl
movzx eax, al
add eax, esi
add al, 0x3b
mov byte [esp + esi + 0x4ee2d443], al
inc esi
dec edi
cmp esi, 0xb11d2bc9
jne 0x40dae0
mov dword [esp + 0x10], 0xae906465
mov dword [esp + 0x14], 0xb2b26064
mov dword [esp + 0x18], 0xb7bab065
mov dword [esp + 0x1c], 0xbabf86b3
mov dword [esp + 0x20], 0x72bfb3b2
mov dword [esp + 0x24], 0x885d6769
mov dword [esp + 0x28], 0x8d87958e
mov dword [esp + 0x2c], 0x8eaa4098
mov dword [esp + 0x30], 0x80858183
mov dword [esp + 0x34], 0x98978195
mov dword [esp + 0x38], 0x956a439e
mov dword [esp + 0x3c], 0x52939793
mov dword [esp + 0x40], 0xa28ea09c
mov dword [esp + 0x44], 0xdee81d37
mov dword [esp + 0x48], 0x193fe4ed
mov dword [esp + 0x4c], 0xeae2ecea
mov dword [esp + 0x50], 0xed123a12
mov dword [esp + 0x54], 0xf9f3f9f5
mov dword [esp + 0x58], 0x2ef7fcc9
mov word [esp + 0x5c], 0x6506
mov byte [esp + 0x60], 0
mov word [esp + 0x5e], 0
mov esi, 0x1c8bef8c
mov edi, 0x73
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx edx, byte [esp + esi - 0x1c8bef7c]
lea ebp, [edx + edx]
not ebp
add ebp, edx
and ebp, esi
lea ebx, [esi - 0x1c8bef80]
and ebx, 0x5b
mov eax, edi
and eax, 0xa4
or eax, ebx
xor eax, 0x5b
and eax, edx
or eax, ebp
mov edx, eax
not edx
and edx, 0xbd
and eax, 0x42
sub eax, edx
inc al
mov byte [esp + esi - 0x1c8bef7c], al
inc esi
dec edi
cmp esi, 0x1c8befdd
jne 0x40dbd0
add ecx, dword [esp]
movzx eax, byte [esp + 0x10]
mov edx, ecx
test al, al
je 0x40dc3b
lea esi, [esp + 0x11]
mov edx, ecx
mov byte [edx], al
inc edx
movzx eax, byte [esi]
inc esi
test al, al
jne 0x40dc30
mov dword [esp], ecx
mov byte [edx], 0
mov ecx, dword [esp + 0xa4]
movzx eax, byte [ecx]
test al, al
je 0x40dc5b
inc ecx
mov byte [edx], al
inc edx
movzx eax, byte [ecx]
inc ecx
test al, al
jne 0x40dc50
mov byte [edx], 0
movzx eax, byte [esp + 4]
test al, al
je 0x40dc7b
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 0x40dc70
mov byte [edx], 0
movzx eax, byte [esp + 0x64]
test al, al
je 0x40dc9b
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 0x40dc90
mov byte [edx], 0
mov ebp, dword [esp + 0xac]
mov ecx, ebp
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 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 0x40dced
mov ecx, dword [esp + 0xac]
and ecx, 2
movzx eax, byte [eax + ecx]
mov byte [esi + ecx], al
mov dword [esp + 0x10], 0x4e412523
mov dword [esp + 0x14], 0x425a7472
mov dword [esp + 0x18], 0x92417070
mov dword [esp + 0x1c], 0x689b6f98
mov dword [esp + 0x20], 0x939c6897
mov dword [esp + 0x24], 0x3f3d5067
mov word [esp + 0x28], 0x3d3b
mov byte [esp + 0x2a], 6
mov word [esp + 0x2b], 0
mov ecx, 0x85
mov esi, 0x7a
nop
nop
nop
nop
nop
nop
movzx edi, byte [esp + ecx - 0x75]
mov eax, esi
xor eax, ecx
and eax, edi
xor eax, ecx
add al, 0x67
mov byte [esp + ecx - 0x75], al
inc ecx
dec esi
cmp ecx, 0xa2
jne 0x40dd40
add edx, dword [esp + 0xac]
movzx eax, byte [esp + 0x10]
test al, al
je 0x40dd8b
lea ecx, [esp + 0x11]
nop
nop
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 0x40dd80
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