Function at 0x512000
Capabilities:
Encode data using xor

Disassembly:
push eax
push ecx
push edx
push ebx
push ebp
push esi
push edi
call 0x51200c
pop edx
sub edx, 0x8c60c
push 0
pop edi
push edx
not dword [edx + 0x168]
xor dword [edx + 0x190], 0x21365aa3
not dword [edx + 0xfc]
sub dword [edx + 0x44], 0xb200f08
not dword [edx + 0xc0]
add dword [edx + 0x280], 0x22e93be5
not dword [edx + 0x394]
sub dword [edx + 0x2a0], 0x5fa709be
add dword [edx + 0x370], 0x4b455205
xor dword [edx + 0x2ac], 0x35ca2992
xor dword [edx + 0x3f0], 0x49185ffd
add dword [edx + 0x120], 0x74375dc7
sub dword [edx + 0x37c], 0x4c8e2b83
xor dword [edx + 0x384], 0x5e8a4aca
xor dword [edx + 0x1c], 0x4cca4e35
xor dword [edx + 0x188], 0x21074303
xor dword [edx + 0x2d0], 0x66394272
not dword [edx + 0x1b8]
xor dword [edx + 0x2c], 0x693c2d3f
add dword [edx + 0x50], 0x4de00135
not dword [edx + 0x3dc]
not dword [edx + 0x164]
not dword [edx + 0x3b8]
sub dword [edx + 0x3bc], 0x25bb7787
not dword [edx + 0x1b4]
not dword [edx + 0x2c0]
xor dword [edx + 0x2f0], 0x404f6784
add dword [edx + 0xd4], 0x5c830a75
xor dword [edx + 0x368], 0x117714e8
add dword [edx + 0x22c], 0x3bf330d
add dword [edx + 0x2ec], 0x4d65092b
not dword [edx + 0x178]
xor dword [edx + 0x1a0], 0x4ed052a5
sub dword [edx + 0x84], 0xf5832ab
add dword [edx + 0x1dc], 0x40251aeb
xor dword [edx + 0x3c4], 0x6d2539bd
sub dword [edx + 0x348], 0x73cd1875
add dword [edx + 0x1ec], 0x1c9a4db2
add dword [edx + 0x270], 0x7eff38e1
xor dword [edx + 0x1ac], 0x4e515f13
not dword [edx + 0x248]
xor dword [edx + 0x264], 0x3d56470a
xor dword [edx + 0x150], 0x7fdf1791
not dword [edx + 0x28]
sub dword [edx + 0x1a4], 0x38be001c
sub dword [edx + 0x2c8], 0x70476375
not dword [edx + 0x2e4]
sub dword [edx + 0x204], 0x166e4586
sub dword [edx + 0x11c], 0x6a4d41ac
sub dword [edx + 0x28c], 0x15446d65
xor dword [edx + 0xc8], 0x68f8655d
not dword [edx + 0x14c]
sub dword [edx + 0xb0], 0x7a192b32
add dword [edx + 0x98], 0x48040a35
not dword [edx + 0x34c]
add dword [edx + 0x1f4], 0x526a626e
xor dword [edx + 0x40], 0x6d5a7c75
add dword [edx + 0x3ec], 0x63af1325
add dword [edx + 0xb4], 0x7c1d65e8
sub dword [edx + 0x2b8], 0x4b472538
add dword [edx + 0x2b0], 0x79de3ee8
xor dword [edx + 0x2f8], 0x2dce7e4d
not dword [edx + 0x1d0]
not dword [edx + 0x17c]
sub dword [edx + 0x2f4], 0x4dcd13d7
not dword [edx + 0x184]
add dword [edx + 0xac], 0x11e70be4
add dword [edx + 0x158], 0x7c572e9e
sub dword [edx + 0xb8], 0x4260f46
sub dword [edx + 0x1f0], 0x621b3284
not dword [edx + 0x268]
not dword [edx + 0x1cc]
xor dword [edx + 0x60], 0x33cd101a
not dword [edx + 0xe8]
not dword [edx + 0x38]
xor dword [edx + 0x218], 0x24c08eb
sub dword [edx + 0x138], 0x7dd367e
add dword [edx + 0x54], 0x1c9930f9
sub dword [edx + 0x39c], 0x4ab9203d
sub dword [edx + 0x20c], 0x63dd4604
not dword [edx + 0x3b4]
xor dword [edx + 0x3b0], 0x221715d1
add dword [edx + 0x29c], 0x1cd776bc
not dword [edx + 0x274]
not dword [edx + 0xa4]
add dword [edx + 0x78], 0x1e8403aa
xor dword [edx + 0x378], 0x1035a90
not dword [edx + 0x3d4]
xor dword [edx + 0x254], 0x48818a8
not dword [edx + 0x3a8]
xor dword [edx + 0x2e8], 0x2a9958c0
xor dword [edx + 0x284], 0x4d9053b8
sub dword [edx + 0x2a4], 0x58f13a25
not dword [edx + 0x100]
sub dword [edx + 0x4c], 0x35804c28
sub dword [edx + 0x30], 0x55a283f
not dword [edx + 0x10c]
add dword [edx + 8], 0x6a552a03
add dword [edx + 0x68], 0x45196947
sub dword [edx + 0xbc], 0x6abe1faa
sub dword [edx + 4], 0x447048bc
add dword [edx + 0x304], 0x2fbc15a7
sub dword [edx + 0x1c8], 0x7b341ab7
not dword [edx + 0xa8]
xor dword [edx + 0x2dc], 0x2846803
not dword [edx + 0x2d8]
sub dword [edx + 0xdc], 0x54ba7bd7
add dword [edx + 0x1bc], 0x2f0d01bd
xor dword [edx + 0x1d4], 0x64620255
not dword [edx + 0xc4]
xor dword [edx + 0x3d8], 0x5ddb5cfd
xor dword [edx + 0x224], 0x585c483f
add dword [edx + 0x58], 0x7fea5464
add dword [edx + 0x210], 0x290d005e
xor dword [edx + 0x374], 0x59753d04
xor dword [edx + 0x3cc], 0x2b14468
not dword [edx + 0x298]
add dword [edx + 0x3c8], 0x4ff11255
add dword [edx + 0xa0], 0x6de137e9
not dword [edx + 0x27c]
sub dword [edx + 0x1e8], 0x70f02e55
sub dword [edx + 0x24], 0x11c81191
add dword [edx + 0x398], 0x59b17257
xor dword [edx + 0x148], 0x27b7124a
add dword [edx + 0x35c], 0x48aa4e5c
sub dword [edx + 0x18c], 0x567c2160
not dword [edx + 0x350]
sub dword [edx + 0x194], 0x7af9313b
add dword [edx + 0xe4], 0x7d2f7f85
add dword [edx + 0x110], 0x5e4b4503
not dword [edx + 0x36c]
add dword [edx + 0x34], 0x45cc6c68
not dword [edx + 0x318]
not dword [edx + 0x20]
xor dword [edx + 0x2d4], 0x3e477733
xor dword [edx + 0x10], 0x2552bba
add dword [edx + 0x380], 0x5073578d
add dword [edx + 0x70], 0x2dd03924
add dword [edx + 0x290], 0x640606ce
xor dword [edx + 0x220], 0x6463699a
xor dword [edx + 0x388], 0x7ff417bb
sub dword [edx + 0x8c], 0x546a5174
sub dword [edx + 0x26c], 0x153c67fb
add dword [edx + 0xd8], 0x6c0a2453
sub dword [edx + 0x214], 0x1f5b446f
sub dword [edx + 0x240], 0x36e1491f
sub dword [edx + 0x234], 0x12f40aef
add dword [edx + 0x354], 0x2fb733ed
sub dword [edx + 0x3c], 0x7a260391
xor dword [edx + 0x7c], 0x7e6d179c
sub dword [edx + 0x390], 0x40421c2b
not dword [edx + 0x1c4]
sub dword [edx + 0x130], 0x40805758
add dword [edx + 0x128], 0x3b935da
sub dword [edx + 0x338], 0x1f6815f7
add dword [edx + 0xc], 0x780a08bb
xor dword [edx + 0x104], 0x46eb3a78
not dword [edx + 0x160]
not dword [edx + 0x3e8]
xor dword [edx + 0x294], 0x65cb225f
add dword [edx + 0x2c4], 0x6a235e98
not dword [edx + 0x1fc]
add dword [edx + 0x48], 0x27fe7b99
xor dword [edx + 0x1a8], 0x3a271f07
xor dword [edx + 0xec], 0x3a8f12f9
not dword [edx]
not dword [edx + 0x238]
not dword [edx + 0x38c]
add dword [edx + 0x200], 0x1c8a728e
add dword [edx + 0x64], 0x7de6547b
sub dword [edx + 0xf0], 0x14bc743e
add dword [edx + 0x3f8], 0x2f3a1c3d
sub dword [edx + 0x13c], 0x43ee43a5
not dword [edx + 0x124]
xor dword [edx + 0x250], 0x73191f2e
not dword [edx + 0x360]
xor dword [edx + 0x3a0], 0x62765f4
sub dword [edx + 0x180], 0x22cf72c2
xor dword [edx + 0x19c], 0x69f7048f
not dword [edx + 0x23c]
add dword [edx + 0x3fc], 0x1a405fc8
sub dword [edx + 0x330], 0x171a1fc7
xor dword [edx + 0x260], 0x2efb034c
add dword [edx + 0x21c], 0x4eb37dd7
add dword [edx + 0x2a8], 0x35c36661
sub dword [edx + 0x6c], 0x7b744f18
not dword [edx + 0x2b4]
not dword [edx + 0xd0]
add dword [edx + 0x314], 0x625f0f03
not dword [edx + 0x33c]
add dword [edx + 0x1b0], 0x6fc91a49
sub dword [edx + 0x1e0], 0x542731e3
sub dword [edx + 0x174], 0x107f6041
xor dword [edx + 0x358], 0x18a82440
xor dword [edx + 0x320], 0x2f562e2a
xor dword [edx + 0x310], 0x445b128b
add dword [edx + 0x278], 0x1524479c
not dword [edx + 0x3e4]
sub dword [edx + 0x3ac], 0xf122922
xor dword [edx + 0x3d0], 0x449710d9
not dword [edx + 0xe0]
sub dword [edx + 0x14], 0x3d332c53
xor dword [edx + 0xf8], 0x41b41284
sub dword [edx + 0x2bc], 0x2476291c
sub dword [edx + 0x144], 0x16ab127e
xor dword [edx + 0x12c], 0x36a657ee
xor dword [edx + 0x230], 0x232b359b
sub dword [edx + 0x208], 0x2ec06a92
add dword [edx + 0x24c], 0x34eb7069
sub dword [edx + 0x170], 0x486d14d6
xor dword [edx + 0x32c], 0x77485c5c
not dword [edx + 0x9c]
sub dword [edx + 0x1f8], 0x7a8c2aa5
not dword [edx + 0x88]
not dword [edx + 0x3e0]
sub dword [edx + 0x2e0], 0xe5e38f1
not dword [edx + 0x74]
add dword [edx + 0x140], 0x60fe0cff
add dword [edx + 0x154], 0x53be4241
xor dword [edx + 0x308], 0x1b3e2096
add dword [edx + 0x90], 0x761342e8
add dword [edx + 0x134], 0x24592cd9
sub dword [edx + 0x228], 0x7e2d3e16
add dword [edx + 0x15c], 0x533d19bc
sub dword [edx + 0x328], 0x6ae05f3e
add dword [edx + 0x300], 0x63a434dc
xor dword [edx + 0x31c], 0x4cbc3c76
xor dword [edx + 0x364], 0x3f485169
xor dword [edx + 0x1c0], 0x744b1410
sub dword [edx + 0x118], 0x178c7837
xor dword [edx + 0x25c], 0x25ca469a
sub dword [edx + 0x30c], 0x2089503d
not dword [edx + 0x18]
not dword [edx + 0x1e4]
not dword [edx + 0x3f4]
sub dword [edx + 0x3a4], 0x1b661119
sub dword [edx + 0x108], 0x11070ea1
add dword [edx + 0xf4], 0xba4027a
xor dword [edx + 0x324], 0x2d177a46
not dword [edx + 0x258]
xor dword [edx + 0x2fc], 0x565774d4
sub dword [edx + 0x198], 0x427c7381
sub dword [edx + 0x2cc], 0x1546162f
xor dword [edx + 0x94], 0x2bfd0f24
add dword [edx + 0x80], 0x72651b64
not dword [edx + 0x334]
not dword [edx + 0x344]
not dword [edx + 0x114]
add dword [edx + 0x5c], 0x2e447e02
xor dword [edx + 0x3c0], 0x6384792a
sub dword [edx + 0x244], 0x506f2437
add dword [edx + 0x288], 0x72a0ba6
add dword [edx + 0xcc], 0x4b244fd5
sub dword [edx + 0x16c], 0x2aa80299
not dword [edx + 0x1d8]
not dword [edx + 0x340]
add edi, 0x400
add edx, 0x400
cmp edi, 0x8c000
jne 0x512017
call fcn.004cf954
pop edi
pop esi
pop ebp
pop ebx
pop edx
pop ecx
pop eax