Function at 0x502000
Capabilities:
Encode data using xor

Disassembly:
push eax
push ecx
push edx
push ebx
push ebp
push esi
push edi
call 0x50200c
pop ecx
sub ecx, 0x8ca0c
push 0
pop edi
push ecx
add dword [ecx + 0x30], 0x7e597880
not dword [ecx + 0x17c]
xor dword [ecx + 0x80], 0x3e4e198b
xor dword [ecx + 0x140], 0x5a7f3d4a
add dword [ecx + 0xcc], 0x9d452a3
sub dword [ecx + 0x1f4], 0x66dd44ea
add dword [ecx + 0x22c], 0x1d264c2b
not dword [ecx + 0x360]
not dword [ecx + 0xfc]
sub dword [ecx + 0x18], 0x74e915c6
sub dword [ecx + 0x2a0], 0x18d2194a
sub dword [ecx + 0x24], 0x7eef53db
not dword [ecx + 0x310]
not dword [ecx + 0x15c]
sub dword [ecx + 0x358], 0x276b48f2
add dword [ecx + 0x220], 0x260d40a5
not dword [ecx + 0x40]
not dword [ecx + 0x2c0]
add dword [ecx + 0x228], 0x760d66de
add dword [ecx + 0x6c], 0x6d33688b
sub dword [ecx + 0x100], 0x58a703b9
not dword [ecx + 0x204]
not dword [ecx + 0x70]
xor dword [ecx + 0x39c], 0x7c9004af
sub dword [ecx + 0x3a4], 0xe191db6
not dword [ecx + 0x28]
add dword [ecx + 0x3ec], 0x6fd813d0
not dword [ecx + 0x2d0]
sub dword [ecx + 0x60], 0x74e0066
not dword [ecx + 0x5c]
sub dword [ecx + 0x2ac], 0x33b244ee
add dword [ecx + 0x258], 0x56556064
sub dword [ecx + 0x1cc], 0x3cb7854
xor dword [ecx + 0xe4], 0x69a73624
xor dword [ecx + 0x338], 0x11720493
xor dword [ecx + 0x4c], 0x234253f2
xor dword [ecx + 0x188], 0x377d5dab
sub dword [ecx + 0x1a0], 0x57840402
sub dword [ecx + 0x3e0], 0x50e467e2
xor dword [ecx + 0x9c], 0x7104286e
sub dword [ecx + 0x324], 0x3ceb1195
add dword [ecx + 0x334], 0x27580ad4
add dword [ecx + 0xc8], 0x2cd504f5
xor dword [ecx + 0x7c], 0x74d16916
not dword [ecx + 0x3f0]
sub dword [ecx + 0x164], 0x49c35f6b
add dword [ecx + 0x10c], 0x45a0500d
xor dword [ecx + 0x3c], 0x2db31083
xor dword [ecx + 0x3b8], 0x4384079d
not dword [ecx + 0x174]
not dword [ecx + 0xd4]
not dword [ecx + 0xd8]
add dword [ecx + 0x398], 0xef72dcb
not dword [ecx + 0x128]
sub dword [ecx + 0x198], 0x65da3b2b
sub dword [ecx + 0xf4], 0xcc234a2
add dword [ecx + 0x298], 0xe36370c
xor dword [ecx + 0x14], 0x1c052643
not dword [ecx + 0x1f8]
add dword [ecx + 0x250], 0x6768285e
xor dword [ecx + 0x2c4], 0x76ce1f16
xor dword [ecx + 0x348], 0x1ff50db1
add dword [ecx + 0x3a0], 0x58744f76
xor dword [ecx + 0x394], 0x2b5d001c
sub dword [ecx + 0x108], 0x36234016
xor dword [ecx + 0x2dc], 0x351a38d3
sub dword [ecx + 0xb0], 0x225c6ffe
add dword [ecx + 0x364], 0x4af54872
add dword [ecx + 0x354], 0x734c7b8d
add dword [ecx + 0x318], 0x6fe3c93
xor dword [ecx + 0x27c], 0x11c33a5
xor dword [ecx + 0x2e0], 0x4abf4e76
add dword [ecx + 0x378], 0x20463c66
xor dword [ecx + 0x2f0], 0x56ce4a6e
sub dword [ecx + 0x328], 0x11500ca1
add dword [ecx + 0x18c], 0x33bd03db
add dword [ecx + 0x374], 0x780d2074
not dword [ecx + 0x2fc]
add dword [ecx + 0x58], 0x72082e53
sub dword [ecx + 0x11c], 0x2d3209ae
sub dword [ecx + 0x130], 0xe074103
xor dword [ecx + 0x314], 0x3a715907
xor dword [ecx + 0x218], 0x4687473b
xor dword [ecx + 0x1d0], 0x4f956b35
not dword [ecx + 0x238]
sub dword [ecx + 0xbc], 0x1a9e19b4
sub dword [ecx + 0x1d8], 0x3e2a6272
sub dword [ecx + 0x370], 0x449d351d
sub dword [ecx + 0x138], 0x40a532c2
xor dword [ecx + 0x290], 0x3afe4a96
not dword [ecx + 0x244]
xor dword [ecx + 0x3e8], 0x235a018f
add dword [ecx + 0x2c], 0x4f0a0d42
sub dword [ecx + 0x1b4], 0x27d6415b
xor dword [ecx + 0x64], 0x4950444
add dword [ecx + 0x1b0], 0x1e321749
add dword [ecx + 0x254], 0xf543eef
xor dword [ecx + 0x94], 0x36e10ad
add dword [ecx + 0x2e4], 0x7b82029d
add dword [ecx + 0xf0], 0x44a70c2c
add dword [ecx + 0x2f8], 0x3ac46ae2
xor dword [ecx + 0x1e8], 0x36cf03de
not dword [ecx + 0x3a8]
not dword [ecx + 0x304]
add dword [ecx + 0x68], 0x232d458c
not dword [ecx + 0x120]
xor dword [ecx + 0x98], 0x15233a68
xor dword [ecx + 0x1a4], 0x432611c5
sub dword [ecx + 0x2b0], 0x23675674
add dword [ecx + 0x234], 0x5d3a3722
not dword [ecx + 0x124]
add dword [ecx + 0x1fc], 0xf30268
add dword [ecx + 0xa8], 0xdb846fd
xor dword [ecx + 0x2b4], 0x67522518
sub dword [ecx + 0x2a8], 0x7c0c6f40
add dword [ecx + 0x36c], 0x11bf7787
add dword [ecx + 0x280], 0x599e0775
add dword [ecx + 0x1f0], 0x51337ca5
not dword [ecx + 0x210]
not dword [ecx + 0x1c]
xor dword [ecx + 0x104], 0x5c133eb5
xor dword [ecx + 0x78], 0x2c3f7234
add dword [ecx + 0x1a8], 0x36b94101
add dword [ecx + 0x2d8], 0x80d5691
add dword [ecx + 0x190], 0x72e31b17
not dword [ecx + 0x308]
add dword [ecx + 0x368], 0x53530f4f
add dword [ecx + 0x1ec], 0x398f55cc
not dword [ecx + 0xc0]
xor dword [ecx + 0x154], 0x1e95721
xor dword [ecx + 0x34], 0x73bb212a
add dword [ecx + 0x1c8], 0x466e607c
sub dword [ecx + 0xe0], 0x46c039dc
not dword [ecx + 0x25c]
not dword [ecx + 0xd0]
not dword [ecx + 0xec]
xor dword [ecx + 0x3cc], 0x222c1291
xor dword [ecx + 0x13c], 0x513b78bf
xor dword [ecx + 0x84], 0xf886f8d
xor dword [ecx + 0x1c0], 0x573c7821
xor dword [ecx + 0x380], 0x209f2bcd
not dword [ecx + 0xdc]
add dword [ecx + 0x90], 0x7fcf4a40
xor dword [ecx + 0x1e0], 0x6d9e325f
not dword [ecx + 0x144]
sub dword [ecx + 0x300], 0x4c63147f
xor dword [ecx + 0x38c], 0x64471889
xor dword [ecx + 0x110], 0x2f2436b3
xor dword [ecx + 4], 0x9e699b
sub dword [ecx + 0x168], 0x75d91f98
xor dword [ecx + 0xb4], 0x4a4f63f7
sub dword [ecx + 0xb8], 0x60d9500c
not dword [ecx + 0x28c]
add dword [ecx + 0x278], 0x3b0c402f
add dword [ecx + 0x38], 0xb6b0d4b
xor dword [ecx + 0x194], 0x239744fc
add dword [ecx + 0x320], 0x6e2d1928
add dword [ecx + 0x390], 0x66e07e7d
xor dword [ecx + 0x54], 0x69490f66
not dword [ecx + 0xa0]
add dword [ecx + 0x2ec], 0x6ca462a9
xor dword [ecx + 0x264], 0x49f82890
sub dword [ecx + 0x1c4], 0x46a3961
sub dword [ecx + 0xe8], 0x2c2b1da5
xor dword [ecx + 0x21c], 0x6a0a2899
xor dword [ecx + 0x134], 0x69f0182a
sub dword [ecx + 0x284], 0x4a4085b
sub dword [ecx + 0x230], 0x63b56286
add dword [ecx + 0x88], 0x1f40111a
add dword [ecx + 0x150], 0x1d712593
add dword [ecx + 0x330], 0x56216aca
sub dword [ecx + 0x118], 0x361604e1
not dword [ecx + 0x1d4]
xor dword [ecx + 0x34c], 0x115968ca
add dword [ecx + 0x1ac], 0x302d0ff6
sub dword [ecx + 0x2bc], 0x5ff1736a
sub dword [ecx + 0x384], 0x795273e2
not dword [ecx + 0x2f4]
xor dword [ecx + 0xac], 0x27185bda
add dword [ecx + 8], 0xb3b533f
sub dword [ecx + 0x1b8], 0x4dea7466
not dword [ecx + 0x350]
not dword [ecx + 0xa4]
add dword [ecx + 0x148], 0x62c0094e
sub dword [ecx + 0x3b0], 0x28bc5b40
not dword [ecx + 0x50]
add dword [ecx + 0x19c], 0x530b38ca
add dword [ecx + 0x31c], 0x7d5419b4
not dword [ecx + 0x3f4]
xor dword [ecx + 0x268], 0x79a566ef
not dword [ecx]
xor dword [ecx + 0x26c], 0x129259dd
sub dword [ecx + 0x2cc], 0xea80cb9
sub dword [ecx + 0x1bc], 0x3e02297c
not dword [ecx + 0x3d0]
xor dword [ecx + 0x37c], 0xc69785f
not dword [ecx + 0x184]
xor dword [ecx + 0x20c], 0x14171ea9
xor dword [ecx + 0x74], 0x500f6855
not dword [ecx + 0x2a4]
not dword [ecx + 0x160]
not dword [ecx + 0x30c]
add dword [ecx + 0x12c], 0x18d136f9
not dword [ecx + 0x16c]
xor dword [ecx + 0x33c], 0x6208084d
xor dword [ecx + 0xf8], 0x67ba7b51
add dword [ecx + 0x180], 0x7718174a
not dword [ecx + 0x3fc]
xor dword [ecx + 0x23c], 0x316c5bc2
sub dword [ecx + 0x3b4], 0x2823bee
sub dword [ecx + 0x2c8], 0x1703935
sub dword [ecx + 0x240], 0x11943930
add dword [ecx + 0x158], 0x7f747cc5
add dword [ecx + 0x208], 0x5ee54b50
sub dword [ecx + 0x3bc], 0x342a6640
sub dword [ecx + 0x2b8], 0x61384456
add dword [ecx + 0x2e8], 0x1cf44941
xor dword [ecx + 0xc], 0x8403014
sub dword [ecx + 0x48], 0x131363f8
not dword [ecx + 0x3e4]
sub dword [ecx + 0x170], 0x47b72a1b
sub dword [ecx + 0x20], 0x21e641ee
not dword [ecx + 0x224]
sub dword [ecx + 0x14c], 0x3dae3f51
sub dword [ecx + 0x270], 0x4bf25584
not dword [ecx + 0x3ac]
not dword [ecx + 0x1dc]
not dword [ecx + 0x32c]
xor dword [ecx + 0x35c], 0x3be15a15
sub dword [ecx + 0x344], 0x46ee0996
xor dword [ecx + 0x200], 0x2f82676
not dword [ecx + 0x114]
not dword [ecx + 0x260]
xor dword [ecx + 0xc4], 0x47b62371
not dword [ecx + 0x3f8]
not dword [ecx + 0x294]
xor dword [ecx + 0x340], 0x107532d2
sub dword [ecx + 0x3dc], 0x4170277f
not dword [ecx + 0x3d8]
xor dword [ecx + 0x214], 0x28c6600f
sub dword [ecx + 0x178], 0x5c9f0f5f
xor dword [ecx + 0x3d4], 0x65c969a7
sub dword [ecx + 0x248], 0x3d765df6
add dword [ecx + 0x24c], 0x45215004
sub dword [ecx + 0x44], 0x59b327a7
not dword [ecx + 0x10]
add dword [ecx + 0x3c4], 0x7ca23550
not dword [ecx + 0x274]
not dword [ecx + 0x3c8]
add dword [ecx + 0x3c0], 0x5fad27d6
sub dword [ecx + 0x288], 0x3bf34e7e
sub dword [ecx + 0x29c], 0x5da47ff5
add dword [ecx + 0x8c], 0x72c92ae8
xor dword [ecx + 0x1e4], 0x7a07f32
add dword [ecx + 0x388], 0x79631f53
not dword [ecx + 0x2d4]
add edi, 0x400
add ecx, 0x400
cmp edi, 0x8c000
jne 0x502017
call fcn.004befb8
pop edi
pop esi
pop ebp
pop ebx
pop edx
pop ecx
pop eax