Function at 0x40d780
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], 0x4f4446b3
mov dword [esp + 0x68], 0x8a424b51
mov dword [esp + 0x6c], 0x564a40a4
mov dword [esp + 0x70], 0x7b67a5be
mov dword [esp + 0x74], 0x6b61607c
mov dword [esp + 0x78], 0x73786079
mov dword [esp + 0x7c], 0x7cbf71bf
mov dword [esp + 0x80], 0x747b7f76
mov dword [esp + 0x84], 0xc6d8c46c
mov word [esp + 0x88], 0xddd6
mov dword [esp + 0x8a], 0
mov esi, 0x72dc3954
mov edi, 0x8d23c6ab
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx ebp, byte [esp + esi - 0x72dc38f0]
mov eax, esi
xor eax, ebp
or eax, edi
mov edx, eax
not edx
mov ebx, edx
and ebx, 0xfd
and eax, 2
imul eax, ebx
mov ebx, edx
and ebx, 2
or edx, 2
imul edx, ebx
sub ebp, eax
sub ebp, edx
add ebp, esi
mov eax, ebp
and eax, 1
xor ebp, 1
lea eax, [eax*2]
add eax, ebp
add al, 0x5b
mov byte [esp + esi - 0x72dc38f0], al
inc esi
dec edi
cmp esi, 0x72dc397e
jne 0x40d810
mov dword [esp + 4], 0xcff0f4ee
mov dword [esp + 8], 0
mov esi, 0xd2
mov edi, 0x76ab3c2d
nop
movzx edx, byte [esp + esi - 0xce]
mov ebx, esi
and ebx, edx
add ebx, ebx
mov eax, ebx
xor eax, esi
and ebx, edi
add eax, edx
add ebx, ebx
sub eax, ebx
add al, 0xe6
mov byte [esp + esi - 0xce], al
inc esi
dec edi
cmp esi, 0xda
jne 0x40d880
mov dword [esp + 0x10], 0x7e44b0b3
mov dword [esp + 0x14], 0x427eaca8
mov dword [esp + 0x18], 0x454e4493
mov dword [esp + 0x1c], 0x4a414649
mov dword [esp + 0x20], 0x82494546
mov dword [esp + 0x24], 0x5c6fa9a7
mov dword [esp + 0x28], 0x5f51435a
mov dword [esp + 0x2c], 0x5e769c44
mov dword [esp + 0x30], 0x4c575749
mov dword [esp + 0x34], 0xac594f5b
mov dword [esp + 0x38], 0xa75e75aa
mov dword [esp + 0x3c], 0x62ada9a9
mov dword [esp + 0x40], 0x92ba94a8
mov dword [esp + 0x44], 0x8ea45375
mov dword [esp + 0x48], 0x4b69b0bb
mov dword [esp + 0x4c], 0xbabeb0b6
mov dword [esp + 0x50], 0xbf466246
mov dword [esp + 0x54], 0x8bbdb7bb
mov dword [esp + 0x58], 0x5e8188bf
mov word [esp + 0x5c], 0x1b7a
mov byte [esp + 0x62], 0
mov dword [esp + 0x5e], 0
mov esi, 0x59
mov edi, 0xa6
mov ecx, dword [esp + 0xa8]
nop
nop
nop
nop
nop
nop
movzx edx, byte [esp + esi - 0x49]
mov ebx, esi
and ebx, edx
mov ebp, edi
and ebp, edx
mov eax, esi
xor eax, edx
sub eax, edx
add eax, ebx
or eax, ebp
add al, 0x43
mov byte [esp + esi - 0x49], al
inc esi
dec edi
cmp esi, 0xac
jne 0x40d970
mov ebp, dword [esp + 0xa4]
add ebp, dword [esp]
movzx eax, byte [esp + 0x10]
mov edx, ebp
test al, al
je 0x40d9cb
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 0x40d9c0
mov byte [edx], 0
movzx eax, byte [ecx]
test al, al
je 0x40d9eb
inc ecx
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 0x40d9e0
mov byte [edx], 0
movzx eax, byte [esp + 4]
test al, al
je 0x40da0b
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 0x40da00
mov byte [edx], 0
movzx eax, byte [esp + 0x64]
test al, al
mov dword [esp], ebp
je 0x40da2b
lea ecx, [esp + 0x65]
nop
nop
mov byte [edx], al
inc edx
movzx eax, byte [ecx]
inc ecx
test al, al
jne 0x40da20
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 0x40da7d
mov ecx, dword [esp + 0xb0]
and ecx, 2
movzx eax, byte [eax + ecx]
mov byte [esi + ecx], al
mov dword [esp + 0x10], 0x7e614543
mov dword [esp + 0x14], 0x626ab4b2
mov dword [esp + 0x18], 0xb261b0b0
mov dword [esp + 0x1c], 0xb8abbfa8
mov dword [esp + 0x20], 0x93acb8b7
mov dword [esp + 0x24], 0x6f6d5087
mov word [esp + 0x28], 0x6d6b
mov byte [esp + 0x2a], 0x66
mov word [esp + 0x2b], 0
mov byte [esp + 0x2d], 0
xor ecx, ecx
xor esi, esi
nop
nop
nop
nop
nop
nop
nop
mov edi, ecx
and edi, 0x30
mov eax, esi
xor eax, 0xd8
add eax, edi
add al, 0x35
xor al, byte [esp + esi + 0x10]
add al, 0xbf
mov byte [esp + esi + 0x10], al
inc esi
add ecx, 2
cmp esi, 0x1e
jne 0x40dad0
add edx, dword [esp + 0xb0]
movzx eax, byte [esp + 0x10]
test al, al
je 0x40db1d
lea ecx, [esp + 0x11]
mov esi, dword [esp]
nop
nop
nop
nop
nop
nop
mov byte [edx], al
inc edx
movzx eax, byte [ecx]
inc ecx
test al, al
jne 0x40db10
jmp 0x40db20
mov esi, dword [esp]
mov byte [edx], 0
sub edx, esi
mov eax, dword [esp + 0xc]
add dword [eax + 0x60], edx
add esp, 0x90
pop esi
pop edi
pop ebx
pop ebp
ret 0x10