Function at 0xc02c23
Capabilities:
Encode data using xor

Disassembly:
mov bx, ax
pop edi
pushal
mov esi, edx
call 0xc02c23
and dword [eax + 0x16e4613f], ebx
or byte ss:[eax - 0x67], ah
jmp 0xc02c33
pop ebx
popal
sti
add edi, 0xde71
mov ebx, 0xda0b6ec
sti
sub edx, edx
jge 0xc02c50
xor ebx, 0x57543a04
mov esi, dword [edi + edx]
mov ecx, 0x1056fde6
add esi, 0x379e7cd6
jmp 0xc02c6a
xor esi, 0x759437cd
jge 0xc02c7e
jge 0xc02c7e
push edx
pop eax
add esi, 0x5e631500
mov al, bh
mov dword [edi + edx], esi
sub ebx, 0x6c0b705b
mov bh, 2
sub edx, 0x5adcc961
xor ah, 3
add edx, 0x5adcc95d
or cl, 0x2a
cmp edx, 0xffff2278
jne 0xc02cc4
mov ebx, 0x41ad664a
sti
jmp 0xc02cee
ja 0xc02ce1
jmp 0xc02ce1
jmp 0xc02c50
cmp dword [ebp + 0x122d1401], 0
je 0xc02d05
mov dword [ebp + 0x122d2e08], 1
mov eax, dword [ebp + 0x122d0699]
mov esi, eax
mov ecx, dword [esi + 0x3c]
add esi, ecx
mov ecx, 0x400000
mov dword [ebp + 0x124523d0], ecx
mov edi, dword [ebp + 0x122d2f5c]
test edi, edi
jne 0xc02d30
jmp 0xc02e71
mov esi, edi
mov ecx, 0x4c84
lodsb al, byte [esi]
xor al, 0x37
stosb byte es:[edi], al
dec ecx
jne 0xc02d37
mov ecx, dword [ebp + 0x122d2f5c]
mov edi, dword [ebp + 0x122d0699]
mov esi, dword [ebp + 0x124523d0]
cmp edi, esi
jne 0xc02d61
jmp 0xc02e62
mov eax, dword [ecx]
mov edx, dword [ecx + 4]
sub dword [ebp + 0x122d11d5], edx
sub edx, 8
add ecx, 8
add eax, edi
pushal
mov ebx, eax
push ebx
push 0x1000
push ebx
call dword [ebp + 0x122d39e0]
pop ebx
test eax, eax
je 0xc02da2
lea eax, [ebp + 0x1244fa4a]
push eax
push 0x40
push 0x1000
push ebx
call dword [ebp + 0x122d3ac2]
popal
mov bx, word [ecx]
test bx, 0xf000
je 0xc02e49
and ebx, 0xfff
add ebx, eax
cmp dword [ebp + 0x122d2c38], 1
jne 0xc02ddf
cmp byte [ebx - 2], 0xe8
jne 0xc02ddf
cmp byte [ebx + 3], 0x90
jne 0xc02ddf
jmp 0xc02e49
cmp byte [ebx - 1], 0xc5
jne 0xc02e0c
cmp dword [ebp + 0x122d2fc4], 0
je 0xc02e0c
cmp dword [ebp + 0x122d0d7d], 0
je 0xc02e0c
mov byte [ebx - 1], 0xe9
jmp 0xc02e49
cmp dword [ebp + 0x122d1401], 0
je 0xc02e39
cmp byte [ebx - 1], 0xc5
jne 0xc02e39
cmp dword [ebp + 0x122d2fc4], 0
je 0xc02e39
mov byte [ebx - 1], 0xe9
jmp 0xc02e49
cmp dword [ebx], 0x90909090
je 0xc02e49
sub dword [ebx], esi
add dword [ebx], edi
add ecx, 2
sub edx, 2
jne 0xc02da3
cmp dword [ebp + 0x122d11d5], 0
jne 0xc02d61
mov edi, dword [ebp + 0x122d2f5c]
mov ecx, 0x4c84
xor al, al
rep stosb byte es:[edi], al
mov edx, 0x286299f6
mov edi, dword [ebp + 0x122d0961]
mov ecx, 0x79
lea esi, [ebp + 0x125364c4]
rep movsb byte es:[edi], byte [esi]
xor edx, 0x28634112
mov edi, dword [ebp + 0x122d0961]
add edi, 0xe
test edx, edx
je 0xc02ea6
add edx, dword [ebp + 0x122d0699]
mov dword [edi + 1], edx
mov edx, dword [ebp + 0x122d2b03]
mov edi, dword [ebp + 0x122d0961]
add edi, 0x54
mov dword [edi + 1], edx
mov edi, dword [ebp + 0x122d0961]
add edi, 0x49
mov dword [edi + 1], ebp
mov edi, dword [ebp + 0x122d0961]
add edi, 0x25
mov dword [edi + 1], ebp
jmp 0xc02f51
mov eax, edx
jmp 0xc02f95
mov ecx, eax
lea eax, [ebp + 0x12536544]
mov dword [ebp + 0x124767b6], eax
jmp 0xc02fb1
jmp 0xc05271
mov edx, ebx
lea eax, [ebp + 0x1253837c]
mov dword [ebp + 0x122d37ba], eax
sub esp, 4
mov dword [esp], ebx
mov dword [esp], esi
push ebx
push eax
jmp 0xc05341
pop ebp
dec dword [esp]
inc dword [esp]
shr dword [esp], 7
inc dword [esp]
jmp 0xc052b7
xchg dword [esp], ebp
pop esp
xchg dword [esp], eax
mov esp, dword [esp]
mov dword [esp], edi
mov dword [esp], eax
jmp 0xc0540d
sub dword [esp], 0xaf5c2c7b
mov dword [esp], esp
add dword [esp], 4
push dword [esp]
pop eax
add esp, 4
add eax, 4
push 0x55c40027
jmp 0xc05309
push edi
mov edi, 0x7b7f8004
and ebx, edi
pop edi
xor ebx, edi
xor edi, ebx
xor ebx, edi
neg edi
push ebx
push edi
pop ebx
jmp 0xc053ca
mov dword [esp], 0x4faeb7ba
dec dword [esp]
jmp 0xc053a2
mov dword [esp], ecx
mov ecx, 4
sub eax, 0x2ceeb066
add eax, 0x43b77ffa
sub eax, ecx
sub eax, 0x43b77ffa
add eax, 0x2ceeb066
mov ecx, dword [esp]
push ebp
mov ebp, esp
add ebp, 4
push ecx
mov ecx, 4
add ebp, ecx
pop ecx
jmp 0xc052a2
mov eax, 0x5a979470
mov ebx, 0xda8f5435
sub ebx, eax
pop eax
add ebx, 0xdfc55248
push ebp
jmp 0xc0535a
sub esp, 4
mov dword [esp], edx
push ecx
push 0x7f3f17c2
pop ecx
shl ecx, 3
shr ecx, 8
xor ecx, 0x652607cc
mov edx, ecx
pop ecx
sub edx, 0x16002926
mov ebp, edx
jmp 0xc0538d
add esp, 4
push eax
push ecx
jmp 0xc052fa
pop edx
or ebp, 0x7eff9e5b
sub ebp, 0x60068d4e
or ebx, ebp
pop ebp
jmp 0xc052e1
add dword [esp], 0x7f7ab27f
or dword [esp], 0x7fdd0611
or dword [esp], 0x6dbd601e
add dword [esp], 0xffffffff
push ebp
mov ebp, 0xc000c132
xor dword [esp + 4], ebp
jmp 0xc0528f
pop edi
add ebx, 0xdb584f07
mov esi, ebx
push dword [esp]
mov ebx, dword [esp]
add esp, 4
push edi
mov edi, esp
add edi, 4
add edi, 4
push edi
push dword [esp + 4]
jmp 0xc053f5
pop edi
pop dword [esp]
pop esp
shr esi, 4
add esi, 0xf802bf3f
mov eax, esi
mov esi, dword [esp]
jmp 0xc05383
call 0xc05412
push dword [esp]
pop ecx
push eax
mov dword [esp], 0x60791c58
mov dword [esp], edi
mov edi, esp
jmp 0xc05689
sub eax, eax
push ecx
mov dword [esp], ebx
mov ebx, esp
add ebx, 4
sub ebx, 4
xor ebx, dword [esp]
jmp 0xc0566c
add ecx, 0x7f6ede9d
add ecx, ebx
sub ecx, 0x7f6ede9d
mov ebx, dword [esp]
jmp 0xc05b11
xor ecx, dword [esp]
xor dword [esp], ecx
xor ecx, dword [esp]
mov esp, dword [esp]
xchg dword [esp], edi
pop esp
push ebx
mov ebx, 0x7fd4f1e
not ebx
or ebx, 0x4bfff726
neg ebx
jmp 0xc0582a
pop eax
mov edi, ebx
pop ebx
push ebp
mov ebp, 0x7df56495
or edi, ebp
mov ebp, dword [esp]
add esp, 4
dec edi
push edx
mov dword [esp], eax
jmp 0xc05662
dec ebp
add ebp, 0xe4954dd1
sub edi, ebp
jmp 0xc05c6b
pop edi
jmp 0xc0570d
mov eax, dword [esp]
push ecx
mov ecx, esp
jmp 0xc05810
sub edx, 0x7d7f86ad
push ebx
push 0
pop ebx
add ebx, 0x6edd7f8b
add ebx, edx
push ecx
push edx
mov edx, 0x75de0656
jmp 0xc0567d
not eax
neg eax
push eax
mov dword [esp], edi
push edx
mov edx, 0x7e7d5c5e
mov edi, 0xf19e1e8a
add edi, edx
jmp 0xc055cc
pop edx
push edi
mov edi, 0x7ff706e9
add eax, edi
pop edi
sub eax, edi
sub eax, 0x7ff706e9
pop edi
jmp 0xc056bb
push esi
mov esi, 0x4b7e00c6
add esi, 0x32913f5e
sub ebx, 0x6e87d8f1
sub ebx, esi
jmp 0xc057bd
push dword [esp]
mov edx, dword [esp]
add esp, 4
add esp, 4
jmp 0xc056f3
push dword [esp]
pop ebx
add esp, 4
mov edx, dword [esp]
push edi
sub esp, 4
mov dword [esp], esp
push edi
mov edi, 4
add dword [esp + 4], edi
pop edi
jmp 0xc05580
mov eax, 0x4ff5cebc
jmp 0xc05763
xor dword [esp], ebx
xor ebx, dword [esp]
jmp 0xc05758
mov ecx, 0xf8ff7935
add ecx, edx
jmp 0xc056f9
add edi, 4
push eax
push ecx
mov dword [esp], 0x5fd975bb
mov dword [esp], ebp
mov ebp, 0x7fd59845
push ebp
add dword [esp], 0x77ff2f08
pop eax
sub eax, 0x77ff2f08
pop ebp
push ecx
push edx
mov edx, 0x3fb7bb0a
jmp 0xc05835
add edx, eax
push dword [esp]
mov eax, dword [esp]
push ebp
push esp
pop ebp
add ebp, 4
add ebp, 4
push ebp
push dword [esp + 4]
pop ebp
pop dword [esp]
pop esp
push ecx
mov ecx, esp
add ecx, 4
add ecx, 4
xchg dword [esp], ecx
jmp 0xc057ce
push edx
jmp 0xc057ef
pop edx
sub ebx, ecx
pop ecx
jmp 0xc05aaa
add edi, 4
add edi, 4
xchg dword [esp], edi
mov esp, dword [esp]
sub esp, 4
jmp 0xc05a7d
neg esi
xchg ecx, esi
neg ecx
xor ecx, 0x3bfbb01d
add edi, 0x3bfb91ac
add edi, ecx
sub edi, 0x3bfb91ac
mov ecx, dword [esp]
add esp, 4
add edi, 4
xor edi, dword [esp]
xor dword [esp], edi
jmp 0xc0578f
pop esp
mov dword [esp], edx
mov edx, eax
jmp 0xc057c8
not eax
add eax, 0x7eff0e96
push esi
mov esi, 0x7f7ff0a0
shr esi, 4
sub esp, 4
mov dword [esp], edi
mov edi, 0x3f9dcf8f
or esi, edi
pop edi
push ebp
mov ebp, 0x6fe3a4d7
jmp 0xc05871
xor edi, dword [esp]
mov esp, dword [esp]
push edx
mov edx, 0x621dec75
push esi
mov dword [esp], ebp
mov ebp, 0x7cff7d79
sub edx, ebp
jmp 0xc05a8d
pop esi
push edi
push esp
pop edi
push ebx
mov dword [esp], ecx
mov ecx, 0x3bfbb018
jmp 0xc05a09
add ebx, 0x6e87d8f1
jmp 0xc05aef
push eax
jmp 0xc058a4
pop esp
add edx, 0xee55929b
jmp 0xc059c4
mov edx, esp
add edx, 4
push edi
push ebx
mov ebx, 0x7bfef424
dec ebx
jmp 0xc05c5a
add ecx, 4
push 0x7fb17147
mov dword [esp], ebp
mov ebp, 4
add ecx, ebp
jmp 0xc05852
push ecx
mov ecx, 0x7dcf293a
jmp 0xc05967
mov ecx, 0x401ddd37
add ecx, edx
pop edx
xor eax, ecx
jmp 0xc05b95
pop ebp
jmp 0xc0545a
sub esp, 4
mov dword [esp], ecx
push edx
mov dword [esp], esi
pop ecx
pop esi
jmp 0xc05727
add ebp, 0x72c76085
xor ebp, 0x7f9f41d3
sub ebp, 0x7dfd314e
add ebp, 0xf7a6994b
sub esi, ebp
mov ebp, dword [esp]
add esp, 4
shl esi, 1
sub esi, 0xe256b3cd
sub eax, esi
jmp 0xc05b22
mov eax, 0
jmp 0xc05a6d
pop edx
push edx
mov dword [esp], ebp
push edi
mov edi, 0x5fc3ecb2
mov ebp, 0x9fa54b98
sub ebp, edi
pop edi
sub ebp, 0x6d2f0345
shl ebp, 1
xor ebp, 0x8a9a6dc8
jmp 0xc05add
add ebx, ecx
pop ecx
jmp 0xc05989
sub ebx, 0x1d00586
add ecx, ebx
pop ebx
sub ecx, 0x5fff3de7
add ecx, dword [esp]
add ecx, 0x5fff3de7
push edx
push eax
jmp 0xc05b6a
add edi, 0x76ff7d63
add edi, edx
sub edi, 0x76ff7d63
jmp 0xc058ae
inc ecx
jmp 0xc05860
mov edi, 0xffffffff
add dword [esp + 4], edi
pop edi
sub dword [esp], 0xffffffff
dec dword [esp]
not dword [esp]
jmp 0xc05b39
add edx, eax
pop eax
add edx, 0x7d7f86ad
add edx, ecx
jmp 0xc05591
mov dword [esp], esi
push edi
mov edi, 0x5ff7ec16
mov esi, edi
jmp 0xc05bc8
mov ebp, dword [esp]
add esp, 4
add edx, 1
shr edx, 3
push eax
mov eax, 0x567dd751
shr eax, 2
jmp 0xc05ab1
mov edi, dword [ebx]
jmp 0xc05613
shl eax, 7
sub eax, 1
jmp 0xc055b2
push eax
mov dword [esp], ebx
push ecx
push edx
mov dword [esp], 0x6ee36ef2
jmp 0xc05afb
pop esi
xor ebx, 0xfbbec273
jmp 0xc05444
pop ecx
mov ebx, 0x395ad035
xor ebx, ecx
jmp 0xc05c87
add esp, 4
sub ecx, 0x1d7db4a2
jmp 0xc05602
mov esi, dword [esp]
add esp, 4
and eax, 0x5ddc5e96
xor eax, 0x62e30b77
xor edi, eax
jmp 0xc05e4a
neg dword [esp]
add dword [esp], 0x77170da7
mov dword [esp], edx
mov dword [esp], 0x65ef6a2f
inc dword [esp]
xchg dword [esp], edx
not edx
xchg dword [esp], edx
push edx
mov dword [esp], ebx
mov ebx, 0x7bfc62a3
or dword [esp + 4], ebx
jmp 0xc05dcd
push ebp
jmp 0xc05d24
mov ecx, dword [esp]
jmp 0xc05e00
xor edi, dword [esp]
xor dword [esp], edi
pop ebp
jmp 0xc0549b
pop edi
push edx
mov edx, 0x79ddae59
shl edx, 2
and edx, 0x6afd28ee
inc edx
and edx, 0x5df61457
sub edx, 0xc934fb0c
xor esi, edx
pop edx
push esi
not dword [esp]
pop esi
shr esi, 5
push edx
mov edx, 0x6ab9fbc6
xor esi, edx
pop edx
xor edi, esi
push dword [esp]
jmp 0xc057ab
inc ebp
push ebp
xor dword [esp], edi
xor edi, dword [esp]
xor dword [esp], edi
push edi
not dword [esp]
pop edi
xor dword [esp], edi
jmp 0xc05bbc
not ebx
push esi
mov dword [esp], eax
mov eax, 0x7bbf41fd
inc eax
jmp 0xc05db7
pop ebp
push edi
mov dword [esp], 0x1a713be9
mov dword [esp], ebx
push edx
mov dword [esp], 0x3de92a26
inc dword [esp]
jmp 0xc05cd1
pop ecx
jmp 0xc05c93
xor ebx, 0x38441d26
xor ebp, ebx
pop ebx
add ebp, 0xfbc2e3d7
push ecx
mov dword [esp], ebp
xchg dword [esp], edx
not edx
xchg dword [esp], edx
mov ebp, dword [esp]
add esp, 4
jmp 0xc05c42
not dword [esp]
dec dword [esp]
add dword [esp], 0x48327973
mov dword [esp], ebx
jmp 0xc05da1
mov dword [esp], 0x3aeffe56
or dword [esp], 0x55af7693
sub dword [esp], 0xb14af74
pop eax
add eax, 0x63fe30f2
sub eax, 0x77bef522
sub eax, 0x5bbc24a0
mov edx, eax
pop eax
add edx, 0x7aa0c53a
add ecx, 0x1d7db4a2
sub ecx, 0x5fff9b97
sub ecx, edx
push ebx
jmp 0xc05dab
mov dword [esp + 4], ebx
pop ebx
shl dword [esp], 4
push edi
jmp 0xc05a51
mov ebx, 0x1fd50545
jmp 0xc05d92
push 0x663f91b8
pop ebx
push ebp
jmp 0xc05eb7
add eax, 1
shr eax, 8
inc eax
dec eax
add eax, 0x797e556
sub ebx, eax
jmp 0xc0547f
pop ebx
jmp 0xc05dde
xchg dword [esp], edx
mov esp, dword [esp]
jmp 0xc05428
push ebp
mov ebp, 0x33e191cc
or dword [esp + 4], ebp
pop ebp
shl dword [esp], 2
add dword [esp], 0x1a80aa62
mov dword [esp], edi
pop dword [ecx + eax]
push edi
jmp 0xc05e19
add esp, 4
add edi, 0x6bbb8199
add edi, eax
sub edi, 0x6bbb8199
jmp 0xc05586
mov dword [esp], ebx
jmp 0xc05e5c
pop eax
shl edi, 5
xor edi, 0xc40464
add edx, edi
pop edi
jmp 0xc05dd3
mov dword [esp], ebp
push ecx
push 0x7bf8aadd
pop ecx
add ecx, 0x5f966d71
shl ecx, 2
sub ecx, 0x237d5823
mov ebp, ecx
pop ecx
not ebp
shl ebp, 5
jmp fcn.00c05e82
mov ebp, 0x6b3a009c
or ebx, ebp
pop ebp
sub ebx, 0x3d09158c
xor ebx, 0x567c6f71
shl ebx, 3
jmp 0xc055e9