Function at 0x509000
Capabilities:
Encode data using xor

Disassembly:
push eax
push ecx
push edx
push ebx
push ebp
push esi
push edi
call 0x50900c
pop eax
sub eax, 0x8c20c
push 0
pop edi
push eax
not dword [eax + 0x3a4]
xor dword [eax + 0x1ec], 0x6a3739e1
sub dword [eax + 0x1f4], 0x55df1a57
add dword [eax + 0x2f8], 0x3ecf6083
add dword [eax + 0x1c8], 0x2de81f6a
add dword [eax + 0x258], 0x56514483
add dword [eax + 0x48], 0x5c2621b6
sub dword [eax + 0x2e0], 0x77a83de7
add dword [eax + 0x378], 0x57f94e87
xor dword [eax + 0x158], 0x7e87466c
not dword [eax + 0x28c]
xor dword [eax + 0xa0], 0x9981dfb
sub dword [eax + 0x2c0], 0x7f4555ec
not dword [eax + 0x1c0]
xor dword [eax + 0x68], 0xa1a4c05
add dword [eax + 0x6c], 0x5523223f
sub dword [eax + 0x1e0], 0x49090e5f
add dword [eax + 0x9c], 0x181b7f11
not dword [eax + 0x118]
xor dword [eax + 0x40], 0x6ad407c9
sub dword [eax + 0x3b4], 0x694610a4
not dword [eax + 0x3cc]
not dword [eax + 0x24]
sub dword [eax + 0x2fc], 0x40b929ec
not dword [eax + 0x274]
xor dword [eax + 0x24c], 0x219b18ef
sub dword [eax + 0x194], 0xeee7fea
xor dword [eax + 0x36c], 0x1b195f53
xor dword [eax + 0x22c], 0x74603c70
sub dword [eax + 0x2dc], 0x321aa2
not dword [eax + 0xbc]
add dword [eax + 0x1d8], 0x20660bc4
sub dword [eax + 0x154], 0x479b3146
xor dword [eax + 0x90], 0x47080bd9
not dword [eax + 0xec]
xor dword [eax + 0x398], 0x2cef428d
not dword [eax + 0x360]
xor dword [eax + 0x1b4], 0x8f10fe9
xor dword [eax + 0x128], 0x3cc816e1
add dword [eax + 0x148], 0x29bb2ed9
sub dword [eax + 0x78], 0x47be4cc1
sub dword [eax + 0x270], 0x2fd82d04
xor dword [eax + 0xd8], 0x2c1d1602
xor dword [eax + 0x320], 0x262c51b7
not dword [eax + 0x244]
xor dword [eax + 0x37c], 0x48b45850
not dword [eax + 0xc]
xor dword [eax + 0x2ec], 0x360b40ae
xor dword [eax + 0x2a0], 0x35e41f86
add dword [eax + 0x328], 0x694c6249
xor dword [eax + 0x84], 0x66402bc9
not dword [eax + 0x310]
not dword [eax + 0x350]
xor dword [eax + 0x294], 0x12e446a4
xor dword [eax + 0x390], 0x7b9c2864
sub dword [eax + 0xac], 0x40f66aa0
not dword [eax + 0x224]
sub dword [eax + 0x138], 0x6d5f5cfa
sub dword [eax + 0xb8], 0x7db26e81
xor dword [eax + 0x35c], 0x34bd0a90
sub dword [eax + 0x134], 0x2bcc111f
xor dword [eax + 0x1f8], 0x73693dbf
xor dword [eax + 0x1c4], 0x8ca5f2b
not dword [eax + 0x20]
sub dword [eax + 0x2b0], 0x42b2211
add dword [eax + 0x1b0], 0x101566ec
xor dword [eax + 0x2f4], 0x62283b95
xor dword [eax + 0x64], 0x23f272e
not dword [eax + 0x2d8]
sub dword [eax + 0xe4], 0x16a65374
xor dword [eax + 0x338], 0x665262f3
xor dword [eax + 0x1cc], 0x688c31bb
xor dword [eax + 0x88], 0x1c120b35
add dword [eax + 0x4c], 0x3c6a7843
add dword [eax + 0x124], 0x242c1b79
sub dword [eax + 0x1e8], 0x5651b71
xor dword [eax + 0x3e8], 0x11490b8f
sub dword [eax + 0x3f0], 0x35192d32
xor dword [eax + 0x3d0], 0x6db34fc7
xor dword [eax + 0x27c], 0x41c0759e
xor dword [eax + 0x210], 0x238b27ab
xor dword [eax + 0x288], 0x4c012864
not dword [eax + 0x120]
sub dword [eax + 0x34], 0x4a9a59c4
not dword [eax + 0x230]
not dword [eax + 0xd4]
add dword [eax + 0xc0], 0x78db1255
not dword [eax + 0xdc]
sub dword [eax + 0x220], 0x76ef48f9
not dword [eax + 0x3b8]
add dword [eax + 0x21c], 0x32760693
not dword [eax + 0x228]
sub dword [eax + 0x104], 0x75cb6bc8
xor dword [eax + 0x31c], 0x5c44b87
not dword [eax + 0x44]
not dword [eax + 0x2a4]
xor dword [eax + 0x3e4], 0xcc5009d
sub dword [eax + 4], 0x448f0396
sub dword [eax + 0x214], 0x7460173f
sub dword [eax + 0x70], 0x3be915cf
sub dword [eax + 0x278], 0x3276013
xor dword [eax + 0x14], 0x3dd50756
add dword [eax + 0x240], 0x2f087bc7
xor dword [eax + 0x2c], 0x2654d1c
not dword [eax + 0xe0]
sub dword [eax + 0x29c], 0x3f294ad4
xor dword [eax + 0x340], 0x4dac04c2
sub dword [eax + 0x2e8], 0xee83625
xor dword [eax + 0x3bc], 0x878547d
xor dword [eax + 0x170], 0x3feb133c
sub dword [eax + 0xb4], 0x1d976b1b
xor dword [eax + 0x348], 0x35166cbb
add dword [eax + 0x3f8], 0x543d1d98
add dword [eax + 0x13c], 0x70b4154a
not dword [eax + 0x168]
not dword [eax + 0x3ac]
add dword [eax + 0x1bc], 0x40267766
sub dword [eax + 0x308], 0x5d4e7a75
sub dword [eax + 0x3b0], 0x139c29c3
xor dword [eax + 0x344], 0x28cb7269
not dword [eax + 0x234]
xor dword [eax + 0x298], 0x3d320207
not dword [eax + 0x204]
sub dword [eax + 0x8c], 0x4ba82fde
xor dword [eax + 0x1e4], 0x4f1c6eb3
sub dword [eax + 0x108], 0x11da78c7
xor dword [eax + 0xa4], 0x5f9903b7
add dword [eax + 8], 0x36f038d6
xor dword [eax + 0x10c], 0x6d416ada
not dword [eax + 0x54]
xor dword [eax + 0x7c], 0x588a5653
not dword [eax + 0x324]
sub dword [eax], 0x76612f30
xor dword [eax + 0x28], 0x54396bc6
add dword [eax + 0x368], 0x57f16c87
not dword [eax + 0x34c]
xor dword [eax + 0x254], 0x192d65b6
xor dword [eax + 0x180], 0xca5b83
sub dword [eax + 0xfc], 0x3d2d09be
sub dword [eax + 0x218], 0x154820e8
sub dword [eax + 0x25c], 0xa4e52
xor dword [eax + 0x188], 0x5f2985
sub dword [eax + 0x10], 0x65293adc
xor dword [eax + 0x5c], 0x37ef7269
sub dword [eax + 0x1b8], 0x4c7a5863
sub dword [eax + 0xe8], 0x2bfe53b4
not dword [eax + 0x1a0]
not dword [eax + 0x26c]
xor dword [eax + 0x144], 0x398d331c
add dword [eax + 0x58], 0x388f000f
add dword [eax + 0x280], 0x17973d86
xor dword [eax + 0xd0], 0x1f03465b
not dword [eax + 0x178]
not dword [eax + 0x3d8]
sub dword [eax + 0x3c0], 0x2e157703
xor dword [eax + 0x1f0], 0x553838f8
sub dword [eax + 0x38c], 0x3d5d69fd
xor dword [eax + 0x2d0], 0x308537f4
not dword [eax + 0x208]
add dword [eax + 0x3c4], 0x7cf53929
xor dword [eax + 0x1dc], 0x84e144a
add dword [eax + 0x354], 0x2e771a94
xor dword [eax + 0x334], 0x3b3175d5
add dword [eax + 0x190], 0x7fe16f08
xor dword [eax + 0x94], 0x4861510e
not dword [eax + 0x1a8]
add dword [eax + 0x30c], 0x502a02c9
not dword [eax + 0x140]
sub dword [eax + 0x114], 0x67d7098c
not dword [eax + 0x160]
add dword [eax + 0x384], 0x29034985
not dword [eax + 0x2cc]
xor dword [eax + 0x380], 0x415b7ee2
xor dword [eax + 0x30], 0x223b4966
sub dword [eax + 0x300], 0x43ae046d
xor dword [eax + 0x364], 0x31383c39
not dword [eax + 0x1fc]
xor dword [eax + 0x12c], 0x23d64fca
add dword [eax + 0x2ac], 0x6afc2b9b
sub dword [eax + 0x150], 0x52a4118c
add dword [eax + 0x2b4], 0x52eb0c2b
not dword [eax + 0x174]
sub dword [eax + 0x98], 0x3a3c3079
xor dword [eax + 0xb0], 0x5c9a1692
add dword [eax + 0x3e0], 0x3347596f
xor dword [eax + 0x2b8], 0x2b5c2fe8
xor dword [eax + 0x284], 0x69c01480
not dword [eax + 0x330]
sub dword [eax + 0x1ac], 0x597c6272
not dword [eax + 0x3c8]
sub dword [eax + 0x3f4], 0x60404338
xor dword [eax + 0x38], 0x71dc1b80
sub dword [eax + 0x318], 0x7d8c6fc1
xor dword [eax + 0x80], 0x1e342318
sub dword [eax + 0x248], 0x1c76729b
sub dword [eax + 0x50], 0x6b4e389b
not dword [eax + 0x370]
xor dword [eax + 0x33c], 0xedf616e
xor dword [eax + 0x1d4], 0x1ec96e7c
xor dword [eax + 0x14c], 0x30f95072
sub dword [eax + 0x3a0], 0x1ea10d44
sub dword [eax + 0x1d0], 0x2c8a2d66
sub dword [eax + 0x200], 0x433d5d76
add dword [eax + 0xa8], 0x741b4e6a
xor dword [eax + 0x290], 0x407d054c
sub dword [eax + 0x20c], 0x23443322
add dword [eax + 0x1c], 0x57564b2b
add dword [eax + 0xc4], 0x4afe533d
xor dword [eax + 0x60], 0x2d342100
not dword [eax + 0x3d4]
add dword [eax + 0x18c], 0x5ca20cfe
sub dword [eax + 0x18], 0x22235d15
not dword [eax + 0x100]
sub dword [eax + 0x374], 0x489e060e
xor dword [eax + 0x2c4], 0x3e314a39
xor dword [eax + 0x304], 0x76e831a0
xor dword [eax + 0xf0], 0x8991396
xor dword [eax + 0x11c], 0x2e74a09
sub dword [eax + 0x184], 0x296a7c2c
sub dword [eax + 0x19c], 0x5b3276d
add dword [eax + 0xf8], 0x354d498f
sub dword [eax + 0x260], 0x13a506ff
add dword [eax + 0x358], 0x34ab7e15
xor dword [eax + 0x1a4], 0x4f004ae6
add dword [eax + 0x2f0], 0x2b231b97
sub dword [eax + 0x394], 0x3a032dfb
sub dword [eax + 0xc8], 0x9d802f0
sub dword [eax + 0x2bc], 0x4e441320
sub dword [eax + 0x238], 0x7a9c3635
xor dword [eax + 0x250], 0x470d3120
add dword [eax + 0x16c], 0x4e804e09
xor dword [eax + 0x3a8], 0x2259265f
xor dword [eax + 0x3fc], 0x62a97320
add dword [eax + 0x2d4], 0x537f580b
xor dword [eax + 0x388], 0x4fb81792
sub dword [eax + 0x3ec], 0x498a6942
not dword [eax + 0x3dc]
sub dword [eax + 0x32c], 0x17c531cc
sub dword [eax + 0x3c], 0xa301add
sub dword [eax + 0x268], 0x5f176571
add dword [eax + 0x264], 0x499b00dc
add dword [eax + 0x164], 0xd335e19
xor dword [eax + 0x2a8], 0x528250dd
xor dword [eax + 0x314], 0x2933192f
not dword [eax + 0x2c8]
not dword [eax + 0x23c]
sub dword [eax + 0x2e4], 0x6de7642b
xor dword [eax + 0xf4], 0x3da75ebe
sub dword [eax + 0xcc], 0x7f6b7e3c
sub dword [eax + 0x74], 0x47451e53
add dword [eax + 0x110], 0x4128422a
not dword [eax + 0x198]
add dword [eax + 0x15c], 0x11064f30
add dword [eax + 0x39c], 0x43e5406
sub dword [eax + 0x130], 0x43705501
xor dword [eax + 0x17c], 0x6ef275df
add edi, 0x400
add eax, 0x400
cmp edi, 0x8c000
jne 0x509017
call fcn.004c6d54
pop edi
pop esi
pop ebp
pop ebx
pop edx
pop ecx
pop eax