Function at 0xde8770
Capabilities:
Contain obfuscated stackstrings
Encode data using xor
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff0
sub esp, 0xf0
mov edi, dword [ebp + 8]
mov dword [esp + 0x7c], ecx
add edi, dword [ecx + 0x60]
mov dword [esp + 0x80], 0x97909ecb
mov dword [esp + 0x84], 0xda9293e5
mov dword [esp + 0x88], 0xdeaa8cf0
mov dword [esp + 0x8c], 0xabdf19f6
mov dword [esp + 0x90], 0xabd5dca8
mov dword [esp + 0x94], 0xa3a4d4ad
mov dword [esp + 0x98], 0xb8f7bde7
mov dword [esp + 0x9c], 0xc8cbb7ce
mov dword [esp + 0xa0], 0x1e1c10b8
mov word [esp + 0xa4], 0x211e
mov dword [esp + 0xa6], 0
mov dword [esp + 0xaa], 0
mov dword [esp + 0xae], 0
mov dword [esp + 0xb2], 0
mov byte [esp + 0xb6], 0
mov dword [esp + 0x10], 0
mov eax, dword [esp + 0x10]
cmp eax, 0x36
ja 0xde8883
nop
nop
nop
nop
nop
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x10]
movzx ecx, byte [esp + ecx + 0x80]
mov edx, eax
and edx, 0xd3d941d6
xor eax, 0x53d941d6
lea edx, [eax + edx*2]
lea eax, [edx + ecx]
and edx, ecx
add edx, edx
sub eax, edx
add al, 0x26
mov ecx, dword [esp + 0x10]
mov byte [esp + ecx + 0x80], al
inc dword [esp + 0x10]
mov eax, dword [esp + 0x10]
cmp eax, 0x37
jb 0xde8840
mov byte [esp + 0xd8], 0
mov dword [esp + 0xd4], 0
mov dword [esp + 0xd0], 0
mov dword [esp + 0xcc], 0
mov dword [esp + 0xc8], 0
mov dword [esp + 0xc4], 0
mov dword [esp + 0xc0], 0x6b9c98b2
mov dword [esp + 0x10], 0
mov eax, dword [esp + 0x10]
cmp eax, 0x18
ja 0xde891e
nop
nop
mov ecx, dword [esp + 0x10]
mov eax, dword [esp + 0x10]
movzx edx, byte [esp + eax + 0xc0]
lea eax, [ecx + edx]
add eax, 0xcd060912
add ecx, 0xcd060912
and ecx, edx
add ecx, ecx
sub eax, ecx
add al, 0x82
mov ecx, dword [esp + 0x10]
mov byte [esp + ecx + 0xc0], al
inc dword [esp + 0x10]
mov eax, dword [esp + 0x10]
cmp eax, 0x19
jb 0xde88e0
mov dword [esp + 0x10], 0x25655
mov dword [esp + 0x14], 0x40c5252
mov dword [esp + 0x18], 0x171c0255
mov dword [esp + 0x1c], 0x1c1f1403
mov dword [esp + 0x20], 0x4c1f0300
mov dword [esp + 0x24], 0xe7db7a9
mov dword [esp + 0x28], 0x3117090c
mov dword [esp + 0x2c], 0x28447236
mov dword [esp + 0x30], 0x3e353533
mov dword [esp + 0x34], 0x3e273d25
mov dword [esp + 0x38], 0x396c733c
mov dword [esp + 0x3c], 0x64232723
mov dword [esp + 0x40], 0x3c203232
mov dword [esp + 0x44], 0x382a7967
mov dword [esp + 0x48], 0x855f362d
mov dword [esp + 0x4c], 0xcccccec8
mov dword [esp + 0x50], 0xc1849880
mov dword [esp + 0x54], 0xddc3c5c5
mov dword [esp + 0x58], 0xb0c7dec9
mov word [esp + 0x5c], 0x7194
mov word [esp + 0x62], 0
mov dword [esp + 0x5e], 0
mov dword [esp + 0xc], 0
mov eax, dword [esp + 0xc]
cmp eax, 0x53
ja 0xde8a22
nop
nop
nop
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0xc]
movzx ecx, byte [esp + ecx + 0x10]
lea edx, [eax + ecx]
add edx, 0xc83f24c5
add eax, 0xc5
and eax, ecx
add eax, eax
mov ecx, eax
xor ecx, edx
not eax
and eax, edx
add eax, eax
sub eax, ecx
add al, 0x9d
mov ecx, dword [esp + 0xc]
mov byte [esp + ecx + 0x10], al
inc dword [esp + 0xc]
mov eax, dword [esp + 0xc]
cmp eax, 0x54
jb 0xde89e0
mov eax, dword [ebp + 0xc]
movzx ecx, byte [esp + 0x10]
mov edx, edi
test cl, cl
je 0xde8a4b
lea esi, [esp + 0x11]
mov edx, edi
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov byte [edx], cl
inc edx
movzx ecx, byte [esi]
inc esi
test cl, cl
jne 0xde8a40
mov byte [edx], 0
movzx ecx, byte [eax]
test cl, cl
je 0xde8a6b
inc eax
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov byte [edx], cl
inc edx
movzx ecx, byte [eax]
inc eax
test cl, cl
jne 0xde8a60
mov byte [edx], 0
movzx eax, byte [esp + 0xc0]
test al, al
je 0xde8a9b
lea ecx, [esp + 0xc1]
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 0xde8a90
mov ebx, dword [ebp + 0x14]
mov esi, dword [ebp + 0x10]
mov byte [edx], 0
movzx eax, byte [esp + 0x80]
test al, al
mov dword [esp + 0x78], edi
je 0xde8acb
lea ecx, [esp + 0x81]
nop
nop
nop
nop
nop
mov byte [edx], al
inc edx
movzx eax, byte [ecx]
inc ecx
test al, al
jne 0xde8ac0
mov byte [edx], 0
mov ecx, ebx
shr ecx, 2
mov eax, esi
mov edi, edx
xchg esi, eax
rep movsd dword es:[edi], dword [esi]
xchg esi, eax
mov eax, ebx
and eax, 0xfffffffc
mov ecx, esi
lea esi, [edx + eax]
add eax, ecx
mov ecx, ebx
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 ebx, dword [ebp + 0x14]
test bl, 1
je 0xde8b0d
mov ecx, ebx
and ecx, 2
movzx eax, byte [eax + ecx]
mov byte [esi + ecx], al
mov dword [esp + 0x10], 0x74779b91
mov dword [esp + 0x14], 0x50542220
mov dword [esp + 0x18], 0x20572622
mov dword [esp + 0x1c], 0x2a25292a
mov dword [esp + 0x20], 0x21222e2d
mov dword [esp + 0x24], 0x757b9e2d
mov word [esp + 0x28], 0x7379
mov byte [esp + 0x2a], 0x68
mov dword [esp + 0x2b], 0
mov dword [esp + 0x2f], 0
mov byte [esp + 0x33], 0
mov dword [esp + 0x80], 0
mov eax, dword [esp + 0x80]
cmp eax, 0x23
mov edi, dword [esp + 0x78]
ja 0xde8bd0
nop
nop
nop
nop
nop
nop
nop
mov ecx, dword [esp + 0x80]
mov eax, dword [esp + 0x80]
movzx eax, byte [esp + eax + 0x10]
lea esi, [ecx + eax]
add esi, 0x54410c6b
add ecx, 0x6b
and ecx, eax
add ecx, ecx
mov eax, ecx
xor eax, esi
not ecx
and ecx, esi
add ecx, ecx
sub ecx, eax
add cl, 0x13
mov eax, dword [esp + 0x80]
mov byte [esp + eax + 0x10], cl
inc dword [esp + 0x80]
mov eax, dword [esp + 0x80]
cmp eax, 0x24
jb 0xde8b80
add edx, ebx
movzx eax, byte [esp + 0x10]
test al, al
je 0xde8beb
lea ecx, [esp + 0x11]
nop
mov byte [edx], al
inc edx
movzx eax, byte [ecx]
inc ecx
test al, al
jne 0xde8be0
mov byte [edx], 0
sub edx, edi
mov eax, dword [esp + 0x7c]
add dword [eax + 0x60], edx
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret 0x10