Function at 0x69a981
Capabilities:
Encode data using xor

Disassembly:
jmp 0x69a939
pop ebx
jmp 0x69a952
sti
add ebx, 0xeb24
mov ecx, eax
xor edx, edx
jmp 0x69a96b
push dword [edx + ebx]
push esi
call 0x69a981
cld
loopne 0x69a993
dec edx
add byte [esi], bh
xor al, byte [ecx + 0x52]
dec cx
jnp 0x5fc20249
jmp 0x69a99a
cmp dword [eax + 0x17cd2500], 0xa6ef8122
mov eax, 0x1b07d37
sub edi, 0x7d37b8a6
mov al, 1
sub edi, 0x4def0c1
jmp 0x69a9b5
sub edi, 0x6f4a2b7a
jmp 0x69a9d4
push edi
jmp 0x69a9eb
pop dword [ebx + edx]
mov ah, 0x4a
push edi
movsx ecx, cx
pop esi
sub edx, 1
jmp 0x69aa02
dec edx
dec edx
dec edx
movsx eax, si
cmp edx, 0xffff162c
jne 0x69aa3f
jmp 0x69aa26
sti
jmp 0x69aa64
jmp 0x69aa55
jmp 0x69a96b
cmp dword [ebp + 0x122d0429], 0
je 0x69aa7b
mov dword [ebp + 0x122d3a3f], 1
mov eax, dword [ebp + 0x122d14ed]
mov esi, eax
mov ecx, dword [esi + 0x3c]
add esi, ecx
mov ecx, 0x400000
mov dword [ebp + 0x1244e383], ecx
mov edi, dword [ebp + 0x122d3a77]
test edi, edi
jne 0x69aaa6
jmp 0x69abe7
mov esi, edi
mov ecx, 0x4c84
lodsb al, byte [esi]
xor al, 0x37
stosb byte es:[edi], al
dec ecx
jne 0x69aaad
mov ecx, dword [ebp + 0x122d3a77]
mov edi, dword [ebp + 0x122d14ed]
mov esi, dword [ebp + 0x1244e383]
cmp edi, esi
jne 0x69aad7
jmp 0x69abd8
mov eax, dword [ecx]
mov edx, dword [ecx + 4]
sub dword [ebp + 0x122d031d], edx
sub edx, 8
add ecx, 8
add eax, edi
pushal
mov ebx, eax
push ebx
push 0x1000
push ebx
call dword [ebp + 0x122d1beb]
pop ebx
test eax, eax
je 0x69ab18
lea eax, [ebp + 0x122d3893]
push eax
push 0x40
push 0x1000
push ebx
call dword [ebp + 0x12453ff5]
popal
mov bx, word [ecx]
test bx, 0xf000
je 0x69abbf
and ebx, 0xfff
add ebx, eax
cmp dword [ebp + 0x122d3a0b], 1
jne 0x69ab55
cmp byte [ebx - 2], 0xe8
jne 0x69ab55
cmp byte [ebx + 3], 0x90
jne 0x69ab55
jmp 0x69abbf
cmp byte [ebx - 1], 0xc5
jne 0x69ab82
cmp dword [ebp + 0x122d3bf3], 0
je 0x69ab82
cmp dword [ebp + 0x122d1369], 0
je 0x69ab82
mov byte [ebx - 1], 0xe9
jmp 0x69abbf
cmp dword [ebp + 0x122d0429], 0
je 0x69abaf
cmp byte [ebx - 1], 0xc5
jne 0x69abaf
cmp dword [ebp + 0x122d3bf3], 0
je 0x69abaf
mov byte [ebx - 1], 0xe9
jmp 0x69abbf
cmp dword [ebx], 0x90909090
je 0x69abbf
sub dword [ebx], esi
add dword [ebx], edi
add ecx, 2
sub edx, 2
jne 0x69ab19
cmp dword [ebp + 0x122d031d], 0
jne 0x69aad7
mov edi, dword [ebp + 0x122d3a77]
mov ecx, 0x4c84
xor al, al
rep stosb byte es:[edi], al
mov edx, 0x286299f6
mov edi, dword [ebp + 0x122d0399]
mov ecx, 0x79
lea esi, [ebp + 0x1253e23a]
rep movsb byte es:[edi], byte [esi]
xor edx, 0x28634112
mov edi, dword [ebp + 0x122d0399]
add edi, 0xe
test edx, edx
je 0x69ac1c
add edx, dword [ebp + 0x122d14ed]
mov dword [edi + 1], edx
mov edx, dword [ebp + 0x122d1d1e]
mov edi, dword [ebp + 0x122d0399]
add edi, 0x54
mov dword [edi + 1], edx
mov edi, dword [ebp + 0x122d0399]
add edi, 0x49
mov dword [edi + 1], ebp
mov edi, dword [ebp + 0x122d0399]
add edi, 0x25
mov dword [edi + 1], ebp
jmp 0x69acc7
mov eax, edx
jmp 0x69acd7
jmp 0x69d0ae
mov edx, ebx
lea eax, [ebp + 0x12540182]
mov dword [ebp + 0x1247af34], eax
sub esp, 4
mov dword [esp], esi
mov dword [esp], 0x7fdf5a62
jmp 0x69d1b8
shl ebx, 5
jmp 0x69d1c7
pop dword [esp]
inc ebp
push ebp
push dword [esp + 4]
jmp 0x69d17e
push esp
pop eax
add eax, 4
push ebp
mov ebp, 4
add eax, ebp
pop ebp
xchg dword [esp], eax
jmp 0x69d108
pop eax
mov dword [esp], ebp
jmp 0x69d12c
mov esp, dword [esp]
jmp 0x69d0d9
mov esi, 0x4dfeaa8f
push ebx
mov ebx, 0x3fedae29
or ebx, 0x7efd6824
add ebx, 0xffffffff
jmp 0x69d0d1
mov dword [esp], 0x7d7f0eff
shl dword [esp], 1
add dword [esp], 0x7d7f5de3
push edx
mov edx, 0x39598e92
and dword [esp + 4], edx
mov edx, dword [esp]
add esp, 4
shl dword [esp], 5
sub dword [esp], 0xcb65bd3e
or dword [esp], 0x4c3f662e
add dword [esp], 0x80f86142
mov dword [esp], eax
jmp 0x69d172
jmp 0x69d270
add ebx, eax
jmp 0x69d203
mov ebp, dword [esp]
jmp 0x69d237
push edx
mov edx, 0x792d1101
sub dword [esp + 4], 0x352fa840
sub dword [esp + 4], edx
add dword [esp + 4], 0x352fa840
pop edx
add dword [esp], 0xb78a85b8
mov dword [esp], edi
push 0x596eccb5
mov dword [esp], esi
jmp 0x69d110
neg dword [esp]
xor dword [esp], 0x7d75e9cf
jmp 0x69d186
add ebx, 0xffffffff
push eax
mov eax, 0xb244113e
sub ebx, 0x17b1a5b2
jmp 0x69d177
push eax
mov eax, 0x550b73c9
add dword [esp + 4], eax
jmp 0x69d0ff
add esp, 4
push edi
xor dword [esp], 0x3ffdf3d4
pop eax
xor eax, 0x3ffdf3d4
jmp 0x69d24d
add ebx, 0x17b1a5b2
mov eax, dword [esp]
add esp, 4
sub esi, 0x5ddfabf3
add esi, ebx
add esi, 0x5ddfabf3
mov ebx, dword [esp]
add esp, 4
push eax
mov eax, esi
mov edi, eax
pop eax
mov esi, dword [esp]
jmp 0x69d1ed
add esp, 4
pop dword [esp]
shl dword [esp], 5
shl dword [esp], 6
jmp 0x69d1de
pop edi
push ecx
mov dword [esp], 0x49dd898b
shr dword [esp], 4
push ebp
push dword [esp + 4]
mov ebp, dword [esp]
sub esp, 4
mov dword [esp], eax
jmp 0x69d0e7
call 0x69d275
push dword [esp]
pop edx
sub esp, 4
mov dword [esp], edi
jmp 0x69d702
add edx, 0x67f5c543
add edx, eax
sub edx, 0x67f5c543
pop eax
add edx, 0x697aa47d
push ecx
mov ecx, 0x3b6e1d38
add edx, ecx
pop ecx
add edx, dword [esp]
sub edx, 0x3b6e1d38
sub edx, 0x697aa47d
sub edx, 0x3a9d2c5d
jmp 0x69d2bf
push esi
push edi
mov edi, 0x74f1ea2c
jmp 0x69d407
xor dword [esp], eax
xor eax, dword [esp]
jmp 0x69de98
mov esp, dword [esp]
sti
push ecx
mov ecx, 0x63f799a1
dec ecx
jmp 0x69d3e7
xchg dword [esp], ebx
neg dword [esp]
xor dword [esp], 0x75bf22c2
sub esp, 4
jmp 0x69de83
mov eax, 0x57f52ce1
jmp 0x69d7ef
add edx, ebx
pop ebx
mov eax, 0xb89acc83
sub eax, edx
pop edx
jmp 0x69d287
add esp, 4
pop ecx
mov edx, dword [esp]
push ebp
mov ebp, esp
push esi
push ebx
mov ebx, 0x7f7e48f7
mov esi, 0x8081b70d
push ebp
mov ebp, 0x57bf27ef
sub esi, ebp
pop ebp
add esi, ebx
add esi, 0x57bf27ef
mov ebx, dword [esp]
add esp, 4
add ebp, 0x77aff359
add ebp, esi
sub ebp, 0x77aff359
jmp 0x69d69b
push 0x78fc9413
jmp 0x69d804
inc ecx
sub ecx, 0x2abbe46f
jmp 0x69d5ae
sub edi, 0x3fde083d
shl edi, 7
inc edi
neg edi
jmp 0x69db28
not dword [esp]
push eax
mov eax, 0x5fb94c32
or dword [esp + 4], eax
pop eax
jmp 0x69d761
sub dword [esp + 4], 0x777f48c1
sub dword [esp + 4], 0x76df1aee
pop edi
push ecx
mov dword [esp], 0x4e8b3334
mov dword [esp], ebx
push esi
mov esi, 0x460bb169
push esi
xor dword [esp], 0x3fbffac6
pop ebx
xor ebx, 0x3fbffac6
pop esi
xor dword [esp + 4], ebx
mov ebx, dword [esp]
add esp, 4
mov dword [esp], ecx
pop dword [edx + edi]
push edx
sub esp, 4
mov dword [esp], eax
push ebx
mov ebx, 0x697b0385
mov eax, 0x17d4ae83
xor eax, ebx
pop ebx
push edx
mov dword [esp], 0x7eafad07
mov edx, dword [esp]
add esp, 4
xor edx, eax
pop eax
add edi, 0x17f7bd64
push eax
push edx
mov edx, 0x5ff9e5ec
jmp 0x69d742
sub ecx, eax
jmp 0x69dc34
push ebx
mov ebx, 0x63474e07
add dword [esp + 8], ebx
pop ebx
push ebp
mov ebp, 0x3801a951
jmp 0x69ddee
sub edi, 0x7b6fe004
sub edi, 0x17f7bd64
push dword [esp]
jmp 0x69df18
sub dword [esp + 4], edi
jmp 0x69d42b
push ebx
jmp 0x69d6b7
push edi
mov edi, 0x5d2b4048
sub dword [esp + 4], 0x36e43424
sub dword [esp + 4], edi
jmp 0x69dcf8
sub edx, 0x7fba50f8
add edx, ecx
add edx, 0x7fba50f8
pop ecx
push eax
push ecx
mov dword [esp], 0xe56f087
mov dword [esp], edx
push ebx
mov ebx, 0x3f972cde
mov edx, 0x3e667348
jmp 0x69d332
xor ebx, 0xb72ba367
mov esi, ebx
mov ebx, dword [esp]
add esp, 4
jmp 0x69d750
sub dword [esp + 8], edx
pop edx
jmp 0x69d8fc
mov dword [esp], edx
sub esp, 4
mov dword [esp], esi
push ebx
jmp 0x69d7bd
sub edx, esi
mov esi, dword [esp]
add esp, 4
push 0x732bedd5
mov dword [esp], ebx
jmp 0x69d869
pop esi
add ebp, 4
xchg dword [esp], ebp
pop esp
push dword [edx + edi]
push eax
mov eax, 0x4f2f8d12
push edx
mov edx, 0x53bfbdf7
jmp 0x69d61d
mov dword [esp], ebp
mov dword [esp], ecx
mov dword [esp], ebx
mov dword [esp], ecx
mov dword [esp], 0x6ffb8792
xor dword [esp], ebx
xor ebx, dword [esp]
xor dword [esp], ebx
not ebx
jmp 0x69d2f4
pop ebp
sub ecx, 0x1bfe1ca8
jmp 0x69decd
push eax
mov dword [esp], edx
mov dword [esp], 0x20e7afd6
mov dword [esp], esp
add dword [esp], 4
jmp 0x69d885
mov edx, 0x5ff72d3a
and edx, 0x6ffe0ca2
sub edx, 0xf602ca21
push eax
mov eax, esp
add eax, 4
sub eax, 4
xor eax, dword [esp]
jmp 0x69d2cb
add edx, 0x15f9281e
shl edx, 6
jmp 0x69da41
add esi, 0x80115b5a
add edi, esi
pop esi
add edi, 4
jmp 0x69dd90
add dword [esp], 0x5ef5546e
sub dword [esp], 0x3ab90aa2
xor dword [esp], 0x3f9b60f
pop ecx
add ebx, ecx
pop ecx
push edx
mov dword [esp], ebx
push dword [esp + 4]
pop ebx
pop dword [esp]
mov esp, dword [esp]
push esi
mov dword [esp], edx
mov edx, 0
push 0x6d66d8a0
mov dword [esp], ecx
push edx
xor dword [esp], 0x7df7be53
pop ecx
xor ecx, 0x7df7be53
push edi
mov dword [esp], ebp
jmp 0x69d9f1
mov ebx, 0x7ffff540
mov esi, 0xda2ef381
sub esi, ebx
pop ebx
push ebx
mov dword [esp], ebp
mov ebp, 0x5d6f0ece
add ebp, 0x7ffde2cf
or ebp, 0x1fbad6c8
jmp 0x69d9ab
add eax, 0x3fddefe7
dec eax
add eax, 0x598d00e2
sub eax, 0xb24dec92
jmp 0x69d87b
mov dword [esp], ecx
push eax
mov dword [esp], 0x7ffbdfc2
jmp 0x69d418
add eax, edx
pop edx
xor eax, dword [esp]
xor dword [esp], eax
jmp 0x69dae3
add edx, 4
add edx, 4
xchg dword [esp], edx
pop esp
jmp 0x69d686
push 0x71f84ae8
mov dword [esp], esp
add dword [esp], 4
pop ebx
jmp 0x69d8b1
add ecx, eax
pop eax
sub ecx, ebp
jmp 0x69debd
mov edi, dword [esp]
add esp, 4
push esi
push ebx
push 0x7d6d6665
pop ebx
or ebx, 0x74bf42d2
push edi
jmp 0x69d952
push edi
mov edi, esp
add edi, 4
sub edi, 4
xchg dword [esp], edi
pop esp
mov dword [esp], edi
mov edi, 4
push ecx
mov ecx, 0x5cb95edc
add ecx, 0x175cb587
shr ecx, 2
jmp 0x69d944
add dword [esp + 4], 0x7bf70846
add dword [esp + 4], eax
sub dword [esp + 4], 0x7bf70846
add dword [esp + 4], 0x53bfbdf7
pop eax
push dword [esp]
push dword [esp]
pop ecx
add esp, 4
push eax
mov eax, esp
push ebp
mov ebp, 4
add eax, ebp
pop ebp
push esi
mov esi, esp
add esi, 4
sub esi, 4
push esi
jmp 0x69dcb1
add ecx, 0xeaadf8b9
sub ebx, ecx
pop ecx
jmp 0x69dab4
mov edi, 0x2effa377
shr edi, 8
jmp 0x69dbb7
mov eax, 0x8f16d30d
push edi
mov edi, 0x3801a951
jmp 0x69da9a
pop ecx
pop edx
add edi, eax
push dword [esp]
pop eax
sub esp, 4
mov dword [esp], eax
push esp
pop eax
add eax, 4
add eax, 4
xchg dword [esp], eax
pop esp
sub edi, edx
jmp 0x69d566
mov ebp, esp
add ebp, 4
sub ebp, 4
jmp 0x69dc73
add esp, 4
push edi
jmp 0x69db7a
sub edx, 0x153a27c
push ecx
mov ecx, edx
mov eax, ecx
jmp 0x69d9c9
sub ecx, 0x5bb6f895
mov ebx, dword [esp]
jmp 0x69da04
sub dword [esp + 8], edi
mov edi, dword [esp]
add esp, 4
sub dword [esp + 4], 0x63474e07
jmp 0x69db91
add ebx, edi
add ebx, 0x7b37dd1
push dword [esp]
pop edi
add esp, 4
jmp 0x69d3dd
xor eax, dword [esp]
pop esp
push 0x68792dc1
mov dword [esp], eax
mov eax, 0x4f2f8d12
sub ecx, 0x7ddfbca9
jmp 0x69d4a5
push esi
mov esi, 0x7fb2142f
dec esi
xor esi, 0x663adbe8
and esi, 0x7967e827
add esi, 0xaa2be4ad
add edi, esi
pop esi
mov esi, edi
mov edi, dword [esp]
push edx
mov edx, esp
jmp 0x69d857
sub ecx, eax
pop eax
jmp 0x69d6f6
mov dword [esp], 0x7f3f74d7
sub dword [esp], 0x2a5fe9c3
neg dword [esp]
push eax
jmp 0x69d98f
sub dword [esp + 4], eax
jmp 0x69d4ac
not edi
shl edi, 3
inc edi
push esi
mov esi, 0x3fd664c3
not esi
not esi
dec esi
dec esi
not esi
sub esi, 0x5a326053
and edi, esi
pop esi
sub edi, 0x2a802a24
and ebx, edi
pop edi
jmp 0x69dd5d
add esp, 4
push ecx
mov ecx, esp
add ecx, 4
sub ecx, 4
xchg dword [esp], ecx
pop esp
mov dword [esp], edi
mov dword [esp], ebx
jmp 0x69dd3a
mov ecx, 0x5dfeec65
sub ecx, 0xe0831aed
or esi, ecx
pop ecx
add esi, 0xdd2f4ace
jmp 0x69dd9e
add ecx, 0x7ddfbca9
mov eax, dword [esp]
jmp 0x69dbe2
xchg dword [esp], ebp
mov esp, dword [esp]
mov dword [esp], edi
mov dword [esp], ecx
mov edi, dword [esp]
jmp 0x69d37e
push dword [esp + 4]
jmp 0x69dcba
pop esi
pop dword [esp]
pop esp
mov dword [esp], edx
jmp 0x69dcc7
mov edx, 4
jmp 0x69d841
add dword [esp + 4], 0x36e43424
mov edi, dword [esp]
add esp, 4
pop ebx
push esi
mov esi, 0x5bda3431
xchg esi, ebp
not ebp
xchg esi, ebp
neg esi
push ecx
jmp 0x69dc14
push esi
mov esi, esp
add esi, 4
push ebx
mov ebx, 4
sub esi, ebx
pop ebx
xchg dword [esp], esi
pop esp
mov dword [esp], edx
mov edx, 0x7693d1f1
jmp 0x69dd87
inc ebx
push edx
mov dword [esp], eax
jmp 0x69dd67
mov eax, 0x6bb21a92
add ebx, eax
pop eax
push eax
mov eax, 0x5ea8ad77
shl eax, 5
not eax
sub eax, 0xbd75f49a
xor ebx, eax
pop eax
jmp 0x69d5e7
push ebp
mov dword [esp], edx
jmp 0x69d597
xor edi, dword [esp]
xor dword [esp], edi
xor edi, dword [esp]
jmp 0x69d2e4
add ebx, esi
pop esi
mov edx, dword [esp]
push esi
mov esi, esp
add esi, 4
add esi, 4
xchg dword [esp], esi
jmp 0x69dde0
add ecx, 0x1bfe1ca8
push esi
mov dword [esp], edx
mov edx, 0x2efd157b
xor edx, 0x5d4042cf
add ecx, edx
mov edx, dword [esp]
add esp, 4
jmp 0x69de72
pop esp
add ecx, 0x5bb6f895
add ecx, ebx
jmp 0x69da69
add dword [esp + 8], ebp
pop ebp
mov eax, dword [esp]
add esp, 4
mov dword [esp], esi
push ecx
mov ecx, 0x1efb0446
neg ecx
neg ecx
not ecx
push 0xd3e73e1
mov dword [esp], edi
mov edi, 0x3f7f3186
xor edi, 0xa0b06800
xor ecx, edi
pop edi
mov esi, ecx
pop ecx
push edi
mov edi, 0x7788edf0
add ecx, edi
jmp 0x69de48
mov edi, dword [esp]
add esp, 4
sub ecx, esi
sub ecx, 0x7788edf0
mov esi, dword [esp]
add esp, 4
push edi
mov dword [esp], 0x727c85a
mov dword [esp], edx
jmp 0x69d71c
mov edx, dword [esp]
push esi
mov esi, esp
add esi, 4
jmp 0x69dee0
mov dword [esp], edi
mov edi, 0xdc45df86
add dword [esp + 4], 0x76df1aee
jmp 0x69df0b
pop esp
mov dword [esp], ebp
push ebx
jmp 0x69dea2
mov dword [esp], eax
mov eax, 0x73df27e9
jmp 0x69deaf
mov ebp, 0x62705d
xor ebp, eax
pop eax
push eax
jmp 0x69d328
push eax
mov eax, 0x7bb54003
add eax, 0xc35cf114
jmp 0x69db5f
sub ecx, 0x3fd7b0c0
sub ecx, edx
add ecx, 0x3fd7b0c0
jmp 0x69ddbb
add esi, 4
xchg dword [esp], esi
pop esp
jmp 0x69d591
add dword [esp + 4], 0x777f48c1
jmp 0x69d57a
pop edx
push edi
mov edi, esp
add edi, 4
add edi, 4
xchg dword [esp], edi
pop esp
push esi
jmp 0x69d627