Function at 0x40d6f0
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], 0x2d282a41
mov dword [esp + 0x68], 0x6e2a2d23
mov dword [esp + 0x6c], 0x2a223c48
mov dword [esp + 0x70], 0x2151977e
mov dword [esp + 0x74], 0x314f4c20
mov dword [esp + 0x78], 0x393c343b
mov dword [esp + 0x7c], 0x30712b7d
mov dword [esp + 0x80], 0x403d3946
mov dword [esp + 0x84], 0x6a646830
mov dword [esp + 0x88], 0x5f66
mov esi, 0xb8b1a8df
mov edi, 0x20
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx eax, byte [esp + esi + 0x474e5785]
mov ecx, esi
or ecx, eax
not eax
or eax, edi
and eax, ecx
mov ecx, 1
sub ecx, eax
and ecx, 1
or eax, 1
sub eax, ecx
add al, 0xa5
mov byte [esp + esi + 0x474e5785], al
inc esi
dec edi
cmp esi, 0xb8b1a907
jne 0x40d770
mov dword [esp + 4], 0x1f10147e
mov word [esp + 8], 0
mov byte [esp + 0xa], 0
xor esi, esi
xor eax, eax
nop
nop
nop
nop
movzx ebx, byte [esp + eax + 4]
mov ecx, esi
and ecx, 4
mov edi, eax
xor edi, 0x79d824ba
add edi, ecx
mov ecx, ebx
not ecx
or ecx, 0xb16b85ef
lea ebp, [ebx + ecx]
inc ebp
and ebx, 0x10
xor ebx, 0x4e947a10
mov ecx, edi
not ecx
or ecx, 0xb16b85ef
add ecx, edi
inc ecx
and edi, 0x10
xor edi, 0x6045a10
or ecx, edi
mov edx, ebx
xor edx, ebp
not ebp
and ebp, ebx
add edx, ebx
sub edx, ebp
mov edi, edx
and edi, ecx
add edx, ecx
add edi, edi
sub edx, edi
add dl, 0x5e
mov byte [esp + eax + 4], dl
inc eax
add esi, 2
cmp eax, 7
jne 0x40d7c0
mov dword [esp + 0x10], 0x1a18d4d5
mov dword [esp + 0x14], 0x6062824
mov dword [esp + 0x18], 0x3760835
mov dword [esp + 0x1c], 0xe030277
mov dword [esp + 0x20], 0x3e0b7f7e
mov dword [esp + 0x24], 0x55e3e1
mov dword [esp + 0x28], 0x5730502
mov dword [esp + 0x2c], 0x725eb800
mov dword [esp + 0x30], 0x80d090f
mov dword [esp + 0x34], 0x106b0975
mov dword [esp + 0x38], 0x6da65f12
mov dword [esp + 0x3c], 0xa6671317
mov dword [esp + 0x40], 0x6e1a686c
mov dword [esp + 0x44], 0x5220ad53
mov dword [esp + 0x48], 0x916b545d
mov dword [esp + 0x4c], 0x5e565c5e
mov dword [esp + 0x50], 0x559e669e
mov dword [esp + 0x54], 0x31475155
mov dword [esp + 0x58], 0x7a434c41
mov word [esp + 0x5c], 0xa582
mov word [esp + 0x62], 0
mov dword [esp + 0x5e], 0
mov esi, 0xb72bf72a
nop
nop
nop
nop
movzx eax, byte [esp + esi + 0x48d408e6]
mov ecx, eax
and ecx, esi
add cl, cl
sub al, cl
movzx eax, al
add eax, esi
add al, 0x2e
mov byte [esp + esi + 0x48d408e6], al
inc esi
cmp esi, 0xb72bf77e
jne 0x40d8e0
mov ecx, dword [esp + 0xa0]
add ecx, dword [esp]
movzx eax, byte [esp + 0x10]
mov edx, ecx
test al, al
je 0x40d93b
lea esi, [esp + 0x11]
mov edx, ecx
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 0x40d930
mov byte [edx], 0
mov esi, dword [esp + 0xa4]
movzx eax, byte [esi]
test al, al
je 0x40d95b
inc esi
nop
nop
nop
mov byte [edx], al
inc edx
movzx eax, byte [esi]
inc esi
test al, al
jne 0x40d950
mov dword [esp], ecx
mov byte [edx], 0
movzx eax, byte [esp + 4]
test al, al
je 0x40d97b
lea ecx, [esp + 5]
nop
nop
mov byte [edx], al
inc edx
movzx eax, byte [ecx]
inc ecx
test al, al
jne 0x40d970
mov byte [edx], 0
movzx eax, byte [esp + 0x64]
test al, al
je 0x40d99b
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 0x40d990
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 0x40d9f3
mov ecx, dword [esp + 0xac]
and ecx, 2
movzx eax, byte [eax + ecx]
mov byte [esi + ecx], al
mov dword [esp + 0x10], 0xc6c71b25
mov dword [esp + 0x14], 0xc2c6f0fe
mov dword [esp + 0x18], 0xf2c7f4f4
mov dword [esp + 0x1c], 0xe491e994
mov dword [esp + 0x20], 0x9190ece9
mov dword [esp + 0x24], 0x53bdce1
mov dword [esp + 0x28], 0xa033d
mov ecx, 0xbb1063c4
movzx eax, byte [esp + ecx + 0x44ef9c4c]
lea esi, [ecx + 0x44ef9d00]
and esi, eax
mov ebx, esi
and ebx, 0xfffffffd
mov ebp, esi
and ebp, 2
mov edi, esi
or edi, 0xfffffffd
inc edi
imul edi, ebx
or esi, 2
imul esi, ebp
add edi, eax
mov eax, edi
sub eax, esi
add eax, ecx
mov ebx, eax
and ebx, 0x2b
mov ebp, eax
and ebp, 0xd4
xor eax, 0x2b
add eax, ebx
add eax, edi
sub eax, esi
sub eax, ebp
add eax, ecx
inc al
mov byte [esp + ecx + 0x44ef9c4c], al
inc ecx
cmp ecx, 0xbb1063e0
jne 0x40da30
add edx, dword [esp + 0xac]
movzx eax, byte [esp + 0x10]
test al, al
je 0x40dabb
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 0x40dab0
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