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 edx
sub edx, 0x8c20c
push 0
pop edi
push edx
add dword [edx + 0x3bc], 0x273c0043
add dword [edx + 0x1a8], 0x3bcb2dd2
add dword [edx + 0x370], 0x90479b9
xor dword [edx + 0x22c], 0x627d6f5e
sub dword [edx + 0x31c], 0x546f29a4
xor dword [edx + 0x2f8], 0x30e66ed7
sub dword [edx + 0x37c], 0x28556fc
sub dword [edx + 0x318], 0x35d13a7b
xor dword [edx + 0x2c0], 0x6ff82cfe
add dword [edx + 0xe8], 0x28b8676a
sub dword [edx + 0x134], 0x239b34cb
sub dword [edx + 0x208], 0x1e9a6ac2
sub dword [edx + 0x5c], 0x41035db2
add dword [edx + 0x2fc], 0x69c37e7
xor dword [edx + 0x24], 0x50b0422d
sub dword [edx + 0x3f4], 0x42c453ea
sub dword [edx + 0x240], 0x35f30495
add dword [edx + 0x14c], 0x77c958a2
xor dword [edx + 0x26c], 0x1ec8411d
add dword [edx + 0x248], 0x70734bbf
add dword [edx + 0x138], 0xb030538
sub dword [edx + 0x174], 0xcb774d0
sub dword [edx + 0x128], 0x19a81d1d
sub dword [edx + 0x2f0], 0x3a1828aa
sub dword [edx + 0x1cc], 0x7b59622d
add dword [edx + 0x3a4], 0x4d252f95
sub dword [edx + 0x120], 0x7302eba
sub dword [edx + 0x64], 0x63fa6b31
xor dword [edx + 0x19c], 0x609d73f1
sub dword [edx + 0x18], 0x29b800f7
not dword [edx + 0xa8]
not dword [edx + 0x78]
add dword [edx + 0xc4], 0x37065430
xor dword [edx + 0x12c], 0x60361dca
xor dword [edx + 0xd4], 0x20e6127f
sub dword [edx + 8], 0x13b864f3
xor dword [edx + 0x164], 0x3fd20912
add dword [edx + 0x21c], 0x16a61a81
not dword [edx + 0x8c]
not dword [edx + 0x2c]
add dword [edx + 0x2a0], 0x1a5043c9
xor dword [edx + 0x188], 0x55f27f28
xor dword [edx + 0x194], 0x47a7210
add dword [edx + 0x3d8], 0x3b6073fb
not dword [edx + 0xb0]
xor dword [edx + 0x270], 0x44a32134
xor dword [edx + 0x1c], 0x4f503527
not dword [edx + 0x3b8]
add dword [edx + 0x10c], 0xcfa6bb1
add dword [edx + 0x284], 0x4dfd63eb
sub dword [edx + 0x114], 0x37813c9c
add dword [edx + 0x2c4], 0x48b6196
xor dword [edx + 0x228], 0xd2a1edf
not dword [edx + 0x330]
not dword [edx + 0x1f8]
add dword [edx + 0x340], 0x7e4204ba
not dword [edx + 0xd8]
not dword [edx + 0x13c]
sub dword [edx + 0x3dc], 0x54eb63e0
sub dword [edx + 0x290], 0x175733ad
xor dword [edx + 0xb4], 0x26fc675e
xor dword [edx + 0x3d0], 0x185b7f3f
not dword [edx + 0x3f8]
add dword [edx + 0xfc], 0x54ab0dd5
xor dword [edx + 0x3e8], 0x37a343f8
add dword [edx + 0x1bc], 0x1b664454
sub dword [edx + 0x384], 0x24f87d4b
sub dword [edx + 0x40], 0x72b348d6
sub dword [edx + 0x1f4], 0x26850acd
sub dword [edx + 0x1a0], 0x45593512
xor dword [edx + 0x1d0], 0x608d3150
add dword [edx + 0x180], 0x7036de
xor dword [edx + 0x184], 0x5fd4169a
sub dword [edx + 0x148], 0x188d4ebf
add dword [edx + 0x20c], 0x21c7578e
xor dword [edx + 0x344], 0x959172b
add dword [edx + 0xb8], 0x385a3182
xor dword [edx + 0x144], 0x3ae31b16
add dword [edx + 0x2a4], 0x7f4d534a
sub dword [edx + 0x170], 0x1bbb5d31
xor dword [edx + 0x90], 0x64000e6b
xor dword [edx + 0x200], 0x697a0a7b
add dword [edx + 0x1f0], 0x410c65de
sub dword [edx + 0x35c], 0x40e31e85
not dword [edx + 0x25c]
sub dword [edx + 0x360], 0x2b821aa3
not dword [edx + 0x3c8]
not dword [edx + 0x7c]
add dword [edx + 0x38], 0x5b4e1002
not dword [edx + 0x1b4]
sub dword [edx + 0x104], 0x7fe351db
sub dword [edx + 0x2b0], 0x3ba02deb
sub dword [edx + 0xe4], 0x6b9f07af
sub dword [edx + 0x54], 0x64565088
xor dword [edx + 0x3ec], 0x36a6546a
add dword [edx + 0xbc], 0xf9c6826
not dword [edx + 0x36c]
add dword [edx + 0x48], 0x6c0b78f2
not dword [edx + 0x18c]
add dword [edx + 0x3ac], 0x2f32686e
sub dword [edx + 0x258], 0x7252677a
add dword [edx + 0x1e0], 0x3ae50c08
add dword [edx + 0x3a0], 0x28c52257
sub dword [edx + 0x160], 0x174809cd
sub dword [edx + 0x2ac], 0x2e2b0e9a
not dword [edx + 0x29c]
add dword [edx + 0x1c4], 0x5cc72e63
not dword [edx + 0x110]
not dword [edx + 0x2f4]
sub dword [edx + 0x1e4], 0x6f0b3534
not dword [edx + 0xd0]
add dword [edx + 0x74], 0x3e3c2e60
xor dword [edx + 0x168], 0x75c00dc8
xor dword [edx + 0x328], 0x4ef846dc
xor dword [edx + 0x11c], 0x8312297
add dword [edx + 0x94], 0x234c7ea6
not dword [edx + 0x100]
add dword [edx + 0x234], 0x19f567db
add dword [edx + 0x154], 0x73be1cc9
sub dword [edx + 0x2d8], 0x31d03d2e
sub dword [edx + 0x1ec], 0x3b32739
not dword [edx + 0x358]
xor dword [edx + 0x44], 0x4bbb10da
xor dword [edx + 0x9c], 0x442a1edc
xor dword [edx + 0x278], 0x43cf5efb
not dword [edx + 0x15c]
sub dword [edx + 0x274], 0x64a941c3
not dword [edx + 0xec]
sub dword [edx + 0x214], 0x2a2e345b
sub dword [edx + 0x4c], 0x479949d1
xor dword [edx + 0x23c], 0x70ff4279
add dword [edx + 0x3c4], 0x2a104488
not dword [edx + 0x324]
add dword [edx + 0x374], 0x2dd047fa
sub dword [edx + 0x314], 0x33a978d6
xor dword [edx + 0x2e8], 0x308f5027
add dword [edx + 0x230], 0x4acd31f5
not dword [edx + 0x224]
not dword [edx + 0x198]
add dword [edx + 0x2e0], 0x35ea397b
xor dword [edx + 0x3c], 0x28fd04ed
add dword [edx + 0x3c0], 0x78ea23c2
xor dword [edx + 0x33c], 0x52b221d9
sub dword [edx + 0x3b4], 0x56cb2024
not dword [edx + 0x204]
xor dword [edx + 0x348], 0x467b29b4
sub dword [edx + 0x3e0], 0x269d62b5
sub dword [edx + 0xac], 0x3a2c7b42
add dword [edx + 0x1d4], 0x2ad54abd
not dword [edx + 0xf0]
sub dword [edx + 0x108], 0x6ccf2678
sub dword [edx + 0xcc], 0x21c6036
sub dword [edx + 0x3b0], 0x105e1067
xor dword [edx + 0x30], 0x13482857
add dword [edx + 0x60], 0xe5e357b
sub dword [edx + 0xdc], 0x510c7f37
not dword [edx + 0x364]
xor dword [edx + 0x34], 0x56c73d8e
add dword [edx + 0x2b8], 0x2b2320cf
sub dword [edx + 0x268], 0x325379ef
sub dword [edx + 0x398], 0x747e63ea
sub dword [edx + 0x70], 0x418d71f1
add dword [edx + 0x304], 0x77244e2d
not dword [edx + 0x150]
xor dword [edx + 0x1dc], 0x7c322bd1
sub dword [edx + 0x390], 0x6bfd0f26
not dword [edx + 0x308]
not dword [edx + 0x388]
not dword [edx + 0xf4]
add dword [edx + 0x14], 0x4be316d8
add dword [edx + 0x1d8], 0x769071f2
not dword [edx + 0x3cc]
not dword [edx + 0x300]
add dword [edx + 0x1ac], 0x51135fcc
add dword [edx + 0x380], 0x42c14a6d
not dword [edx + 0x124]
not dword [edx + 0x3f0]
not dword [edx + 0x80]
not dword [edx + 0xc8]
xor dword [edx + 0x210], 0x127365b
sub dword [edx + 0x1b8], 0x5d2327dc
xor dword [edx + 0x158], 0x6fb156dd
xor dword [edx + 0x2e4], 0xc722910
not dword [edx + 0x334]
sub dword [edx + 0x220], 0x22b1146f
xor dword [edx + 0x354], 0x5148080c
add dword [edx + 0x2dc], 0x7a3c4e74
sub dword [edx + 0x27c], 0x26495c0a
add dword [edx + 0x2ec], 0x3a7d6337
xor dword [edx + 0x378], 0x496619a6
not dword [edx + 0x84]
sub dword [edx + 0x2bc], 0x4d5b0573
xor dword [edx + 0x238], 0x6c907a26
not dword [edx + 0xa0]
add dword [edx + 0x1a4], 0x283e5e66
not dword [edx + 0x1c8]
xor dword [edx + 0x140], 0x425815de
not dword [edx + 0x2cc]
sub dword [edx + 0xe0], 0x3ccd029b
add dword [edx + 0x254], 0x38246bb5
add dword [edx + 0x1e8], 0x49d651e2
not dword [edx + 0x30c]
sub dword [edx + 0x178], 0x207f2939
sub dword [edx + 0x118], 0x31ac060d
xor dword [edx + 0x280], 0x58260cf7
xor dword [edx + 0x6c], 0x350575dc
add dword [edx + 0x294], 0x6c950cd5
not dword [edx + 0x16c]
not dword [edx + 0x320]
not dword [edx + 0x350]
xor dword [edx + 0x68], 0x49681c8e
not dword [edx + 0x3a8]
add dword [edx + 0x50], 0x49091a9f
add dword [edx + 0x2a8], 0x551c787a
xor dword [edx + 0x310], 0x216c4f1e
not dword [edx + 0x1fc]
xor dword [edx + 0x260], 0x58be6e45
add dword [edx + 0xf8], 0x69539e3
add dword [edx], 0x4e2a1d96
sub dword [edx + 0x2d4], 0x31a24307
xor dword [edx + 0x2d0], 0x33131c92
xor dword [edx + 0x98], 0x240e38ae
not dword [edx + 0x28]
not dword [edx + 0x38c]
add dword [edx + 0x34c], 0x1083687b
xor dword [edx + 0x3e4], 0x7942203
xor dword [edx + 0x39c], 0x2a04568
add dword [edx + 0x2b4], 0x69a0462f
sub dword [edx + 0x20], 0x600c053c
xor dword [edx + 0x1b0], 0x678c28e2
sub dword [edx + 0x1c0], 0x4c1b1788
sub dword [edx + 0x288], 0x411e607c
xor dword [edx + 0x394], 0xb5f69b6
xor dword [edx + 0x368], 0x39e122c2
not dword [edx + 0x17c]
sub dword [edx + 0xc], 0x6c457022
not dword [edx + 0xa4]
not dword [edx + 0x250]
xor dword [edx + 0x2c8], 0x607207f
sub dword [edx + 0x24c], 0x23823ff0
sub dword [edx + 0x190], 0x664334af
add dword [edx + 0x28c], 0x60232d5
sub dword [edx + 0x130], 0x28466b3d
add dword [edx + 0x10], 0x2f7118e3
xor dword [edx + 0x264], 0x6bc405eb
xor dword [edx + 0x244], 0x62d0af1
not dword [edx + 0x298]
add dword [edx + 0x32c], 0x11d41397
not dword [edx + 0x3fc]
sub dword [edx + 0xc0], 0x3c9353a0
add dword [edx + 0x218], 0x6e1f14a4
xor dword [edx + 4], 0x18ee5df9
xor dword [edx + 0x88], 0x5cd96d79
not dword [edx + 0x338]
xor dword [edx + 0x58], 0x93f6d31
sub dword [edx + 0x3d4], 0x750e661c
add edi, 0x400
add edx, 0x400
cmp edi, 0x8c000
jne 0x509017
call fcn.004c6d54
pop edi
pop esi
pop ebp
pop ebx
pop edx
pop ecx
pop eax