Function at 0x102db4d
Capabilities:
Encode data using xor

Disassembly:
mov cl, dl
pop ecx
sub edi, 1
add ecx, 0x4294d846
dec edi
dec edi
dec edi
sbb cx, 0x2d95
cmp edi, 0xffff18b0
jne 0x102dae4
sti
mov eax, 0x13827f3e
mov ebx, 0x38a47ba5
mov eax, 0x26b37aa5
cmp dword [ebp + 0x122d0d89], 0
je 0x102db94
mov dword [ebp + 0x122d3a9d], 1
mov eax, dword [ebp + 0x122d110d]
mov esi, eax
mov ecx, dword [esi + 0x3c]
add esi, ecx
mov ecx, 0x400000
mov dword [ebp + 0x125051c5], ecx
mov edi, dword [ebp + 0x122d3c51]
test edi, edi
jne 0x102dbbf
jmp 0x102dd00
mov esi, edi
mov ecx, 0x4c84
lodsb al, byte [esi]
xor al, 0x37
stosb byte es:[edi], al
dec ecx
jne 0x102dbc6
mov ecx, dword [ebp + 0x122d3c51]
mov edi, dword [ebp + 0x122d110d]
mov esi, dword [ebp + 0x125051c5]
cmp edi, esi
jne 0x102dbf0
jmp 0x102dcf1
mov eax, dword [ecx]
mov edx, dword [ecx + 4]
sub dword [ebp + 0x122d07c9], edx
sub edx, 8
add ecx, 8
add eax, edi
pushal
mov ebx, eax
push ebx
push 0x1000
push ebx
call dword [ebp + 0x122d20fc]
pop ebx
test eax, eax
je 0x102dc31
lea eax, [ebp + 0x122d215a]
push eax
push 0x40
push 0x1000
push ebx
call dword [ebp + 0x122d3878]
popal
mov bx, word [ecx]
test bx, 0xf000
je 0x102dcd8
and ebx, 0xfff
add ebx, eax
cmp dword [ebp + 0x122d3945], 1
jne 0x102dc6e
cmp byte [ebx - 2], 0xe8
jne 0x102dc6e
cmp byte [ebx + 3], 0x90
jne 0x102dc6e
jmp 0x102dcd8
cmp byte [ebx - 1], 0xc5
jne 0x102dc9b
cmp dword [ebp + 0x122d39d5], 0
je 0x102dc9b
cmp dword [ebp + 0x122d09f9], 0
je 0x102dc9b
mov byte [ebx - 1], 0xe9
jmp 0x102dcd8
cmp dword [ebp + 0x122d0d89], 0
je 0x102dcc8
cmp byte [ebx - 1], 0xc5
jne 0x102dcc8
cmp dword [ebp + 0x122d39d5], 0
je 0x102dcc8
mov byte [ebx - 1], 0xe9
jmp 0x102dcd8
cmp dword [ebx], 0x90909090
je 0x102dcd8
sub dword [ebx], esi
add dword [ebx], edi
add ecx, 2
sub edx, 2
jne 0x102dc32
cmp dword [ebp + 0x122d07c9], 0
jne 0x102dbf0
mov edi, dword [ebp + 0x122d3c51]
mov ecx, 0x4c84
xor al, al
rep stosb byte es:[edi], al
mov edx, 0x286299f6
mov edi, dword [ebp + 0x122d0061]
mov ecx, 0x79
lea esi, [ebp + 0x12541153]
rep movsb byte es:[edi], byte [esi]
xor edx, 0x28634112
mov edi, dword [ebp + 0x122d0061]
add edi, 0xe
test edx, edx
je 0x102dd35
add edx, dword [ebp + 0x122d110d]
mov dword [edi + 1], edx
mov edx, dword [ebp + 0x122d1e0e]
mov edi, dword [ebp + 0x122d0061]
add edi, 0x54
mov dword [edi + 1], edx
mov edi, dword [ebp + 0x122d0061]
add edi, 0x49
mov dword [edi + 1], ebp
mov edi, dword [ebp + 0x122d0061]
add edi, 0x25
mov dword [edi + 1], ebp
jmp 0x102dde0
mov eax, edx
push ebp
jmp 0x102de4c
mov ebx, 0x7afd88e1
add ebx, 0x7cdf332b
sub ebx, 0x948290da
add ecx, ebx
jmp 0x102dee6
mov dword [esp], ecx
sub esp, 4
mov dword [esp], esp
push ebx
mov ebx, 4
sub dword [esp + 4], 0x2e6ffa9b
add dword [esp + 4], ebx
add dword [esp + 4], 0x2e6ffa9b
jmp 0x102de76
shr dword [esp], 6
or dword [esp], 0x76ff05d1
sub dword [esp], 0xf9cf8a6c
mov dword [esp], edx
mov dword [esp], 0x736c
jmp 0x102df00
mov ebp, esp
add ebp, 4
sub ebp, 4
jmp 0x102de8a
add esp, 4
xchg dword [esp], eax
dec eax
not eax
xchg dword [esp], eax
dec dword [esp]
jmp 0x102de2b
pop ebx
push dword [esp]
pop ecx
add esp, 4
push eax
push edx
mov edx, 0x7fff38f0
jmp 0x102dedc
xchg dword [esp], ebp
pop esp
mov dword [esp], edx
mov dword [esp], 0x7fff4935
inc dword [esp]
add dword [esp], 0xf9f344ef
add dword [esp], 0x3f5bae65
push eax
mov eax, 0x7fd6c05b
or dword [esp + 4], eax
pop eax
not dword [esp]
neg dword [esp]
push esi
mov dword [esp], edi
push 0x1b5e13d5
mov dword [esp], ecx
jmp 0x102df38
sub ecx, 4
xor ecx, dword [esp]
xor dword [esp], ecx
xor ecx, dword [esp]
jmp 0x102df53
mov eax, edx
mov edx, dword [esp]
jmp 0x102deef
pop ebx
push dword [esp]
jmp 0x102df1f
add esp, 4
xor eax, 0x7fff38f4
push edx
jmp 0x102df28
push dword [esp]
pop eax
push esi
mov esi, esp
add esi, 4
add esi, 4
xchg dword [esp], esi
pop esp
sub esp, 4
jmp 0x102de00
pop eax
add esp, 4
jmp 0x102decb
mov dword [esp], esi
mov esi, 0x635a2b32
sub ecx, esi
pop esi
jmp 0x102df5e
mov ecx, 0x7dfe953e
mov edi, 0xe3f99ed
sub edi, ecx
pop ecx
jmp 0x102df4a
xor dword [esp + 4], edi
jmp 0x102df66
mov esp, dword [esp]
mov dword [esp], eax
jmp 0x102df6e
add ecx, eax
push ebx
jmp 0x102dde8
mov edi, dword [esp]
jmp 0x102de5f
call 0x102df73
push dword [esp]
pop edi
push eax
push esp
pop eax
jmp 0x102e7d2
add ebx, 0x74a04f0c
sub eax, ebx
mov ebx, dword [esp]
push ecx
mov ecx, esp
add ecx, 4
add ecx, 4
push ecx
jmp 0x102e523
push ecx
mov ecx, 0x7d6785ca
shr ecx, 3
add ecx, 0x79fe135b
jmp 0x102e9b3
push eax
mov eax, 0x4f0da94
xor esi, eax
pop eax
push esi
mov edi, dword [esp]
add esp, 4
pop esi
push 0x1dc4488c
mov dword [esp], ecx
mov ecx, 0x7b0f27e0
push esi
push ecx
mov ecx, 0x5f6ec3c2
mov esi, ecx
pop ecx
shr esi, 3
add esi, 0x6edd9df2
jmp 0x102e209
shl eax, 4
add eax, 0x77ff4af4
shl eax, 1
sub eax, 0x7671bc7f
mov esi, eax
pop eax
or edi, esi
pop esi
push esi
mov esi, 0
sub esi, edi
jmp 0x102e368
push edi
push edx
push esp
pop dword [esp]
push ebp
push eax
mov eax, 0x7dbf87d1
sub eax, 0x6efb0fba
shr eax, 6
sub eax, 0xffffffff
neg eax
jmp 0x102e90a
pop esi
add edi, 0x4f776387
sub edi, ecx
sub edi, 0x4f776387
sub edi, 0x6db7a82e
push dword [esp]
pop ecx
add esp, 4
sub eax, edi
jmp 0x102e1e6
push edx
mov edx, 0x7fae848e
shl edx, 7
jmp 0x102eab4
mov ebx, 0x5dadbed4
jmp 0x102e271
mov ebp, 0x3cdef573
sub eax, ebp
pop ebp
jmp 0x102e453
xor ebx, 0x27ff699c
push ebp
mov ebp, 0x26e5c94d
or ebx, ebp
pop ebp
add ebx, 0x8f56f153
jmp 0x102e68f
xchg edx, eax
not edx
jmp 0x102e5b4
push eax
mov eax, 0x7d678442
push edi
mov edi, 0x7d67843e
sub eax, edi
pop edi
push eax
mov eax, 0x5f6a733c
add edi, 0x5bf7f65a
sub edi, eax
sub edi, 0x5bf7f65a
mov eax, dword [esp]
add esp, 4
jmp 0x102e242
inc ebx
add ebx, 0x5cff7e0a
xor ebx, 0x7fd78b67
shr ebx, 5
add ebx, 0xff79fc6
add ebx, 0x5fa92aab
add eax, ebx
pop ebx
jmp 0x102e4f4
push 0x4f17d7d8
mov dword [esp], edi
jmp 0x102e602
push ebx
jmp 0x102e6d1
xor edx, 0x5fbfd102
add eax, 0x7dc5b424
push ebp
mov ebp, 0xff461ee
jmp 0x102e635
mov eax, dword [esp]
add esp, 4
sub esp, 4
mov dword [esp], ecx
jmp 0x102e074
push dword [esp]
pop edi
add esp, 4
jmp 0x102e212
mov eax, esi
pop esi
xor ebx, eax
pop eax
jmp 0x102e0dd
shr esi, 6
inc esi
jmp 0x102e561
push esi
sub esp, 4
mov dword [esp], ebp
mov dword [esp], edi
push ebp
mov ebp, 0x7e0e0492
mov edi, ebp
pop ebp
dec edi
sub esp, 4
mov dword [esp], esi
push eax
mov eax, 0x7fce01a8
jmp 0x102e00c
add eax, 0x3fc7bad2
push ebp
jmp 0x102e4a3
add edi, eax
add edi, 0x5f6a733c
mov eax, dword [esp]
add esp, 4
add edi, 4
jmp 0x102e4cb
add esp, 4
sub eax, 0x3fc7bad2
add eax, edx
jmp 0x102e237
mov esi, esp
jmp 0x102e4b1
sub ebx, 0x70f39a74
and ebx, 0x7f1aa2fa
sub ebx, 0x7bdfe8c1
sub ebx, 0x78bb0000
not ebx
sub ebx, 0x699541ae
mov esi, ebx
pop ebx
not esi
xor esi, 0x5dff0b4a
not esi
shr esi, 1
sub esi, 0xc1927ec4
add dword [esp + 4], esi
pop esi
push esi
mov esi, 0xe6bf52a9
add dword [esp + 4], 0x2fffaeae
jmp 0x102e571
push ecx
add dword [esp], 0x5cde6f77
pop ebx
sub ebx, 0x5cde6f77
pop ecx
sub ebx, 0xffffffff
add ebx, 0x3ffe15e6
sub ebx, 0x5f8612b2
sub eax, 0x76ce10fc
sub eax, 0x1cff07d1
add eax, ebx
push ecx
mov ecx, 0x1cff07d1
add eax, ecx
pop ecx
jmp 0x102e1a6
add eax, 0x7e7c6f0b
sub eax, edx
jmp 0x102e672
mov dword [esp], 0x51f63ab3
mov dword [esp], esi
mov dword [esp], 0x6dfea0b9
neg dword [esp]
shl dword [esp], 8
or dword [esp], 0x7fbf4904
or dword [esp], 0x14afdf7b
and dword [esp], 0x7fb87ccc
push ecx
jmp 0x102e72c
mov ebx, esi
mov esi, dword [esp]
add esp, 4
push 0x7264997a
mov dword [esp], esi
jmp 0x102e977
add esp, 4
shr dword [esp], 5
push edx
mov dword [esp], esi
push ebx
jmp 0x102e0c6
add edi, 0x6b6cda2a
jmp 0x102e65e
mov edx, 0x6cefb7ee
not edx
shl edx, 4
jmp 0x102e93b
xor edi, 0x88e4e8
add eax, edi
pop edi
push edx
mov edx, 0x5fbfd106
jmp 0x102e1ac
mov dword [esp], esi
jmp 0x102ea15
xor eax, 0xad132295
sub edi, eax
pop eax
sub edi, 0x7b6bc8a2
sub edi, 0x3fe99f73
add edi, 0x5f10f6df
jmp 0x102e4fa
sub ebx, 0xf4e42420
add eax, ebx
pop ebx
xor esi, eax
jmp 0x102e1d2
mov ebp, 0xff461ee
add eax, ebp
pop ebp
push ebx
jmp 0x102e653
add esi, 4
add esi, 4
xchg dword [esp], esi
pop esp
jmp 0x102e8dd
mov ebp, dword [esp]
jmp 0x102e25b
xchg dword [esp], edi
mov esp, dword [esp]
xor eax, eax
jmp 0x102e6db
mov esi, esp
push eax
mov dword [esp], edx
push ecx
push 0x6fffa696
jmp 0x102e6bf
push ecx
mov ecx, 0x5fd789ad
jmp 0x102e599
pop ebx
jmp 0x102e2fb
add edi, dword [esp]
sub edi, 0x5f10f6df
add edi, 0x3fe99f73
push ecx
mov ecx, 0x7b6bc8a2
sub edi, 0x7adfe564
add edi, ecx
add edi, 0x7adfe564
pop ecx
jmp 0x102e3a8
push dword [esp + 4]
pop ecx
pop dword [esp]
pop esp
pop edx
xchg dword [esp], eax
mov esp, dword [esp]
sti
add edi, 0x7f271db5
add edi, 0x5fd789ad
push 0x627ad5e5
mov dword [esp], eax
jmp 0x102e9dc
and edi, 0x5ec79ab6
xor edi, 0x7c7ea316
shr edi, 6
jmp 0x102e3e5
shl esi, 1
sub esi, 0x961eb386
add edi, esi
jmp 0x102e04e
sub dword [esp + 4], esi
sub dword [esp + 4], 0x2fffaeae
pop esi
jmp 0x102e9be
push edx
mov edx, ecx
mov esi, edx
pop edx
pop ecx
sub edi, 0x77f975e1
sub edi, esi
add edi, 0x77f975e1
pop esi
jmp 0x102e867
xchg edx, eax
sub eax, 0xeff3cbd
jmp 0x102e18b
add edx, 4
push ebx
jmp 0x102e44b
mov edi, 0x71e9369d
not edi
sub edi, 0x1c7f090d
jmp 0x102e7f4
mov ebx, dword [esp]
add esp, 4
push ecx
mov ecx, esp
add ecx, 4
add ecx, 4
xchg dword [esp], ecx
pop esp
jmp 0x102e02f
sub eax, ebp
jmp 0x102e4c3
mov ecx, edx
pop edx
add ecx, 0xad3d6430
push edx
mov edx, 0x67d58a51
shr edx, 5
jmp 0x102eac8
mov ebx, 0x7ffec4bb
push ecx
jmp 0x102e8c9
push esi
jmp 0x102e4e9
xchg dword [esp], ecx
jmp 0x102ea61
push esi
jmp 0x102e4d8
sub eax, 0x7e7c6f0b
sub eax, 0x3fefc47b
mov edx, dword [esp]
jmp 0x102e766
push esi
push 0x36ffef39
jmp 0x102eaa8
push ebx
pop eax
pop ebx
sub esi, 0x6feee771
add esi, 0x7dfc252d
sub esi, eax
sub esi, 0x7dfc252d
push edi
mov edi, 0x6feee771
add esi, edi
pop edi
pop eax
sub esi, eax
add esi, 0x7f3ef140
pop eax
push ebp
jmp 0x102e307
pop ecx
push eax
mov eax, 0x1ddffb9f
push edx
mov edx, 0x7dfcf300
jmp 0x102e70b
mov ebx, 0x3d7fdc12
jmp 0x102e13f
push dword [eax + edi]
mov esi, dword [esp]
jmp 0x102e66c
or edx, 0x7d4d97b5
shr edx, 1
xor edx, 0x4505a44e
and eax, edx
mov edx, dword [esp]
add esp, 4
or eax, 0x79a5a6df
jmp 0x102df9c
push edi
mov edi, 0xc247604b
mov ecx, edi
pop edi
add dword [esp + 4], 0x3f8b2400
add dword [esp + 4], ecx
sub dword [esp + 4], 0x3f8b2400
pop ecx
neg dword [esp]
not dword [esp]
jmp 0x102e7a2
add esp, 4
sub esp, 4
mov dword [esp], edi
sub esp, 4
mov dword [esp], esi
push 0x7babfd54
mov esi, dword [esp]
push edi
mov edi, esp
jmp 0x102eb8a
or dword [esp], 0x7bf7f160
add dword [esp], 0xeebedea9
shl dword [esp], 8
push ebp
mov ebp, 0x1da74f5b
jmp 0x102eb63
push edi
push esi
mov esi, 0x7dbecd40
mov edi, 0xffc0cac0
add edi, esi
pop esi
or edi, 0x3e73e500
jmp 0x102e54d
sub eax, edi
jmp 0x102e827
pop edi
sub eax, 0xf3c67c6c
push 0x7997d9c5
mov dword [esp], eax
push ebx
mov ebx, 0x6bff2f96
add ebx, 1
shl ebx, 7
push eax
push esi
mov esi, 0x7d7b7bb1
shl esi, 7
xor esi, 0x71fd4c46
xor esi, 0x47ff8550
not esi
xor esi, 0x43af72dd
jmp 0x102e1f5
push ebx
mov ebx, 0x7f271db5
sub edi, ebx
push dword [esp]
jmp 0x102e614
mov ecx, 0x5fcb1400
inc ecx
xor ecx, 0x2910b5a2
xor ebx, ecx
pop ecx
jmp 0x102df7f
push edi
mov edi, 0xc74e2f08
add eax, edi
mov edi, dword [esp]
add esp, 4
add esi, eax
pop eax
pop ecx
push eax
push 0x2ff54345
jmp 0x102eb53
add eax, 0x3b11e5
push ecx
mov dword [esp], eax
pop ebp
pop eax
push ecx
mov ecx, 0x315f9007
sub dword [esp + 8], ecx
pop ecx
add dword [esp + 4], ebp
add dword [esp + 4], 0x315f9007
mov ebp, dword [esp]
add esp, 4
pop edi
jmp 0x102e10e
and edx, 0x77360bd6
sub edx, 0x16d46dad
sub eax, edx
mov edx, dword [esp]
push esi
jmp 0x102e26a
mov esi, 0x3f511c86
xor ebx, esi
mov esi, dword [esp]
add esp, 4
dec ebx
and ebx, 0x6cfcdcc9
shl ebx, 2
jmp 0x102e493
sub eax, ecx
pop ecx
xor ecx, eax
pop eax
push ecx
pop edx
pop ecx
add esi, edx
push dword [esp]
pop edx
push edx
mov edx, esp
jmp 0x102e5bf
sub ecx, 0x7faaaac7
jmp 0x102e99c
mov dword [esp], esi
pop dword [edi + eax]
push edx
push edi
mov edi, 2
mov edx, edi
push dword [esp]
pop edi
add esp, 4
jmp 0x102eaf1
mov eax, 0x6fdfe746
and eax, 0x7bfdd65e
shr eax, 5
push ebp
jmp 0x102e0d0
mov esi, 4
add edx, esi
pop esi
xor edx, dword [esp]
xor dword [esp], edx
xor edx, dword [esp]
mov esp, dword [esp]
jmp 0x102ea2e
add esi, 4
push edi
mov dword [esp], 0x574cbbea
mov dword [esp], esi
push dword [esp + 4]
pop esi
pop dword [esp]
pop esp
push 0x6a94aa4d
mov dword [esp], ebp
mov dword [esp], eax
push ecx
mov ecx, esp
add ecx, 4
sub ecx, 4
jmp 0x102e664
pop esp
mov dword [esp], edx
push eax
push ebp
mov ebp, 0x5d2bc24f
mov eax, ebp
pop ebp
mov edx, 0x22d087a2
xor edx, eax
pop eax
mov eax, 0xdb445f67
sub eax, edx
pop edx
neg eax
push ebp
mov ebp, esp
add ebp, 4
sub ebp, 4
xchg dword [esp], ebp
pop esp
mov dword [esp], edi
mov edi, 0x72be7bb1
or eax, edi
pop edi
sub eax, 1
push ebx
jmp 0x102e684
pop esi
sub esi, 0xb7847f77
jmp 0x102e34a
sub edx, 0x7ce5347c
shl edx, 1
add edx, 0xcb43e7b5
jmp 0x102e63c
inc edx
push esi
mov esi, 0x74cc773a
xor edx, esi
pop esi
sub esi, edx
pop edx
sub esi, ecx
push eax
mov eax, 0x3fefbf95
inc eax
and eax, 0x35bbfde2
push edx
jmp 0x102eae9
mov dword [esp], ebp
jmp 0x102eb0c
sub esp, 4
mov dword [esp], ebp
mov dword [esp], ecx
mov dword [esp], ebx
push ecx
push edi
mov dword [esp], 0x5f77c146
pop ecx
jmp 0x102e2bf
mov ebp, 0x5c1f5e99
not ebp
or ebp, 0x59c73a0b
inc ebp
jmp 0x102eb1f
or ebp, 0x6bae828e
add ebp, 0xffffffff
sub ebp, 0x823002bc
add eax, 0x7f7fe59a
add eax, ebp
sub eax, 0x7f7fe59a
mov ebp, dword [esp]
add esp, 4
xor eax, 0x65bf4907
sub esp, 4
mov dword [esp], edx
jmp 0x102e3b3
mov dword [esp], edi
mov dword [esp], 0x7dbfe0f2
pop eax
jmp 0x102e106
or dword [esp + 4], ebp
pop ebp
push esi
mov esi, 0x6b7bbdb0
add dword [esp + 4], 0x7f737e9b
add dword [esp + 4], esi
sub dword [esp + 4], 0x7f737e9b
mov esi, dword [esp]
jmp 0x102e394
add edi, 4
add edi, 4
xchg dword [esp], edi
pop esp
or esi, 0x7cdd2134
jmp 0x102eba5
inc esi
jmp 0x102dfd3