Function at 0x100ce560
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
push edi
push esi
sub esp, 0x28
mov dword [ebp - 0x10], ecx
mov eax, dword [ebp + 8]
mov dword [ebp - 0xc], eax
mov eax, dword [0x1014cab8]
sub eax, dword [0x1014cabc]
add eax, 0x573d9e92
and eax, 0xf532864c
mov ecx, 0xd4e9179b
xor edx, edx
div ecx
mov ecx, 0x56576f36
xor edx, edx
div ecx
or eax, 0xcc1b8cea
or eax, 0x56b9baa8
mov ecx, 0x1e839f18
xor edx, edx
div ecx
mov ecx, 0xf284763b
xor edx, edx
div ecx
and eax, 0x6b11c7a1
mov ecx, 0xcc31cb60
xor edx, edx
div ecx
add eax, 0x720091bd
sub eax, 0x4fcca9fe
or eax, 0xbade39be
imul eax, eax, 0x745eb1bd
xor eax, 0xeac6a27
and eax, 0x7385b0ac
xor eax, 0xac330a3a
add eax, 0x432e41d9
imul eax, eax, 0x146e83a
imul eax, eax, 0xb320de71
imul eax, eax, 0x1e903955
or eax, 0x479503e3
imul eax, eax, 0x18841032
and eax, 0xede53258
or eax, 0x5365d579
imul eax, eax, 0xf59571a6
add eax, 0x329df014
imul eax, eax, 0x4574103d
add eax, 0x55b54b4e
and eax, 0x27dbdb60
mov ecx, 0x60312cc6
xor edx, edx
div ecx
imul eax, eax, 0x7f1bcf35
xor eax, 0xa8a1eb3f
cmp eax, 0x82a81322
je 0x100cef4e
mov esi, dword [ebp - 0x10]
mov edi, dword [ebp - 0xc]
mov eax, 0x7bcbf66e
mov dword [ebp - 0x18], eax
push eax
mov edx, esp
mov dword [ebp - 0x24], edx
push eax
mov eax, esp
push eax
mov ecx, esp
mov dword [eax], edi
mov dword [ecx], esi
mov ecx, dword [ecx]
mov dword [ebp - 0x20], ecx
mov dword [edx], ecx
mov eax, dword [eax]
mov dword [ebp - 0x1c], eax
call fcn.100cdfa0
mov ecx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x18]
cmp ecx, 0
sete cl
mov byte [ebp - 0x11], cl
cmp eax, 0x1b7ce87e
je 0x100cef4e
mov al, byte [ebp - 0x11]
test al, 1
jne 0x100ce876
jmp 0x100ce6a5
mov eax, dword [0x1014cac8]
imul eax, dword [0x1014cacc]
xor eax, 0x14d41733
mov ecx, 0xaceff463
xor edx, edx
div ecx
mov ecx, 0xb467e9e3
xor edx, edx
div ecx
and eax, 0xd216d270
or eax, 0xd97b0f47
imul eax, eax, 0x8b1ea95c
and eax, 0x60a988d8
mov ecx, 0x9713edb6
xor edx, edx
div ecx
and eax, 0x3de262db
or eax, 0x59b60916
mov ecx, 0xbc59c5f9
xor edx, edx
div ecx
mov ecx, 0x6b08c84c
xor edx, edx
div ecx
mov ecx, 0x24fab96c
xor edx, edx
div ecx
imul eax, eax, 0xe8413453
add eax, 0x4da0ad3d
or eax, 0x765a3d6b
imul eax, eax, 0x880f7cfe
add eax, 0xf2654cce
xor eax, 0x517b7000
xor eax, 0x49b0795a
mov ecx, 0xe5cf2fc4
xor edx, edx
div ecx
xor eax, 0xdbdd308e
imul eax, eax, 0xee7ccd28
or eax, 0x4ad52897
and eax, 0xb053d498
imul eax, eax, 0x3345d88a
mov ecx, 0x1acae3e1
xor edx, edx
div ecx
sub eax, 0xd9c93b40
sub eax, 0x6a21cc42
and eax, 0x3aa42551
xor eax, 0xfb9df251
and eax, 0x817436a2
and eax, 0xcaeec858
cmp eax, 0xefa12272
je 0x100cebdb
mov eax, dword [0x1014cad0]
imul eax, dword [0x1014cad4]
or eax, 0xe4e9baf5
and eax, 0x68e26a2
and eax, 0x3ecceb48
add eax, 0xd9221c7b
add eax, 0x7d5256e5
imul eax, eax, 0xf19d8b8a
sub eax, 0xf8bd5ab2
mov ecx, 0xe97e4fa7
xor edx, edx
div ecx
and eax, 0x220ac9a0
imul eax, eax, 0x37303c48
and eax, 0x9796b0f8
or eax, 0xec76ee81
xor eax, 0x530efde6
or eax, 0x27cc9fe4
or eax, 0xc26c4d24
sub eax, 0xcfb29e0e
or eax, 0x2387b107
sub eax, 0xe924b052
imul eax, eax, 0x94cb4415
imul eax, eax, 0x6ec4829b
mov ecx, 0x8feed518
xor edx, edx
div ecx
imul eax, eax, 0x3847fe86
xor eax, 0x4a1abd15
and eax, 0xe122d388
sub eax, 0xb487a8ad
imul eax, eax, 0x83ec4423
sub eax, 0x13a3697a
or eax, 0x8aa3ce28
mov ecx, 0x290131e8
xor edx, edx
div ecx
mov ecx, eax
mov eax, dword [ebp - 0x20]
or ecx, 0x2035f396
imul ecx, ecx, 0xc34dcc97
sub ecx, 0x9f460e52
imul ecx, ecx, 0xc3bf4e0c
mov dword [ebp - 0x28], ecx
sub esp, 4
mov dword [esp], eax
call fcn.1011cf8c
mov eax, dword [ebp - 0x28]
add esp, 4
cmp eax, 0x89ec8edb
jbe 0x100ce786
jmp 0x100ce876
mov eax, dword [0x1014cad8]
sub eax, dword [0x1014cadc]
or eax, 0x63d7946a
sub eax, 0x3e7e6e16
mov ecx, 0xb20077fe
xor edx, edx
div ecx
add eax, 0xe6d5b952
and eax, 0x5c779431
xor eax, 0x5d2ffe9
or eax, 0xa399afff
and eax, 0xae567bd6
mov ecx, 0x9ab2224d
xor edx, edx
div ecx
or eax, 0x80c0d450
imul eax, eax, 0xdf9ad17a
and eax, 0x87bd8848
imul eax, eax, 0xa2a924c4
sub eax, 0xaa3060d6
or eax, 0xeb1b6266
and eax, 0xe5fedc55
imul eax, eax, 0x44c43a7e
or eax, 0x8b2d9df5
sub eax, 0x3cd8b6db
and eax, 0x8225f1ab
mov ecx, 0x2ce4028d
xor edx, edx
div ecx
xor eax, 0xd5a013e9
imul eax, eax, 0x6815e874
mov ecx, 0x67d91a26
xor edx, edx
div ecx
mov ecx, 0x95ccb325
xor edx, edx
div ecx
and eax, 0x601b3b41
xor eax, 0xcce37da0
imul eax, eax, 0x6db1a12
add eax, 0xf364925d
mov ecx, 0xd57d1bd
xor edx, edx
div ecx
mov ecx, 0x7586d5aa
xor edx, edx
div ecx
xor eax, 0x93216cfe
xor eax, 0x29e49ea8
cmp eax, 0xcdf48607
ja 0x100cef6f
mov eax, dword [0x1014cae0]
imul eax, dword [0x1014cae4]
sub eax, 0x26d5d684
or eax, 0x45a7105b
add eax, 0x52c7b380
add eax, 0x574f156
mov ecx, 0x41eb4eef
xor edx, edx
div ecx
or eax, 0xffe36bea
imul eax, eax, 0xc2f50c13
sub eax, 0x3d1e5812
add eax, 0x4a5d44b9
xor eax, 0x651221ee
add eax, 0x6700ca90
xor eax, 0x9d726dfa
imul eax, eax, 0x4beae035
add eax, 0xf6c7429
sub eax, 0xfa15f68d
add eax, 0xf9b805f1
and eax, 0xfd4bfe3f
add eax, 0x43eab1db
mov ecx, 0x1c50c620
xor edx, edx
div ecx
mov ecx, 0x21fa16d7
xor edx, edx
div ecx
add eax, 0xe83028f8
add eax, 0x33831f92
or eax, 0x8988d62f
or eax, 0xfc661316
mov ecx, 0xb0f3d66b
xor edx, edx
div ecx
mov ecx, 0x77a970f0
xor edx, edx
div ecx
add eax, 0xd5781a08
mov ecx, 0x69192fa0
xor edx, edx
div ecx
add eax, 0xd6d61a
mov ecx, 0x883d5ee9
xor edx, edx
div ecx
or eax, 0xe50b4b47
xor eax, 0x19f4df9c
xor eax, 0x8d40144a
cmp eax, 0xf6eb4a1f
jae 0x100cef6f
mov eax, dword [0x1014cae8]
or eax, dword [0x1014caec]
mov ecx, 0x97284e45
xor edx, edx
div ecx
sub eax, 0x18f8092d
add eax, 0x6798368a
add eax, 0xed929b33
and eax, 0x71b46015
and eax, 0xf8fc8ce2
xor eax, 0x6a294f7
and eax, 0x41e3e33d
xor eax, 0x11ab44ec
add eax, 0x2c500b6e
imul eax, eax, 0x6dda62f2
or eax, 0x7e593698
xor eax, 0x7f2215e0
sub eax, 0x9d2a1d5
or eax, 0x117abace
and eax, 0xce8fbd3a
mov ecx, 0xa42d3089
xor edx, edx
div ecx
add eax, 0xcb010013
xor eax, 0x67567d4e
xor eax, 0xe84b3284
imul eax, eax, 0x2c6700a0
and eax, 0xbf4f844d
or eax, 0xb8a2256e
mov ecx, 0xf7db47bb
xor edx, edx
div ecx
or eax, 0x4562b975
imul eax, eax, 0x8e328348
mov ecx, 0xd6928e51
xor edx, edx
div ecx
and eax, 0x469d45e5
xor eax, 0x1bd31987
xor eax, 0xc83e73eb
xor eax, 0xc8db5477
add eax, 0x35e805
and eax, 0x2fa20f54
cmp eax, 0x701f05e3
ja 0x100ced9a
mov ecx, dword [ebp - 0x24]
mov eax, dword [0x1014caf0]
xor edx, edx
div dword [0x1014caf4]
xor eax, 0xbbaf8291
add eax, 0xb6431ee1
and eax, 0x62e7bb5b
sub eax, 0x27c25fbf
or eax, 0xf31075e0
add eax, 0xb86f02a1
and eax, 0xa90b4d03
or eax, 0x3ba44872
sub eax, 0xe5194a5b
sub eax, 0x61d566d1
or eax, 0x85fc83cb
xor eax, 0x2e5c10d0
and eax, 0x456ed38e
sub eax, 0x77632e46
imul eax, eax, 0x1f6192c3
xor eax, 0x23eecaea
or eax, 0x1f4854a4
add eax, 0x1243b67
add eax, 0x92144a4e
mov esi, 0x5baff2c1
xor edx, edx
div esi
and eax, 0x23873bc6
imul eax, eax, 0x8cef25f8
and eax, 0xb2e55ee9
mov esi, 0xcee116ab
xor edx, edx
div esi
imul eax, eax, 0xbd82f354
imul eax, eax, 0xcd195cdf
sub eax, 0x85863e07
sub eax, 0x303b6374
add eax, 0x3ce61130
and eax, 0xbbe45626
mov esi, 0xa4f46fd3
xor edx, edx
div esi
or eax, 0x2901e6f2
add eax, 0x5579aefe
mov ecx, dword [ecx]
mov dword [ebp - 0x2c], ecx
cmp eax, 0x561a8dad
je 0x100ced9a
mov eax, dword [ebp - 0x2c]
lea esp, [ebp - 8]
pop esi
pop edi
pop ebp
ret 4
mov eax, dword [0x1014caf8]
add eax, dword [0x1014cafc]
or eax, 0x7d7a4505
mov ecx, 0x12ec508e
xor edx, edx
div ecx
or eax, 0xeec89860
and eax, 0xc5a5fe5a
imul eax, eax, 0x30b9e146
xor eax, 0xaf1d6808
imul eax, eax, 0x331b202a
add eax, 0xe72ea9bc
xor eax, 0x5cd0316a
and eax, 0xe5f09f0b
or eax, 0xce10d509
and eax, 0xd44ed3d1
mov ecx, 0x6325e1ab
xor edx, edx
div ecx
and eax, 0xae193273
sub eax, 0x2ddf71ef
imul eax, eax, 0xa7d76604
or eax, 0xc166cc34
and eax, 0xc1b22379
imul eax, eax, 0xa59d059d
and eax, 0xaee9b431
xor eax, 0x880b22f6
add eax, 0x1f39d7bd
and eax, 0x21f0b7a3
add eax, 0x8e9ae0ea
or eax, 0x53bae8f5
sub eax, 0x159c9534
and eax, 0xb85f216b
sub eax, 0xebfbf7bf
imul eax, eax, 0xac3e89a7
sub eax, 0x3c148d06
sub eax, 0xddec76c0
add eax, 0x272c8ab
xor eax, 0x3020cb55
cmp eax, 0xe90f95a7
jae 0x100cef74
mov eax, dword [0x1014cb00]
sub eax, dword [0x1014cb04]
xor eax, 0xbbf27ad0
and eax, 0xdd29e742
or eax, 0x33ee8e88
xor eax, 0x23bacdc
add eax, 0xe37ac4e6
and eax, 0x46449a0d
imul eax, eax, 0xd9029d9c
mov ecx, 0x1889a30a
xor edx, edx
div ecx
mov ecx, eax
mov eax, dword [ebp - 0x20]
add ecx, 0x233c8dbc
or ecx, 0xde1dbdca
imul ecx, ecx, 0x9cb8fb1
xor ecx, 0x207ce11a
xor ecx, 0x32fa25cf
sub ecx, 0x54f782fc
xor ecx, 0x8aee6ac2
xor ecx, 0xcca4393e
sub ecx, 0x8dc09248
or ecx, 0x406966af
add ecx, 0x709fcbf6
xor ecx, 0xc3137a18
sub ecx, 0x6dd32144
and ecx, 0x96c777c8
sub ecx, 0x5aab5374
xor ecx, 0x208d816f
add ecx, 0xada31d32
imul ecx, ecx, 0xc2ef0893
and ecx, 0xe58845e3
xor ecx, 0xc93f45e6
imul ecx, ecx, 0x1b747d25
and ecx, 0x2ab43c8a
add ecx, 0xc346a410
or ecx, 0x6085facf
imul ecx, ecx, 0x18cffde0
mov dword [ebp - 0x30], ecx
sub esp, 4
mov dword [esp], eax
call fcn.1011cf8c
mov eax, dword [ebp - 0x30]
add esp, 4
cmp eax, 0x60efa40d
jb 0x100cef74
jmp 0x100ce786
mov eax, dword [0x1014cb08]
add eax, dword [0x1014cb0c]
imul eax, eax, 0x7b614c32
mov ecx, 0xe88d8337
xor edx, edx
div ecx
or eax, 0x6829bc4e
imul eax, eax, 0x1451e94d
mov ecx, 0x903c3d71
xor edx, edx
div ecx
imul eax, eax, 0x1cbbd8d
xor eax, 0xbec8b4e0
sub eax, 0x3a891df2
imul eax, eax, 0x6161d38c
imul eax, eax, 0x9dcc5b46
add eax, 0x5ffc0330
xor eax, 0x2772ef78
mov ecx, 0x79d85c80
xor edx, edx
div ecx
add eax, 0x75c389c
imul eax, eax, 0x43b22140
xor eax, 0xcfc8c89c
sub eax, 0x9e396002
imul eax, eax, 0x6a493ae7
and eax, 0xa916164c
add eax, 0xbf9d8df8
sub eax, 0x2797cd1e
imul eax, eax, 0xbc524682
xor eax, 0x14aeaf30
sub eax, 0xc0077b28
imul eax, eax, 0xd05cd0c7
add eax, 0x61f14339
and eax, 0x1d4b5e69
mov ecx, 0x9cd2f968
xor edx, edx
div ecx
imul eax, eax, 0x67e6bee6
or eax, 0xfb1e20e9
mov ecx, 0x5fe00ccf
xor edx, edx
div ecx
sub eax, 0xfe83ac5a
mov ecx, 0xdffd6620
xor edx, edx
div ecx
cmp eax, 0xd324133c
jae 0x100cef8a
mov eax, dword [0x1014cb10]
add eax, dword [0x1014cb14]
xor eax, 0x272777d4
and eax, 0x746487b7
and eax, 0x8b9eb7a0
sub eax, 0x14f759cb
sub eax, 0xb544be67
add eax, 0x1e9a9778
and eax, 0x68844103
and eax, 0xde2cc102
mov ecx, 0xbcc41657
xor edx, edx
div ecx
sub eax, 0x67495bb0
imul eax, eax, 0xb47b837d
xor eax, 0xe421db06
sub eax, 0x927c3492
sub eax, 0xd434ae09
and eax, 0x5483a4c7
xor eax, 0x238c41b0
mov ecx, 0x4a7cdd9c
xor edx, edx
div ecx
mov ecx, 0xd49a59b7
xor edx, edx
div ecx
sub eax, 0x96b3fb4a
add eax, 0x7298907a
mov ecx, 0x1ba1c78b
xor edx, edx
div ecx
mov ecx, 0xd0285cc3
xor edx, edx
div ecx
imul eax, eax, 0x68ae5ff5
or eax, 0x939d6773
or eax, 0x229fa1e4
add eax, 0x47dd4608
xor eax, 0x3ebffc1f
add eax, 0x245d55cd
and eax, 0xf560e257
imul eax, eax, 0x1b5b63ff
add eax, 0x7af45019
or eax, 0xaf269f10
and eax, 0x29d23e91
cmp eax, 0xaa0cb56
jb 0x100cef8a
jmp 0x100ceafa
mov edx, dword [ebp - 0x10]
mov edi, dword [ebp - 0xc]
push eax
mov eax, esp
push eax
mov esi, esp
push eax
mov ecx, esp
mov dword [esi], edi
mov dword [ecx], edx
mov ecx, dword [ecx]
mov dword [eax], ecx
call fcn.100cdfa0
jmp 0x100ce64c
jmp 0x100ce952
mov eax, dword [ebp - 0x20]
sub esp, 4
mov dword [esp], eax
call fcn.1011cf8c
add esp, 4
jmp 0x100ceca3
jmp 0x100cee77