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 eax
sub eax, 0x8c40c
push 0
pop edx
push eax
sub dword [eax + 0x3f0], 0x1f9c62a2
xor dword [eax + 0xa8], 0x65960a56
sub dword [eax + 0x2c], 0x826d09
not dword [eax + 0x19c]
sub dword [eax + 0xfc], 0x67745452
xor dword [eax + 0x338], 0x4fc614f2
xor dword [eax + 0x358], 0x20634876
sub dword [eax + 0x80], 0x20027ea9
sub dword [eax + 0x3e4], 0x3a203f7c
sub dword [eax + 0x204], 0x14ea75d3
sub dword [eax + 0x27c], 0x75ce7be3
xor dword [eax + 0x274], 0xb512218
sub dword [eax + 0xb8], 0x149f2f31
add dword [eax + 0x350], 0x7c9310d
add dword [eax + 0x398], 0x37142a45
xor dword [eax + 0x304], 0x661e3feb
sub dword [eax + 0x104], 0xf906173
xor dword [eax + 0x2e4], 0x34ea4f9a
sub dword [eax + 0x1a8], 0x34697a47
not dword [eax + 0x324]
add dword [eax + 0xb4], 0x301b295e
sub dword [eax + 0x34c], 0x4c683dfc
add dword [eax + 0xe0], 0x37f82a74
add dword [eax + 0x268], 0x1a5c5883
sub dword [eax + 0x114], 0x66b86fc5
sub dword [eax + 0x14], 0x4d55624d
sub dword [eax + 0x2f8], 0x45c87a45
add dword [eax + 0x370], 0x2d105223
xor dword [eax + 0xa4], 0x54ca39d9
add dword [eax + 0x3a4], 0x350f6bb2
not dword [eax + 0x28c]
add dword [eax + 0x230], 0x2592060f
xor dword [eax + 0x220], 0x326002ae
add dword [eax + 0x1c4], 0x18346b1e
xor dword [eax + 0x110], 0x46a534ae
sub dword [eax + 0x98], 0x53e86392
sub dword [eax + 0x180], 0x4f622cfe
add dword [eax + 0x320], 0x6143340d
not dword [eax + 0x318]
xor dword [eax + 0x254], 0x59021cae
not dword [eax + 0x218]
add dword [eax + 4], 0x3250640a
add dword [eax + 0x258], 0x12e31f04
xor dword [eax + 0x118], 0x719516fc
not dword [eax + 0x60]
add dword [eax + 0x1f0], 0x584c7188
add dword [eax + 0x120], 0xe6210ae
add dword [eax + 0x158], 0x455b45e9
add dword [eax + 0x3d4], 0xbf95f81
sub dword [eax + 0x2c8], 0x4f60042f
sub dword [eax + 0x32c], 0x17bc7583
add dword [eax + 0x1b4], 0x24af2b26
not dword [eax + 0xa0]
add dword [eax + 0x140], 0x244508e
add dword [eax + 0x234], 0x390b6da3
xor dword [eax + 0x48], 0x16bb0a35
not dword [eax + 0x240]
xor dword [eax + 0x3f4], 0x237632ac
sub dword [eax + 0x224], 0x803cb4
xor dword [eax + 0x5c], 0x3c99791c
sub dword [eax + 0x1ec], 0x1011770b
add dword [eax + 0x18], 0x28445e3a
add dword [eax + 0x1bc], 0x7839089b
not dword [eax + 0xd0]
sub dword [eax + 0xc8], 0x5a000520
add dword [eax + 0x1fc], 0x227c6f21
add dword [eax + 0x2f0], 0x964516f
add dword [eax + 0x9c], 0x2492007e
sub dword [eax + 0xbc], 0x3c1c3fe9
not dword [eax + 0x94]
add dword [eax + 0x264], 0x39e766c1
xor dword [eax + 0x3dc], 0x737a787d
add dword [eax + 0x248], 0x20805779
xor dword [eax + 0x1a0], 0x6e90573e
not dword [eax + 0x20]
sub dword [eax + 0x284], 0x234c79bc
add dword [eax + 0x124], 0x3def00dc
xor dword [eax + 0x1c8], 0x118a2589
sub dword [eax + 0x1b0], 0x5c7d7f09
xor dword [eax + 0x1d0], 0x390d5aff
add dword [eax + 0x3b4], 0x2a0377a6
add dword [eax + 0x84], 0x4fa9294c
sub dword [eax + 0x2b8], 0x29d51def
xor dword [eax + 0x300], 0x2aeb67f6
xor dword [eax + 0x88], 0xccf0b82
add dword [eax + 0x164], 0x67bc3707
add dword [eax + 0x2a8], 0x16af2ebd
sub dword [eax + 0x1f4], 0x44df09c1
sub dword [eax + 0xdc], 0x42a83e45
not dword [eax + 0x200]
add dword [eax + 0x198], 0x25253730
not dword [eax + 0x374]
not dword [eax + 0x348]
not dword [eax + 0x3a0]
sub dword [eax + 0x31c], 0x2107f19
not dword [eax + 0x1f8]
sub dword [eax + 0x344], 0x39cd6ba8
add dword [eax + 0x2bc], 0x7bab6086
add dword [eax + 0x148], 0x67286229
xor dword [eax + 0x3f8], 0x5f8f192a
xor dword [eax + 0xe4], 0x11a35a75
xor dword [eax + 0x1d4], 0x21e330d7
not dword [eax + 0xc0]
xor dword [eax + 0x380], 0x5aa557b
add dword [eax + 0xf8], 0x50870e0b
xor dword [eax + 0xf4], 0x89102cd
not dword [eax + 0x160]
sub dword [eax + 0x3a8], 0x4f281177
not dword [eax + 0xd4]
not dword [eax + 0x34]
sub dword [eax + 0x10], 0x6bae3f06
not dword [eax + 0x170]
sub dword [eax + 0x130], 0xcb549a9
not dword [eax + 0xcc]
sub dword [eax + 0x1d8], 0x4d8c3547
xor dword [eax + 0x228], 0x2a716ed6
xor dword [eax + 0x22c], 0x77db5582
xor dword [eax + 0x50], 0xa752cfa
not dword [eax + 0x138]
not dword [eax + 0x210]
sub dword [eax + 0x30c], 0x77b569da
add dword [eax + 0x54], 0x3c8f1bcd
sub dword [eax + 0x8c], 0x27d21b39
add dword [eax + 0x108], 0x6dda1b35
add dword [eax + 0x29c], 0x23d2261f
not dword [eax + 0xd8]
not dword [eax + 0x18c]
sub dword [eax + 0x100], 0x44215d4f
sub dword [eax + 0xc], 0xab92b40
not dword [eax + 0x1c]
xor dword [eax + 0x2a0], 0x53e934f6
add dword [eax + 0x1b8], 0x7d9a0ef0
xor dword [eax + 0x24c], 0x34390be0
not dword [eax + 0x354]
add dword [eax + 0x2ac], 0x59591cc9
xor dword [eax + 0x3d8], 0x503b259d
xor dword [eax + 0x3e0], 0x747f545b
add dword [eax + 0x12c], 0xcb23aef
add dword [eax + 0x150], 0x796800b9
sub dword [eax + 0x314], 0x25a178ff
add dword [eax + 0x74], 0xac5017f
xor dword [eax + 0x178], 0xda931b4
add dword [eax + 0x44], 0x32aa6da3
sub dword [eax + 0x3fc], 0x399a4eb9
xor dword [eax + 0x2e0], 0x48723d20
add dword [eax + 0x2b4], 0x81231a8
not dword [eax + 0x298]
sub dword [eax + 0x244], 0x248d71d5
not dword [eax + 0x17c]
not dword [eax + 0x26c]
sub dword [eax + 0x2c0], 0x162614f2
sub dword [eax + 0xac], 0x4d973972
xor dword [eax + 0x1e4], 0x5b562ad8
sub dword [eax + 0x188], 0x43f44ea3
sub dword [eax + 0x3c], 0xa4130c9
add dword [eax + 0x2f4], 0x2deb1621
xor dword [eax + 0x2a4], 0x74db133b
xor dword [eax + 0x3d0], 0x374703b6
sub dword [eax + 0x6c], 0x566f0f65
xor dword [eax + 0x38], 0x25be123e
xor dword [eax + 0x36c], 0x31966a7b
not dword [eax + 0x288]
xor dword [eax + 0x15c], 0x1d0a1912
sub dword [eax + 0x3e8], 0x354843dd
xor dword [eax + 0x368], 0x41867642
sub dword [eax + 0x13c], 0x485c5aa7
add dword [eax + 0x3c8], 0x3e4112d1
xor dword [eax + 0x1ac], 0x328c6a97
sub dword [eax + 0x2b0], 0x608a0134
sub dword [eax + 0x24], 0x50714252
sub dword [eax + 0x2cc], 0x30770e01
sub dword [eax + 0x394], 0x29096573
sub dword [eax + 0x330], 0x59ff76ef
xor dword [eax + 0x290], 0x772e74c3
not dword [eax + 0x1e0]
sub dword [eax + 0x2d4], 0x5e6b4b82
sub dword [eax + 0x33c], 0x75af3dad
add dword [eax + 0x3ac], 0x37be28c8
add dword [eax + 0x38c], 0x29667aca
xor dword [eax + 0xb0], 0x11a22778
not dword [eax + 0x278]
not dword [eax + 0x25c]
add dword [eax + 0x1dc], 0x65f7761c
xor dword [eax + 0x7c], 0x654e0f17
add dword [eax + 0x70], 0x7f640263
xor dword [eax + 0x37c], 0x28255417
add dword [eax + 0x2dc], 0x40530d43
add dword [eax + 0x184], 0x7d5258
add dword [eax + 0xf0], 0x27960f2a
xor dword [eax + 0x3b0], 0x328951ba
sub dword [eax + 0x310], 0x1d7e6e05
add dword [eax + 0x260], 0x38044b6f
xor dword [eax + 0x378], 0x378a520d
sub dword [eax + 0x4c], 0x59ea2ff8
xor dword [eax + 0x134], 0x63076cd6
xor dword [eax + 0x40], 0x6ac15b04
xor dword [eax + 0x2d8], 0x3b386bd6
sub dword [eax + 0x154], 0x18151da4
xor dword [eax + 0x23c], 0x18ec255d
sub dword [eax + 0x214], 0x61913bc0
add dword [eax + 8], 0x77a5d53
add dword [eax], 0x45ef5015
sub dword [eax + 0x20c], 0xecc0311
add dword [eax + 0x3c4], 0x7fa50a75
add dword [eax + 0x190], 0x95a238f
not dword [eax + 0x340]
add dword [eax + 0x388], 0x5d13a08
add dword [eax + 0x64], 0x6f93184c
sub dword [eax + 0x3b8], 0x300e29ee
not dword [eax + 0x11c]
xor dword [eax + 0x3bc], 0x6030146a
xor dword [eax + 0x30], 0x1aaa3dfd
not dword [eax + 0x1cc]
not dword [eax + 0x128]
add dword [eax + 0x1c0], 0x7640185f
add dword [eax + 0x390], 0x16db2859
add dword [eax + 0x2e8], 0x5355298c
not dword [eax + 0x238]
not dword [eax + 0x35c]
sub dword [eax + 0x3cc], 0x6dc619e8
not dword [eax + 0x90]
add dword [eax + 0x308], 0x4e0c117e
not dword [eax + 0x294]
not dword [eax + 0x2ec]
add dword [eax + 0x3ec], 0x656c60af
add dword [eax + 0x250], 0x44443e2a
sub dword [eax + 0x78], 0x3b70691f
not dword [eax + 0x328]
xor dword [eax + 0x334], 0x1dbd688c
sub dword [eax + 0x280], 0x73af575a
xor dword [eax + 0x68], 0x5fd10cc2
xor dword [eax + 0x208], 0x1c756c03
sub dword [eax + 0x384], 0x7bd55e38
xor dword [eax + 0x10c], 0x462491e
add dword [eax + 0x2c4], 0xb987365
sub dword [eax + 0x174], 0x209c15c6
sub dword [eax + 0x14c], 0x57f97cca
xor dword [eax + 0x2d0], 0x58a535b2
not dword [eax + 0x270]
xor dword [eax + 0x1e8], 0x3a4401ef
xor dword [eax + 0x168], 0x4ab52898
xor dword [eax + 0x194], 0x16fa2e46
add dword [eax + 0xc4], 0x51bb62dd
sub dword [eax + 0x1a4], 0x3593a32
not dword [eax + 0xe8]
not dword [eax + 0x39c]
not dword [eax + 0x3c0]
sub dword [eax + 0x21c], 0x672b0e5e
add dword [eax + 0x364], 0x61d57e3b
xor dword [eax + 0x360], 0x233e2c1c
sub dword [eax + 0x16c], 0x39d478a4
xor dword [eax + 0x2fc], 0x5490e58
add dword [eax + 0xec], 0x2e306c75
not dword [eax + 0x58]
not dword [eax + 0x28]
sub dword [eax + 0x144], 0x5e161768
add edx, 0x400
add eax, 0x400
cmp edx, 0x8c000
jne 0x509017
call fcn.004c65b8
pop edi
pop esi
pop ebp
pop ebx
pop edx
pop ecx
pop eax