Function at 0x40dc60
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 ebx, dword [esp + 0xa8]
mov dword [esp + 0xc], ecx
mov eax, dword [ecx + 0x60]
mov dword [esp], eax
mov dword [esp + 0x64], 0x65a09ec9
mov dword [esp + 0x68], 0x1a665d57
mov dword [esp + 0x6c], 0x5e666c40
mov dword [esp + 0x70], 0x69591b22
mov dword [esp + 0x74], 0x495b5c68
mov dword [esp + 0x78], 0x714c444f
mov dword [esp + 0x7c], 0x78097f35
mov dword [esp + 0x80], 0x484d414a
mov dword [esp + 0x84], 0xdee4e078
mov dword [esp + 0x88], 0xd3da
mov byte [esp + 0x8c], 0
xor esi, esi
xor ebp, ebp
movzx eax, byte [esp + ebp + 0x64]
mov edx, esi
and edx, 0x7a
mov edi, ebp
xor edi, 0x9ad23c7d
add edi, edx
xor edi, eax
add edi, 0x3e274551
mov eax, edi
xor eax, 0x3c
and edi, 0x3c
lea eax, [eax + edi*2]
add al, 2
mov byte [esp + ebp + 0x64], al
inc ebp
add esi, 2
cmp ebp, 0x29
jne 0x40dce0
mov dword [esp + 4], 0x69649882
mov word [esp + 8], 0
mov esi, 0x17
mov edi, 0x68
nop
movzx eax, byte [esp + esi - 0x13]
lea edx, [eax + eax]
not edx
add edx, eax
and edx, 0x6b
and eax, 0xffffff94
or eax, edx
mov ebp, edi
and ebp, 0x6b
mov edx, esi
and edx, 0x14
or edx, ebp
xor edx, eax
add dl, 0x8d
mov byte [esp + esi - 0x13], dl
inc esi
dec edi
cmp esi, 0x1d
jne 0x40dd30
mov dword [esp + 0x10], 0x46407c7d
mov dword [esp + 0x14], 0x4242706c
mov dword [esp + 0x18], 0x3fcac00d
mov dword [esp + 0x1c], 0x3ac73ec3
mov dword [esp + 0x20], 0x237c3c2
mov dword [esp + 0x24], 0xc8156f69
mov dword [esp + 0x28], 0xd52fddd6
mov dword [esp + 0x2c], 0xd60a10d8
mov dword [esp + 0x30], 0xd0ddd1d3
mov dword [esp + 0x34], 0xd8dfd1dd
mov dword [esp + 0x38], 0x1d5a33e6
mov dword [esp + 0x3c], 0x22e3efe3
mov dword [esp + 0x40], 0x12e61014
mov dword [esp + 0x44], 0x16e8553f
mov dword [esp + 0x48], 0x49270cf5
mov dword [esp + 0x4c], 0xaf2f40a
mov dword [esp + 0x50], 0x5422a42
mov dword [esp + 0x54], 0xf903f9fd
mov dword [esp + 0x58], 0xd6ff04f9
mov word [esp + 0x5c], 0x9dbe
mov word [esp + 0x62], 0
mov dword [esp + 0x5e], 0
mov esi, 0xaf4e3438
mov ecx, dword [esp + 0xa4]
nop
nop
nop
nop
nop
nop
movzx eax, byte [esp + esi + 0x50b1cbd8]
mov edx, eax
and edx, esi
add dl, dl
sub al, dl
movzx eax, al
add eax, esi
add al, 0xe8
mov byte [esp + esi + 0x50b1cbd8], al
inc esi
cmp esi, 0xaf4e348c
jne 0x40de20
add ecx, dword [esp]
movzx eax, byte [esp + 0x10]
mov edx, ecx
test al, al
je 0x40de6b
lea esi, [esp + 0x11]
mov edx, ecx
nop
nop
nop
nop
nop
mov byte [edx], al
inc edx
movzx eax, byte [esi]
inc esi
test al, al
jne 0x40de60
mov byte [edx], 0
movzx eax, byte [ebx]
test al, al
je 0x40de8b
inc ebx
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov byte [edx], al
inc edx
movzx eax, byte [ebx]
inc ebx
test al, al
jne 0x40de80
mov dword [esp], ecx
mov byte [edx], 0
movzx eax, byte [esp + 4]
test al, al
je 0x40deab
lea ecx, [esp + 5]
nop
nop
mov byte [edx], al
inc edx
movzx eax, byte [ecx]
inc ecx
test al, al
jne 0x40dea0
mov byte [edx], 0
movzx eax, byte [esp + 0x64]
test al, al
je 0x40decb
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 0x40dec0
mov byte [edx], 0
mov ebx, dword [esp + 0xb0]
mov ecx, ebx
shr ecx, 2
mov ebp, dword [esp + 0xac]
mov eax, ebp
mov edi, edx
xchg esi, eax
rep movsd dword es:[edi], dword [esi]
xchg esi, eax
mov eax, ebx
not eax
or eax, 0xfffffffc
add eax, ebx
lea esi, [edx + eax]
inc esi
add eax, ebp
inc eax
mov ecx, ebx
shr ecx, 1
and 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 0x40df21
mov ecx, dword [esp + 0xb0]
and ecx, 2
movzx eax, byte [eax + ecx]
mov byte [esi + ecx], al
mov dword [esp + 0x10], 0x36310d13
mov dword [esp + 0x14], 0x323aece2
mov dword [esp + 0x18], 0xe231e0e0
mov dword [esp + 0x1c], 0xf8fbe7f8
mov dword [esp + 0x20], 0xe3e4f8ff
mov dword [esp + 0x24], 0x170520ff
mov word [esp + 0x28], 0x150b
mov byte [esp + 0x2a], 0x1e
mov dword [esp + 0x2b], 0
mov byte [esp + 0x2f], 0
xor ecx, ecx
xor esi, esi
nop
nop
mov edi, ecx
and edi, 2
mov eax, esi
xor eax, 0x41
add eax, edi
xor al, byte [esp + esi + 0x10]
add al, 0xbb
mov byte [esp + esi + 0x10], al
inc esi
add ecx, 2
cmp esi, 0x20
jne 0x40df70
add edx, dword [esp + 0xb0]
movzx eax, byte [esp + 0x10]
test al, al
je 0x40dfbb
lea ecx, [esp + 0x11]
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 0x40dfb0
mov byte [edx], 0
mov eax, edx
mov ebx, dword [esp]
xor eax, ebx
not ebx
and ebx, edx
add ebx, ebx
sub ebx, eax
mov eax, dword [esp + 0xc]
add dword [eax + 0x60], ebx
add esp, 0x90
pop esi
pop edi
pop ebx
pop ebp
ret 0x10