Function at 0x302a27
Capabilities:
Encode data using xor

Disassembly:
mov ecx, 0xc000008e
cmp eax, ecx
ja 0x302acd
je 0x302ac8
add ecx, 0xffffff8f
cmp eax, ecx
ja 0x302a88
je 0x302a83
cmp eax, 0x80000002
je 0x302a7e
cmp eax, 0x80000003
je 0x302a79
cmp eax, 0x80000004
je 0x302a74
cmp eax, 0xc0000005
je 0x302a6f
cmp eax, 0xc0000006
jne 0x302b35
jmp 0x303160
jmp 0x302b4e
jmp 0x303434
jmp 0x302c44
jmp 0x302caa
jmp 0x303067
cmp eax, 0xc000001e
je 0x302ac3
cmp eax, 0xc0000025
je 0x302abe
cmp eax, 0xc0000026
je 0x302ab9
cmp eax, 0xc000008c
je 0x302ab4
cmp eax, 0xc000008d
jne 0x302b35
jmp 0x302d27
jmp 0x302bc7
jmp 0x3032b2
jmp 0x30332e
jmp 0x3030e3
jmp 0x302daa
mov ecx, 0xc0000094
cmp eax, ecx
ja 0x302b19
je 0x302b14
cmp eax, 0xc000008f
je 0x302b0f
cmp eax, 0xc0000090
je 0x302b0a
cmp eax, 0xc0000091
je 0x302b05
cmp eax, 0xc0000092
je 0x302b00
cmp eax, 0xc0000093
jne 0x302b35
jmp 0x302ffe
jmp 0x302f8a
jmp 0x302f1b
jmp 0x302e9e
jmp 0x302e24
jmp 0x3031c9
cmp eax, 0xc0000095
je 0x302b49
cmp eax, 0xc0000096
je 0x302b44
cmp eax, 0xc00000fd
je 0x302b3f
cmp eax, 0xe06d7363
je 0x302b3a
jmp 0x303560
jmp 0x30350c
jmp 0x30349c
jmp 0x3033bb
jmp 0x303243
test byte [0x3c2e04], 1
jne 0x302baa
or dword [0x3c2e04], 1
mov dword [0x3bca64], 0x50564d50
mov dword [0x3bca68], 0x5a5c4145
mov dword [0x3bca6c], 0x56544a5b
mov dword [0x3bca70], 0x46465056
mov dword [0x3bca74], 0x5a5c434a
mov dword [0x3bca78], 0x5c415459
mov word [0x3bca7c], 0x5b5a
mov byte [0x3bca7e], 0x15
xor eax, eax
mov cl, byte [eax + 0x3bca64]
xor cl, 0x15
mov byte [eax + 0x3bd110], cl
inc eax
cmp eax, 0x1b
jb 0x302bac
mov eax, 0x3bd110
ret
test byte [0x3c2e00], 1
jne 0x302c27
or dword [0x3c2e00], 1
mov dword [0x3bca80], 0x50564d50
mov dword [0x3bca84], 0x5a5c4145
mov dword [0x3bca88], 0x47544a5b
mov dword [0x3bca8c], 0x4a4c5447
mov dword [0x3bca90], 0x5b405a57
mov dword [0x3bca94], 0x504a4651
mov dword [0x3bca98], 0x5050564d
mov dword [0x3bca9c], 0x15515051
xor eax, eax
mov cl, byte [eax + 0x3bca80]
xor cl, 0x15
mov byte [eax + 0x3bd12c], cl
inc eax
cmp eax, 0x20
jb 0x302c29
mov eax, 0x3bd12c
ret
test byte [0x3c2dfc], 1
jne 0x302c8d
or dword [0x3c2dfc], 1
mov dword [0x3bcaa0], 0x50564d50
mov dword [0x3bcaa4], 0x5a5c4145
mov dword [0x3bcaa8], 0x47574a5b
mov dword [0x3bcaac], 0x455e5450
mov dword [0x3bcab0], 0x415b5c5a
mov byte [0x3bcab4], 0x15
xor eax, eax
mov cl, byte [eax + 0x3bcaa0]
xor cl, 0x15
mov byte [eax + 0x3bd14c], cl
inc eax
cmp eax, 0x15
jb 0x302c8f
mov eax, 0x3bd14c
ret
test byte [0x3c2df8], 1
jne 0x302d0a
or dword [0x3c2df8], 1
mov dword [0x3bcab8], 0x50564d50
mov dword [0x3bcabc], 0x5a5c4145
mov dword [0x3bcac0], 0x54514a5b
mov dword [0x3bcac4], 0x4c415441
mov dword [0x3bcac8], 0x584a5045
mov dword [0x3bcacc], 0x5954465c
mov dword [0x3bcad0], 0x585b525c
mov dword [0x3bcad4], 0x15415b50
xor eax, eax
mov cl, byte [eax + 0x3bcab8]
xor cl, 0x15
mov byte [eax + 0x3bd164], cl
inc eax
cmp eax, 0x20
jb 0x302d0c
mov eax, 0x3bd164
ret
test byte [0x3c2df4], 1
jne 0x302d8d
or dword [0x3c2df4], 1
mov dword [0x3bcad8], 0x50564d50
mov dword [0x3bcadc], 0x5a5c4145
mov dword [0x3bcae0], 0x59534a5b
mov dword [0x3bcae4], 0x50514a41
mov dword [0x3bcae8], 0x58475a5b
mov dword [0x3bcaec], 0x5a4a5954
mov dword [0x3bcaf0], 0x54475045
mov word [0x3bcaf4], 0x515b
mov byte [0x3bcaf6], 0x15
xor eax, eax
mov cl, byte [eax + 0x3bcad8]
xor cl, 0x15
mov byte [eax + 0x3bd184], cl
inc eax
cmp eax, 0x1f
jb 0x302d8f
mov eax, 0x3bd184
ret
test byte [0x3c2df0], 1
jne 0x302e07
or dword [0x3c2df0], 1
mov dword [0x3bcaf8], 0x50564d50
mov dword [0x3bcafc], 0x5a5c4145
mov dword [0x3bcb00], 0x59534a5b
mov dword [0x3bcb04], 0x5c514a41
mov dword [0x3bcb08], 0x50515c43
mov dword [0x3bcb0c], 0x4a4c574a
mov dword [0x3bcb10], 0x5a47504f
mov byte [0x3bcb14], 0x15
xor eax, eax
mov cl, byte [eax + 0x3bcaf8]
xor cl, 0x15
mov byte [eax + 0x3bd1a4], cl
inc eax
cmp eax, 0x1d
jb 0x302e09
mov eax, 0x3bd1a4
ret
test byte [0x3c2dec], 1
jne 0x302e81
or dword [0x3c2dec], 1
mov dword [0x3bcb18], 0x50564d50
mov dword [0x3bcb1c], 0x5a5c4145
mov dword [0x3bcb20], 0x59534a5b
mov dword [0x3bcb24], 0x5b5c4a41
mov dword [0x3bcb28], 0x56544d50
mov dword [0x3bcb2c], 0x50474a41
mov dword [0x3bcb30], 0x41594046
mov byte [0x3bcb34], 0x15
xor eax, eax
mov cl, byte [eax + 0x3bcb18]
xor cl, 0x15
mov byte [eax + 0x3bd1c4], cl
inc eax
cmp eax, 0x1d
jb 0x302e83
mov eax, 0x3bd1c4
ret
test byte [0x3c2de8], 1
jne 0x302efe
or dword [0x3c2de8], 1
mov dword [0x3bcb38], 0x50564d50
mov dword [0x3bcb3c], 0x5a5c4145
mov dword [0x3bcb40], 0x59534a5b
mov dword [0x3bcb44], 0x5b5c4a41
mov dword [0x3bcb48], 0x5c595443
mov dword [0x3bcb4c], 0x455a4a51
mov dword [0x3bcb50], 0x41544750
mov dword [0x3bcb54], 0x155b5a5c
xor eax, eax
mov cl, byte [eax + 0x3bcb38]
xor cl, 0x15
mov byte [eax + 0x3bd1e4], cl
inc eax
cmp eax, 0x20
jb 0x302f00
mov eax, 0x3bd1e4
ret
test byte [0x3c2de4], 1
jne 0x302f6d
or dword [0x3c2de4], 1
mov dword [0x3bcb58], 0x50564d50
mov dword [0x3bcb5c], 0x5a5c4145
mov dword [0x3bcb60], 0x59534a5b
mov dword [0x3bcb64], 0x435a4a41
mov dword [0x3bcb68], 0x59534750
mov word [0x3bcb6c], 0x425a
mov byte [0x3bcb6e], 0x15
xor eax, eax
mov cl, byte [eax + 0x3bcb58]
xor cl, 0x15
mov byte [eax + 0x3bd204], cl
inc eax
cmp eax, 0x17
jb 0x302f6f
mov eax, 0x3bd204
ret
test byte [0x3c2de0], 1
jne 0x302fdf
or dword [0x3c2de0], 1
mov dword [0x3bcb70], 0x50564d50
mov dword [0x3bcb74], 0x5a5c4145
mov dword [0x3bcb78], 0x59534a5b
mov dword [0x3bcb7c], 0x41464a41
mov dword [0x3bcb80], 0x4a5e5654
mov dword [0x3bcb84], 0x56505d56
mov word [0x3bcb88], 0x155e
xor eax, eax
mov cl, byte [eax + 0x3bcb70]
xor cl, 0x15
mov byte [eax + 0x3bd21c], cl
inc eax
cmp eax, 0x1a
jb 0x302fe1
mov eax, 0x3bd21c
ret
test byte [0x3c2ddc], 1
jne 0x30304a
or dword [0x3c2ddc], 1
mov dword [0x3bcb8c], 0x50564d50
mov dword [0x3bcb90], 0x5a5c4145
mov dword [0x3bcb94], 0x59534a5b
mov dword [0x3bcb98], 0x5b404a41
mov dword [0x3bcb9c], 0x53475051
mov dword [0x3bcba0], 0x15425a59
xor eax, eax
mov cl, byte [eax + 0x3bcb8c]
xor cl, 0x15
mov byte [eax + 0x3bd238], cl
inc eax
cmp eax, 0x18
jb 0x30304c
mov eax, 0x3bd238
ret
test byte [0x3c2dd8], 1
jne 0x3030c6
or dword [0x3c2dd8], 1
mov dword [0x3bcba4], 0x50564d50
mov dword [0x3bcba8], 0x5a5c4145
mov dword [0x3bcbac], 0x595c4a5b
mov dword [0x3bcbb0], 0x54525059
mov dword [0x3bcbb4], 0x5b5c4a59
mov dword [0x3bcbb8], 0x40474146
mov dword [0x3bcbbc], 0x5a5c4156
mov word [0x3bcbc0], 0x155b
xor eax, eax
mov cl, byte [eax + 0x3bcba4]
xor cl, 0x15
mov byte [eax + 0x3bd250], cl
inc eax
cmp eax, 0x1e
jb 0x3030c8
mov eax, 0x3bd250
ret
test byte [0x3c2dd4], 1
jne 0x303143
or dword [0x3c2dd4], 1
mov dword [0x3bcbc4], 0x50564d50
mov dword [0x3bcbc8], 0x5a5c4145
mov dword [0x3bcbcc], 0x5b5c4a5b
mov dword [0x3bcbd0], 0x5c595443
mov dword [0x3bcbd4], 0x5a594a51
mov dword [0x3bcbd8], 0x464a5e56
mov dword [0x3bcbdc], 0x50404450
mov dword [0x3bcbe0], 0x1550565b
xor eax, eax
mov cl, byte [eax + 0x3bcbc4]
xor cl, 0x15
mov byte [eax + 0x3bd270], cl
inc eax
cmp eax, 0x20
jb 0x303145
mov eax, 0x3bd270
ret
test byte [0x3c2dd0], 1
jne 0x3031ac
or dword [0x3c2dd0], 1
mov dword [0x3bcbe4], 0x50564d50
mov dword [0x3bcbe8], 0x5a5c4145
mov dword [0x3bcbec], 0x5b5c4a5b
mov dword [0x3bcbf0], 0x5254454a
mov dword [0x3bcbf4], 0x47504a50
mov dword [0x3bcbf8], 0x15475a47
xor eax, eax
mov cl, byte [eax + 0x3bcbe4]
xor cl, 0x15
mov byte [eax + 0x3bd290], cl
inc eax
cmp eax, 0x18
jb 0x3031ae
mov eax, 0x3bd290
ret
test byte [0x3c2dcc], 1
jne 0x303226
or dword [0x3c2dcc], 1
mov dword [0x3bcbfc], 0x50564d50
mov dword [0x3bcc00], 0x5a5c4145
mov dword [0x3bcc04], 0x5b5c4a5b
mov dword [0x3bcc08], 0x5c514a41
mov dword [0x3bcc0c], 0x50515c43
mov dword [0x3bcc10], 0x4a4c574a
mov dword [0x3bcc14], 0x5a47504f
mov byte [0x3bcc18], 0x15
xor eax, eax
mov cl, byte [eax + 0x3bcbfc]
xor cl, 0x15
mov byte [eax + 0x3bd2a8], cl
inc eax
cmp eax, 0x1d
jb 0x303228
mov eax, 0x3bd2a8
ret
test byte [0x3c2dc8], 1
jne 0x303295
or dword [0x3c2dc8], 1
mov dword [0x3bcc1c], 0x50564d50
mov dword [0x3bcc20], 0x5a5c4145
mov dword [0x3bcc24], 0x5b5c4a5b
mov dword [0x3bcc28], 0x435a4a41
mov dword [0x3bcc2c], 0x59534750
mov word [0x3bcc30], 0x425a
mov byte [0x3bcc32], 0x15
xor eax, eax
mov cl, byte [eax + 0x3bcc1c]
xor cl, 0x15
mov byte [eax + 0x3bd2c8], cl
inc eax
cmp eax, 0x17
jb 0x303297
mov eax, 0x3bd2c8
ret
test byte [0x3c2dc4], 1
jne 0x303311
or dword [0x3c2dc4], 1
mov dword [0x3bcc34], 0x50564d50
mov dword [0x3bcc38], 0x5a5c4145
mov dword [0x3bcc3c], 0x5b5c4a5b
mov dword [0x3bcc40], 0x5c595443
mov dword [0x3bcc44], 0x5c514a51
mov dword [0x3bcc48], 0x465a4546
mov dword [0x3bcc4c], 0x5a5c415c
mov word [0x3bcc50], 0x155b
xor eax, eax
mov cl, byte [eax + 0x3bcc34]
xor cl, 0x15
mov byte [eax + 0x3bd2e0], cl
inc eax
cmp eax, 0x1e
jb 0x303313
mov eax, 0x3bd2e0
ret
test byte [0x3c2dc0], 1
jne 0x30339e
or dword [0x3c2dc0], 1
mov dword [0x3bcc54], 0x50564d50
mov dword [0x3bcc58], 0x5a5c4145
mov dword [0x3bcc5c], 0x5a5b4a5b
mov dword [0x3bcc60], 0x5b5a565b
mov dword [0x3bcc64], 0x405b5c41
mov dword [0x3bcc68], 0x50595754
mov dword [0x3bcc6c], 0x564d504a
mov dword [0x3bcc70], 0x5c414550
mov word [0x3bcc74], 0x5b5a
mov byte [0x3bcc76], 0x15
xor eax, eax
mov cl, byte [eax + 0x3bcc54]
xor cl, 0x15
mov byte [eax + 0x3bd300], cl
inc eax
cmp eax, 0x23
jb 0x3033a0
mov eax, 0x3bd300
ret
test byte [0x3c2dbc], 1
jne 0x303417
or dword [0x3c2dbc], 1
mov dword [0x3bcc78], 0x50564d50
mov dword [0x3bcc7c], 0x5a5c4145
mov dword [0x3bcc80], 0x47454a5b
mov dword [0x3bcc84], 0x5c4a435c
mov dword [0x3bcc88], 0x4741465b
mov dword [0x3bcc8c], 0x5c415640
mov word [0x3bcc90], 0x5b5a
mov byte [0x3bcc92], 0x15
xor eax, eax
mov cl, byte [eax + 0x3bcc78]
xor cl, 0x15
mov byte [eax + 0x3bd324], cl
inc eax
cmp eax, 0x1b
jb 0x303419
mov eax, 0x3bd324
ret
test byte [0x3c2db8], 1
jne 0x30347f
or dword [0x3c2db8], 1
mov dword [0x3bcc94], 0x50564d50
mov dword [0x3bcc98], 0x5a5c4145
mov dword [0x3bcc9c], 0x5c464a5b
mov dword [0x3bcca0], 0x5059525b
mov dword [0x3bcca4], 0x5041464a
mov word [0x3bcca8], 0x1545
xor eax, eax
mov cl, byte [eax + 0x3bcc94]
xor cl, 0x15
mov byte [eax + 0x3bd340], cl
inc eax
cmp eax, 0x16
jb 0x303481
mov eax, 0x3bd340
ret
test byte [0x3c2db4], 1
jne 0x3034ef
or dword [0x3c2db4], 1
mov dword [0x3bccac], 0x50564d50
mov dword [0x3bccb0], 0x5a5c4145
mov dword [0x3bccb4], 0x41464a5b
mov dword [0x3bccb8], 0x4a5e5654
mov dword [0x3bccbc], 0x4750435a
mov dword [0x3bccc0], 0x425a5953
mov byte [0x3bccc4], 0x15
xor eax, eax
mov cl, byte [eax + 0x3bccac]
xor cl, 0x15
mov byte [eax + 0x3bd358], cl
inc eax
cmp eax, 0x19
jb 0x3034f1
mov eax, 0x3bd358
ret
test byte [0x3c2db0], 1
jne 0x303543
or dword [0x3c2db0], 1
mov dword [0x3bccc8], 0x4a454556
mov dword [0x3bcccc], 0x50564d50
mov dword [0x3bccd0], 0x5a5c4145
mov word [0x3bccd4], 0x155b
xor eax, eax
mov cl, byte [eax + 0x3bccc8]
xor cl, 0x15
mov byte [eax + 0x3bd374], cl
inc eax
cmp eax, 0xe
jb 0x303545
mov eax, 0x3bd374
ret
test byte [0x3c2dac], 1
jne 0x303584
or dword [0x3c2dac], 1
mov dword [0x3bccd8], 0x5b5e5b40
mov dword [0x3bccdc], 0x155b425a
xor eax, eax
mov cl, byte [eax + 0x3bccd8]
xor cl, 0x15
mov byte [eax + 0x3bd384], cl
inc eax
cmp eax, 8
jb 0x303586
mov eax, 0x3bd384
ret