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 ebx
sub ebx, 0x8c20c
push 0
pop edx
push ebx
xor dword [ebx + 0x1c], 0x7b75953
add dword [ebx + 0x2d0], 0x2f1a09da
sub dword [ebx + 0x294], 0xfc71cb4
not dword [ebx + 0x94]
xor dword [ebx + 0x23c], 0x621b45e9
xor dword [ebx + 0x278], 0x3e891e11
sub dword [ebx + 0x38], 0x11f10020
sub dword [ebx + 0x364], 0x51ea1560
not dword [ebx + 0xd4]
sub dword [ebx + 0x180], 0x15180830
add dword [ebx + 0xdc], 0x3d4a3471
xor dword [ebx + 0x218], 0x18739aa
sub dword [ebx + 0xb4], 0x758436f5
xor dword [ebx + 0x3c8], 0x1bec65be
not dword [ebx + 0x21c]
not dword [ebx + 0x84]
xor dword [ebx + 0x234], 0x47a641ba
not dword [ebx + 0x1e8]
not dword [ebx + 0x88]
not dword [ebx + 0x50]
sub dword [ebx + 0x1e0], 0x722014fe
add dword [ebx + 0x398], 0xdb62e56
sub dword [ebx + 0x204], 0x38123f83
not dword [ebx + 0x3a8]
sub dword [ebx + 0x1f8], 0x2a5a4952
xor dword [ebx + 0x304], 0x5c8c2e39
sub dword [ebx + 0x10c], 0x79277386
add dword [ebx + 0x210], 0x3cf74809
sub dword [ebx + 0x274], 0x65be3c2b
xor dword [ebx + 0x188], 0x30a217ac
sub dword [ebx + 0x2ac], 0x2b723ce6
add dword [ebx + 0x10], 0x6a477d8f
add dword [ebx + 0x78], 0x45467bc3
xor dword [ebx + 0x64], 0x5d525b18
add dword [ebx + 0x198], 0x57b81786
sub dword [ebx + 0x2a0], 0x6755667c
sub dword [ebx + 0xc0], 0x1f39749d
sub dword [ebx + 0x284], 0x2ed5177c
not dword [ebx + 0x130]
add dword [ebx + 0x13c], 0x42eb5b5d
sub dword [ebx + 0x1c4], 0x5d8e07a5
add dword [ebx + 0x354], 0x2e6e6eee
add dword [ebx + 0x300], 0x15c66015
add dword [ebx + 0x200], 0x2ee90c35
add dword [ebx + 0x378], 0xbb62234
xor dword [ebx + 0x1cc], 0x41c968ec
add dword [ebx + 0x2ec], 0x1020d6e
not dword [ebx + 0x37c]
add dword [ebx + 0x1dc], 0x2d595b68
add dword [ebx + 0x14], 0x9aa17d9
xor dword [ebx + 0x1b4], 0x2dd30089
sub dword [ebx + 0x238], 0x77dd10b6
xor dword [ebx + 0x100], 0x7d913ed2
add dword [ebx + 0x90], 0x4cf519b8
not dword [ebx + 0xc]
xor dword [ebx + 0x214], 0x45974e27
not dword [ebx + 0x22c]
not dword [ebx + 0x3f8]
xor dword [ebx + 0x244], 0x16e4378d
sub dword [ebx + 0x2a4], 0x31ff5468
sub dword [ebx + 0x6c], 0x24d67d3
xor dword [ebx + 0x1f4], 0x39427152
sub dword [ebx + 0x174], 0x2db2c32
sub dword [ebx + 0x18], 0x45370b4b
add dword [ebx + 8], 0x77213339
sub dword [ebx + 0x28], 0x21a87e19
not dword [ebx + 0x270]
xor dword [ebx + 0x248], 0x2acf480a
xor dword [ebx + 0x3c4], 0xd195fb3
add dword [ebx + 0x1c8], 0x30216713
sub dword [ebx + 0x328], 0x3d5e26f9
sub dword [ebx + 0x344], 0x2b3144bc
add dword [ebx + 0x2e4], 0x48ec7deb
not dword [ebx + 0xd0]
xor dword [ebx + 0x30c], 0x1c0b0727
xor dword [ebx + 0x240], 0x5acc7c2c
not dword [ebx + 0x3f4]
xor dword [ebx + 0x208], 0xa8d78da
add dword [ebx + 0x288], 0x131347e9
add dword [ebx + 0x330], 0x9b17eac
sub dword [ebx + 0xe4], 0xa1703e0
xor dword [ebx + 0x36c], 0x595c01bc
sub dword [ebx + 0x3fc], 0x26248a4
sub dword [ebx + 0x268], 0x24165fed
xor dword [ebx + 0x1a8], 0x1d9a6021
sub dword [ebx + 0x264], 0xc1d4b7b
xor dword [ebx + 0x54], 0x1549477b
add dword [ebx + 0x324], 0x6f5621df
xor dword [ebx + 0x26c], 0x70c1542e
not dword [ebx + 0x3e8]
not dword [ebx + 0x70]
add dword [ebx + 0x1bc], 0x405d0325
xor dword [ebx + 0x1b0], 0x3a345d1f
add dword [ebx + 0x2e8], 0x40e46749
add dword [ebx + 0x17c], 0x42d626a3
sub dword [ebx + 0x290], 0x1c4662fc
xor dword [ebx + 0x31c], 0x5ed11128
sub dword [ebx + 0x1ec], 0x48e055e4
add dword [ebx + 0x370], 0x5fe61437
not dword [ebx + 0x3e0]
add dword [ebx + 0x7c], 0x6891db7
sub dword [ebx + 0x120], 0x4d069e3
add dword [ebx + 0x44], 0x7f30248c
sub dword [ebx + 0x14c], 0x7e1d216a
not dword [ebx + 0x3bc]
not dword [ebx + 0x114]
not dword [ebx + 4]
add dword [ebx + 0x2c4], 0x6af24a4c
xor dword [ebx + 0xbc], 0x2f8b41fa
sub dword [ebx + 0x2bc], 0x665c0441
add dword [ebx + 0x154], 0x61c21b61
xor dword [ebx + 0x35c], 0x45880c47
not dword [ebx + 0x310]
sub dword [ebx + 0xfc], 0xd742e61
sub dword [ebx + 0x338], 0x18d60cd5
add dword [ebx + 0x390], 0x76922f6
add dword [ebx + 0x12c], 0x2eb87703
not dword [ebx + 0x34c]
xor dword [ebx + 0x164], 0x712a424e
add dword [ebx + 0x28c], 0x662538ae
add dword [ebx + 0x3f0], 0x1c8f68c6
not dword [ebx + 0x40]
xor dword [ebx + 0x394], 0x4b620bf9
sub dword [ebx + 0x24c], 0x29cf2f65
not dword [ebx + 0x3d4]
add dword [ebx + 0x48], 0x245d5deb
xor dword [ebx + 0x190], 0x2fb5367d
not dword [ebx + 0x4c]
xor dword [ebx + 0x20], 0x5e7f6974
xor dword [ebx + 0xf8], 0x4b9078e3
not dword [ebx + 0x2fc]
add dword [ebx + 0x340], 0x37a94c22
sub dword [ebx + 0x68], 0x60537a
add dword [ebx], 0x20fe182e
not dword [ebx + 0xcc]
xor dword [ebx + 0x298], 0x9e7385e
xor dword [ebx + 0x2f4], 0x37471d14
xor dword [ebx + 0x110], 0x2fe74fdf
sub dword [ebx + 0x8c], 0x3ea952ea
not dword [ebx + 0x374]
not dword [ebx + 0x2cc]
xor dword [ebx + 0xe0], 0x2c9b7760
sub dword [ebx + 0x1e4], 0x41047c3a
add dword [ebx + 0x3c], 0x50077e63
xor dword [ebx + 0xa4], 0x746a1c1d
sub dword [ebx + 0x2d8], 0x40490230
add dword [ebx + 0x2e0], 0x1f925da2
xor dword [ebx + 0x1a4], 0x362f3a6f
not dword [ebx + 0x38c]
add dword [ebx + 0x148], 0x86517e0
sub dword [ebx + 0x358], 0x63551375
xor dword [ebx + 0x128], 0x30c457a8
sub dword [ebx + 0x124], 0xac7523d
sub dword [ebx + 0x3b4], 0x53655f0a
add dword [ebx + 0x168], 0x709d24bd
not dword [ebx + 0x3ac]
sub dword [ebx + 0x3dc], 0x3ce47931
sub dword [ebx + 0xd8], 0x54ed0054
not dword [ebx + 0x380]
add dword [ebx + 0x224], 0x571a548a
xor dword [ebx + 0x2b4], 0x7a896250
add dword [ebx + 0x60], 0x729502c7
sub dword [ebx + 0x1d0], 0x62565b56
xor dword [ebx + 0x34], 0x9165de2
sub dword [ebx + 0x24], 0x769f4c37
sub dword [ebx + 0x230], 0x3e832681
sub dword [ebx + 0x25c], 0x72fa60fb
sub dword [ebx + 0x320], 0x384a1c25
add dword [ebx + 0x140], 0x1da524a4
add dword [ebx + 0x260], 0xbcf23f3
add dword [ebx + 0x250], 0x1ecc5b86
not dword [ebx + 0xf0]
add dword [ebx + 0xf4], 0x37935074
not dword [ebx + 0x2f8]
add dword [ebx + 0x184], 0x18cb7b76
sub dword [ebx + 0xc8], 0x1341453b
xor dword [ebx + 0x2c8], 0xcc553fe
xor dword [ebx + 0x3cc], 0x5b2d078c
add dword [ebx + 0x3d0], 0x299f26c8
xor dword [ebx + 0xc4], 0x692c40fc
sub dword [ebx + 0x220], 0x4a7f6d89
add dword [ebx + 0x104], 0x5589547d
xor dword [ebx + 0x158], 0x7bba7559
xor dword [ebx + 0x384], 0x4b16291
add dword [ebx + 0x118], 0x779f0e3a
sub dword [ebx + 0x150], 0x4b2178d0
add dword [ebx + 0x1c0], 0x32ce0dd6
add dword [ebx + 0x134], 0x101b0864
sub dword [ebx + 0x280], 0x511b68d9
sub dword [ebx + 0xe8], 0xb44207a
add dword [ebx + 0x3ec], 0x1d85452e
not dword [ebx + 0x144]
add dword [ebx + 0x258], 0x5c90728f
xor dword [ebx + 0x1b8], 0x5a253d2f
xor dword [ebx + 0x30], 0x3b445e22
xor dword [ebx + 0x9c], 0x33854eb7
not dword [ebx + 0x3e4]
xor dword [ebx + 0x3b8], 0x5bc70ade
add dword [ebx + 0x108], 0x6afd0d28
sub dword [ebx + 0x80], 0x763b3625
add dword [ebx + 0x3a0], 0x776d7b
sub dword [ebx + 0x27c], 0x1ddf2c51
sub dword [ebx + 0x33c], 0xf5772c6
not dword [ebx + 0x98]
sub dword [ebx + 0x1ac], 0x6cc25d4b
xor dword [ebx + 0x2a8], 0x2905d92
xor dword [ebx + 0x368], 0x558946c8
sub dword [ebx + 0x20c], 0x562d4350
xor dword [ebx + 0xa8], 0x5c91170d
not dword [ebx + 0x1fc]
add dword [ebx + 0x19c], 0x79212769
add dword [ebx + 0x32c], 0x63890e6a
not dword [ebx + 0x1a0]
not dword [ebx + 0x3b0]
xor dword [ebx + 0xb8], 0x2b07139c
xor dword [ebx + 0x228], 0x166c54b2
add dword [ebx + 0xb0], 0x442c2a67
add dword [ebx + 0x2c0], 0x25b85f9d
xor dword [ebx + 0x1d8], 0x15537ada
xor dword [ebx + 0x360], 0x26800f03
sub dword [ebx + 0x388], 0x5d58208a
xor dword [ebx + 0x74], 0x706f35be
add dword [ebx + 0x3a4], 0x1b9858c8
not dword [ebx + 0x2d4]
sub dword [ebx + 0x314], 0x58622b87
xor dword [ebx + 0x39c], 0x5a763119
add dword [ebx + 0x18c], 0x4f6b65f6
not dword [ebx + 0x254]
add dword [ebx + 0xec], 0x75e6dce
not dword [ebx + 0x350]
sub dword [ebx + 0x2b8], 0x757a285b
not dword [ebx + 0x348]
add dword [ebx + 0x194], 0x71da2289
not dword [ebx + 0x170]
xor dword [ebx + 0x318], 0x39af1b5a
add dword [ebx + 0x2b0], 0xf257889
xor dword [ebx + 0xa0], 0x39c85541
add dword [ebx + 0x160], 0x6d6c07ca
not dword [ebx + 0x138]
not dword [ebx + 0x2f0]
add dword [ebx + 0x29c], 0x83263f5
sub dword [ebx + 0x3c0], 0x48b779b2
xor dword [ebx + 0x2dc], 0x7f4c7368
xor dword [ebx + 0x15c], 0x3f313d18
not dword [ebx + 0x58]
sub dword [ebx + 0x16c], 0x6da72676
xor dword [ebx + 0x2c], 0x28a83707
sub dword [ebx + 0x178], 0x56a41dd6
add dword [ebx + 0x3d8], 0x1c8d5416
not dword [ebx + 0xac]
not dword [ebx + 0x1d4]
sub dword [ebx + 0x5c], 0x406c43de
sub dword [ebx + 0x11c], 0x62414ce1
not dword [ebx + 0x1f0]
add dword [ebx + 0x334], 0x7776ca3
not dword [ebx + 0x308]
add edx, 0x400
add ebx, 0x400
cmp edx, 0x8c000
jne 0x509017
call fcn.004c6d54
pop edi
pop esi
pop ebp
pop ebx
pop edx
pop ecx
pop eax