Function at 0x588000
Capabilities:
Encode data using xor

Disassembly:
push eax
push ecx
push edx
push ebx
push ebp
push esi
push edi
call 0x58800c
pop eax
sub eax, 0x8d00c
push 0
pop edi
push eax
sub dword [eax + 0x244], 0x116a7332
sub dword [eax + 0x22c], 0x38d25e97
xor dword [eax + 0x18c], 0x2d765363
xor dword [eax + 0x110], 0x783c64cf
xor dword [eax + 0x320], 0x58e87ae6
add dword [eax + 0x118], 0x46d7122
sub dword [eax + 0x2e4], 0x628f4db1
add dword [eax + 0x20], 0x60a50109
add dword [eax + 0x288], 0x3f6f5261
not dword [eax + 0x1ac]
sub dword [eax + 0x260], 0x77170ad2
sub dword [eax + 0x368], 0x64525b47
xor dword [eax + 0xa8], 0x629854cc
not dword [eax + 0x50]
not dword [eax + 0x2e0]
not dword [eax + 0xf8]
xor dword [eax + 0x28], 0x3561729d
add dword [eax + 0x104], 0x31602d5c
add dword [eax + 0x18], 0x579690c
not dword [eax + 0x1f0]
sub dword [eax + 0x2d0], 0x5b7c206f
not dword [eax + 0x248]
sub dword [eax + 0x3d0], 0x4fc47e1c
xor dword [eax + 0x16c], 0x599b316b
add dword [eax + 0x178], 0x41e04f6e
add dword [eax + 0x128], 0x4c5952e2
add dword [eax + 0x108], 0x30a02bdd
add dword [eax + 0x160], 0x16a15b5a
not dword [eax + 0x1e0]
add dword [eax + 0xc], 0xe3a1b7b
not dword [eax + 0x254]
add dword [eax + 0x4c], 0x5a4e24ea
not dword [eax + 0x2b4]
sub dword [eax + 0x264], 0x4613f0c
xor dword [eax + 0x3c8], 0x753a623b
add dword [eax + 0x27c], 0x200e7f73
sub dword [eax + 0x6c], 0x1e1a5ed5
sub dword [eax + 0x98], 0x1b4f4243
add dword [eax + 0x290], 0x40020ca
sub dword [eax + 0x3e8], 0x659425fd
xor dword [eax + 0x29c], 0x75a96929
sub dword [eax + 0x1b0], 0x51156c5f
xor dword [eax + 0xc8], 0x539d58b3
xor dword [eax + 0x3cc], 0x6400250d
xor dword [eax + 0x150], 0x1e3f4f27
add dword [eax + 0x54], 0x41c332b9
xor dword [eax + 0x198], 0x4daa1161
xor dword [eax + 0xf0], 0x136238f2
not dword [eax + 0x1bc]
sub dword [eax + 0x58], 0x6ac07e06
xor dword [eax + 0x358], 0x3e63169c
sub dword [eax + 0x348], 0x3a0c49d9
add dword [eax + 0x120], 0x66c93587
not dword [eax + 0x1a4]
sub dword [eax + 0x194], 0x6fa72501
xor dword [eax + 0x3b8], 0x2e3b1f0e
not dword [eax + 0x2a0]
sub dword [eax + 0x280], 0x5c5f5ce4
not dword [eax + 0x38]
not dword [eax + 0x34c]
not dword [eax + 0x3c4]
add dword [eax + 0x174], 0x6c8400e1
xor dword [eax + 0x330], 0x67a7143c
not dword [eax + 0x2a8]
add dword [eax + 0x3dc], 0xad01de9
add dword [eax + 0x1f4], 0x6bd24a5e
xor dword [eax + 0x298], 0x37e568e0
sub dword [eax + 0x2e8], 0x17801f2c
add dword [eax + 0x35c], 0x3d48410e
add dword [eax + 0x1e4], 0xa2842d5
not dword [eax + 0x234]
not dword [eax + 0x94]
add dword [eax + 0x314], 0x7f563647
add dword [eax + 0x268], 0x15c41f74
sub dword [eax + 0x140], 0x1fd1480b
add dword [eax + 0x398], 0x50bf767f
not dword [eax + 0x28c]
xor dword [eax + 0xd8], 0x5fdf26da
sub dword [eax + 0x34], 0x30d420df
sub dword [eax + 0x310], 0x159539bb
add dword [eax + 0x3d4], 0x28fb00cd
xor dword [eax + 0x300], 0x4a4405b7
sub dword [eax + 0x90], 0x32a90588
xor dword [eax + 0x324], 0x1a817f78
sub dword [eax + 0x378], 0x18c705db
xor dword [eax + 0x17c], 0x524e5c02
add dword [eax + 0xe4], 0x4bbc7e50
xor dword [eax + 0x224], 0x478521b8
sub dword [eax + 0x3e4], 0x18b15da4
add dword [eax + 0x1b8], 0x5c442ed1
add dword [eax + 0x170], 0x518431ee
xor dword [eax + 0x1b4], 0x6c2811fe
not dword [eax + 0x14]
xor dword [eax + 0x13c], 0x85c2314
add dword [eax + 0x2b0], 0x14294c68
not dword [eax + 0x1d4]
xor dword [eax + 0x334], 0x4ca251d0
sub dword [eax + 0x328], 0xfa922a1
add dword [eax + 0x134], 0x48a87f1c
xor dword [eax + 0x1c8], 0x367941e1
add dword [eax + 0x37c], 0x4f4a0965
not dword [eax + 0x230]
add dword [eax + 0x3b4], 0x57584bf5
add dword [eax + 0x31c], 0x2c14586d
add dword [eax + 0x5c], 0x2468333b
sub dword [eax + 0x3c], 0x70020e96
sub dword [eax + 0x188], 0x6d433e0d
add dword [eax + 0x3b0], 0x57e709e4
not dword [eax + 0x2c4]
not dword [eax + 0x3ac]
add dword [eax + 0x258], 0x41d37e4f
sub dword [eax + 0x26c], 0xddd2816
not dword [eax + 0x3a0]
not dword [eax + 0x138]
add dword [eax + 0x208], 0x496b2327
sub dword [eax + 0x278], 0x3c306830
sub dword [eax + 0x184], 0x5ed12d9b
xor dword [eax + 0xb0], 0x71eb1e09
not dword [eax + 0xfc]
add dword [eax + 0x40], 0x512c5003
sub dword [eax + 0x68], 0x1ed91c13
add dword [eax + 0x390], 0x27a63743
not dword [eax + 0x284]
xor dword [eax + 0xf4], 0x66941c04
not dword [eax + 0x3d8]
not dword [eax + 0x14c]
sub dword [eax + 0x200], 0x2e3344e8
not dword [eax + 0x370]
sub dword [eax + 0x2c0], 0x2bf13fab
xor dword [eax + 0x78], 0x1b1715d4
sub dword [eax + 0x9c], 0x5c4f3825
not dword [eax + 0x340]
add dword [eax + 0x1ec], 0x11482eb2
xor dword [eax + 0x2cc], 0x7533719b
add dword [eax + 0x148], 0x3e1e08e4
xor dword [eax + 0x7c], 0x744a1a52
add dword [eax + 0x1cc], 0x428e2bc6
sub dword [eax + 0x33c], 0x52b71882
add dword [eax + 0x3e0], 0x53764fc2
not dword [eax + 0x2a4]
sub dword [eax + 0x19c], 0x6bc23c3a
add dword [eax + 0x1c0], 0x9147f35
sub dword [eax + 0x1c], 0x4df556f0
xor dword [eax + 0x3a8], 0x4e487f83
add dword [eax + 0x114], 0x2d2e6c0d
sub dword [eax + 0x2f8], 0x74c7098c
add dword [eax + 0x2f0], 0x166145e7
add dword [eax + 0xdc], 0x6df16c40
not dword [eax + 0x2b8]
xor dword [eax + 0x30c], 0x6b6154d1
sub dword [eax + 0x1dc], 0x4c1707da
not dword [eax + 0x1e8]
sub dword [eax + 0x228], 0x46db27a4
add dword [eax + 0x220], 0x614a263c
not dword [eax + 0x294]
sub dword [eax + 0x210], 0x265065f8
sub dword [eax + 4], 0x6f6b027a
not dword [eax + 0x2ec]
xor dword [eax + 0x38c], 0x2e305167
not dword [eax + 0x1a8]
sub dword [eax + 0x158], 0x8322ab2
add dword [eax + 0x2bc], 0x23e0349c
add dword [eax + 0xcc], 0x66514acf
add dword [eax + 0x64], 0x6977652
xor dword [eax + 0xa4], 0x6d975b0a
not dword [eax + 0x10]
add dword [eax + 0x190], 0x3ec66cc
sub dword [eax + 0x238], 0x5731329b
xor dword [eax + 0x80], 0x41194251
add dword [eax + 0x240], 0x126c61c2
add dword [eax + 0x2d4], 0x7a8f56b8
sub dword [eax + 0x44], 0x20f80b1b
not dword [eax + 0x21c]
sub dword [eax + 0xd4], 0x13d31830
not dword [eax + 0x304]
xor dword [eax + 0x2c], 0x1d934f55
add dword [eax + 0x130], 0x3a4f213a
not dword [eax + 0x2fc]
not dword [eax + 0x60]
not dword [eax + 0x74]
add dword [eax + 0xe0], 0xca60ea8
add dword [eax + 0x360], 0x68db0230
xor dword [eax + 0x36c], 0x89e5397
add dword [eax + 0x1a0], 0x7472215f
xor dword [eax + 0xa0], 0x51370fbd
xor dword [eax + 0x8c], 0x26e6fc5
not dword [eax + 0xbc]
sub dword [eax + 0xb4], 0x46895e2f
add dword [eax + 0x318], 0x76922b90
sub dword [eax + 0x354], 0x6fb57f3d
xor dword [eax + 0xd0], 0x66703794
xor dword [eax + 0x1f8], 0x2f2b170e
sub dword [eax + 0x3ec], 0x4a3b59e3
sub dword [eax + 0x88], 0xd2a795e
xor dword [eax + 0x84], 0x12bb6e99
not dword [eax + 0x3a4]
not dword [eax + 0x3c0]
sub dword [eax + 0x30], 0x36510354
xor dword [eax + 0x15c], 0x38c43e98
add dword [eax + 0x3f4], 0x1e11617b
add dword [eax + 0x2ac], 0x6007d53
add dword [eax + 0x274], 0x4f7674d4
xor dword [eax + 0x388], 0x266e0019
sub dword [eax + 0x12c], 0x738b4e03
add dword [eax + 0xac], 0xc016bfb
xor dword [eax + 0x1fc], 0x2d9a00b6
not dword [eax + 0x2dc]
add dword [eax + 0x384], 0x59f5024c
not dword [eax + 0x1c4]
xor dword [eax + 0x124], 0x49740bff
not dword [eax + 0x374]
sub dword [eax + 0x39c], 0x73c56bb1
sub dword [eax + 0x270], 0x296c10f1
xor dword [eax + 0x338], 0x40546002
xor dword [eax + 0x25c], 0x7324799e
sub dword [eax + 0x24], 0xc8d6f8e
sub dword [eax + 0x11c], 0x79d67360
xor dword [eax + 0xec], 0x2f1f782a
xor dword [eax + 0x350], 0x527c609d
xor dword [eax + 0x100], 0x3ca86396
add dword [eax + 0x70], 0x48562bae
xor dword [eax + 0x250], 0x342d051d
xor dword [eax + 0x3f0], 0x78472e15
xor dword [eax + 0x308], 0x3da846f4
not dword [eax + 0x48]
xor dword [eax + 0x3fc], 0x588365cb
not dword [eax + 0x10c]
not dword [eax + 0xc4]
add dword [eax + 0x214], 0x4adb2acc
add dword [eax + 0xc0], 0x7a8c104d
not dword [eax + 0x154]
not dword [eax + 0x20c]
sub dword [eax + 0x144], 0x2b200c57
not dword [eax + 0x380]
add dword [eax + 0x24c], 0x7c375909
not dword [eax + 0xb8]
sub dword [eax + 0x394], 0x4c8c2aa7
sub dword [eax + 0x164], 0x1d6f2b33
sub dword [eax + 0x2c8], 0x46182724
sub dword [eax + 0x168], 0x1231204d
not dword [eax + 0x1d8]
xor dword [eax + 0x364], 0x5f2d509b
xor dword [eax + 0x204], 0x1287122d
sub dword [eax + 0x1d0], 0x79f63a2d
xor dword [eax + 0x3f8], 0x1c0a2bd3
add dword [eax + 8], 0x70893758
xor dword [eax + 0x2f4], 0x2667709b
not dword [eax]
not dword [eax + 0x3bc]
sub dword [eax + 0x23c], 0x5e046a22
not dword [eax + 0x218]
add dword [eax + 0x2d8], 0x3cd11583
not dword [eax + 0x32c]
not dword [eax + 0xe8]
sub dword [eax + 0x344], 0x2f96766c
not dword [eax + 0x180]
add edi, 0x400
add eax, 0x400
cmp edi, 0x8c000
jne 0x588017
call fcn.00544f54
pop edi
pop esi
pop ebp
pop ebx
pop edx
pop ecx
pop eax