Function at 0x591000
Capabilities:
Encode data using xor

Disassembly:
push eax
push ecx
push edx
push ebx
push ebp
push esi
push edi
call 0x59100c
pop ebx
sub ebx, 0x16c20c
push 0
pop eax
push ebx
xor dword [ebx + 0x154], 0x7b530a9e
add dword [ebx + 0x6c], 0x55791f91
add dword [ebx + 0x1ec], 0x795c0095
xor dword [ebx + 0xa0], 0x146c4493
xor dword [ebx + 0x2a4], 0x778c3e97
not dword [ebx + 0x144]
add dword [ebx + 0xb0], 0x56801396
sub dword [ebx + 0x360], 0x799e2cdc
sub dword [ebx + 0x358], 0x3b1e5073
sub dword [ebx + 0x328], 0x65ff5862
xor dword [ebx + 0x140], 0x75c4390f
sub dword [ebx + 0x3ac], 0x5a8e4714
xor dword [ebx + 0x298], 0x174a029e
not dword [ebx + 0x58]
sub dword [ebx + 0x1d4], 0x7ed4554f
sub dword [ebx + 0x90], 0x71347205
xor dword [ebx + 0x14c], 0x4971439b
sub dword [ebx + 0x2fc], 0x123d262b
xor dword [ebx + 0xc0], 0x43a60db8
add dword [ebx + 0x2c0], 0x58175044
xor dword [ebx + 0x244], 0x4fb535f8
not dword [ebx + 0x84]
not dword [ebx + 0x3b4]
sub dword [ebx + 0xdc], 0x282d755d
xor dword [ebx + 0x74], 0x511d3fa3
xor dword [ebx + 0x170], 0x40517e0c
sub dword [ebx + 0x34c], 0x6dd81d4e
not dword [ebx + 0x24c]
add dword [ebx + 0x18c], 0xf64525d
add dword [ebx + 0x1cc], 0x21af5e86
add dword [ebx + 0x2c8], 0x1a9722a7
add dword [ebx + 0x280], 0x75ed49b3
xor dword [ebx + 0x224], 0x27c91999
add dword [ebx + 0x308], 0x3f0174ed
xor dword [ebx + 0x3e4], 0x37346283
xor dword [ebx + 0x168], 0x1bd14eb7
not dword [ebx + 0x2e8]
sub dword [ebx + 0x94], 0x166a22f5
not dword [ebx + 0x220]
not dword [ebx + 0x2bc]
add dword [ebx + 0x310], 0x5cff6de3
xor dword [ebx + 8], 0x3e6d37b7
sub dword [ebx + 0x2b0], 0x17852c66
sub dword [ebx + 0x3c], 0x5a7a6809
add dword [ebx + 0x330], 0x47043c3b
add dword [ebx + 0x348], 0x4c8f1498
xor dword [ebx + 0xec], 0x1d9a54e1
xor dword [ebx + 0x3c8], 0x8f32a24
xor dword [ebx + 0x1b8], 0xe2a25ea
add dword [ebx + 0x26c], 0x32e64ea
sub dword [ebx + 0x30c], 0x525c3c6a
add dword [ebx + 0x334], 0x3ec55fb4
xor dword [ebx + 0x384], 0x7fb3694b
sub dword [ebx + 0x134], 0x3da15990
xor dword [ebx + 0xa4], 0x6f0f40f1
xor dword [ebx + 0x2c], 0x62d709b8
sub dword [ebx + 0x3f0], 0x5db25a88
add dword [ebx + 0x2e0], 0x337a6796
add dword [ebx + 0xf0], 0x509a4a15
xor dword [ebx + 0x38], 0x62ef701c
not dword [ebx + 0x22c]
sub dword [ebx + 0x40], 0x6be94155
xor dword [ebx + 0x78], 0x5bd40e5d
sub dword [ebx + 0xcc], 0x6492d14
xor dword [ebx + 0x37c], 0x2a7d6388
add dword [ebx + 0xf8], 0x7a9f5385
add dword [ebx + 0x3cc], 0x435c5177
add dword [ebx + 0x1c8], 0x31080b3b
add dword [ebx + 0x14], 0x167d2748
xor dword [ebx + 0x25c], 0x5efd161f
not dword [ebx + 0x130]
add dword [ebx + 0x110], 0x26e40cda
add dword [ebx + 0x1f4], 0x6ada2f72
not dword [ebx + 0x1bc]
not dword [ebx + 0x2c4]
not dword [ebx + 0x300]
not dword [ebx + 0x100]
xor dword [ebx + 0x38c], 0x36623cb2
xor dword [ebx + 0xe8], 0x184f782f
add dword [ebx + 0x198], 0x1f893b68
add dword [ebx + 0x260], 0x4a76485b
not dword [ebx + 0x2d4]
sub dword [ebx + 0x380], 0x32d4337f
add dword [ebx + 0x10c], 0x42744d62
xor dword [ebx + 0x138], 0x5720b71
add dword [ebx + 0x1d0], 0x32b920b2
xor dword [ebx + 0x270], 0x39b43894
add dword [ebx + 0x148], 0x31016890
not dword [ebx + 0x200]
not dword [ebx + 0x3e8]
xor dword [ebx + 0xfc], 0x5dc1eac
sub dword [ebx + 0x268], 0x403749e6
not dword [ebx + 0x238]
not dword [ebx + 0x1f8]
sub dword [ebx + 0x1dc], 0x6a27174f
sub dword [ebx + 0x164], 0x6f344a6b
sub dword [ebx + 0x234], 0x65d0f14
not dword [ebx + 0x16c]
not dword [ebx + 0x33c]
xor dword [ebx + 0x2a8], 0x32a13659
sub dword [ebx + 0x1f0], 0x46881399
xor dword [ebx + 0x3a4], 0x516a740a
sub dword [ebx + 0x2b4], 0x2b700c64
not dword [ebx + 0x32c]
sub dword [ebx + 0x174], 0x5aa701f7
sub dword [ebx + 0x318], 0x66a7585a
sub dword [ebx + 0x258], 0x53350ab5
sub dword [ebx + 0x68], 0xe4f5d91
not dword [ebx + 0x2f8]
add dword [ebx + 0x114], 0x1c822f53
sub dword [ebx + 0x1b4], 0x2036578b
not dword [ebx + 0x3c0]
add dword [ebx + 4], 0x60e52fea
sub dword [ebx + 0x254], 0x31de083d
sub dword [ebx + 0x344], 0x6259785f
sub dword [ebx + 0x314], 0x3d864416
not dword [ebx + 0x278]
add dword [ebx + 0x9c], 0x164745a6
not dword [ebx + 0x5c]
xor dword [ebx + 0xe0], 0x4678617b
not dword [ebx + 0x350]
sub dword [ebx + 0x1d8], 0x7f2b087d
add dword [ebx + 0x2b8], 0xf1e3eef
sub dword [ebx + 0x2dc], 0x488302ca
not dword [ebx + 0x274]
xor dword [ebx + 0x1c4], 0x4e4c6842
xor dword [ebx + 0x3f8], 0x6778072a
sub dword [ebx + 0xc8], 0x2a846f21
not dword [ebx + 0x190]
add dword [ebx + 0x150], 0x2616728e
not dword [ebx + 0x2ac]
sub dword [ebx + 0x194], 0x2f203f9a
add dword [ebx + 0x208], 0x69e93cef
not dword [ebx + 0x2cc]
sub dword [ebx + 0x8c], 0xa0d5250
xor dword [ebx + 0x28], 0x67751733
xor dword [ebx + 0x44], 0x3f943074
xor dword [ebx + 0x2e4], 0x1ac87f2a
add dword [ebx + 0x378], 0x1fc5127b
xor dword [ebx + 0xb8], 0x3e47338a
xor dword [ebx + 0x228], 0x1873d4f
sub dword [ebx + 0x264], 0x29a03b44
sub dword [ebx + 0x288], 0x5e2a44d2
add dword [ebx + 0x188], 0x7e075ead
not dword [ebx + 0x178]
not dword [ebx + 0x214]
xor dword [ebx + 0x1e8], 0x640b12c1
sub dword [ebx + 0x248], 0x48d217bb
xor dword [ebx + 0x2a0], 0x2e0c41a5
sub dword [ebx + 0x3d8], 0x586d2629
sub dword [ebx + 0x364], 0x265c1bad
add dword [ebx + 0x374], 0x354c6fc5
not dword [ebx + 0x390]
add dword [ebx + 0x2d0], 0x37616718
not dword [ebx + 0x54]
not dword [ebx + 0x3bc]
xor dword [ebx + 0x338], 0x6ca7dab
add dword [ebx + 0x158], 0x2b740694
xor dword [ebx + 0x7c], 0x23f45ef1
not dword [ebx + 0x3d4]
xor dword [ebx + 0x1a8], 0x7d7b69aa
xor dword [ebx + 0x180], 0x5a1d5e8b
xor dword [ebx + 0x398], 0x32a37fa1
not dword [ebx + 0x240]
sub dword [ebx + 0x28c], 0x134015e8
add dword [ebx + 0x250], 0x7d5525ed
not dword [ebx + 0x20]
sub dword [ebx + 0x1a4], 0x33ae7224
sub dword [ebx + 0x88], 0x428148a8
xor dword [ebx + 0x20c], 0x56f65f37
not dword [ebx + 0x30]
add dword [ebx + 0xd0], 0x9f36aab
xor dword [ebx + 0x104], 0x285a2ea0
sub dword [ebx + 0x2f0], 0x54504ed5
add dword [ebx + 0x118], 0x39b573be
not dword [ebx + 0x64]
sub dword [ebx + 0x31c], 0x3ccf6310
not dword [ebx + 0x3e0]
not dword [ebx + 0x19c]
add dword [ebx + 0x13c], 0x613023dc
xor dword [ebx + 0xf4], 0x2bdb496f
add dword [ebx + 0x39c], 0x69fa59a4
not dword [ebx + 0x80]
not dword [ebx + 0x23c]
add dword [ebx + 0x340], 0x556c16df
xor dword [ebx + 0xd4], 0x33032ef2
add dword [ebx + 0xbc], 0x54242d78
add dword [ebx + 0x230], 0x62300244
xor dword [ebx + 0x354], 0x3bec1fb0
add dword [ebx + 0x48], 0x35b3256
xor dword [ebx + 0x2ec], 0x3a6c5830
sub dword [ebx + 0x11c], 0x22fd44a1
sub dword [ebx + 0x120], 0x434376bd
not dword [ebx + 0x204]
add dword [ebx + 0x21c], 0x541d139b
add dword [ebx + 0xa8], 0x3baa4834
add dword [ebx + 0x2d8], 0x46487854
xor dword [ebx + 0x108], 0x3a4d7f72
xor dword [ebx + 0x124], 0x7263607f
xor dword [ebx + 0x1c], 0x34ae7261
sub dword [ebx + 0xac], 0x1c0f4ba0
xor dword [ebx + 0x1e0], 0x609a23d3
sub dword [ebx + 0x324], 0x7fcf0cd4
add dword [ebx + 0x394], 0x51a73432
xor dword [ebx + 0x184], 0x17c3a4e
xor dword [ebx + 0x2f4], 0x28d41621
add dword [ebx + 0x388], 0x74a81fd9
xor dword [ebx + 0x3ec], 0x79895370
add dword [ebx + 0x18], 0x7e905ad4
not dword [ebx + 0x34]
not dword [ebx + 0x304]
add dword [ebx + 0x12c], 0x625e4c95
not dword [ebx + 0xc]
sub dword [ebx + 0x284], 0x55c477e8
not dword [ebx + 0x3c4]
add dword [ebx + 0x3b8], 0x3ee27f59
xor dword [ebx + 0x4c], 0x7c1e6ef7
sub dword [ebx + 0x320], 0x4ba0633b
sub dword [ebx + 0x3b0], 0x41266199
xor dword [ebx + 0x1c0], 0x5b3b45b4
add dword [ebx + 0x160], 0x3bed42a5
add dword [ebx + 0x3a8], 0x74da7b02
add dword [ebx + 0xd8], 0x7d562de3
add dword [ebx + 0xc4], 0x1e146838
add dword [ebx + 0x3fc], 0x2c637a6e
sub dword [ebx + 0x70], 0x4e97ddc
xor dword [ebx + 0x10], 0x335175ad
add dword [ebx + 0x1e4], 0x1c0c4241
not dword [ebx + 0x29c]
xor dword [ebx + 0x210], 0x3b885d57
sub dword [ebx + 0x290], 0x356e74af
sub dword [ebx + 0x24], 0x68db33c4
sub dword [ebx + 0x128], 0x55440bd4
add dword [ebx + 0x1b0], 0x3a8d41fb
xor dword [ebx + 0x15c], 0x76a31e0
not dword [ebx]
xor dword [ebx + 0x17c], 0x4b734497
not dword [ebx + 0x1fc]
xor dword [ebx + 0x370], 0x34d26c34
sub dword [ebx + 0xe4], 0x543f4e08
add dword [ebx + 0x50], 0x74d90c2f
xor dword [ebx + 0x1ac], 0x1cdc5f90
xor dword [ebx + 0x218], 0x3fd23556
not dword [ebx + 0x294]
sub dword [ebx + 0x368], 0x5424bde
xor dword [ebx + 0x60], 0xe4230fb
sub dword [ebx + 0x3a0], 0x42d13c07
xor dword [ebx + 0x3dc], 0x27ff6b91
xor dword [ebx + 0x3f4], 0x608a7f3c
add dword [ebx + 0x36c], 0xc2d2b5f
not dword [ebx + 0x3d0]
not dword [ebx + 0x98]
add dword [ebx + 0x27c], 0x540b7cde
xor dword [ebx + 0x1a0], 0x63d502be
not dword [ebx + 0x35c]
add dword [ebx + 0xb4], 0x17480ced
add eax, 0x400
add ebx, 0x400
cmp eax, 0x8c000
jne 0x591017
call fcn.0046ed54
pop edi
pop esi
pop ebp
pop ebx
pop edx
pop ecx
pop eax