Function at 0x502000
Capabilities:
Encode data using xor

Disassembly:
push eax
push ecx
push edx
push ebx
push ebp
push esi
push edi
call 0x50200c
pop eax
sub eax, 0x8ca0c
push 0
pop edx
push eax
not dword [eax + 0x2d8]
add dword [eax + 0x148], 0x2c4f6611
xor dword [eax + 0x2a0], 0x2136a6b
xor dword [eax + 0x190], 0x4ac15f58
xor dword [eax + 0x320], 0x74276a56
xor dword [eax + 0x3d4], 0x45a46e5d
not dword [eax + 0x200]
xor dword [eax + 0x29c], 0x7b760b17
add dword [eax + 0x280], 0x5aa1df2
add dword [eax + 0x3bc], 0x383b7561
sub dword [eax + 0x128], 0x562b63d8
not dword [eax + 0x3dc]
sub dword [eax + 0x2e0], 0x36577b55
not dword [eax + 0x2d4]
add dword [eax + 0x140], 0x31b461a7
xor dword [eax + 0x3a8], 0x1c0e616c
not dword [eax + 0x1c0]
add dword [eax + 0x2ac], 0x68ab5d32
sub dword [eax + 0x1ec], 0x40f614ff
add dword [eax + 0x340], 0x61c623fe
add dword [eax + 0x60], 0x710f7594
add dword [eax + 0x1f8], 0x49770bb3
not dword [eax + 0x26c]
sub dword [eax + 0x228], 0x3e1d1918
sub dword [eax + 0x2f0], 0x1b4d3a04
xor dword [eax + 0x3d0], 0x4b6e25ea
add dword [eax + 0x264], 0x5f875f40
not dword [eax + 0x1d4]
add dword [eax + 0x260], 0x237d4f8c
xor dword [eax + 0x2dc], 0x7b4e413e
xor dword [eax + 0xf8], 0x1fa779e2
not dword [eax + 0x328]
not dword [eax + 0x2bc]
add dword [eax + 0xa8], 0x66f110ed
sub dword [eax + 0x204], 0x557175b4
not dword [eax + 0x3b0]
add dword [eax + 0x330], 0x7580038
not dword [eax + 0xd0]
not dword [eax + 0x304]
xor dword [eax + 0x168], 0x31156886
sub dword [eax + 0x48], 0x6b536949
add dword [eax + 0xa4], 0x4d0627d3
xor dword [eax + 0x3ac], 0x72645fd4
not dword [eax + 0x2c8]
xor dword [eax + 0x230], 0xaa213e0
not dword [eax + 0x23c]
add dword [eax + 0x108], 0xf81dea
not dword [eax + 0x1fc]
not dword [eax + 0x3d8]
not dword [eax + 0x28c]
not dword [eax + 0x25c]
sub dword [eax + 0x3f8], 0x40183355
add dword [eax + 0x270], 0x67c13993
add dword [eax + 0x27c], 0x5aec4440
sub dword [eax + 0x1f4], 0x320d35e5
not dword [eax + 0x3f0]
sub dword [eax + 0xb8], 0x4874039b
sub dword [eax + 0x274], 0x1695292e
add dword [eax + 0x130], 0x31f75530
not dword [eax + 0x6c]
add dword [eax + 0x398], 0x4dcf5e13
sub dword [eax + 0x3c], 0x15e75251
sub dword [eax + 0x174], 0x75d42a97
sub dword [eax + 0x164], 0x30350c5
add dword [eax + 0x120], 0x15b005e1
not dword [eax + 0x348]
sub dword [eax + 0x64], 0x7c4d2b5a
xor dword [eax + 0x100], 0x5c0e46a0
xor dword [eax + 0x2b0], 0x5ec070eb
sub dword [eax + 0x14c], 0x7b021a12
sub dword [eax + 0x1cc], 0x61c515fc
not dword [eax + 0x3a4]
xor dword [eax + 0xfc], 0x538c3a48
add dword [eax + 0x3ec], 0xe67f43
add dword [eax + 0x74], 0x4ef470c
xor dword [eax + 0x364], 0x189a548c
xor dword [eax + 0xf0], 0x29b60fe4
add dword [eax + 0x24], 0x74760c45
xor dword [eax + 0xdc], 0x15fd28cf
sub dword [eax + 0xd4], 0x14ab491e
not dword [eax + 0x24c]
not dword [eax + 0x84]
sub dword [eax + 0x1a0], 0x24d02788
not dword [eax + 0x3a0]
not dword [eax + 0x98]
sub dword [eax + 0x318], 0x664e6c23
xor dword [eax + 0x19c], 0x2f974a87
sub dword [eax + 0x1d8], 0x7ab26966
add dword [eax + 0x2a4], 0x6893711e
xor dword [eax + 0x1c4], 0x3d4112f0
not dword [eax + 0xb0]
xor dword [eax + 0x284], 0x5295220c
add dword [eax + 0x354], 0x3a4e5ec9
sub dword [eax + 0x34c], 0x75dd439e
sub dword [eax + 0x2b8], 0x2cd117d4
add dword [eax + 0x3e8], 0x482954bf
not dword [eax + 0x11c]
sub dword [eax + 0xe0], 0x55db5c62
add dword [eax + 0x1b8], 0x267a0e45
xor dword [eax + 0xc8], 0x3c046d3
add dword [eax + 0x2ec], 0x11c77dae
sub dword [eax + 0x1a4], 0x760d4b39
not dword [eax + 0x21c]
sub dword [eax + 8], 0xc9146b0
xor dword [eax + 0x160], 0x3337756a
not dword [eax + 0x1c8]
sub dword [eax + 0x40], 0x2f857d09
add dword [eax + 0x308], 0x107a7f20
xor dword [eax + 0x170], 0x4f6e645b
sub dword [eax + 0x3cc], 0x52250606
not dword [eax + 0x30]
sub dword [eax + 0x32c], 0x6f3876e8
add dword [eax + 0x1c], 0x7c814dbc
add dword [eax + 0x388], 0x4dc7ba3
sub dword [eax + 0x208], 0x1c5b6f24
add dword [eax + 0x298], 0x2b3b7bce
xor dword [eax + 0xe8], 0x798c422b
add dword [eax + 0xf4], 0x6892650c
add dword [eax + 0x88], 0xa816ad9
sub dword [eax + 0x2f4], 0x10c32aab
xor dword [eax + 0x138], 0x3c9789f
not dword [eax + 0x268]
add dword [eax + 0x13c], 0x49d41abc
add dword [eax + 0x10c], 0x5f080a98
not dword [eax + 0x2e4]
sub dword [eax + 0x30c], 0x1d4456d9
sub dword [eax + 0x2b4], 0x2c9a7f9b
not dword [eax + 0x8c]
not dword [eax + 0x310]
xor dword [eax + 0x34], 0x43c55486
sub dword [eax + 0x2fc], 0x54f85219
xor dword [eax + 0x244], 0x58195cab
sub dword [eax + 0x278], 0x25ab1978
add dword [eax + 0x3b8], 0x19376108
not dword [eax + 0x5c]
add dword [eax + 0x3c8], 0x12d258a0
xor dword [eax + 0x104], 0x16b5456b
add dword [eax + 0x144], 0x7f1e4e62
add dword [eax + 0x374], 0x1f16492
add dword [eax + 0xbc], 0x60a43fe4
sub dword [eax + 0x224], 0x6c34067f
sub dword [eax + 0x54], 0x54f27b80
not dword [eax + 0x1bc]
not dword [eax + 0x220]
sub dword [eax + 0x290], 0x57ef397c
not dword [eax + 0x3c0]
sub dword [eax + 0x248], 0x7ab7500a
xor dword [eax + 0xe4], 0x44da1649
sub dword [eax + 0x7c], 0x22094741
not dword [eax + 0x3f4]
xor dword [eax + 0x20c], 0x3e942469
sub dword [eax + 0x78], 0x6e9b01a6
not dword [eax + 0xcc]
xor dword [eax + 0x360], 0x41a12eb9
sub dword [eax + 0x184], 0x6d6e3667
add dword [eax + 0x254], 0x57ac5687
add dword [eax + 0x300], 0x77693b0a
add dword [eax + 0x1b0], 0x688753f
add dword [eax + 0x1f0], 0x69f43af8
not dword [eax + 0x18c]
sub dword [eax + 0x1a8], 0x66d16009
add dword [eax + 0x33c], 0x1ae84c2a
xor dword [eax + 0x218], 0x3fde0bfd
add dword [eax + 0x2f8], 0x65076e9a
add dword [eax + 0x70], 0x6e544bbb
not dword [eax + 0x90]
xor dword [eax + 0x250], 0x6d23f26
not dword [eax + 0x294]
not dword [eax + 0x238]
sub dword [eax + 0x150], 0x624a35e0
not dword [eax + 0x1b4]
add dword [eax + 0x44], 0x259925f1
xor dword [eax + 0x80], 0x5ad6785c
not dword [eax + 0x39c]
xor dword [eax + 0x194], 0x69d9142b
xor dword [eax + 0x1dc], 0x28552ba1
add dword [eax + 0x36c], 0x7b810960
sub dword [eax + 0x2d0], 0x7fb2b1d
add dword [eax + 0x50], 0x450503d9
xor dword [eax + 0x118], 0x39660d83
sub dword [eax + 0x94], 0x7f7f4467
not dword [eax + 0xc0]
sub dword [eax + 0x10], 0x312d2f86
not dword [eax + 0x178]
not dword [eax + 0x37c]
sub dword [eax + 0x68], 0x22544aca
not dword [eax + 0x258]
not dword [eax + 0x344]
sub dword [eax + 0x2a8], 0x545769d
xor dword [eax + 0x240], 0x5a8a2db9
add dword [eax + 0x3fc], 0x34044065
not dword [eax + 0x124]
xor dword [eax + 0x2c4], 0x6d806c4d
not dword [eax + 0x1e4]
xor dword [eax + 0x214], 0x717e575b
xor dword [eax + 0x378], 0x63443731
xor dword [eax + 0x12c], 0x4dd051a1
add dword [eax + 0xa0], 0x3f9b3ba1
add dword [eax + 0x35c], 0x140370c4
not dword [eax + 0x2c0]
add dword [eax + 0x20], 0x6a993b70
not dword [eax + 0x15c]
add dword [eax + 0x1d0], 0x3d6a61af
xor dword [eax + 0x358], 0x7d0d600e
not dword [eax + 0x18]
xor dword [eax + 0x14], 0x2c191d63
sub dword [eax + 0x1e0], 0x131a0806
not dword [eax + 0x380]
sub dword [eax + 0xac], 0x2ad00f11
sub dword [eax + 0x4c], 0x4ed55961
xor dword [eax + 0x1ac], 0x290f4f86
xor dword [eax + 0x28], 0x77ed27b0
xor dword [eax + 0x314], 0x256d346e
sub dword [eax + 0xd8], 0x6a536bfa
sub dword [eax + 0x2cc], 0x191a4cc9
not dword [eax + 0x154]
not dword [eax + 0x16c]
xor dword [eax + 0x158], 0x1cd400c
sub dword [eax + 0x114], 0x14a252ed
sub dword [eax + 0x3e0], 0x5f520110
add dword [eax + 0x38c], 0x18072ab8
xor dword [eax + 0x3e4], 0x4d766e8c
not dword [eax + 0x198]
not dword [eax + 0x350]
sub dword [eax + 0x22c], 0x6fa517b9
xor dword [eax + 0x2e8], 0xdc63964
add dword [eax + 0x31c], 0x72ec21fd
sub dword [eax + 0x1e8], 0x6c272773
sub dword [eax + 0x338], 0x3fe63bed
xor dword [eax + 0x188], 0x202e1a7b
xor dword [eax + 0xc4], 0x33d8124b
xor dword [eax + 0x9c], 0x6d2a19d1
not dword [eax + 0x38]
add dword [eax + 0xb4], 0x7c5a2cd6
xor dword [eax + 0x324], 0x40020ecd
sub dword [eax + 0x384], 0x1fa410b9
not dword [eax + 0xc]
sub dword [eax + 0x180], 0x70f50616
sub dword [eax + 0x334], 0x2add7bc6
add dword [eax + 0x210], 0xe162fa0
xor dword [eax + 0x288], 0x2db77e7e
sub dword [eax + 0x370], 0x3b0f4a22
not dword [eax + 0xec]
add dword [eax + 0x234], 0x562a063f
xor dword [eax + 0x17c], 0xfce1bd0
add dword [eax + 0x390], 0x51100950
xor dword [eax + 0x3b4], 0x6c4a66f7
sub dword [eax + 4], 0x11c0278b
xor dword [eax + 0x394], 0x7a6800c1
add dword [eax + 0x3c4], 0x3573422
add dword [eax], 0xe531af1
add dword [eax + 0x2c], 0x20f71cdf
xor dword [eax + 0x134], 0x77627f14
xor dword [eax + 0x58], 0x458a7217
sub dword [eax + 0x110], 0x367845cc
not dword [eax + 0x368]
add edx, 0x400
add eax, 0x400
cmp edx, 0x8c000
jne 0x502017
call 0x4bf554
pop edi
pop esi
pop ebp
pop ebx
pop edx
pop ecx
pop eax