Function at 0x529000
Capabilities:
Encode data using xor

Disassembly:
push eax
push ecx
push edx
push ebx
push ebp
push esi
push edi
call 0x52900c
pop ecx
sub ecx, 0x120c0c
push 0
pop edx
push ecx
not dword [ecx + 0x134]
xor dword [ecx + 0x2d0], 0x762f3dae
not dword [ecx + 0x128]
xor dword [ecx + 0x1d8], 0x7da01a97
not dword [ecx + 0x364]
not dword [ecx + 0x230]
sub dword [ecx + 0x234], 0x63034218
add dword [ecx + 0x2c4], 0x580f150e
sub dword [ecx + 0xe0], 0x104343db
not dword [ecx + 0x110]
not dword [ecx + 0x320]
sub dword [ecx + 0x200], 0x41c490d
not dword [ecx + 0x3a0]
not dword [ecx + 0x6c]
xor dword [ecx + 0x30c], 0x2ef67af8
add dword [ecx + 0x1b8], 0xd2b594e
sub dword [ecx + 0x148], 0x5fc92235
sub dword [ecx + 0x304], 0x40b460eb
xor dword [ecx + 0x394], 0x23980c8b
xor dword [ecx + 0x2dc], 0x615b185b
sub dword [ecx + 0x1c0], 0x8af0c35
xor dword [ecx + 0x30], 0x69b634f6
sub dword [ecx + 0x138], 0x5ff8310c
xor dword [ecx + 0xb4], 0x48fa7aa0
not dword [ecx + 0x70]
add dword [ecx + 0x34], 0x76466c88
not dword [ecx + 0x2a0]
add dword [ecx + 0x3cc], 0x3bae144f
sub dword [ecx + 0x108], 0x4b370429
xor dword [ecx + 0x168], 0x2223f96
xor dword [ecx + 0x20], 0x7f7c051e
add dword [ecx + 0x1dc], 0x315931f1
sub dword [ecx + 0x354], 0x20a67af2
not dword [ecx + 0x120]
add dword [ecx + 0x278], 0x24f570a5
sub dword [ecx + 0x22c], 0x3aa30f6a
not dword [ecx + 0x294]
not dword [ecx + 0x3f0]
not dword [ecx + 0x154]
xor dword [ecx + 0x360], 0x49fd4589
sub dword [ecx + 0x3b8], 0x7ce95d86
sub dword [ecx + 0x3d0], 0x7376009a
add dword [ecx + 0x15c], 0xb7c2f25
xor dword [ecx + 0x390], 0x40de1d64
add dword [ecx + 0x254], 0x780f05b1
not dword [ecx + 0x88]
xor dword [ecx + 0xc0], 0x2c935455
xor dword [ecx + 0x13c], 0x7e720957
xor dword [ecx + 0x24c], 0x706d0aed
not dword [ecx + 0x240]
not dword [ecx + 0x238]
sub dword [ecx + 0x334], 0x75c02141
not dword [ecx + 0x1e0]
xor dword [ecx + 0xcc], 0x702030a5
not dword [ecx + 0x1c]
sub dword [ecx + 0x1f0], 0x7c1c7e1f
xor dword [ecx + 0x328], 0x106f2349
not dword [ecx + 0x324]
add dword [ecx + 0x58], 0x11061a6c
xor dword [ecx + 0x3fc], 0x4bc03d1c
not dword [ecx + 0x21c]
not dword [ecx + 0x11c]
xor dword [ecx + 0x3c8], 0x45a25265
xor dword [ecx + 0x14c], 0x5c551a66
sub dword [ecx + 0x1d4], 0x50212d12
xor dword [ecx + 0x33c], 0x1c8b2a0e
sub dword [ecx + 0x2f8], 0x5e246b4
add dword [ecx + 0x2e4], 0x436d0fe3
not dword [ecx + 0x16c]
not dword [ecx + 0x14]
sub dword [ecx + 0xf8], 0x79567696
add dword [ecx + 0x150], 0x1b820f0
xor dword [ecx + 0x2a8], 0x34412468
not dword [ecx + 0x100]
sub dword [ecx + 0x170], 0x304b3a93
add dword [ecx + 0x204], 0x76c6680
xor dword [ecx + 0x104], 0x7f005c22
not dword [ecx + 0x34c]
sub dword [ecx + 0x158], 0x38c70572
sub dword [ecx + 0x44], 0x295f67ae
sub dword [ecx + 0x2c], 0x25b0a22
sub dword [ecx + 0x94], 0x75de5587
add dword [ecx + 0x54], 0x2fa81e9a
sub dword [ecx + 0x284], 0x5fc91518
add dword [ecx + 0x28], 0x209b4d2c
add dword [ecx + 0x25c], 0x209c67b0
sub dword [ecx + 0x31c], 0x3b496d1e
xor dword [ecx + 0xfc], 0x270a7c4f
add dword [ecx + 0x228], 0x501332
xor dword [ecx + 0x10], 0x541c2958
add dword [ecx + 0x64], 0x44e83404
xor dword [ecx + 0x190], 0x14ed712d
sub dword [ecx + 0x2a4], 0x1a8c25f2
not dword [ecx + 0x2bc]
sub dword [ecx + 0x384], 0x77865030
xor dword [ecx + 0xc8], 0x36f7001b
not dword [ecx + 0x214]
not dword [ecx + 0x1a0]
not dword [ecx + 0x3ec]
xor dword [ecx + 0x144], 0x5e3515a9
sub dword [ecx + 0x2e0], 0x5dc63896
add dword [ecx + 0x164], 0x1b31338e
xor dword [ecx + 0x118], 0x75b31dc
sub dword [ecx + 0x3c], 0x631308d
not dword [ecx + 0x2c0]
not dword [ecx + 0x124]
add dword [ecx + 0x380], 0x4ed42d18
not dword [ecx + 0xec]
xor dword [ecx + 0x160], 0x794762de
xor dword [ecx + 0x224], 0x43b43b29
not dword [ecx + 0x32c]
add dword [ecx + 0x1a8], 0x3fe63690
add dword [ecx + 0xc4], 0x261d3b30
not dword [ecx + 0x3b4]
add dword [ecx], 0x346d2df5
not dword [ecx + 0x184]
xor dword [ecx + 0x378], 0x4a082ac5
xor dword [ecx + 0x1e4], 0x5c276582
add dword [ecx + 0xc], 0x629b7cfd
xor dword [ecx + 0xac], 0x74166dc6
add dword [ecx + 0x348], 0x3d2b0b6c
add dword [ecx + 0x314], 0x3d0e0d40
not dword [ecx + 0x20c]
xor dword [ecx + 0x2cc], 0x47806ca4
add dword [ecx + 0x7c], 0x330d3689
sub dword [ecx + 0x3a8], 0xd935ced
not dword [ecx + 0x24]
add dword [ecx + 0x98], 0x902392c
add dword [ecx + 0xa8], 0x1ac31aa5
add dword [ecx + 0x19c], 0x53f84f44
add dword [ecx + 0x260], 0xc916e64
not dword [ecx + 0x1d0]
add dword [ecx + 0x2f0], 0x770d1e08
add dword [ecx + 0x38], 0x40b914ba
xor dword [ecx + 0x1fc], 0x662f4fb8
not dword [ecx + 0x220]
sub dword [ecx + 0x27c], 0x2f86734a
not dword [ecx + 0x2c8]
add dword [ecx + 0xa4], 0x69da5d14
xor dword [ecx + 0xd8], 0x59514040
xor dword [ecx + 0x17c], 0x266371b6
not dword [ecx + 0x38c]
add dword [ecx + 0x2d8], 0x45b1b1f
add dword [ecx + 0x268], 0x7242a21
not dword [ecx + 0x3d8]
xor dword [ecx + 0x350], 0x136a2112
not dword [ecx + 0x1bc]
not dword [ecx + 0xe4]
xor dword [ecx + 0x318], 0x60b7061f
xor dword [ecx + 4], 0x4caf6010
add dword [ecx + 0x258], 0x7a140449
add dword [ecx + 0x338], 0x25b2319b
sub dword [ecx + 0x3ac], 0x31ae00f8
not dword [ecx + 0x1a4]
add dword [ecx + 0x3b0], 0x31bf41cf
not dword [ecx + 0xd0]
add dword [ecx + 0x8c], 0x21816eb8
not dword [ecx + 0x370]
sub dword [ecx + 0x10c], 0xe350344
xor dword [ecx + 0x248], 0x27d272de
xor dword [ecx + 0x18c], 0x58502018
sub dword [ecx + 0x1c4], 0x9002f51
sub dword [ecx + 0x5c], 0x5f935689
sub dword [ecx + 0x2ec], 0x6dd06ba1
add dword [ecx + 0x290], 0x4f2b2107
sub dword [ecx + 0x130], 0x5e8810a9
xor dword [ecx + 0x78], 0x5d1e30a0
xor dword [ecx + 0x3d4], 0x50fe1d03
xor dword [ecx + 0x1f8], 0x1c0a3700
xor dword [ecx + 0x3c0], 0x4c857a6a
sub dword [ecx + 0xe8], 0x14e77e84
sub dword [ecx + 0x198], 0x237c57b4
sub dword [ecx + 0x74], 0x500211f0
xor dword [ecx + 0x3a4], 0x15a219f8
sub dword [ecx + 0x36c], 0x59342782
xor dword [ecx + 0x3c4], 0x5e097e28
xor dword [ecx + 0x3f8], 0x9e6271
xor dword [ecx + 0x1e8], 0x634e0518
xor dword [ecx + 0x4c], 0x2f060ff0
sub dword [ecx + 0x37c], 0x67373305
not dword [ecx + 0x180]
add dword [ecx + 0x310], 0x1935f9
not dword [ecx + 0x29c]
not dword [ecx + 0x26c]
not dword [ecx + 0x208]
not dword [ecx + 0x48]
xor dword [ecx + 0x2b4], 0x1f255d60
not dword [ecx + 0x60]
add dword [ecx + 0x84], 0x784007eb
sub dword [ecx + 0x3e4], 0x1d767458
add dword [ecx + 0x388], 0x4ceb5f5a
sub dword [ecx + 0x344], 0x2f036594
xor dword [ecx + 0x1cc], 0x4d3b24ab
not dword [ecx + 0xb0]
xor dword [ecx + 0x2b8], 0x28d07bfd
add dword [ecx + 0xf4], 0x24e76ead
xor dword [ecx + 0x50], 0x646900dc
not dword [ecx + 0x3e0]
xor dword [ecx + 0x244], 0x51d64460
sub dword [ecx + 0x250], 0x5ece2017
add dword [ecx + 0x300], 0x6b5b9c
sub dword [ecx + 0x1c8], 0x2b7f3119
not dword [ecx + 0x194]
sub dword [ecx + 0x358], 0x76ad0bb2
xor dword [ecx + 0x264], 0x501d1e8c
sub dword [ecx + 0x3dc], 0x5bb23e53
add dword [ecx + 0x1ec], 0x187051a7
add dword [ecx + 0x114], 0x14b772f8
xor dword [ecx + 0x1b4], 0x40802fb0
add dword [ecx + 0x210], 0x3192235
sub dword [ecx + 0x35c], 0xfb02fe9
not dword [ecx + 0x90]
xor dword [ecx + 0x280], 0x23007836
add dword [ecx + 0x374], 0x57757aeb
sub dword [ecx + 0x1f4], 0x5e93471b
sub dword [ecx + 0xb8], 0x703a08b8
add dword [ecx + 0x2e8], 0x5d1dc9
add dword [ecx + 0x18], 0x1c38270c
add dword [ecx + 0x140], 0x57b474b4
not dword [ecx + 0x1b0]
sub dword [ecx + 0x174], 0x14cf6e7e
xor dword [ecx + 0x270], 0x39b56b7e
not dword [ecx + 0x39c]
not dword [ecx + 0x288]
xor dword [ecx + 0x1ac], 0x51a20ff2
not dword [ecx + 0x274]
add dword [ecx + 0x80], 0x1e73e97
not dword [ecx + 0x3f4]
xor dword [ecx + 0x9c], 0x72d37fa6
xor dword [ecx + 0xa0], 0x789c5923
not dword [ecx + 0x398]
sub dword [ecx + 0x218], 0x6d9b454d
sub dword [ecx + 0x12c], 0x7a62039
sub dword [ecx + 0x40], 0x32d52740
add dword [ecx + 0x28c], 0x67197c7a
add dword [ecx + 0x178], 0x63e77c2e
add dword [ecx + 0x188], 0xc044125
sub dword [ecx + 8], 0x627c45d1
sub dword [ecx + 0x2f4], 0x7f0e2d9a
sub dword [ecx + 0x330], 0x7d65a80
not dword [ecx + 0x298]
sub dword [ecx + 0x340], 0x67704ff2
xor dword [ecx + 0xdc], 0x3aed3b55
sub dword [ecx + 0xd4], 0x67c5703f
not dword [ecx + 0x308]
add dword [ecx + 0x2d4], 0x68f414be
add dword [ecx + 0x2fc], 0x5f815d67
not dword [ecx + 0x368]
add dword [ecx + 0x3bc], 0x64c72a8a
add dword [ecx + 0x23c], 0x18506497
not dword [ecx + 0x68]
add dword [ecx + 0x2b0], 0x76210ae0
xor dword [ecx + 0xf0], 0x6c497982
add dword [ecx + 0x3e8], 0x11d31158
add dword [ecx + 0xbc], 0x262a349f
not dword [ecx + 0x2ac]
add edx, 0x400
add ecx, 0x400
cmp edx, 0x8c000
jne 0x529017
call fcn.00452354
pop edi
pop esi
pop ebp
pop ebx
pop edx
pop ecx
pop eax