Function at 0xde9850
Capabilities:
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, 0x1b0
mov esi, esp
mov eax, dword [ebp + 8]
push eax
sub esp, 0x10
mov dword [esi + 0xf0], esp
sub esp, 0x30
mov ecx, esp
and ecx, 0xfffffff0
mov dword [esi + 0x28], ecx
mov esp, ecx
push eax
mov dword [esi + 0xe8], esp
push eax
push eax
mov edi, esp
push eax
mov dword [esi + 0xf4], esp
sub esp, 0x20
mov ecx, esp
and ecx, 0xfffffff0
mov dword [esi + 0x2c], ecx
mov esp, ecx
push eax
mov dword [esi + 0xec], esp
jmp 0xde98a3
push eax
mov dword [esi + 0xfc], eax
jmp 0xde98ac
jmp 0xde98ae
mov byte [esi + 7], 0
jmp 0xde98b4
mov al, byte [esi + 0x40]
mov byte [esi + 0x44], al
mov byte [esi + 0x100], 0xb9
mov byte [esi + 0x101], 0xba
mov byte [esi + 0x102], 0xc6
mov byte [esi + 0x103], 0x9e
mov byte [esi + 0x104], 0xd0
mov byte [esi + 0x105], 0xac
mov byte [esi + 0x106], 0xa8
mov byte [esi + 0x107], 0xaa
mov byte [esi + 0x108], 0x40
lea eax, [esi + 0x100]
add eax, 9
xor ecx, ecx
sub esp, 0xc
mov dword [esp], eax
mov dword [esp + 4], 0
mov dword [esp + 8], 0xf
call fcn.00de7c60
add esp, 0xc
jmp 0xde9924
mov dword [esi + 8], 0
mov eax, dword [esi + 8]
cmp eax, 0x18
jae 0xde9975
jmp 0xde9935
mov eax, dword [esi + 8]
mov ecx, dword [esi + 8]
movzx ecx, byte [esi + ecx + 0x100]
mov edx, eax
add edx, 0x8c
lea eax, [eax + ecx + 0x8c]
and edx, ecx
add edx, edx
sub eax, edx
add al, 0x2c
mov ecx, dword [esi + 8]
mov byte [esi + ecx + 0x100], al
mov eax, dword [esi + 8]
inc eax
mov dword [esi + 8], eax
mov eax, dword [esi + 8]
cmp eax, 0x18
jb 0xde9935
jmp 0xde9975
mov dword [esi + 0xf8], edi
lea eax, [esi + 0x187]
lea edx, [esi + 0x100]
mov ecx, 2
mov edi, eax
xchg esi, edx
rep movsd dword es:[edi], dword [esi]
xchg esi, edx
add eax, 8
lea edx, [esi + 0x100]
add edx, 8
mov edi, eax
xor ecx, ecx
xchg esi, edx
rep movsw word es:[edi], word [esi]
xchg esi, edx
mov al, byte [esi + 0x108]
mov byte [esi + 0x18f], al
jmp 0xde99b9
mov al, byte [esi + 0x3c]
mov byte [esi + 0x48], al
mov byte [esi + 0x60], 0x9b
mov byte [esi + 0x61], 0x51
mov byte [esi + 0x62], 0xe1
mov byte [esi + 0x63], 0x53
mov byte [esi + 0x64], 0xe4
mov byte [esi + 0x65], 0x5d
mov byte [esi + 0x66], 0xe0
mov byte [esi + 0x67], 0x5f
mov byte [esi + 0x68], 0xf1
mov byte [esi + 0x69], 0x59
mov byte [esi + 0x6a], 0xee
mov byte [esi + 0x6b], 0x5b
mov byte [esi + 0x6c], 0xe6
mov byte [esi + 0x6d], 0x25
mov byte [esi + 0x6e], 0xd3
mov byte [esi + 0x6f], 0x27
mov byte [esi + 0x70], 0xfa
mov byte [esi + 0x71], 0x21
mov byte [esi + 0x72], 0x9b
mov byte [esi + 0x73], 0x23
mov byte [esi + 0x74], 0x92
mov byte [esi + 0x75], 0x2d
mov byte [esi + 0x76], 0x83
mov byte [esi + 0x77], 0x2f
mov byte [esi + 0x78], 0xd4
mov byte [esi + 0x79], 0x29
mov byte [esi + 0x7a], 0xc8
mov byte [esi + 0x7b], 0x2b
mov byte [esi + 0x7c], 0x89
mov byte [esi + 0x7d], 0x35
mov byte [esi + 0x7e], 0x84
mov byte [esi + 0x7f], 0x37
mov byte [esi + 0x80], 0x86
mov byte [esi + 0x81], 0x31
mov byte [esi + 0x82], 0x84
mov byte [esi + 0x83], 0x33
mov byte [esi + 0x84], 0x99
mov byte [esi + 0x85], 0x3d
mov byte [esi + 0x86], 0x91
mov byte [esi + 0x87], 0x3f
mov byte [esi + 0x88], 0x9d
mov byte [esi + 0x89], 0x39
mov byte [esi + 0x8a], 0x84
mov byte [esi + 0x8b], 0x3b
mov byte [esi + 0x8c], 0x91
mov byte [esi + 0x8d], 5
mov byte [esi + 0x8e], 0xb5
mov byte [esi + 0x8f], 7
mov byte [esi + 0x90], 0xb0
mov byte [esi + 0x91], 1
mov byte [esi + 0x92], 0xf1
mov byte [esi + 0x93], 3
mov byte [esi + 0x94], 0xba
mov byte [esi + 0x95], 0xd
mov byte [esi + 0x96], 0xfb
mov byte [esi + 0x97], 0xf
mov byte [esi + 0x98], 0xb7
mov byte [esi + 0x99], 9
mov byte [esi + 0x9a], 0xb1
mov byte [esi + 0x9b], 0xb
mov byte [esi + 0x9c], 0xb3
mov byte [esi + 0x9d], 0x15
mov byte [esi + 0x9e], 0xe3
mov byte [esi + 0x9f], 0x17
mov byte [esi + 0xa0], 0xb8
mov byte [esi + 0xa1], 0x11
mov byte [esi + 0xa2], 0xa1
mov byte [esi + 0xa3], 0x13
mov byte [esi + 0xa4], 0xa0
mov byte [esi + 0xa5], 0x1d
mov byte [esi + 0xa6], 0xab
mov byte [esi + 0xa7], 0x1f
mov byte [esi + 0xa8], 0xe9
mov byte [esi + 0xa9], 0x19
mov byte [esi + 0xaa], 0xa7
mov byte [esi + 0xab], 0x1b
mov byte [esi + 0xac], 0xa8
mov byte [esi + 0xad], 0xe5
mov byte [esi + 0xae], 0x50
mov byte [esi + 0xaf], 0xe7
mov byte [esi + 0xb0], 0x49
mov byte [esi + 0xb1], 0xe1
mov byte [esi + 0xb2], 0x56
mov byte [esi + 0xb3], 0xe3
mov byte [esi + 0xb4], 0x4f
mov byte [esi + 0xb5], 0xed
mov byte [esi + 0xb6], 0x5d
mov byte [esi + 0xb7], 0xef
mov byte [esi + 0xb8], 0x42
mov byte [esi + 0xb9], 0xe9
mov byte [esi + 0xba], 0x47
mov byte [esi + 0xbb], 0xeb
mov byte [esi + 0xbc], 0x46
mov byte [esi + 0xbd], 0xf5
mov byte [esi + 0xbe], 0xe3
mov byte [esi + 0xbf], 0xf7
mov byte [esi + 0xc0], 0xfc
mov byte [esi + 0xc1], 0xf1
mov byte [esi + 0xc2], 0xf0
mov byte [esi + 0xc3], 0xf3
lea eax, [esi + 0x60]
add eax, 0x64
xor ecx, ecx
sub esp, 0xc
mov dword [esp], eax
mov dword [esp + 4], 0
mov dword [esp + 8], 0x15
call fcn.00de7c60
add esp, 0xc
jmp 0xde9c43
mov dword [esi + 0xc], 0
mov eax, dword [esi + 0xc]
cmp eax, 0x79
jae 0xde9c8e
jmp 0xde9c54
mov eax, dword [esi + 0xc]
mov ecx, dword [esi + 0xc]
movzx ecx, byte [esi + ecx + 0x60]
mov edx, eax
add edx, 0xc77e35b3
lea eax, [eax + ecx - 0x3881ca4d]
and edx, ecx
add edx, edx
sub eax, edx
add al, 0x1b
mov ecx, dword [esi + 0xc]
mov byte [esi + ecx + 0x60], al
mov eax, dword [esi + 0xc]
inc eax
mov dword [esi + 0xc], eax
mov eax, dword [esi + 0xc]
cmp eax, 0x79
jb 0xde9c54
jmp 0xde9c8e
mov al, byte [esi + 0x38]
mov byte [esi + 0x4c], al
mov byte [esi + 0x140], 0xf
mov byte [esi + 0x141], 0x59
mov byte [esi + 0x142], 0x3b
mov byte [esi + 0x143], 0x5b
mov byte [esi + 0x144], 0xd4
mov byte [esi + 0x145], 0x45
mov byte [esi + 0x146], 0x2f
mov byte [esi + 0x147], 0x47
mov byte [esi + 0x148], 0x40
mov byte [esi + 0x149], 0x41
lea eax, [esi + 0x140]
add eax, 0xa
xor ecx, ecx
sub esp, 0xc
mov dword [esp], eax
mov dword [esp + 4], 0
mov dword [esp + 8], 0xd
call fcn.00de7c60
add esp, 0xc
mov dword [esi + 0x10], 0
mov eax, dword [esi + 0x10]
cmp eax, 0x17
jae 0xde9d54
jmp 0xde9d14
mov eax, dword [esi + 0x10]
mov ecx, dword [esi + 0x10]
movzx ecx, byte [esi + ecx + 0x140]
mov edx, eax
add edx, 0xbaebea4c
lea eax, [eax + ecx - 0x451415b4]
and edx, ecx
add edx, edx
sub eax, edx
add al, 0xec
mov ecx, dword [esi + 0x10]
mov byte [esi + ecx + 0x140], al
mov eax, dword [esi + 0x10]
inc eax
mov dword [esi + 0x10], eax
mov eax, dword [esi + 0x10]
cmp eax, 0x17
jb 0xde9d14
jmp 0xde9d54
mov eax, dword [esi + 0xfc]
jmp 0xde9d5c
jmp 0xde9d5e
lea ecx, [esi + 0x140]
lea edx, [esi + 0x60]
lea edi, [esi + 0x24]
xor ebx, ebx
sub esp, 0x1c
mov dword [esp], eax
mov dword [esp + 4], ecx
mov dword [esp + 8], edx
lea eax, [esi + 0x187]
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], 8
mov dword [esp + 0x14], edi
mov dword [esp + 0x18], 0
call fcn.00dea240
add esp, 0x1c
jmp 0xde9da2
test al, 1
jne 0xde9dab
jmp 0xdea1e9
mov al, byte [esi + 0x34]
mov byte [esi + 0x50], al
mov dword [esi + 0x170], 0
mov dword [esi + 0x16c], 0
mov dword [esi + 0x168], 0
mov dword [esi + 0x164], 0
mov dword [esi + 0x160], 0
mov byte [esi + 0x160], 0xc7
mov byte [esi + 0x161], 0xc8
mov byte [esi + 0x162], 0x54
mov dword [esi + 0x14], 0
mov eax, dword [esi + 0x14]
cmp eax, 0x14
jae 0xde9e59
jmp 0xde9e09
mov edi, dword [esi + 0x14]
mov eax, dword [esi + 0x14]
movzx edx, byte [esi + eax + 0x160]
mov ecx, edi
add ecx, 0xd
and ecx, edx
mov eax, 0xd79f16f2
sub eax, edi
or eax, edx
not eax
add eax, edx
sub eax, ecx
mov ecx, eax
or ecx, 0xa4
and eax, 0xa4
add ecx, eax
inc cl
mov eax, dword [esi + 0x14]
mov byte [esi + eax + 0x160], cl
mov eax, dword [esi + 0x14]
inc eax
mov dword [esi + 0x14], eax
mov eax, dword [esi + 0x14]
cmp eax, 0x14
jb 0xde9e09
jmp 0xde9e59
mov eax, dword [esi + 0x24]
lea ecx, [esi + 0x160]
sub esp, 8
mov dword [esp], eax
mov dword [esp + 4], ecx
call fcn.00dec270
add esp, 8
cmp eax, 0
sete al
test al, 1
jne 0xde9e80
jmp 0xde9e89
mov byte [esi + 7], 1
jmp 0xdea1d4
mov al, byte [esi + 0x30]
mov byte [esi + 0x54], al
mov byte [esi + 0x120], 0xeb
mov byte [esi + 0x121], 0xe4
mov byte [esi + 0x122], 0xf9
mov byte [esi + 0x123], 0x17
mov byte [esi + 0x124], 0xed
mov byte [esi + 0x125], 0xe2
mov byte [esi + 0x126], 0xe0
mov byte [esi + 0x127], 0x97
mov byte [esi + 0x130], 0
mov dword [esi + 0x12c], 0
mov dword [esi + 0x128], 0
mov dword [esi + 0x18], 0
mov eax, dword [esi + 0x18]
cmp eax, 0x11
jae 0xde9f33
jmp 0xde9ef3
mov eax, dword [esi + 0x18]
mov ecx, dword [esi + 0x18]
movzx ecx, byte [esi + ecx + 0x120]
mov edx, eax
add edx, 0x9c55fe14
lea eax, [eax + ecx - 0x63aa01ec]
and edx, ecx
add edx, edx
sub eax, edx
add al, 0x74
mov ecx, dword [esi + 0x18]
mov byte [esi + ecx + 0x120], al
mov eax, dword [esi + 0x18]
inc eax
mov dword [esi + 0x18], eax
mov eax, dword [esi + 0x18]
cmp eax, 0x11
jb 0xde9ef3
jmp 0xde9f33
mov eax, dword [esi + 0x24]
lea ecx, [esi + 0x120]
sub esp, 8
mov dword [esp], eax
mov dword [esp + 4], ecx
call fcn.00dec2a0
add esp, 8
cmp eax, 0
setne al
jmp 0xde9f56
test al, 1
jne 0xde9f5f
jmp 0xdea1d2
mov eax, dword [esi + 0xe8]
mov al, byte [eax]
mov byte [esi + 0x58], al
mov eax, dword [esi + 0x28]
mov byte [eax], 0x84
mov byte [eax + 1], 0xb2
mov byte [eax + 2], 0x87
mov byte [eax + 3], 0x90
mov byte [eax + 4], 0x49
mov byte [eax + 5], 0x6f
mov byte [eax + 6], 0xaf
mov byte [eax + 7], 0x9b
mov byte [eax + 8], 0x9f
mov byte [eax + 9], 0x90
mov byte [eax + 0xa], 0x6a
mov byte [eax + 0xb], 0x63
mov byte [eax + 0xc], 0x88
mov byte [eax + 0xd], 0xa6
mov byte [eax + 0xe], 0x9c
mov byte [eax + 0xf], 0x8c
mov byte [eax + 0x10], 0x9d
mov byte [eax + 0x11], 0x46
mov byte [eax + 0x12], 0x62
mov byte [eax + 0x13], 0x7b
mov byte [eax + 0x28], 0
mov dword [eax + 0x24], 0
mov dword [eax + 0x20], 0
mov dword [eax + 0x1c], 0
mov dword [eax + 0x18], 0
mov dword [eax + 0x14], 0
mov dword [esi + 0x1c], 0
mov eax, dword [esi + 0x1c]
cmp eax, 0x29
jae 0xdea01d
jmp 0xde9ff4
mov eax, dword [esi + 0x1c]
mov ecx, dword [esi + 0x1c]
mov edx, dword [esi + 0x28]
mov cl, byte [edx + ecx]
add al, 0xad
xor al, cl
add al, 0x45
mov ecx, dword [esi + 0x1c]
mov byte [edx + ecx], al
mov eax, dword [esi + 0x1c]
inc eax
mov dword [esi + 0x1c], eax
mov eax, dword [esi + 0x1c]
cmp eax, 0x29
jb 0xde9ff4
jmp 0xdea01d
mov edx, dword [esi + 0xf0]
mov edi, edx
mov ecx, 5
mov ebx, dword [esi + 0x28]
mov eax, ebx
xchg esi, eax
rep movsd dword es:[edi], dword [esi]
xchg esi, eax
mov edi, edx
add edi, 0x14
add ebx, 0x14
xor ecx, ecx
xchg esi, ebx
rep movsw word es:[edi], word [esi]
xchg esi, ebx
mov eax, dword [esi + 0x24]
sub esp, 8
mov dword [esp], eax
mov dword [esp + 4], edx
call fcn.00dec2a0
add esp, 8
mov edi, dword [esi + 0xf8]
mov dword [edi], eax
cmp dword [edi], 0
je 0xdea1d2
mov eax, dword [edi]
add eax, 0x13
mov dword [edi], eax
mov eax, dword [esi + 0xec]
mov al, byte [eax]
mov byte [esi + 0x5c], al
mov eax, dword [esi + 0x2c]
mov word [eax + 0x14], 0
mov dword [eax + 0x10], 0
mov dword [eax + 0xc], 0
mov dword [eax + 8], 0
mov dword [eax + 4], 0
mov dword [eax], 0
mov byte [eax], 0xb4
mov byte [eax + 1], 0xd7
mov byte [eax + 2], 0x90
mov dword [esi + 0x20], 0
mov eax, dword [esi + 0x20]
cmp eax, 0x16
jae 0xdea0fe
jmp 0xdea0c3
mov eax, dword [esi + 0x20]
mov ecx, dword [esi + 0x20]
mov ebx, dword [esi + 0x2c]
movzx ecx, byte [ebx + ecx]
mov edx, eax
add edx, 0x11c3413
lea eax, [eax + ecx + 0x11c3413]
and edx, ecx
add edx, edx
sub eax, edx
add al, 0x7b
mov ecx, dword [esi + 0x20]
mov byte [ebx + ecx], al
mov eax, dword [esi + 0x20]
inc eax
mov dword [esi + 0x20], eax
mov eax, dword [esi + 0x20]
cmp eax, 0x16
jb 0xdea0c3
jmp 0xdea0fe
mov eax, dword [edi]
sub esp, 8
mov dword [esp], eax
mov eax, dword [esi + 0x2c]
mov dword [esp + 4], eax
call fcn.00dec2a0
add esp, 8
mov ecx, dword [esi + 0xf4]
mov dword [ecx], eax
mov eax, ecx
cmp dword [eax], 0
je 0xdea1d0
mov byte [0xe28dd8], 1
mov ebx, dword [eax]
mov edi, dword [edi]
cmp ebx, 0
jne 0xdea14e
mov ecx, edi
jmp 0xdea13c
mov eax, ecx
mov dl, byte [eax]
add ecx, 1
cmp dl, 0
jne 0xdea13c
sub eax, edi
mov ebx, edi
add ebx, eax
mov dword [esi + 0xe0], 0
lea eax, [0xe28dda]
cmp ebx, edi
jbe 0xdea1c7
lea ecx, [0xe28dda]
jmp 0xdea16a
cmp byte [edi], 0
jne 0xdea173
mov eax, ecx
jmp 0xdea1c7
sub esp, 0xc
lea eax, [esi + 0xe0]
mov dword [esp + 8], eax
mov dword [esp + 4], ebx
mov dword [esp], edi
mov dword [esi + 0xe4], ecx
call fcn.00def2a0
add esp, 0xc
add edi, eax
mov cx, word [esi + 0xe0]
mov edx, dword [esi + 0xe4]
mov eax, edx
add eax, 2
mov word [edx], cx
mov ecx, eax
sub ecx, 0xe28fd8
setb cl
mov edx, edi
sub edx, ebx
setb dl
and cl, dl
test cl, 1
mov ecx, eax
jne 0xdea16a
mov word [eax], 0
mov byte [esi + 7], 1
jmp 0xdea1d2
jmp 0xdea1d4
mov eax, dword [esi + 0x24]
jmp 0xdea1d9
sub esp, 4
mov dword [esp], eax
call fcn.00e15050
add esp, 4
jmp 0xdea1e9
mov al, byte [esi + 7]
jmp 0xdea1ee
and al, 1
movzx eax, al
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret