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 edx
sub edx, 0x8c20c
push 0
pop edi
push edx
not dword [edx + 0x1c4]
xor dword [edx + 0x2fc], 0x19f80242
xor dword [edx + 0x28c], 0x54cb740f
sub dword [edx + 0x198], 0x4869d3
xor dword [edx + 0x314], 0x14d925a5
add dword [edx], 0x4b41104e
not dword [edx + 0x17c]
xor dword [edx + 0x1d4], 0x3e7279e
add dword [edx + 0x19c], 0x4b424882
xor dword [edx + 0x8c], 0x11986e77
not dword [edx + 0x1b8]
add dword [edx + 0x130], 0xd1c40b6
sub dword [edx + 0x1cc], 0x757a0bed
not dword [edx + 0xc0]
not dword [edx + 0x2e4]
add dword [edx + 0x1fc], 0xf0b7141
add dword [edx + 0x214], 0x4aee7392
xor dword [edx + 0x90], 0x98b2de8
not dword [edx + 0xf4]
xor dword [edx + 0x11c], 0x5c583ad8
not dword [edx + 0x2ec]
add dword [edx + 0x3e8], 0x11a02edc
sub dword [edx + 0x310], 0x4fd63646
not dword [edx + 0x398]
add dword [edx + 0x34], 0x42c44918
xor dword [edx + 0x68], 0x57de290c
xor dword [edx + 0x324], 0x45f20973
sub dword [edx + 0x14], 0x6ed05dd7
add dword [edx + 0x294], 0x641d71d3
add dword [edx + 0x3e0], 0x29000d78
sub dword [edx + 0x230], 0x68274447
not dword [edx + 0x184]
add dword [edx + 0x2c4], 0x7d5f0d04
not dword [edx + 0x104]
xor dword [edx + 0x34c], 0x4d231c35
add dword [edx + 0x23c], 0x3dcb54b8
xor dword [edx + 0x358], 0x439d719e
not dword [edx + 0xe8]
sub dword [edx + 0x330], 0x5dfb233e
xor dword [edx + 0x3ac], 0x3ab9705b
sub dword [edx + 0x160], 0x73943418
not dword [edx + 0x384]
xor dword [edx + 0x194], 0x66f32ba9
xor dword [edx + 0x3c], 0x5e754560
sub dword [edx + 0x21c], 0x1a785ad2
xor dword [edx + 0x174], 0x7dda74e6
sub dword [edx + 0x1c8], 0x16f72296
xor dword [edx + 0x1f0], 0x603f245c
not dword [edx + 0x1c]
add dword [edx + 0x204], 0x7dda0cfd
not dword [edx + 0x15c]
sub dword [edx + 0xf8], 0x13be19d0
not dword [edx + 0x354]
add dword [edx + 0x33c], 0x3e1578af
xor dword [edx + 0x94], 0x793d5604
not dword [edx + 0x124]
xor dword [edx + 0x344], 0x4f1c681e
not dword [edx + 0x1ac]
not dword [edx + 0x28]
not dword [edx + 0x1c0]
add dword [edx + 0x1f8], 0x3c9b2447
not dword [edx + 0x44]
sub dword [edx + 0xb4], 0x3abb551c
not dword [edx + 0xb8]
add dword [edx + 0x80], 0x286a0858
sub dword [edx + 0x1e4], 0x33ef23a0
not dword [edx + 0x3c8]
not dword [edx + 0x3f4]
xor dword [edx + 0x320], 0x2507496e
sub dword [edx + 0x114], 0x49d51ee2
xor dword [edx + 0x3d8], 0x256c05d4
add dword [edx + 0x29c], 0x42931441
add dword [edx + 0x30], 0x191c29cd
not dword [edx + 0x218]
sub dword [edx + 0xbc], 0x6e9f034f
xor dword [edx + 0x1dc], 0x5424246
sub dword [edx + 0x3a8], 0x2fa920bd
add dword [edx + 0x190], 0x152f69e6
xor dword [edx + 0xcc], 0x3d14397b
add dword [edx + 0xc], 0x4d2312d3
sub dword [edx + 0x48], 0x3ca1631
xor dword [edx + 0x290], 0x2fc53a92
sub dword [edx + 0x12c], 0x4a09735c
sub dword [edx + 0x340], 0x10f331b2
sub dword [edx + 0x2b8], 0x67fd6ffa
add dword [edx + 0x16c], 0x12c82d42
xor dword [edx + 0x288], 0x1ed93ded
add dword [edx + 0x3d0], 0x234328c0
sub dword [edx + 0x1f4], 0x288d6ee1
xor dword [edx + 0x3f0], 0x1969354b
add dword [edx + 0x350], 0x4d6d4eae
xor dword [edx + 0x164], 0x4497174a
xor dword [edx + 0x264], 0x44037123
not dword [edx + 0x2a4]
not dword [edx + 0x3dc]
not dword [edx + 0x37c]
not dword [edx + 0xfc]
add dword [edx + 0x5c], 0x197406c3
not dword [edx + 0x170]
add dword [edx + 0x200], 0x4253d8a
not dword [edx + 0xa4]
sub dword [edx + 0x280], 0x48b45cc6
sub dword [edx + 0x2c0], 0x331e6097
sub dword [edx + 0x388], 0x4e5765f4
add dword [edx + 0x1bc], 0x1eb21583
add dword [edx + 0x3c0], 0x2e013579
xor dword [edx + 0x2f0], 0x3f074498
not dword [edx + 0x338]
sub dword [edx + 0x2d8], 0x4a471aff
sub dword [edx + 0x3cc], 0x512740de
sub dword [edx + 0xd8], 0x6f55568e
not dword [edx + 0x74]
xor dword [edx + 0x2b4], 0x38e30693
sub dword [edx + 0x348], 0x57fe1f73
sub dword [edx + 0x1b0], 0x5804517e
sub dword [edx + 0x3b8], 0xc10d64
xor dword [edx + 0x268], 0x7bc66f61
not dword [edx + 0x3f8]
sub dword [edx + 0x36c], 0x55185c66
sub dword [edx + 4], 0x5d681a69
not dword [edx + 0x138]
xor dword [edx + 0x380], 0x469b5b92
xor dword [edx + 0x368], 0x79d15e59
not dword [edx + 0x244]
not dword [edx + 0x3e4]
add dword [edx + 0x58], 0xb9a257c
add dword [edx + 0x300], 0x6c891eac
xor dword [edx + 0x258], 0x12b46ee0
not dword [edx + 0xe0]
not dword [edx + 0x2c]
xor dword [edx + 0xac], 0x453a31e7
add dword [edx + 0x220], 0x72826321
sub dword [edx + 0x148], 0xa70596b
add dword [edx + 0x100], 0x70f849aa
sub dword [edx + 0xa8], 0xb7966ef
sub dword [edx + 0xf0], 0x195175d8
not dword [edx + 0x3a4]
xor dword [edx + 0x40], 0x24705d28
add dword [edx + 0x22c], 0x6b4c6350
not dword [edx + 0x270]
sub dword [edx + 0x1ec], 0x26c7101c
xor dword [edx + 0xe4], 0x27224667
not dword [edx + 0x38]
not dword [edx + 8]
not dword [edx + 0x10]
not dword [edx + 0x7c]
sub dword [edx + 0x10c], 0x587f3a09
not dword [edx + 0x20c]
add dword [edx + 0x304], 0x81d40c3
sub dword [edx + 0x18], 0x71cf2dbf
xor dword [edx + 0x1b4], 0x78a938ba
not dword [edx + 0x2a0]
add dword [edx + 0x35c], 0x4bec7a3f
sub dword [edx + 0xd0], 0x268a4fce
not dword [edx + 0xd4]
xor dword [edx + 0x2b0], 0x45fc60e9
add dword [edx + 0x2f8], 0x2ff93794
add dword [edx + 0x64], 0x40b96f41
sub dword [edx + 0xc4], 0x6e576177
xor dword [edx + 0x1a4], 0x52515143
not dword [edx + 0x4c]
not dword [edx + 0x78]
xor dword [edx + 0x2dc], 0x309e3ec1
add dword [edx + 0x2cc], 0x569653cf
sub dword [edx + 0x13c], 0x522b3233
sub dword [edx + 0x3fc], 0x611e4785
not dword [edx + 0x228]
xor dword [edx + 0x31c], 0x102a7b47
sub dword [edx + 0x50], 0x78f04ed2
sub dword [edx + 0x27c], 0x65460075
sub dword [edx + 0x110], 0x37bb4b3d
sub dword [edx + 0x208], 0x7e186f8a
add dword [edx + 0x240], 0x2b8c6fd0
xor dword [edx + 0x70], 0x4520571f
xor dword [edx + 0x120], 0x5aaa72f0
add dword [edx + 0x98], 0x2d5f02aa
xor dword [edx + 0x134], 0x5b944e3f
add dword [edx + 0x178], 0x5538467d
not dword [edx + 0x140]
sub dword [edx + 0x6c], 0x27644d98
not dword [edx + 0x14c]
sub dword [edx + 0x250], 0x636c7290
add dword [edx + 0x2d4], 0x16dc6bef
xor dword [edx + 0x328], 0x44e079d
add dword [edx + 0x54], 0x2b1e49e3
add dword [edx + 0x2ac], 0x11f123be
add dword [edx + 0x274], 0x75ff6807
xor dword [edx + 0x248], 0x7b411596
sub dword [edx + 0x118], 0x35f443a9
xor dword [edx + 0x254], 0x6171770c
not dword [edx + 0x60]
sub dword [edx + 0x260], 0x631d6ece
sub dword [edx + 0x2e0], 0x5ca10889
not dword [edx + 0x1e8]
sub dword [edx + 0x1d0], 0x40500ad5
not dword [edx + 0x224]
sub dword [edx + 0x2d0], 0x35f8563b
sub dword [edx + 0x18c], 0x73ef4f84
sub dword [edx + 0x158], 0x21f32dbf
not dword [edx + 0x38c]
xor dword [edx + 0xdc], 0x76480f54
not dword [edx + 0x25c]
sub dword [edx + 0x334], 0x46b80663
add dword [edx + 0x24c], 0x41652bb4
not dword [edx + 0xa0]
not dword [edx + 0x298]
sub dword [edx + 0x26c], 0x4f1914f1
sub dword [edx + 0x2c8], 0x59864702
xor dword [edx + 0x88], 0x513027c3
add dword [edx + 0x3b4], 0x26283069
add dword [edx + 0x32c], 0x1a0d071a
add dword [edx + 0x144], 0x5bcc0da9
sub dword [edx + 0x150], 0x1b2d3a31
add dword [edx + 0x2bc], 0x6d0f7b49
not dword [edx + 0x180]
xor dword [edx + 0x3a0], 0x4cb83cba
xor dword [edx + 0x30c], 0x22676b11
not dword [edx + 0x2a8]
xor dword [edx + 0xc8], 0x3773797c
add dword [edx + 0x20], 0x2dc15e1a
xor dword [edx + 0x128], 0x193610f
sub dword [edx + 0x374], 0x427f14b4
not dword [edx + 0x108]
add dword [edx + 0x3c4], 0x5a861ebe
xor dword [edx + 0x364], 0x5bf3a8c
add dword [edx + 0x390], 0x650d46ae
add dword [edx + 0x238], 0x76856797
add dword [edx + 0x84], 0x31e19bb
not dword [edx + 0x210]
not dword [edx + 0x154]
not dword [edx + 0x168]
sub dword [edx + 0x188], 0x25b60ac8
not dword [edx + 0x2f4]
not dword [edx + 0x370]
sub dword [edx + 0x378], 0x7f644146
sub dword [edx + 0x394], 0x337a1241
not dword [edx + 0x1e0]
sub dword [edx + 0x39c], 0x23d57a5b
add dword [edx + 0x3d4], 0x6eb44ef4
xor dword [edx + 0x284], 0x4ec738e7
xor dword [edx + 0x24], 0x1ffe3563
xor dword [edx + 0x318], 0x74e62245
xor dword [edx + 0x360], 0x7345084f
add dword [edx + 0x2e8], 0x3b9b49b8
not dword [edx + 0x3ec]
xor dword [edx + 0x234], 0x59501cc3
sub dword [edx + 0x308], 0x6c307488
sub dword [edx + 0xb0], 0x62f77e19
xor dword [edx + 0x3b0], 0x9d3b1c
not dword [edx + 0x1a0]
xor dword [edx + 0x1d8], 0x3a2a6e28
not dword [edx + 0x1a8]
add dword [edx + 0x3bc], 0x16752061
add dword [edx + 0x278], 0x459e7f47
sub dword [edx + 0x9c], 0x2922735d
not dword [edx + 0xec]
add edi, 0x400
add edx, 0x400
cmp edi, 0x8c000
jne 0x509017
call fcn.004c6d54
pop edi
pop esi
pop ebp
pop ebx
pop edx
pop ecx
pop eax