Function at 0x40d720
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 ebp, dword [esp + 0xa8]
mov dword [esp + 0xc], ecx
mov eax, dword [ecx + 0x60]
mov dword [esp], eax
mov dword [esp + 0x64], 0xada8aa81
mov dword [esp + 0x68], 0x6eaaada3
mov dword [esp + 0x6c], 0xaaa2dc88
mov dword [esp + 0x70], 0xa1b1779e
mov dword [esp + 0x74], 0x918f8ca0
mov dword [esp + 0x78], 0x999c949b
mov dword [esp + 0x7c], 0x9051eb5d
mov dword [esp + 0x80], 0x809d9986
mov dword [esp + 0x84], 0x6a646890
mov word [esp + 0x88], 0x7f66
mov dword [esp + 0x8a], 0
mov word [esp + 0x8e], 0
mov esi, 0xe
mov edi, 0x996d43f0
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx ebx, byte [esp + esi + 0x56]
lea eax, [esi - 0x4cb6a1ff]
lea edx, [edi + 0x6692bd00]
and edx, edi
or eax, ebx
not ebx
or ebx, edx
mov edx, ebx
not edx
or eax, edx
add eax, ebx
add al, 0xb6
mov byte [esp + esi + 0x56], al
inc esi
dec edi
cmp esi, 0x3a
jne 0x40d7c0
mov dword [esp + 4], 0x33484452
mov word [esp + 8], 0
mov esi, 0x8e33ed0c
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx eax, byte [esp + esi + 0x71cc12f8]
mov edx, eax
and edx, esi
add dl, dl
sub al, dl
movzx eax, al
add eax, esi
add al, 0xc4
mov byte [esp + esi + 0x71cc12f8], al
inc esi
cmp esi, 0x8e33ed12
jne 0x40d810
mov dword [esp + 0x10], 0x565c8083
mov dword [esp + 0x14], 0x525684b8
mov dword [esp + 0x18], 0x6d464c83
mov dword [esp + 0x1c], 0x6a716e79
mov dword [esp + 0x20], 0xb2697d7e
mov dword [esp + 0x24], 0x7487d9df
mov dword [esp + 0x28], 0x6761737a
mov dword [esp + 0x2c], 0x669ea46c
mov dword [esp + 0x30], 0x646f6f69
mov dword [esp + 0x34], 0x6469676b
mov dword [esp + 0x38], 0x8fb69d6a
mov dword [esp + 0x3c], 0x52959999
mov dword [esp + 0x40], 0x829a8c88
mov dword [esp + 0x44], 0x869c436d
mov dword [esp + 0x48], 0x5b69809b
mov dword [esp + 0x4c], 0x9a86809e
mov dword [esp + 0x50], 0x975e725e
mov dword [esp + 0x54], 0x8b958f8b
mov dword [esp + 0x58], 0x46918897
mov word [esp + 0x5c], 0xb6a
mov word [esp + 0x62], 0
mov dword [esp + 0x5e], 0
mov esi, 0x428397d5
mov edi, 0x3d7c682a
mov ecx, dword [esp + 0xa4]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx eax, byte [esp + esi - 0x428397c5]
mov edx, esi
and edx, 0x4283874c
mov ebx, edi
and ebx, 0x297868b3
or ebx, edx
xor ebx, eax
xor ebx, 0xd687874c
lea edx, [edi - 0x3d7c6800]
and edx, eax
not edx
and edx, ebx
lea eax, [edx + edx]
not eax
add eax, edx
add al, 0xd7
mov byte [esp + esi - 0x428397c5], al
inc esi
dec edi
cmp esi, 0x42839829
jne 0x40d900
add ecx, dword [esp]
movzx eax, byte [esp + 0x10]
mov edx, ecx
test al, al
je 0x40d96b
lea esi, [esp + 0x11]
mov edx, ecx
nop
nop
nop
nop
mov byte [edx], al
inc edx
movzx eax, byte [esi]
inc esi
test al, al
jne 0x40d960
mov byte [edx], 0
movzx eax, byte [ebp]
test al, al
je 0x40d98c
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 0x40d980
mov dword [esp], ecx
mov byte [edx], 0
movzx eax, byte [esp + 4]
test al, al
je 0x40d9ab
lea ecx, [esp + 5]
nop
mov byte [edx], al
inc edx
movzx eax, byte [ecx]
inc ecx
test al, al
jne 0x40d9a0
mov byte [edx], 0
movzx eax, byte [esp + 0x64]
test al, al
je 0x40d9cb
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 0x40d9c0
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 0x40da1d
mov ecx, dword [esp + 0xb0]
and ecx, 2
movzx eax, byte [eax + ecx]
mov byte [esi + ecx], al
mov dword [esp + 0x10], 0x6a6985b7
mov dword [esp + 0x14], 0x7676245e
mov dword [esp + 0x18], 0x2e792858
mov dword [esp + 0x1c], 0x50275320
mov dword [esp + 0x20], 0x3f3c302b
mov dword [esp + 0x24], 0x939d7833
mov dword [esp + 0x28], 0xa29d9f
mov ecx, 0x60
mov esi, 0x1b6154a0
nop
movzx eax, byte [esp + ecx - 0x50]
lea ebx, [ecx - 1]
mov edi, esi
and edi, 0x25
and ebx, 0x1a
or ebx, edi
xor ebx, eax
xor ebx, 0x1a
or ebx, esi
add bl, cl
add bl, bl
sub al, bl
movzx eax, al
add eax, ecx
add al, 0x24
mov byte [esp + ecx - 0x50], al
inc ecx
dec esi
cmp ecx, 0x7c
jne 0x40da60
add edx, dword [esp + 0xb0]
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
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, 0x90
pop esi
pop edi
pop ebx
pop ebp
ret 0x10