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 ebx
sub ebx, 0x8c20c
push 0
pop esi
push ebx
not dword [ebx + 0x1cc]
sub dword [ebx + 0xa4], 0x32487bde
add dword [ebx + 0x68], 0x348c3cd2
xor dword [ebx + 0x3d0], 0x17811f56
add dword [ebx + 0x11c], 0x3dde4256
xor dword [ebx + 0x190], 0x40ed4dfc
sub dword [ebx + 0xe0], 0x2ffd5fa4
add dword [ebx + 0x368], 0x7c7f101f
sub dword [ebx + 0x17c], 0x8f4616c
sub dword [ebx + 0x298], 0x23172aaf
sub dword [ebx + 0x20c], 0x4be7543c
xor dword [ebx + 0x3c0], 0x1c1f036f
xor dword [ebx + 0x274], 0x4bb53375
not dword [ebx + 0x6c]
xor dword [ebx + 0x2ac], 0x2217465c
add dword [ebx + 0x264], 0x3191971
add dword [ebx + 0x194], 0x71e96557
add dword [ebx + 0x3b0], 0x669b3672
not dword [ebx + 0x188]
xor dword [ebx + 0x2d4], 0x2252501d
sub dword [ebx + 0x228], 0x1f0474d0
xor dword [ebx + 0x80], 0x540841ce
not dword [ebx + 0x12c]
sub dword [ebx + 0x1c4], 0x1a65758f
not dword [ebx + 0x348]
sub dword [ebx + 0x1a0], 0x39a4427
add dword [ebx + 0x1f0], 0x36bd7a32
add dword [ebx + 0x40], 0x438e701e
not dword [ebx + 0x3cc]
xor dword [ebx], 0x3ddf5cc4
add dword [ebx + 0x70], 0x409e75f5
not dword [ebx + 0x388]
sub dword [ebx + 0xec], 0x4ab4e86
sub dword [ebx + 0x10], 0x43e67c26
sub dword [ebx + 8], 0x148a5c58
sub dword [ebx + 0x2a4], 0x38c54f84
xor dword [ebx + 0x2c4], 0xe351a12
not dword [ebx + 0xb4]
xor dword [ebx + 0x2bc], 0x42d55c07
sub dword [ebx + 0x170], 0x5f065525
xor dword [ebx + 0x1fc], 0x2d51647f
not dword [ebx + 0x330]
not dword [ebx + 0x48]
not dword [ebx + 0x1e4]
xor dword [ebx + 0x2f8], 0x4ec75ffa
not dword [ebx + 0x39c]
add dword [ebx + 0xdc], 0x554e4252
sub dword [ebx + 0x140], 0x406916d8
xor dword [ebx + 0x144], 0x35a257b7
add dword [ebx + 0xac], 0x1607085
add dword [ebx + 0x3f0], 0x13e77f21
sub dword [ebx + 0x2a0], 0x20d1120e
sub dword [ebx + 0x224], 0x29821506
add dword [ebx + 0x1d8], 0x4ab81b4e
xor dword [ebx + 0x54], 0x15943911
sub dword [ebx + 0xe8], 0x2c0c32f0
xor dword [ebx + 0x16c], 0x5e6e1160
add dword [ebx + 0x254], 0x7fe72a3a
sub dword [ebx + 0x1e8], 0x12c84482
sub dword [ebx + 0xfc], 0x47dd3a01
sub dword [ebx + 0x1c0], 0x3f601afd
xor dword [ebx + 0x24c], 0x4dcb4f92
not dword [ebx + 0x3a8]
not dword [ebx + 0x10c]
add dword [ebx + 0x28c], 0x4bb1746d
xor dword [ebx + 0xc], 0x7b095631
not dword [ebx + 0x310]
add dword [ebx + 0x2fc], 0x423e4780
add dword [ebx + 0x94], 0x2a332db2
sub dword [ebx + 0x78], 0x7a41058e
sub dword [ebx + 0x7c], 0x2a7538c6
xor dword [ebx + 0x35c], 0x23f25a3d
xor dword [ebx + 0x2e8], 0x4d49767e
add dword [ebx + 0x2dc], 0x23a415bf
xor dword [ebx + 0x19c], 0x51c81900
add dword [ebx + 0x8c], 0x347e0ad5
add dword [ebx + 0x1d4], 0x355d29cc
sub dword [ebx + 0x38], 0x2e9c2d8d
not dword [ebx + 0x2d0]
not dword [ebx + 0x2e0]
add dword [ebx + 0x90], 0x634957fe
not dword [ebx + 0xbc]
add dword [ebx + 0x314], 0x26cf3253
not dword [ebx + 0x21c]
sub dword [ebx + 0x3f4], 0x44f36f19
not dword [ebx + 0x14]
sub dword [ebx + 0x3ec], 0x559a2615
sub dword [ebx + 0x14c], 0x11227260
sub dword [ebx + 0x244], 0x2b4e68c5
not dword [ebx + 0x18c]
not dword [ebx + 0x1ec]
xor dword [ebx + 0x2cc], 0x17fc10ad
not dword [ebx + 0x3b8]
not dword [ebx + 0x260]
xor dword [ebx + 0x3e0], 0x415e22ae
sub dword [ebx + 0x354], 0x78f51cad
sub dword [ebx + 0xc0], 0x34cb3401
xor dword [ebx + 0x5c], 0x137a30c1
not dword [ebx + 0x50]
add dword [ebx + 0x290], 0x2d8358a8
not dword [ebx + 0x250]
sub dword [ebx + 0x154], 0x5a5c519b
xor dword [ebx + 0x100], 0x55967020
add dword [ebx + 0x128], 0x17c10c55
add dword [ebx + 0x328], 0x5e7c46e3
sub dword [ebx + 0x2e4], 0x53c112d7
sub dword [ebx + 0x270], 0x3b696ead
xor dword [ebx + 0x240], 0x2eaa36c6
add dword [ebx + 0x3d8], 0x39fa06fa
xor dword [ebx + 0x130], 0x461a4b0c
add dword [ebx + 0xe4], 0xf380bb5
add dword [ebx + 0x88], 0x161e18c9
not dword [ebx + 0xd0]
not dword [ebx + 0x9c]
not dword [ebx + 0x148]
add dword [ebx + 0x120], 0x198850a6
add dword [ebx + 0x30c], 0xe4d446f
not dword [ebx + 0xd8]
not dword [ebx + 0x118]
add dword [ebx + 0x284], 0x511d7575
add dword [ebx + 0x248], 0x6baf781c
add dword [ebx + 0x360], 0x32a31085
add dword [ebx + 0x320], 0x47e55b24
xor dword [ebx + 0x304], 0x7737e51
sub dword [ebx + 0x28], 0x4ef260b4
xor dword [ebx + 0x20], 0x3a9f21d0
xor dword [ebx + 0x390], 0x34cb1ec4
add dword [ebx + 0x164], 0x49ad7d98
not dword [ebx + 0xb0]
not dword [ebx + 0x36c]
sub dword [ebx + 0x1a8], 0xd7825ab
not dword [ebx + 0xf8]
add dword [ebx + 0x134], 0xca7f2d
xor dword [ebx + 0x29c], 0x131976bf
add dword [ebx + 0x174], 0x39901e54
xor dword [ebx + 0x33c], 0x18db026d
sub dword [ebx + 0x60], 0xe4727a4
sub dword [ebx + 0x180], 0x9827014
xor dword [ebx + 0x204], 0x330488b
xor dword [ebx + 0x23c], 0xe910c76
not dword [ebx + 0x334]
sub dword [ebx + 0x168], 0x5d0e24f8
sub dword [ebx + 0x2f4], 0x7e3d0afe
sub dword [ebx + 0x1ac], 0x692d3775
sub dword [ebx + 0xa0], 0x613176fc
add dword [ebx + 0x3c], 0x1b3b591e
sub dword [ebx + 0xd4], 0x7a8c286f
add dword [ebx + 0x318], 0x57f433eb
sub dword [ebx + 0x15c], 0x200b3055
sub dword [ebx + 0x38c], 0x35d32e37
sub dword [ebx + 0xf4], 0x6344484c
xor dword [ebx + 0x200], 0x5ac33e00
add dword [ebx + 0xcc], 0x2a7a1259
add dword [ebx + 0x234], 0x18866fb1
sub dword [ebx + 0x3a4], 0x51a36ff7
xor dword [ebx + 0x238], 0x13d3107d
not dword [ebx + 0x27c]
sub dword [ebx + 0x184], 0x5dd56cdb
sub dword [ebx + 0x25c], 0xe9e3794
sub dword [ebx + 0x210], 0x521d61d0
not dword [ebx + 0x1c8]
not dword [ebx + 0x2d8]
xor dword [ebx + 0x64], 0xbcf138f
add dword [ebx + 0x34c], 0x43897213
xor dword [ebx + 0x300], 0x35277922
not dword [ebx + 0x1b0]
sub dword [ebx + 0x2ec], 0x6f7d37d5
not dword [ebx + 4]
not dword [ebx + 0x26c]
add dword [ebx + 0x1a4], 0x35e71811
xor dword [ebx + 0x3e8], 0x54e65a2
not dword [ebx + 0x2b8]
sub dword [ebx + 0x3dc], 0x1a202186
add dword [ebx + 0x380], 0x48392308
not dword [ebx + 0x378]
sub dword [ebx + 0x104], 0x55331bad
add dword [ebx + 0x258], 0x24427106
add dword [ebx + 0x288], 0x27c742f3
xor dword [ebx + 0x3d4], 0x542a1522
xor dword [ebx + 0x278], 0x36c72ad
sub dword [ebx + 0x338], 0x5377101c
add dword [ebx + 0x268], 0x1c741727
sub dword [ebx + 0xb8], 0x7f74747b
sub dword [ebx + 0x3e4], 0x6f2d2130
not dword [ebx + 0x280]
sub dword [ebx + 0x370], 0x1987014d
add dword [ebx + 0x2b0], 0x19fa623f
not dword [ebx + 0x158]
sub dword [ebx + 0x108], 0x4b6a3b13
not dword [ebx + 0x2c0]
sub dword [ebx + 0x3c8], 0x44502d05
xor dword [ebx + 0x294], 0x49130d81
add dword [ebx + 0x3ac], 0x74df04f9
sub dword [ebx + 0x384], 0x1a0c31d8
not dword [ebx + 0x394]
xor dword [ebx + 0x3c4], 0x655c2dcc
xor dword [ebx + 0x30], 0x401a3a23
xor dword [ebx + 0x32c], 0x7f3362b8
add dword [ebx + 0x324], 0x40887341
sub dword [ebx + 0x1b8], 0x7a572ddb
sub dword [ebx + 0x2c], 0x74a8751d
add dword [ebx + 0x2f0], 0x2785146e
not dword [ebx + 0x110]
xor dword [ebx + 0x34], 0x4dfa5806
not dword [ebx + 0x114]
not dword [ebx + 0x208]
xor dword [ebx + 0x3bc], 0x763b531f
sub dword [ebx + 0x37c], 0x55fe065d
not dword [ebx + 0x1d0]
not dword [ebx + 0xc4]
xor dword [ebx + 0x22c], 0x26724cee
add dword [ebx + 0x344], 0x1cf2362c
sub dword [ebx + 0x398], 0x49704eb2
sub dword [ebx + 0x1e0], 0x5d1f70fc
xor dword [ebx + 0x98], 0x4b6d2b50
xor dword [ebx + 0x220], 0x63605ad7
add dword [ebx + 0x1b4], 0x2adf3aa8
xor dword [ebx + 0x178], 0x51064fe3
not dword [ebx + 0x198]
sub dword [ebx + 0x3f8], 0x5c6536db
xor dword [ebx + 0x214], 0x2e41e40
add dword [ebx + 0x24], 0x6c945931
not dword [ebx + 0x2c8]
not dword [ebx + 0x308]
xor dword [ebx + 0x84], 0x11745249
not dword [ebx + 0x374]
xor dword [ebx + 0x1f8], 0x196962ad
add dword [ebx + 0x1dc], 0x2e480744
not dword [ebx + 0x3fc]
sub dword [ebx + 0x124], 0x351c70ec
sub dword [ebx + 0x218], 0x261f69e7
not dword [ebx + 0x1f4]
add dword [ebx + 0xc8], 0x74e16d02
not dword [ebx + 0x160]
sub dword [ebx + 0x4c], 0x3ccf4abc
add dword [ebx + 0x364], 0x7ed524da
sub dword [ebx + 0x44], 0x5d2d4d41
xor dword [ebx + 0x58], 0x192853a2
xor dword [ebx + 0x1bc], 0x6a782441
xor dword [ebx + 0x3b4], 0xc5e7657
sub dword [ebx + 0x138], 0x7c1f0fe2
not dword [ebx + 0x13c]
add dword [ebx + 0x31c], 0x5b026c5
xor dword [ebx + 0x350], 0x58ab6844
sub dword [ebx + 0x1c], 0x788f0d16
not dword [ebx + 0x340]
not dword [ebx + 0x150]
not dword [ebx + 0xa8]
not dword [ebx + 0xf0]
add dword [ebx + 0x3a0], 0x8961b70
sub dword [ebx + 0x2a8], 0x1d9e295a
sub dword [ebx + 0x74], 0x21066100
not dword [ebx + 0x230]
add dword [ebx + 0x358], 0x572b1dc4
add dword [ebx + 0x2b4], 0x5192a81
not dword [ebx + 0x18]
add esi, 0x400
add ebx, 0x400
cmp esi, 0x8c000
jne 0x509017
call fcn.004c6d54
pop edi
pop esi
pop ebp
pop ebx
pop edx
pop ecx
pop eax