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 ecx
sub ecx, 0x8c40c
push 0
pop eax
push ecx
add dword [ecx + 0x14], 0x380c7ad2
sub dword [ecx + 0x88], 0x518c159f
not dword [ecx + 0x3ec]
not dword [ecx + 0x108]
not dword [ecx + 0x150]
sub dword [ecx + 0x38c], 0x59b75276
not dword [ecx + 0xc]
sub dword [ecx + 0x174], 0x49c26001
add dword [ecx + 0x40], 0xadb5226
sub dword [ecx + 0x34], 0x7a61e92
xor dword [ecx + 0x19c], 0x4f204b7e
add dword [ecx + 0x224], 0x2ff2523c
not dword [ecx + 0x1c0]
sub dword [ecx + 0x188], 0x4f057a33
not dword [ecx + 0x22c]
add dword [ecx + 0x3b4], 0x537d04b8
xor dword [ecx + 0x374], 0x5b77258a
sub dword [ecx + 0x268], 0x772e3652
sub dword [ecx + 0x38], 0x78048e0
not dword [ecx + 0x398]
add dword [ecx + 0x15c], 0x77be19dd
xor dword [ecx + 0x2e0], 0x57f226f2
xor dword [ecx + 0x25c], 0x38144d3b
add dword [ecx + 0x2a0], 0x6b735379
sub dword [ecx + 0x124], 0x3a0a1641
add dword [ecx + 0x1f0], 0x76471af0
add dword [ecx + 0x134], 0x41356085
add dword [ecx + 0x33c], 0x1b1d5384
sub dword [ecx + 0x3d4], 0xbb57040
sub dword [ecx + 0x14c], 0x4411673
not dword [ecx + 0x1f8]
add dword [ecx + 0x144], 0x28d60297
sub dword [ecx + 0x35c], 0x6f0376bb
add dword [ecx + 0x1a4], 0x4b934558
sub dword [ecx + 0x290], 0x3c976699
sub dword [ecx + 0xb0], 0x434074aa
add dword [ecx + 0x338], 0x64b74846
sub dword [ecx + 0x1c8], 0x3be53eef
not dword [ecx + 0x2a8]
not dword [ecx + 0x1e0]
not dword [ecx + 0x1e4]
xor dword [ecx + 0x68], 0x16e5385d
xor dword [ecx + 0x354], 0x791f6b11
xor dword [ecx + 0x50], 0x5a6d6cd3
not dword [ecx + 0x258]
add dword [ecx + 0x1d0], 0x1396a02
sub dword [ecx + 0x240], 0x1b742b65
xor dword [ecx + 0x24], 0x5c1a629f
add dword [ecx + 0x2f8], 0x5ef846db
xor dword [ecx + 0x30c], 0x16135608
add dword [ecx + 0x184], 0x33d30d8f
xor dword [ecx + 0x28c], 0x42e6c6f
xor dword [ecx + 0x58], 0x1d501c1a
not dword [ecx + 0x39c]
sub dword [ecx + 0x36c], 0x2c204583
xor dword [ecx + 0x330], 0x6ba3408a
not dword [ecx + 0x3a4]
add dword [ecx + 0xa8], 0x87a3165
sub dword [ecx + 0x270], 0x1b5828ba
xor dword [ecx + 0x5c], 0x14240e2
add dword [ecx + 0x3d0], 0x3bc02327
add dword [ecx + 0x1c], 0x2e72ada
sub dword [ecx + 0x2e8], 0x7fc63f58
not dword [ecx + 0x8c]
sub dword [ecx + 0x20], 0x19db00d7
add dword [ecx + 0x1d8], 0x372e4027
sub dword [ecx + 0x100], 0x69804ff2
xor dword [ecx + 0x198], 0x28cd4404
sub dword [ecx + 0x234], 0x2a47484c
sub dword [ecx + 0x2c0], 0x48e90b50
sub dword [ecx + 0x3ac], 0x4d025dba
sub dword [ecx + 0x10], 0x5e140289
xor dword [ecx + 0x298], 0x57a50a13
add dword [ecx + 0x54], 0x305260ce
not dword [ecx + 0x220]
xor dword [ecx + 0x2f0], 0x4c043910
xor dword [ecx + 0x94], 0x76e33cb6
xor dword [ecx + 0x158], 0x64c91288
add dword [ecx + 0x294], 0x1169700e
xor dword [ecx + 0x2d4], 0x33007725
add dword [ecx + 0x378], 0x60a17513
sub dword [ecx + 0x3cc], 0x47604c03
sub dword [ecx + 0x334], 0x759d6fa7
add dword [ecx + 0x364], 0x3170cec
xor dword [ecx + 0x48], 0x57ac4c13
not dword [ecx + 0xbc]
not dword [ecx + 0x260]
add dword [ecx + 0xac], 0x3a46470
xor dword [ecx + 0x194], 0x3fa02264
not dword [ecx + 0x118]
xor dword [ecx + 0x32c], 0x2d7a5367
add dword [ecx + 0x11c], 0x106b3213
xor dword [ecx + 0x3e0], 0x7f708df
not dword [ecx + 0x214]
xor dword [ecx + 0x370], 0x57c626c9
sub dword [ecx + 0x80], 0x49804c00
not dword [ecx + 0x1bc]
sub dword [ecx + 0x154], 0x39fb68c3
xor dword [ecx + 0x3b8], 0x7eed0285
sub dword [ecx + 0x248], 0x17c53702
not dword [ecx + 0x308]
not dword [ecx + 0x2d8]
sub dword [ecx + 0xec], 0x4ef36f1d
sub dword [ecx + 0x324], 0x5c900c4f
add dword [ecx + 0x1b4], 0x40221f92
sub dword [ecx + 0x4c], 0x4cc7fd0
sub dword [ecx + 0x140], 0x4cd82160
xor dword [ecx + 0x6c], 0x6f101d09
add dword [ecx + 0x1ec], 0x27fe47c4
not dword [ecx + 0x1dc]
xor dword [ecx + 0x1fc], 0x1a2902d7
xor dword [ecx + 0x304], 0xa11886
add dword [ecx + 0xc4], 0x165f288b
sub dword [ecx + 0x2c8], 0x503e69f8
sub dword [ecx + 0x190], 0xfc12d22
xor dword [ecx + 0x104], 0x6bae2e08
not dword [ecx + 0x74]
not dword [ecx + 0xe4]
not dword [ecx + 0xa4]
add dword [ecx + 0x34c], 0x4cf33ecd
xor dword [ecx + 0x16c], 0x32906609
xor dword [ecx + 0x3c4], 0x18ae1392
xor dword [ecx + 0x13c], 0x122c7aa0
add dword [ecx + 0x264], 0xe7d496d
xor dword [ecx + 0x310], 0x47ee01fc
sub dword [ecx + 0x1f4], 0x4f802f7e
not dword [ecx + 0x30]
xor dword [ecx + 0x29c], 0x146a574a
add dword [ecx + 0x284], 0x53747117
sub dword [ecx + 0x3dc], 0x74705df4
sub dword [ecx + 0xd4], 0x784833b3
sub dword [ecx + 0x1a0], 0x319d6392
add dword [ecx + 0x3c0], 0x6dfa61ae
not dword [ecx + 0x23c]
add dword [ecx + 0xc8], 0x31114d0f
add dword [ecx + 0x300], 0xbe23c6e
not dword [ecx + 0xf4]
sub dword [ecx + 0x37c], 0xfde0d6d
xor dword [ecx + 0xb4], 0x512909ed
not dword [ecx + 0xf0]
not dword [ecx]
xor dword [ecx + 0x210], 0x3b5b6b99
xor dword [ecx + 0x200], 0x3f7a2fc2
sub dword [ecx + 0x3fc], 0x85e97
xor dword [ecx + 0xa0], 0x60cd44fe
not dword [ecx + 0x3d8]
not dword [ecx + 0x138]
xor dword [ecx + 0x12c], 0x30e10670
xor dword [ecx + 0x178], 0x96f6437
add dword [ecx + 0xe8], 0x8b15752
add dword [ecx + 0xd8], 0x46bd5137
sub dword [ecx + 0x2bc], 0x15444f5f
not dword [ecx + 0x3f0]
sub dword [ecx + 0x314], 0x6e8e62ee
xor dword [ecx + 0x2cc], 0x1b523768
not dword [ecx + 0x44]
not dword [ecx + 0x2fc]
xor dword [ecx + 0x7c], 0x6a2b0bc4
sub dword [ecx + 0xb8], 0x510110db
sub dword [ecx + 0x344], 0x44e472e2
sub dword [ecx + 0xdc], 0x21913d4f
xor dword [ecx + 0x274], 0x3a233ac3
not dword [ecx + 0x130]
add dword [ecx + 0xd0], 0x713d7f82
not dword [ecx + 0x230]
not dword [ecx + 0x1b8]
add dword [ecx + 0x2b0], 0x799b2c1e
add dword [ecx + 0x114], 0x104c1b2a
xor dword [ecx + 0x24c], 0x96478dd
not dword [ecx + 0x250]
add dword [ecx + 0x328], 0x387e7109
not dword [ecx + 0x17c]
xor dword [ecx + 0x3bc], 0x47060a63
xor dword [ecx + 0x110], 0x69527b5d
not dword [ecx + 0x164]
add dword [ecx + 0x2b4], 0x4ffe5feb
sub dword [ecx + 0x160], 0x60566b60
not dword [ecx + 0x168]
not dword [ecx + 0xe0]
add dword [ecx + 0x380], 0x46eb0b72
add dword [ecx + 0x21c], 0x2e9866be
xor dword [ecx + 0x358], 0x619d3fc4
sub dword [ecx + 0x180], 0x622b4b6b
sub dword [ecx + 0x280], 0x31646251
add dword [ecx + 0x3f4], 0x2d91f7a
sub dword [ecx + 0xfc], 0x7e137f2e
xor dword [ecx + 0x340], 0x766e1af5
not dword [ecx + 0x244]
add dword [ecx + 0x128], 0x7af5e17
not dword [ecx + 0x320]
not dword [ecx + 0x3f8]
not dword [ecx + 0x3e4]
add dword [ecx + 0x2ac], 0x3e980448
add dword [ecx + 0x64], 0x57bd4d48
sub dword [ecx + 0x1b0], 0x4c9c3ed4
add dword [ecx + 0x360], 0x38e25e64
xor dword [ecx + 0x84], 0x46305f08
sub dword [ecx + 0x31c], 0x3a2e549b
not dword [ecx + 0x350]
not dword [ecx + 0x348]
xor dword [ecx + 0x278], 0x625c275e
add dword [ecx + 0xf8], 0x5fad1a5c
not dword [ecx + 0x2c4]
sub dword [ecx + 0x2c], 0x2a9451ca
add dword [ecx + 0x3e8], 0x41eb10fc
add dword [ecx + 0x78], 0x201a12dd
xor dword [ecx + 0x368], 0x1c9d435e
xor dword [ecx + 0x318], 0x35eb3a1c
add dword [ecx + 0x2d0], 0x38cf40f9
not dword [ecx + 0x28]
not dword [ecx + 0x27c]
xor dword [ecx + 0x1d4], 0x6ac64e35
add dword [ecx + 0x98], 0x74c6615b
not dword [ecx + 0x60]
xor dword [ecx + 0x218], 0x36833e13
xor dword [ecx + 0x120], 0x331017c9
xor dword [ecx + 0x2e4], 0x2551479f
add dword [ecx + 0x3b0], 0x25fc7347
xor dword [ecx + 0x9c], 0x60df2b04
add dword [ecx + 0x18c], 0xd4249de
not dword [ecx + 0x26c]
not dword [ecx + 0x388]
xor dword [ecx + 0x3c], 0x4435232d
xor dword [ecx + 4], 0x1a8338d9
sub dword [ecx + 0x394], 0x56fd5774
add dword [ecx + 0x390], 0x75d75598
not dword [ecx + 0x3a8]
xor dword [ecx + 0x3c8], 0x57db2aea
add dword [ecx + 0x2a4], 0x74fe2da6
add dword [ecx + 0x170], 0x715c68da
sub dword [ecx + 0x20c], 0x44f06ab4
add dword [ecx + 0x204], 0x7b782957
not dword [ecx + 0x1e8]
add dword [ecx + 0x90], 0x5b965a72
xor dword [ecx + 0x70], 0xe12006a
add dword [ecx + 0x2b8], 0x7f6b1ccf
sub dword [ecx + 0x2dc], 0x6d6c4afb
add dword [ecx + 0x1ac], 0x36632bc5
xor dword [ecx + 0x238], 0x20524507
sub dword [ecx + 0x2f4], 0x5403090a
xor dword [ecx + 0x254], 0x73ff3644
xor dword [ecx + 0x3a0], 0x66107773
not dword [ecx + 0x288]
add dword [ecx + 0xc0], 0x4bc22c95
xor dword [ecx + 0x10c], 0x260b26f6
xor dword [ecx + 8], 0x9aa2a57
not dword [ecx + 0x2ec]
xor dword [ecx + 0x208], 0x2b0d26ae
sub dword [ecx + 0x1a8], 0x63de2835
not dword [ecx + 0x228]
add dword [ecx + 0xcc], 0x22dd2ca5
xor dword [ecx + 0x1cc], 0x2116a33
sub dword [ecx + 0x148], 0x61660026
xor dword [ecx + 0x1c4], 0x25e07a88
not dword [ecx + 0x384]
xor dword [ecx + 0x18], 0x4f043891
add eax, 0x400
add ecx, 0x400
cmp eax, 0x8c000
jne 0x509017
call fcn.004c65b8
pop edi
pop esi
pop ebp
pop ebx
pop edx
pop ecx
pop eax