Function at 0x40d620
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], 0x85808ed9
mov dword [esp + 0x68], 0xca868df7
mov dword [esp + 0x6c], 0xee869ce0
mov dword [esp + 0x70], 0x99e92bc2
mov dword [esp + 0x74], 0x99ebec98
mov dword [esp + 0x78], 0x919ce49f
mov dword [esp + 0x7c], 0xa8d98fd5
mov dword [esp + 0x80], 0xd8dda1da
mov dword [esp + 0x84], 0xe0400a8
mov dword [esp + 0x88], 0x330a
xor eax, eax
nop
mov ebx, eax
add bl, 0xc5
xor bl, byte [esp + eax + 0x64]
add bl, 0x27
mov byte [esp + eax + 0x64], bl
inc eax
cmp eax, 0x28
jne 0x40d690
mov dword [esp + 4], 0x73484452
mov byte [esp + 8], 0
xor edx, edx
mov ebp, 0xffffffff
xor eax, eax
nop
nop
nop
nop
movzx ebx, byte [esp + eax + 4]
mov esi, edx
and esi, 8
mov ecx, eax
or ecx, 0x330993
mov edi, ebp
or edi, 0xffccf66c
and edi, ecx
not edi
add edi, esi
xor edi, ebx
add edi, 0xff2fe3
mov ecx, edi
xor ecx, 0x7e
mov esi, edi
or esi, 1
and esi, ecx
xor edi, 1
lea ecx, [edi + esi*2]
mov byte [esp + eax + 4], cl
inc eax
add edx, 2
dec ebp
cmp eax, 5
jne 0x40d6c0
mov dword [esp + 0x10], 0x767c4043
mov dword [esp + 0x14], 0x72764458
mov dword [esp + 0x18], 0x6d868c43
mov dword [esp + 0x1c], 0x6a916e99
mov dword [esp + 0x20], 0x52699d9e
mov dword [esp + 0x24], 0x9447393f
mov dword [esp + 0x28], 0xa761939a
mov dword [esp + 0x2c], 0xa67e64ac
mov dword [esp + 0x30], 0xa4afafa9
mov dword [esp + 0x34], 0xa4a9a7ab
mov dword [esp + 0x38], 0x4f167daa
mov dword [esp + 0x3c], 0x72b5b9b9
mov dword [esp + 0x40], 0x42ba4c48
mov dword [esp + 0x44], 0x46bc036d
mov dword [esp + 0x48], 0x7b6940bb
mov dword [esp + 0x4c], 0x3ac6c03e
mov dword [esp + 0x50], 0x377e127e
mov dword [esp + 0x54], 0xcb35cfcb
mov dword [esp + 0x58], 0x631c837
mov word [esp + 0x5c], 0x4b6a
mov byte [esp + 0x60], 0
mov word [esp + 0x5e], 0
xor eax, eax
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov ecx, eax
add cl, 5
xor cl, byte [esp + eax + 0x10]
add cl, 0xe7
mov byte [esp + eax + 0x10], cl
inc eax
cmp eax, 0x51
jne 0x40d7c0
mov ecx, dword [esp + 0xa0]
add ecx, dword [esp]
movzx eax, byte [esp + 0x10]
mov edx, ecx
test al, al
je 0x40d80b
lea esi, [esp + 0x11]
mov edx, ecx
nop
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 0x40d800
mov byte [edx], 0
mov esi, dword [esp + 0xa4]
movzx eax, byte [esi]
test al, al
je 0x40d82b
inc esi
nop
nop
nop
mov byte [edx], al
inc edx
movzx eax, byte [esi]
inc esi
test al, al
jne 0x40d820
mov dword [esp], ecx
mov byte [edx], 0
movzx eax, byte [esp + 4]
test al, al
je 0x40d84b
lea ecx, [esp + 5]
nop
nop
mov byte [edx], al
inc edx
movzx eax, byte [ecx]
inc ecx
test al, al
jne 0x40d840
mov byte [edx], 0
movzx eax, byte [esp + 0x64]
test al, al
je 0x40d86b
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 0x40d860
mov byte [edx], 0
mov ebx, dword [esp + 0xac]
mov ecx, ebx
shr ecx, 2
mov ebp, dword [esp + 0xa8]
mov eax, ebp
mov edi, edx
xchg esi, eax
rep movsd dword es:[edi], dword [esi]
xchg esi, eax
mov eax, ebx
and eax, 0xfffffffc
lea esi, [edx + eax]
add eax, ebp
mov ecx, ebx
not ecx
or ecx, 3
add ebx, ecx
inc ebx
mov ecx, ebx
shr ecx, 1
mov ebp, eax
mov edi, esi
xchg esi, ebp
rep movsw word es:[edi], word [esi]
xchg esi, ebp
test bl, 1
je 0x40d8bb
and ebx, 0xfffffffe
movzx eax, byte [eax + ebx]
mov byte [esi + ebx], al
mov dword [esp + 0x10], 0x2e2f0b0d
mov dword [esp + 0x14], 0x323e6066
mov dword [esp + 0x18], 0x623f6c6c
mov dword [esp + 0x1c], 0x6c61697c
mov dword [esp + 0x20], 0x61607479
mov dword [esp + 0x24], 0x1d1b2471
mov dword [esp + 0x28], 0x1a1315
xor eax, eax
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
xor byte [esp + eax + 0x10], al
inc eax
cmp eax, 0x1c
jne 0x40d900
add edx, dword [esp + 0xac]
movzx eax, byte [esp + 0x10]
test al, al
je 0x40d92b
lea ecx, [esp + 0x11]
nop
nop
mov byte [edx], al
inc edx
movzx eax, byte [ecx]
inc ecx
test al, al
jne 0x40d920
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