Function at 0x80de80
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x1e4
mov eax, dword [0x6d7a68]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
push esi
push edi
mov edi, dword [ebp + 8]
push edi
mov esi, ecx
call fcn.008e1350
mov eax, dword [ebp + 0xc]
xor ebx, ebx
push ebx
lea ecx, [ebp - 0x1dc]
mov dword [esi + 0x464], ebx
mov dword [esi], 0x6b9b98
mov dword [esi + 0x468], edi
mov dword [esi + 0x46c], eax
mov dword [esi + 0x470], ebx
mov word [esi + 0x47c], 3
mov dword [esi + 0x480], ebx
mov dword [esi + 0x474], ebx
mov dword [esi + 0x478], ebx
mov dword [esi + 0x460], 0x494345
call fcn.008dc300
mov ecx, dword [esi + 0x468]
mov edx, dword [ecx + 0x1b0]
push edx
lea ecx, [ebp - 0x1dc]
call fcn.008dc1b0
push 0x6ac3b8
lea ecx, [ebp - 0x1dc]
call fcn.008dce90
push ebx
lea ecx, [ebp - 0x1dc]
call fcn.008dbf90
push eax
mov ecx, esi
call fcn.008e1720
mov ecx, dword [esi + 0x468]
call fcn.008d4be0
test eax, eax
jne 0x80df4f
mov dword [esi + 0x470], 6
jmp 0x80e24a
mov ecx, dword [esi + 0x468]
push 2
lea eax, [ebp - 0x1e0]
push eax
push ebx
push 2
mov dword [ebp - 0x1e0], ebx
call fcn.008d5400
mov cx, word [ebp - 0x1e0]
push 2
lea edx, [ebp - 0x1e0]
push edx
push ebx
mov word [esi + 0x47e], cx
mov ecx, dword [esi + 0x468]
push 6
mov dword [ebp - 0x1e0], ebx
call fcn.008d5400
movzx eax, word [ebp - 0x1e0]
push 0xff
lea ecx, [ebp - 0x103]
sub eax, 0x34
push ebx
push ecx
mov dword [esi + 0x498], eax
mov byte [ebp - 0x104], bl
call fcn.0067e0a0
mov ecx, dword [esi + 0x468]
add esp, 0xc
push pe_nt_image_headers32
lea edx, [ebp - 0x104]
push edx
push ebx
push 0xc
call fcn.008d5400
test eax, eax
jne 0x80dfef
mov dword [esi + 0x470], 4
jmp 0x80e24a
mov edx, 0x1a
lea eax, [ebp - 0x104]
mov ecx, 0x6b9b3c
nop
mov edi, dword [ecx]
cmp edi, dword [eax]
jne 0x80e018
sub edx, 4
add eax, 4
add ecx, 4
cmp edx, 4
jae 0x80e000
cmp edx, ebx
je 0x80e075
movzx edi, byte [ecx]
movzx ebx, byte [eax]
sub edi, ebx
jne 0x80e067
sub edx, 1
add eax, 1
add ecx, 1
test edx, edx
je 0x80e075
movzx edi, byte [ecx]
movzx ebx, byte [eax]
sub edi, ebx
jne 0x80e067
sub edx, 1
add eax, 1
add ecx, 1
test edx, edx
je 0x80e075
movzx edi, byte [ecx]
movzx ebx, byte [eax]
sub edi, ebx
jne 0x80e067
sub edx, 1
add eax, 1
add ecx, 1
test edx, edx
je 0x80e075
movzx edi, byte [ecx]
movzx eax, byte [eax]
sub edi, eax
je 0x80e075
test edi, edi
mov eax, 1
jg 0x80e077
or eax, 0xffffffff
jmp 0x80e077
xor eax, eax
test eax, eax
jne 0x80dfe0
mov cx, word [esi + 0x47e]
mov word [esi + 0x4a6], cx
movzx ecx, cx
lea eax, [ebp - 0xe6]
mov edx, 0xa
jmp 0x80e0a0
xor word [eax - 4], cx
movzx ecx, word [eax - 4]
xor word [eax - 2], cx
movzx ecx, word [eax - 2]
xor word [eax], cx
movzx ecx, word [eax]
xor word [eax + 2], cx
movzx ecx, word [eax + 2]
xor word [eax + 4], cx
movzx ecx, word [eax + 4]
add eax, 0xa
sub edx, 1
movzx ecx, cx
jne 0x80e0a0
mov word [esi + 0x4a6], cx
lea eax, [edx + 0x3b]
lea ecx, [ebp - 0xe7]
mov edx, 0x6b9b58
mov edi, dword [edx]
cmp edi, dword [ecx]
jne 0x80e0fe
sub eax, 4
add ecx, 4
add edx, 4
cmp eax, 4
jae 0x80e0e6
test eax, eax
je 0x80e15b
movzx edi, byte [edx]
movzx ebx, byte [ecx]
sub edi, ebx
jne 0x80e14d
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x80e15b
movzx edi, byte [edx]
movzx ebx, byte [ecx]
sub edi, ebx
jne 0x80e14d
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x80e15b
movzx edi, byte [edx]
movzx ebx, byte [ecx]
sub edi, ebx
jne 0x80e14d
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x80e15b
movzx edi, byte [edx]
movzx edx, byte [ecx]
sub edi, edx
je 0x80e15b
test edi, edi
mov eax, 1
jg 0x80e15d
or eax, 0xffffffff
jmp 0x80e15d
xor eax, eax
test eax, eax
jne 0x80dfe0
push 0x2080
call fcn.008f6480
xor edi, edi
add esp, 4
cmp eax, edi
mov ebx, 0x26
je 0x80e1a7
mov edx, dword [esi + 0x468]
mov edi, dword [edx + 0x1bc]
mov ecx, dword [edx + 0x1c0]
push 0
push edi
push 0
push ebx
mov dword [ebp - 0x1e0], ecx
push edx
mov ecx, eax
call fcn.008dd980
xor edi, edi
jmp 0x80e1a9
xor eax, eax
cmp eax, edi
mov dword [esi + 0x474], eax
jne 0x80e1c2
mov dword [esi + 0x470], 5
jmp 0x80e24a
push 0x30
call fcn.008f6480
add esp, 4
cmp eax, edi
je 0x80e1e1
push edi
push edi
push edi
push edi
push edi
push edi
push edi
push edi
mov ecx, eax
call fcn.008dd7c0
jmp 0x80e1e3
xor eax, eax
cmp eax, edi
mov dword [esi + 0x478], eax
je 0x80e1b3
mov ecx, esi
call fcn.0080dbf0
mov eax, dword [esi + 0x480]
cmp eax, edi
je 0x80e228
mov dword [esi + 0x49c], eax
mov dword [esi + 0xc], eax
mov dword [esi + 0x490], edi
mov dword [esi + 0x48c], edi
mov dword [esi + 0x488], ebx
mov dword [esi + 0x494], ebx
mov word [esi + 0x47c], di
jmp 0x80e232
mov dword [esi + 0x470], 4
mov ecx, dword [esi + 0x478]
cmp ecx, edi
je 0x80e244
mov edx, dword [ecx]
mov eax, dword [edx]
push 1
call eax
mov dword [esi + 0x478], edi
lea ecx, [ebp - 0x1dc]
call fcn.008dc0a0
mov ecx, dword [ebp - 4]
pop edi
mov eax, esi
pop esi
xor ecx, ebp
pop ebx
call fcn.0067de1d
mov esp, ebp
pop ebp
ret 8