Function at 0x1000ccc0
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x14
mov eax, dword [ebp + 0xc]
mov eax, dword [ebp + 8]
mov dword [esp], 0x41
call fcn.10087c4a
mov dword [ebp - 4], eax
mov eax, dword [ebp - 4]
mov byte [eax + 0x40], 0
mov dword [ebp - 8], 0x40000000
mov dword [ebp - 0xc], 0
cmp dword [ebp - 0xc], 0x20
jge 0x1000d437
mov eax, dword [ebp + 8]
and eax, dword [ebp - 8]
cmp eax, 0
je 0x1000cd1b
mov eax, dword [ebp - 4]
mov ecx, dword [ebp - 0xc]
shl ecx, 1
mov byte [eax + ecx], 0x31
jmp 0x1000d08d
mov eax, dword [0x100bd7b4]
imul eax, dword [0x100bd7b8]
add eax, 0x3bc5343f
and eax, 0x814e222f
xor eax, 0x81b513e4
or eax, 0x42734fe7
imul eax, eax, 0x9fbb5ffe
xor eax, 0x50f83cec
imul eax, eax, 0xb7f0df79
and eax, 0xc4bab87
xor eax, 0x65c1eceb
or eax, 0x96d88735
and eax, 0xabbfe566
sub eax, 0xe6b972ed
sub eax, 0xc531909b
imul eax, eax, 0x60e29dc3
sub eax, 0xc8ead23b
mov ecx, 0xb6f0adca
xor edx, edx
div ecx
imul eax, eax, 0x1cfb2b2c
imul eax, eax, 0xd208f6a
xor eax, 0x6eebd12e
and eax, 0xa99ac347
imul eax, eax, 0x86fe3ea1
sub eax, 0x424958c6
add eax, 0x6fdd8bed
and eax, 0x9d4f09d4
add eax, 0x3d2c4830
add eax, 0x99885052
imul eax, eax, 0xdfe6e493
add eax, 0x9d8942d8
sub eax, 0xec747712
or eax, 0xd2cd920a
mov ecx, 0xb6f12453
xor edx, edx
div ecx
xor eax, 0xd279503d
mov ecx, 0x521ae69c
xor edx, edx
div ecx
or eax, 0x601e15fc
sub eax, 0xdd32104e
xor eax, 0x91a41d56
sub eax, 0x7a41dd12
imul eax, eax, 0xdde84f79
mov ecx, 0xa9879292
xor edx, edx
div ecx
or eax, 0x290bdea8
mov ecx, 0x3ff9be55
xor edx, edx
div ecx
xor eax, 0x4cd3c73a
imul eax, eax, 0x7772f3c9
xor eax, 0xd62cc022
or eax, 0xfadb9db7
imul eax, eax, 0xbc6a02b5
or eax, 0x5c004711
xor eax, 0x987d28e6
and eax, 0xa295d399
or eax, 0xd639973e
mov ecx, 0xf0010a01
xor edx, edx
div ecx
or eax, 0x2209beb
xor eax, 0x171669f3
and eax, 0x7eced2c7
add eax, 0x3e194011
and eax, 0x579e610b
sub eax, 0x86aac900
add eax, 0xaf0eb4ae
or eax, 0xa2f8a592
add eax, 0x4e35079a
add eax, 0x5f987901
and eax, 0x9950d1dd
mov ecx, 0x78ca673c
xor edx, edx
div ecx
and eax, 0x452ffebf
imul eax, eax, 0xb25effec
imul eax, eax, 0xc6b3acf4
xor eax, 0x5a951836
xor eax, 0xac743ae5
mov ecx, 0xfa6e6a61
xor edx, edx
div ecx
mov ecx, 0xca8deaa7
xor edx, edx
div ecx
mov ecx, 0x861ccab2
xor edx, edx
div ecx
or eax, 0x17f82224
cmp eax, 0x85107612
jae 0x1000d7a5
mov eax, dword [0x100bd7bc]
add eax, dword [0x100bd7c0]
imul eax, eax, 0xe70634bb
add eax, 0x2b400c67
and eax, 0x997f4fed
and eax, 0xe9cf38d2
or eax, 0x42c23ba0
mov ecx, 0x13b4249d
xor edx, edx
div ecx
or eax, 0xcf13d827
add eax, 0x90a60324
or eax, 0x12aed965
add eax, 0x7767e21f
mov ecx, 0xd680ed19
xor edx, edx
div ecx
mov ecx, 0x6bf0f600
xor edx, edx
div ecx
sub eax, 0x2b7e0694
and eax, 0x261eb7a6
add eax, 0xc79a64c9
and eax, 0x18d314a3
and eax, 0xab50040
and eax, 0x5529f057
add eax, 0xc7c29c
mov ecx, 0x7f80679b
xor edx, edx
div ecx
xor eax, 0xb97e692f
or eax, 0xca3feb65
xor eax, 0x463b49d1
add eax, 0x669fb12e
xor eax, 0x2797bd63
sub eax, 0x91a72495
sub eax, 0xe98bd86e
xor eax, 0x5b24ee8d
or eax, 0x4fa7fd8e
imul eax, eax, 0x5a5ba3f3
xor eax, 0xb4be3155
xor eax, 0xa6d680c8
mov ecx, 0x33d95a4c
xor edx, edx
div ecx
mov ecx, 0xd7579689
xor edx, edx
div ecx
add eax, 0x2c394e7
sub eax, 0x2689d5a6
sub eax, 0xc9ac710f
xor eax, 0x3b3b49e2
and eax, 0xcb9f6f9f
imul eax, eax, 0xeb0e2531
add eax, 0x7e23bfa4
add eax, 0xdaf485d3
or eax, 0x1f16ae63
and eax, 0xaa9a0e78
mov ecx, 0x51ad4a72
xor edx, edx
div ecx
imul eax, eax, 0xefc5d783
add eax, 0x8c03fb5d
sub eax, 0x5bdc2353
and eax, 0x74429f51
sub eax, 0x47251ff9
xor eax, 0xffb070a0
mov ecx, 0x71e9b571
xor edx, edx
div ecx
imul eax, eax, 0x5d16afd8
add eax, 0x3f93cb54
add eax, 0x2eaa246e
or eax, 0xdd4a62f
xor eax, 0xfa6b4749
or eax, 0x14d219c5
and eax, 0x836abd6a
sub eax, 0x54b2fab8
and eax, 0xc7f143ff
mov ecx, 0x1fff7bea
xor edx, edx
div ecx
xor eax, 0x92c74a48
and eax, 0xaee3712f
imul eax, eax, 0x88b4bfc2
sub eax, 0xa5b47495
or eax, 0x6a3f3a1e
imul eax, eax, 0xc7b2e9d2
mov ecx, 0xaa1236a7
xor edx, edx
div ecx
sub eax, 0x2f0afe16
xor eax, 0x71538edd
add eax, 0x4711e8fb
mov ecx, dword [ebp - 4]
mov edx, dword [ebp - 0xc]
shl edx, 1
mov byte [ecx + edx], 0x30
cmp eax, 0xe15453f6
jbe 0x1000cece
jmp 0x1000d08d
mov eax, dword [ebp + 0xc]
and eax, dword [ebp - 8]
cmp eax, 0
je 0x1000d0af
mov eax, dword [ebp - 4]
mov ecx, dword [ebp - 0xc]
shl ecx, 1
mov byte [eax + ecx + 1], 0x31
jmp 0x1000d420
mov eax, dword [0x100bd7c4]
sub eax, dword [0x100bd7c8]
add eax, 0xaad83b52
add eax, 0x73bfcedf
imul eax, eax, 0x2027635f
and eax, 0xaba52beb
imul eax, eax, 0xb73666a4
xor eax, 0xf08e247e
and eax, 0x4a928b8e
xor eax, 0xc9a582ab
add eax, 0x49b44e27
or eax, 0x63289b77
and eax, 0x5e051f2c
or eax, 0x6f846b44
xor eax, 0x4b33db5c
imul eax, eax, 0xb1977506
imul eax, eax, 0x67b239a9
imul eax, eax, 0x6df30e0a
sub eax, 0x4f52618d
sub eax, 0x442a107b
xor eax, 0xdd3676eb
imul eax, eax, 0xb4d9a43b
sub eax, 0x1bcea24d
sub eax, 0xec4b0ca9
or eax, 0x9ffd70d2
add eax, 0xb800f5ce
or eax, 0x713d2b23
or eax, 0x60e57a1c
and eax, 0xdc943fa1
add eax, 0x45aeae7e
and eax, 0x1fe6d89c
or eax, 0x85e4a608
add eax, 0x35267046
sub eax, 0x8042a04e
add eax, 0x8351a28a
sub eax, 0x78189aad
and eax, 0x52088658
mov ecx, 0x450d3de9
xor edx, edx
div ecx
mov ecx, 0x4aa8ce40
xor edx, edx
div ecx
mov ecx, 0x7638519d
xor edx, edx
div ecx
or eax, 0x41730c06
sub eax, 0x5296d81a
mov ecx, 0xd39e2183
xor edx, edx
div ecx
add eax, 0x610e1551
and eax, 0x36c97711
and eax, 0xa072351d
imul eax, eax, 0x5e8959cc
mov ecx, 0x2f920ee0
xor edx, edx
div ecx
add eax, 0xe3d4461e
sub eax, 0xe6836d03
sub eax, 0xfc32bd5b
imul eax, eax, 0x4822cf32
imul eax, eax, 0x26c29225
sub eax, 0x202e3eb3
add eax, 0xa7ebfaa6
sub eax, 0x27c69597
sub eax, 0x6ef0b498
mov ecx, 0xb9465bcc
xor edx, edx
div ecx
xor eax, 0x93ce6c9f
add eax, 0x1b9b804f
add eax, 0xaefc5f7a
sub eax, 0x6a4c2248
and eax, 0xb18aeb55
xor eax, 0x7730ad82
mov ecx, 0x1e47156e
xor edx, edx
div ecx
and eax, 0x13eeda1f
and eax, 0x7f7356d2
and eax, 0xbab12bf8
and eax, 0xdf0b7f44
imul eax, eax, 0x6d22b2a0
imul eax, eax, 0xba34fc32
xor eax, 0xdfa55d3c
or eax, 0xe1e50863
add eax, 0xfd84d02a
cmp eax, 0x13f1a06
jbe 0x1000d7b7
mov eax, dword [0x100bd7cc]
sub eax, dword [0x100bd7d0]
or eax, 0x262c802
or eax, 0xc7d381f4
imul eax, eax, 0xe74e106a
add eax, 0x52909482
mov ecx, 0x2da8bc09
xor edx, edx
div ecx
xor eax, 0xa53b2f68
mov ecx, 0xf1288827
xor edx, edx
div ecx
and eax, 0xab3c4057
sub eax, 0xc7adc24b
xor eax, 0x22d53add
mov ecx, 0x9b71308c
xor edx, edx
div ecx
add eax, 0x5734b640
xor eax, 0x204cf49d
mov ecx, 0xc248c556
xor edx, edx
div ecx
and eax, 0x2d22e1d0
mov ecx, 0x8dd498a7
xor edx, edx
div ecx
sub eax, 0xbd3a1c7e
or eax, 0x6b5f0ca2
add eax, 0x70b3ee91
sub eax, 0x1128c783
imul eax, eax, 0x699515f1
imul eax, eax, 0xf1e9a421
sub eax, 0xacd1b8bd
and eax, 0x8aa393ad
mov ecx, 0xfa41709e
xor edx, edx
div ecx
add eax, 0x9bcd988c
or eax, 0x7be441c9
mov ecx, 0x1d2ac3d6
xor edx, edx
div ecx
imul eax, eax, 0x4cc35c51
mov ecx, 0x7e6966e2
xor edx, edx
div ecx
add eax, 0xce56d689
xor eax, 0xfe9b329a
and eax, 0x4a0f0bdf
xor eax, 0x330c093b
and eax, 0x4489b1b0
and eax, 0x2e4f71a3
mov ecx, 0x9e03599c
xor edx, edx
div ecx
mov ecx, 0x2964ad64
xor edx, edx
div ecx
imul eax, eax, 0x45ea9395
or eax, 0xe40fb40
sub eax, 0xe3491e0a
xor eax, 0xee53c9a1
add eax, 0x363beabe
xor eax, 0xf5792123
sub eax, 0x8050a72
xor eax, 0x9a902e98
sub eax, 0x38950dca
sub eax, 0x64589541
imul eax, eax, 0x29cf67b7
add eax, 0x8f14c4a4
add eax, 0xd70e8f56
mov ecx, 0xf74d16b9
xor edx, edx
div ecx
sub eax, 0x4fb57316
and eax, 0xbb7c2d20
sub eax, 0x30367876
imul eax, eax, 0x7ca6e11c
or eax, 0x45d7b3f8
add eax, 0xbdf6b0d0
xor eax, 0xcfc15bde
imul eax, eax, 0xacebb09c
add eax, 0x54a47e79
xor eax, 0x48b275b3
imul eax, eax, 0x6db47e32
and eax, 0xb47b9441
mov ecx, 0xd7f6111f
xor edx, edx
div ecx
add eax, 0xa6ceca1e
sub eax, 0x9e633246
add eax, 0x440e8f3a
xor eax, 0xab33ba84
imul eax, eax, 0x9cc9feed
imul eax, eax, 0xa28ff712
xor eax, 0x53c66251
mov ecx, dword [ebp - 4]
mov edx, dword [ebp - 0xc]
shl edx, 1
mov byte [ecx + edx + 1], 0x30
cmp eax, 0x89e10a0a
je 0x1000d254
jmp 0x1000d420
mov eax, dword [ebp - 8]
sar eax, 1
mov dword [ebp - 8], eax
mov eax, dword [ebp - 0xc]
add eax, 1
mov dword [ebp - 0xc], eax
jmp 0x1000ccf0
mov eax, dword [0x100bd7d4]
sub eax, dword [0x100bd7d8]
and eax, 0xf6e1fa10
imul eax, eax, 0xa0eddea6
imul eax, eax, 0x4b7ee2d1
imul eax, eax, 0xc1b556ea
imul eax, eax, 0x74a7ee82
add eax, 0x6159b256
imul eax, eax, 0x5777515
imul eax, eax, 0xcb4525
and eax, 0x1b14a3e5
and eax, 0x9ba6629a
xor eax, 0xe7aabcca
or eax, 0xe12eeb54
add eax, 0x3ec32891
sub eax, 0xa4181e84
imul eax, eax, 0x952b9905
mov ecx, 0xd99ae7a4
xor edx, edx
div ecx
and eax, 0xefd52991
add eax, 0xf51349b3
add eax, 0xc9f79315
mov ecx, 0xc7a378c
xor edx, edx
div ecx
or eax, 0x8cd71c0f
imul eax, eax, 0x4f3bd2c9
imul eax, eax, 0x87c68768
mov ecx, 0xe48b3f0f
xor edx, edx
div ecx
sub eax, 0xdf289dd
xor eax, 0xe5061ef8
mov ecx, 0xd3ffb771
xor edx, edx
div ecx
add eax, 0x13bb5a59
or eax, 0xf3b45ae7
add eax, 0x4645fd50
sub eax, 0x6e8750a8
imul eax, eax, 0xf8460c34
mov ecx, 0xe9c674ad
xor edx, edx
div ecx
imul eax, eax, 0x8e5930e0
xor eax, 0x2a4e86d4
add eax, 0xc22e7540
sub eax, 0x344b94d5
sub eax, 0x8e1228b9
mov ecx, 0xec6a8636
xor edx, edx
div ecx
and eax, 0x7be6b850
or eax, 0x9df010ef
and eax, 0x1d45711b
and eax, 0x54cb060c
xor eax, 0xfe715ac6
or eax, 0x2cc6529c
mov ecx, 0xb37ed9b0
xor edx, edx
div ecx
and eax, 0x5370dafd
or eax, 0xcbc48ef3
xor eax, 0x5061e2a1
sub eax, 0x647fb601
imul eax, eax, 0xfe9b7aa7
sub eax, 0xb46d4e7f
and eax, 0x7a18d65b
xor eax, 0x662afbf5
add eax, 0xeb03a9e3
sub eax, 0x8bbf5d9f
and eax, 0xcd9ca599
sub eax, 0x1b5257a7
mov ecx, 0xe8b3c39b
xor edx, edx
div ecx
and eax, 0x26de453c
sub eax, 0xcd2e8f50
mov ecx, 0xd9a19129
xor edx, edx
div ecx
or eax, 0x4fc9cd5e
imul eax, eax, 0xa63c8fcf
sub eax, 0xa91b3c59
and eax, 0x869f04e0
and eax, 0xbbff29f3
or eax, 0x13cd881d
mov ecx, 0x20660971
xor edx, edx
div ecx
and eax, 0x651bde76
and eax, 0x5128355
imul eax, eax, 0xb19cb23c
cmp eax, 0x2f09a34
jbe 0x1000d7ca
mov eax, dword [0x100bd7dc]
imul eax, dword [0x100bd7e0]
imul eax, eax, 0x17d66469
xor eax, 0x68055afe
imul eax, eax, 0x1dbb8b24
or eax, 0x2508fee8
or eax, 0x9af2015a
add eax, 0xdfe173dc
xor eax, 0x2a17f2bd
mov ecx, 0x921dfb5a
xor edx, edx
div ecx
sub eax, 0xad12ce18
xor eax, 0x2cbc975c
imul eax, eax, 0xdccb7009
and eax, 0x7f2c6214
xor eax, 0xe060afb9
sub eax, 0xe335155
and eax, 0x3a75b4bd
add eax, 0xce6d7a07
or eax, 0xb880ced
add eax, 0x5a22b247
or eax, 0x3a9d300d
sub eax, 0xf17b290d
sub eax, 0x8631b965
xor eax, 0x6e425499
and eax, 0xf05962aa
add eax, 0x36fa5b04
mov ecx, 0x6e8d2388
xor edx, edx
div ecx
or eax, 0xa61f24f3
imul eax, eax, 0xc9b59736
add eax, 0x8af600b6
sub eax, 0xfa4076e7
xor eax, 0x934c3dcf
imul eax, eax, 0x56589f33
sub eax, 0xd07f093e
sub eax, 0xd87992be
mov ecx, 0x4cfbfc96
xor edx, edx
div ecx
imul eax, eax, 0xbc3020b
imul eax, eax, 0x75c79e45
add eax, 0x55801ad7
or eax, 0xff87bd14
add eax, 0xb7bbacf3
or eax, 0x830df873
mov ecx, 0xe3c5f8cb
xor edx, edx
div ecx
sub eax, 0x86e9d48b
add eax, 0x1c34ed80
add eax, 0x88d87a8b
imul eax, eax, 0x96143d26
add eax, 0xc1453856
mov ecx, 0xdce0d1de
xor edx, edx
div ecx
add eax, 0x20f87bb4
sub eax, 0xbe958f79
mov ecx, 0x94bd5ecc
xor edx, edx
div ecx
xor eax, 0x327b2b22
imul eax, eax, 0x37163d2
xor eax, 0xb50afa9b
imul eax, eax, 0x9dc5b12a
sub eax, 0xde26dc4e
add eax, 0x72a43f1d
or eax, 0xee2c293a
xor eax, 0x187acb13
imul eax, eax, 0x7ed07506
imul eax, eax, 0xaa8e2ac1
and eax, 0xe73b25e9
mov ecx, 0x36c61f01
xor edx, edx
div ecx
mov ecx, 0x48011fe7
xor edx, edx
div ecx
sub eax, 0x3ea8c79c
and eax, 0xeb5e086f
add eax, 0x7421488d
imul eax, eax, 0xd3600221
xor eax, 0x211f8e5c
add eax, 0xaeb67783
sub eax, 0x5d63d1d1
and eax, 0x592edb4a
sub eax, 0x323fd813
mov ecx, dword [ebp - 4]
mov dword [ebp - 0x10], ecx
cmp eax, 0xd6793310
jae 0x1000d7ca
mov eax, dword [ebp - 0x10]
add esp, 0x14
pop ebp
ret
mov eax, dword [ebp - 4]
mov ecx, dword [ebp - 0xc]
shl ecx, 1
mov byte [eax + ecx], 0x30
jmp 0x1000cece
mov eax, dword [ebp - 4]
mov ecx, dword [ebp - 0xc]
shl ecx, 1
mov byte [eax + ecx + 1], 0x30
jmp 0x1000d254
jmp 0x1000d5eb