Function at 0x402a27
Capabilities:
Encode data using xor

Disassembly:
mov ecx, 0xc000008e
cmp eax, ecx
ja 0x402acd
je 0x402ac8
add ecx, 0xffffff8f
cmp eax, ecx
ja 0x402a88
je 0x402a83
cmp eax, 0x80000002
je 0x402a7e
cmp eax, 0x80000003
je 0x402a79
cmp eax, 0x80000004
je 0x402a74
cmp eax, 0xc0000005
je 0x402a6f
cmp eax, 0xc0000006
jne 0x402b35
jmp 0x403160
jmp 0x402b4e
jmp 0x403434
jmp 0x402c44
jmp 0x402caa
jmp 0x403067
cmp eax, 0xc000001e
je 0x402ac3
cmp eax, 0xc0000025
je 0x402abe
cmp eax, 0xc0000026
je 0x402ab9
cmp eax, 0xc000008c
je 0x402ab4
cmp eax, 0xc000008d
jne 0x402b35
jmp 0x402d27
jmp 0x402bc7
jmp 0x4032b2
jmp 0x40332e
jmp 0x4030e3
jmp 0x402daa
mov ecx, 0xc0000094
cmp eax, ecx
ja 0x402b19
je 0x402b14
cmp eax, 0xc000008f
je 0x402b0f
cmp eax, 0xc0000090
je 0x402b0a
cmp eax, 0xc0000091
je 0x402b05
cmp eax, 0xc0000092
je 0x402b00
cmp eax, 0xc0000093
jne 0x402b35
jmp 0x402ffe
jmp 0x402f8a
jmp 0x402f1b
jmp 0x402e9e
jmp 0x402e24
jmp 0x4031c9
cmp eax, 0xc0000095
je 0x402b49
cmp eax, 0xc0000096
je 0x402b44
cmp eax, 0xc00000fd
je 0x402b3f
cmp eax, 0xe06d7363
je 0x402b3a
jmp 0x403560
jmp 0x40350c
jmp 0x40349c
jmp 0x4033bb
jmp 0x403243
test byte [0x4c2e04], 1
jne 0x402baa
or dword [0x4c2e04], 1
mov dword [0x4bca64], 0x50564d50
mov dword [0x4bca68], 0x5a5c4145
mov dword [0x4bca6c], 0x56544a5b
mov dword [0x4bca70], 0x46465056
mov dword [0x4bca74], 0x5a5c434a
mov dword [0x4bca78], 0x5c415459
mov word [0x4bca7c], 0x5b5a
mov byte [0x4bca7e], 0x15
xor eax, eax
mov cl, byte [eax + 0x4bca64]
xor cl, 0x15
mov byte [eax + 0x4bd110], cl
inc eax
cmp eax, 0x1b
jb 0x402bac
mov eax, 0x4bd110
ret
test byte [0x4c2e00], 1
jne 0x402c27
or dword [0x4c2e00], 1
mov dword [0x4bca80], 0x50564d50
mov dword [0x4bca84], 0x5a5c4145
mov dword [0x4bca88], 0x47544a5b
mov dword [0x4bca8c], 0x4a4c5447
mov dword [0x4bca90], 0x5b405a57
mov dword [0x4bca94], 0x504a4651
mov dword [0x4bca98], 0x5050564d
mov dword [0x4bca9c], 0x15515051
xor eax, eax
mov cl, byte [eax + 0x4bca80]
xor cl, 0x15
mov byte [eax + 0x4bd12c], cl
inc eax
cmp eax, 0x20
jb 0x402c29
mov eax, 0x4bd12c
ret
test byte [0x4c2dfc], 1
jne 0x402c8d
or dword [0x4c2dfc], 1
mov dword [0x4bcaa0], 0x50564d50
mov dword [0x4bcaa4], 0x5a5c4145
mov dword [0x4bcaa8], 0x47574a5b
mov dword [0x4bcaac], 0x455e5450
mov dword [0x4bcab0], 0x415b5c5a
mov byte [0x4bcab4], 0x15
xor eax, eax
mov cl, byte [eax + 0x4bcaa0]
xor cl, 0x15
mov byte [eax + 0x4bd14c], cl
inc eax
cmp eax, 0x15
jb 0x402c8f
mov eax, 0x4bd14c
ret
test byte [0x4c2df8], 1
jne 0x402d0a
or dword [0x4c2df8], 1
mov dword [0x4bcab8], 0x50564d50
mov dword [0x4bcabc], 0x5a5c4145
mov dword [0x4bcac0], 0x54514a5b
mov dword [0x4bcac4], 0x4c415441
mov dword [0x4bcac8], 0x584a5045
mov dword [0x4bcacc], 0x5954465c
mov dword [0x4bcad0], 0x585b525c
mov dword [0x4bcad4], 0x15415b50
xor eax, eax
mov cl, byte [eax + 0x4bcab8]
xor cl, 0x15
mov byte [eax + 0x4bd164], cl
inc eax
cmp eax, 0x20
jb 0x402d0c
mov eax, 0x4bd164
ret
test byte [0x4c2df4], 1
jne 0x402d8d
or dword [0x4c2df4], 1
mov dword [0x4bcad8], 0x50564d50
mov dword [0x4bcadc], 0x5a5c4145
mov dword [0x4bcae0], 0x59534a5b
mov dword [0x4bcae4], 0x50514a41
mov dword [0x4bcae8], 0x58475a5b
mov dword [0x4bcaec], 0x5a4a5954
mov dword [0x4bcaf0], 0x54475045
mov word [0x4bcaf4], 0x515b
mov byte [0x4bcaf6], 0x15
xor eax, eax
mov cl, byte [eax + 0x4bcad8]
xor cl, 0x15
mov byte [eax + 0x4bd184], cl
inc eax
cmp eax, 0x1f
jb 0x402d8f
mov eax, 0x4bd184
ret
test byte [0x4c2df0], 1
jne 0x402e07
or dword [0x4c2df0], 1
mov dword [0x4bcaf8], 0x50564d50
mov dword [0x4bcafc], 0x5a5c4145
mov dword [0x4bcb00], 0x59534a5b
mov dword [0x4bcb04], 0x5c514a41
mov dword [0x4bcb08], 0x50515c43
mov dword [0x4bcb0c], 0x4a4c574a
mov dword [0x4bcb10], 0x5a47504f
mov byte [0x4bcb14], 0x15
xor eax, eax
mov cl, byte [eax + 0x4bcaf8]
xor cl, 0x15
mov byte [eax + 0x4bd1a4], cl
inc eax
cmp eax, 0x1d
jb 0x402e09
mov eax, 0x4bd1a4
ret
test byte [0x4c2dec], 1
jne 0x402e81
or dword [0x4c2dec], 1
mov dword [0x4bcb18], 0x50564d50
mov dword [0x4bcb1c], 0x5a5c4145
mov dword [0x4bcb20], 0x59534a5b
mov dword [0x4bcb24], 0x5b5c4a41
mov dword [0x4bcb28], 0x56544d50
mov dword [0x4bcb2c], 0x50474a41
mov dword [0x4bcb30], 0x41594046
mov byte [0x4bcb34], 0x15
xor eax, eax
mov cl, byte [eax + 0x4bcb18]
xor cl, 0x15
mov byte [eax + 0x4bd1c4], cl
inc eax
cmp eax, 0x1d
jb 0x402e83
mov eax, 0x4bd1c4
ret
test byte [0x4c2de8], 1
jne 0x402efe
or dword [0x4c2de8], 1
mov dword [0x4bcb38], 0x50564d50
mov dword [0x4bcb3c], 0x5a5c4145
mov dword [0x4bcb40], 0x59534a5b
mov dword [0x4bcb44], 0x5b5c4a41
mov dword [0x4bcb48], 0x5c595443
mov dword [0x4bcb4c], 0x455a4a51
mov dword [0x4bcb50], 0x41544750
mov dword [0x4bcb54], 0x155b5a5c
xor eax, eax
mov cl, byte [eax + 0x4bcb38]
xor cl, 0x15
mov byte [eax + 0x4bd1e4], cl
inc eax
cmp eax, 0x20
jb 0x402f00
mov eax, 0x4bd1e4
ret
test byte [0x4c2de4], 1
jne 0x402f6d
or dword [0x4c2de4], 1
mov dword [0x4bcb58], 0x50564d50
mov dword [0x4bcb5c], 0x5a5c4145
mov dword [0x4bcb60], 0x59534a5b
mov dword [0x4bcb64], 0x435a4a41
mov dword [0x4bcb68], 0x59534750
mov word [0x4bcb6c], 0x425a
mov byte [0x4bcb6e], 0x15
xor eax, eax
mov cl, byte [eax + 0x4bcb58]
xor cl, 0x15
mov byte [eax + 0x4bd204], cl
inc eax
cmp eax, 0x17
jb 0x402f6f
mov eax, 0x4bd204
ret
test byte [0x4c2de0], 1
jne 0x402fdf
or dword [0x4c2de0], 1
mov dword [0x4bcb70], 0x50564d50
mov dword [0x4bcb74], 0x5a5c4145
mov dword [0x4bcb78], 0x59534a5b
mov dword [0x4bcb7c], 0x41464a41
mov dword [0x4bcb80], 0x4a5e5654
mov dword [0x4bcb84], 0x56505d56
mov word [0x4bcb88], 0x155e
xor eax, eax
mov cl, byte [eax + 0x4bcb70]
xor cl, 0x15
mov byte [eax + 0x4bd21c], cl
inc eax
cmp eax, 0x1a
jb 0x402fe1
mov eax, 0x4bd21c
ret
test byte [0x4c2ddc], 1
jne 0x40304a
or dword [0x4c2ddc], 1
mov dword [0x4bcb8c], 0x50564d50
mov dword [0x4bcb90], 0x5a5c4145
mov dword [0x4bcb94], 0x59534a5b
mov dword [0x4bcb98], 0x5b404a41
mov dword [0x4bcb9c], 0x53475051
mov dword [0x4bcba0], 0x15425a59
xor eax, eax
mov cl, byte [eax + 0x4bcb8c]
xor cl, 0x15
mov byte [eax + 0x4bd238], cl
inc eax
cmp eax, 0x18
jb 0x40304c
mov eax, 0x4bd238
ret
test byte [0x4c2dd8], 1
jne 0x4030c6
or dword [0x4c2dd8], 1
mov dword [0x4bcba4], 0x50564d50
mov dword [0x4bcba8], 0x5a5c4145
mov dword [0x4bcbac], 0x595c4a5b
mov dword [0x4bcbb0], 0x54525059
mov dword [0x4bcbb4], 0x5b5c4a59
mov dword [0x4bcbb8], 0x40474146
mov dword [0x4bcbbc], 0x5a5c4156
mov word [0x4bcbc0], 0x155b
xor eax, eax
mov cl, byte [eax + 0x4bcba4]
xor cl, 0x15
mov byte [eax + 0x4bd250], cl
inc eax
cmp eax, 0x1e
jb 0x4030c8
mov eax, 0x4bd250
ret
test byte [0x4c2dd4], 1
jne 0x403143
or dword [0x4c2dd4], 1
mov dword [0x4bcbc4], 0x50564d50
mov dword [0x4bcbc8], 0x5a5c4145
mov dword [0x4bcbcc], 0x5b5c4a5b
mov dword [0x4bcbd0], 0x5c595443
mov dword [0x4bcbd4], 0x5a594a51
mov dword [0x4bcbd8], 0x464a5e56
mov dword [0x4bcbdc], 0x50404450
mov dword [0x4bcbe0], 0x1550565b
xor eax, eax
mov cl, byte [eax + 0x4bcbc4]
xor cl, 0x15
mov byte [eax + 0x4bd270], cl
inc eax
cmp eax, 0x20
jb 0x403145
mov eax, 0x4bd270
ret
test byte [0x4c2dd0], 1
jne 0x4031ac
or dword [0x4c2dd0], 1
mov dword [0x4bcbe4], 0x50564d50
mov dword [0x4bcbe8], 0x5a5c4145
mov dword [0x4bcbec], 0x5b5c4a5b
mov dword [0x4bcbf0], 0x5254454a
mov dword [0x4bcbf4], 0x47504a50
mov dword [0x4bcbf8], 0x15475a47
xor eax, eax
mov cl, byte [eax + 0x4bcbe4]
xor cl, 0x15
mov byte [eax + 0x4bd290], cl
inc eax
cmp eax, 0x18
jb 0x4031ae
mov eax, 0x4bd290
ret
test byte [0x4c2dcc], 1
jne 0x403226
or dword [0x4c2dcc], 1
mov dword [0x4bcbfc], 0x50564d50
mov dword [0x4bcc00], 0x5a5c4145
mov dword [0x4bcc04], 0x5b5c4a5b
mov dword [0x4bcc08], 0x5c514a41
mov dword [0x4bcc0c], 0x50515c43
mov dword [0x4bcc10], 0x4a4c574a
mov dword [0x4bcc14], 0x5a47504f
mov byte [0x4bcc18], 0x15
xor eax, eax
mov cl, byte [eax + 0x4bcbfc]
xor cl, 0x15
mov byte [eax + 0x4bd2a8], cl
inc eax
cmp eax, 0x1d
jb 0x403228
mov eax, 0x4bd2a8
ret
test byte [0x4c2dc8], 1
jne 0x403295
or dword [0x4c2dc8], 1
mov dword [0x4bcc1c], 0x50564d50
mov dword [0x4bcc20], 0x5a5c4145
mov dword [0x4bcc24], 0x5b5c4a5b
mov dword [0x4bcc28], 0x435a4a41
mov dword [0x4bcc2c], 0x59534750
mov word [0x4bcc30], 0x425a
mov byte [0x4bcc32], 0x15
xor eax, eax
mov cl, byte [eax + 0x4bcc1c]
xor cl, 0x15
mov byte [eax + 0x4bd2c8], cl
inc eax
cmp eax, 0x17
jb 0x403297
mov eax, 0x4bd2c8
ret
test byte [0x4c2dc4], 1
jne 0x403311
or dword [0x4c2dc4], 1
mov dword [0x4bcc34], 0x50564d50
mov dword [0x4bcc38], 0x5a5c4145
mov dword [0x4bcc3c], 0x5b5c4a5b
mov dword [0x4bcc40], 0x5c595443
mov dword [0x4bcc44], 0x5c514a51
mov dword [0x4bcc48], 0x465a4546
mov dword [0x4bcc4c], 0x5a5c415c
mov word [0x4bcc50], 0x155b
xor eax, eax
mov cl, byte [eax + 0x4bcc34]
xor cl, 0x15
mov byte [eax + 0x4bd2e0], cl
inc eax
cmp eax, 0x1e
jb 0x403313
mov eax, 0x4bd2e0
ret
test byte [0x4c2dc0], 1
jne 0x40339e
or dword [0x4c2dc0], 1
mov dword [0x4bcc54], 0x50564d50
mov dword [0x4bcc58], 0x5a5c4145
mov dword [0x4bcc5c], 0x5a5b4a5b
mov dword [0x4bcc60], 0x5b5a565b
mov dword [0x4bcc64], 0x405b5c41
mov dword [0x4bcc68], 0x50595754
mov dword [0x4bcc6c], 0x564d504a
mov dword [0x4bcc70], 0x5c414550
mov word [0x4bcc74], 0x5b5a
mov byte [0x4bcc76], 0x15
xor eax, eax
mov cl, byte [eax + 0x4bcc54]
xor cl, 0x15
mov byte [eax + 0x4bd300], cl
inc eax
cmp eax, 0x23
jb 0x4033a0
mov eax, 0x4bd300
ret
test byte [0x4c2dbc], 1
jne 0x403417
or dword [0x4c2dbc], 1
mov dword [0x4bcc78], 0x50564d50
mov dword [0x4bcc7c], 0x5a5c4145
mov dword [0x4bcc80], 0x47454a5b
mov dword [0x4bcc84], 0x5c4a435c
mov dword [0x4bcc88], 0x4741465b
mov dword [0x4bcc8c], 0x5c415640
mov word [0x4bcc90], 0x5b5a
mov byte [0x4bcc92], 0x15
xor eax, eax
mov cl, byte [eax + 0x4bcc78]
xor cl, 0x15
mov byte [eax + 0x4bd324], cl
inc eax
cmp eax, 0x1b
jb 0x403419
mov eax, 0x4bd324
ret
test byte [0x4c2db8], 1
jne 0x40347f
or dword [0x4c2db8], 1
mov dword [0x4bcc94], 0x50564d50
mov dword [0x4bcc98], 0x5a5c4145
mov dword [0x4bcc9c], 0x5c464a5b
mov dword [0x4bcca0], 0x5059525b
mov dword [0x4bcca4], 0x5041464a
mov word [0x4bcca8], 0x1545
xor eax, eax
mov cl, byte [eax + 0x4bcc94]
xor cl, 0x15
mov byte [eax + 0x4bd340], cl
inc eax
cmp eax, 0x16
jb 0x403481
mov eax, 0x4bd340
ret
test byte [0x4c2db4], 1
jne 0x4034ef
or dword [0x4c2db4], 1
mov dword [0x4bccac], 0x50564d50
mov dword [0x4bccb0], 0x5a5c4145
mov dword [0x4bccb4], 0x41464a5b
mov dword [0x4bccb8], 0x4a5e5654
mov dword [0x4bccbc], 0x4750435a
mov dword [0x4bccc0], 0x425a5953
mov byte [0x4bccc4], 0x15
xor eax, eax
mov cl, byte [eax + 0x4bccac]
xor cl, 0x15
mov byte [eax + 0x4bd358], cl
inc eax
cmp eax, 0x19
jb 0x4034f1
mov eax, 0x4bd358
ret
test byte [0x4c2db0], 1
jne 0x403543
or dword [0x4c2db0], 1
mov dword [0x4bccc8], 0x4a454556
mov dword [0x4bcccc], 0x50564d50
mov dword [0x4bccd0], 0x5a5c4145
mov word [0x4bccd4], 0x155b
xor eax, eax
mov cl, byte [eax + 0x4bccc8]
xor cl, 0x15
mov byte [eax + 0x4bd374], cl
inc eax
cmp eax, 0xe
jb 0x403545
mov eax, 0x4bd374
ret
test byte [0x4c2dac], 1
jne 0x403584
or dword [0x4c2dac], 1
mov dword [0x4bccd8], 0x5b5e5b40
mov dword [0x4bccdc], 0x155b425a
xor eax, eax
mov cl, byte [eax + 0x4bccd8]
xor cl, 0x15
mov byte [eax + 0x4bd384], cl
inc eax
cmp eax, 8
jb 0x403586
mov eax, 0x4bd384
ret