Function at 0x100882b0
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
push esi
sub esp, 0x2c
mov eax, dword [ebp + 8]
mov dword [ebp - 8], eax
mov eax, dword [0x10149fd8]
imul eax, dword [0x10149fdc]
and eax, 0x160bd18
imul eax, eax, 0xed62c0bc
add eax, 0x915bccd3
imul eax, eax, 0x92a79d1f
imul eax, eax, 0xbd774fff
imul eax, eax, 0x93719ad1
add eax, 0x1f11aec8
add eax, 0xfbf2dd6e
sub eax, 0x2f375eb5
and eax, 0xbf015955
and eax, 0xe1f5b6cf
imul eax, eax, 0x415e9fda
sub eax, 0x5d67be90
add eax, 0x759c9f6b
add eax, 0x433d7466
imul eax, eax, 0x43f03896
mov ecx, 0xd00a53b2
xor edx, edx
div ecx
add eax, 0xe6a7f600
xor eax, 0x9d498ea0
or eax, 0x1d3cd676
mov ecx, 0x48b99892
xor edx, edx
div ecx
xor eax, 0x91c9b5bc
xor eax, 0x558e9cd0
imul eax, eax, 0x30e9ab74
and eax, 0xa7f8f09b
and eax, 0xc43f08a
xor eax, 0x2b8b8769
mov ecx, 0x64913da5
xor edx, edx
div ecx
mov ecx, 0x81318a26
xor edx, edx
div ecx
or eax, 0x78fc56e0
and eax, 0x2fa303d6
add eax, 0x95e94621
xor eax, 0x1c6f4b30
cmp eax, 0x59eda94
je 0x10088c7a
mov ecx, dword [ebp - 8]
mov eax, 0x2d190416
mov dword [ebp - 0x10], eax
push eax
mov eax, esp
mov dword [ebp - 0x18], eax
mov dword [eax], ecx
mov eax, dword [eax]
mov eax, dword [eax]
mov dword [ebp - 0x14], eax
call fcn.10075860
mov ecx, dword [ebp - 0x14]
mov edx, eax
mov eax, dword [ebp - 0x10]
cmp ecx, edx
setne cl
mov byte [ebp - 9], cl
cmp eax, 0x9127f919
je 0x10088390
mov eax, dword [0x10149fe8]
imul eax, dword [0x10149fec]
or eax, 0x4072be00
mov ecx, 0x120bd35f
xor edx, edx
div ecx
and eax, 0x1f1c2e60
or eax, 0x4041bbfe
imul eax, eax, 0x6842659d
and eax, 0xb023b054
imul eax, eax, 0x7411c76b
imul eax, eax, 0x720e3040
or eax, 0x78375761
imul eax, eax, 0x5a3e9606
or eax, 0x95ad66d6
xor eax, 0x9cf42c35
or eax, 0x350a2bcd
imul eax, eax, 0xa68c078d
mov ecx, 0xad5f180b
xor edx, edx
div ecx
mov ecx, 0x5a5af76f
xor edx, edx
div ecx
add eax, 0xe93806f3
mov ecx, 0x7ce7a5ec
xor edx, edx
div ecx
or eax, 0xcd6700be
imul eax, eax, 0x60abcd23
mov ecx, 0xbc58724
xor edx, edx
div ecx
add eax, 0xa619615
xor eax, 0xbc44a4a6
or eax, 0x282f3930
mov ecx, 0x8e696447
xor edx, edx
div ecx
sub eax, 0xee62275b
or eax, 0xc2e30caf
or eax, 0xb90c8d30
mov ecx, 0xd98ca7bf
xor edx, edx
div ecx
add eax, 0x704583a6
xor eax, 0xaab46e9f
xor eax, 0xf7b25608
or eax, 0x5701af09
cmp eax, 0xcfd54388
ja 0x10088d79
mov eax, dword [0x10149ff0]
sub eax, dword [0x10149ff4]
imul eax, eax, 0xb1e4df76
imul eax, eax, 0x2a2236b8
add eax, 0x6eb4d046
and eax, 0x7bf775a1
add eax, 0x88cf19c5
xor eax, 0x440da775
add eax, 0x10fe50e5
mov ecx, 0x948bb626
xor edx, edx
div ecx
and eax, 0xf6450987
or eax, 0x5ec092a5
and eax, 0x66fe0678
sub eax, 0xa3f183b6
or eax, 0xf7b557a8
mov ecx, 0x532441cb
xor edx, edx
div ecx
mov ecx, 0x161c5f02
xor edx, edx
div ecx
sub eax, 0xe1b15512
mov ecx, 0x8936190
xor edx, edx
div ecx
mov ecx, 0xa8380be7
xor edx, edx
div ecx
mov ecx, 0x6b4c86b4
xor edx, edx
div ecx
xor eax, 0xc68bdf5c
and eax, 0x632e3129
sub eax, 0x7cd84c57
and eax, 0xdd81e
or eax, 0xafff723f
imul eax, eax, 0x3ee249a4
imul eax, eax, 0xc1f9213a
or eax, 0x6f0aa1b9
or eax, 0xc13277ef
or eax, 0x30cd8c01
xor eax, 0x7ef2700c
mov ecx, 0x56ff8722
xor edx, edx
div ecx
and eax, 0x2af75c21
add eax, 0xd1d09a3
cmp eax, 0xc1c96840
ja 0x100884a8
mov al, byte [ebp - 9]
test al, 1
jne 0x10088593
jmp 0x100888fd
mov eax, dword [0x10149ff8]
and eax, dword [0x10149ffc]
or eax, 0xc439c0e6
imul eax, eax, 0x9d9a6d9a
mov ecx, 0xad4ebf6e
xor edx, edx
div ecx
and eax, 0x862c314f
or eax, 0x51bfd652
and eax, 0x824a6d9a
mov ecx, 0x3bd22293
xor edx, edx
div ecx
and eax, 0x94b91c93
and eax, 0xe194b1c6
imul eax, eax, 0x3edfc56b
mov ecx, 0x5436c844
xor edx, edx
div ecx
imul eax, eax, 0xf6407f75
mov ecx, 0xf30a487e
xor edx, edx
div ecx
xor eax, 0x907242ae
mov ecx, 0x9499940
xor edx, edx
div ecx
mov ecx, 0x912acc44
xor edx, edx
div ecx
mov ecx, 0x6492b5c1
xor edx, edx
div ecx
imul eax, eax, 0x607d35a9
sub eax, 0x3ebc6627
or eax, 0xe2860789
mov ecx, 0x16f50153
xor edx, edx
div ecx
imul eax, eax, 0xfb1aa39c
imul eax, eax, 0x499539b1
xor eax, 0x73f927cd
or eax, 0x576d8097
add eax, 0x1879b354
mov ecx, 0xbe93c758
xor edx, edx
div ecx
imul eax, eax, 0xd236921d
xor eax, 0x179fd80e
xor eax, 0x27e78313
and eax, 0x689a4895
imul eax, eax, 0x3365b362
or eax, 0x7323ee5a
cmp eax, 0x1d04dbc0
jbe 0x10088d74
mov ecx, dword [ebp - 0x18]
mov eax, dword [0x1014a000]
xor edx, edx
div dword [0x1014a004]
imul eax, eax, 0x88c116da
or eax, 0xd01e7576
and eax, 0x7ee67ddf
mov esi, 0x90ed2cf6
xor edx, edx
div esi
and eax, 0x47484dfd
add eax, 0x487b6d5c
and eax, 0x21449851
add eax, 0x6138de56
sub eax, 0xb676fcbd
add eax, 0x5b428896
or eax, 0x20005126
xor eax, 0xfe7e1863
or eax, 0x5a0726fe
sub eax, 0x958cc753
mov esi, 0xb8540827
xor edx, edx
div esi
sub eax, 0x2c0db035
or eax, 0x35bc09d7
mov esi, 0x158569c9
xor edx, edx
div esi
imul eax, eax, 0x1a527f24
add eax, 0x1679e43b
and eax, 0x923c009d
mov esi, 0xed0c5054
xor edx, edx
div esi
or eax, 0xf257b144
mov esi, 0x5413cbe7
xor edx, edx
div esi
add eax, 0x3444a8c3
xor eax, 0x1eed6a7e
and eax, 0x6a8a92a8
add eax, 0x1543ea61
xor eax, 0x9433b376
xor eax, 0x32d9baaf
mov esi, 0x79a6639f
xor edx, edx
div esi
and eax, 0x2b494061
xor eax, 0xc15e8632
mov ecx, dword [ecx]
mov ecx, dword [ecx]
mov dword [ebp - 0x1c], ecx
cmp eax, 0x249af96
je 0x1008867a
mov eax, dword [0x1014a008]
add eax, dword [0x1014a00c]
and eax, 0x519ca48d
and eax, 0xb0b012e5
and eax, 0x46ce39cb
imul eax, eax, 0x3a97e44d
imul eax, eax, 0x69be75b8
mov ecx, 0xa2f79eb
xor edx, edx
div ecx
or eax, 0xf314a6dd
add eax, 0xc1b8b29c
imul eax, eax, 0xd0d77b52
xor eax, 0xcba1b4bb
and eax, 0xfb16335c
sub eax, 0xe21b5539
imul eax, eax, 0x259b193f
and eax, 0xba87eabd
imul eax, eax, 0xe0ec91a1
add eax, 0x496d9612
and eax, 0x93d7e716
xor eax, 0x46004a81
xor eax, 0x3454a699
and eax, 0x15734749
add eax, 0x202fb50
add eax, 0x60f65c76
xor eax, 0x9ad160be
xor eax, 0x3b2755a6
mov ecx, 0xa5ff1619
xor edx, edx
div ecx
add eax, 0x1e94587a
add eax, 0x6293dd2a
or eax, 0xbe6d1f90
sub eax, 0xaf1f215e
and eax, 0x93901b34
and eax, 0x4d1f3111
xor eax, 0x6bd30d66
imul eax, eax, 0x47d2ae1
cmp eax, 0x4ecb2d86
jb 0x10088d7e
mov eax, dword [0x1014a010]
or eax, dword [0x1014a014]
xor eax, 0xa591f90f
xor eax, 0x8cfe0e1e
imul eax, eax, 0x4dcfcb1b
or eax, 0x8f7c3dad
add eax, 0xb4e4dde4
sub eax, 0xe4c0cfb1
and eax, 0xa44cb276
imul eax, eax, 0xdde276f6
imul eax, eax, 0x14d45f2d
sub eax, 0x959143ea
sub eax, 0x8f97b51f
or eax, 0x76762f00
imul eax, eax, 0x7725e64b
or eax, 0xdac8394d
and eax, 0xb75798a0
xor eax, 0xb8094c92
mov ecx, 0x4210115e
xor edx, edx
div ecx
add eax, 0x90607ca7
or eax, 0xe62b6766
imul eax, eax, 0x3d6bb130
xor eax, 0x8191ce77
or eax, 0xa676fc9
imul eax, eax, 0xd733c62b
add eax, 0x3b528a70
or eax, 0x2184a8a2
xor eax, 0xc70ab5ef
xor eax, 0x262cad35
mov ecx, 0x9889706d
xor edx, edx
div ecx
imul eax, eax, 0xd2888483
mov ecx, 0x74aecb07
xor edx, edx
div ecx
or eax, 0xa1693357
or eax, 0xf0426aff
add eax, 0x4bc3c155
cmp eax, 0x1853cbb7
je 0x10088824
mov eax, dword [ebp - 0x1c]
mov dword [ebp - 0x20], eax
jmp 0x10088ad8
mov eax, dword [0x1014a018]
xor eax, dword [0x1014a01c]
mov ecx, 0xf453456e
xor edx, edx
div ecx
add eax, 0x8f27fbea
sub eax, 0xbcc5b54d
imul eax, eax, 0xc63156b1
mov ecx, 0xd9fe54e0
xor edx, edx
div ecx
add eax, 0xe75be019
sub eax, 0x9cee395b
imul eax, eax, 0x772eba6b
sub eax, 0xc8e40235
xor eax, 0x1d32c60b
and eax, 0xf31bbcd7
add eax, 0x3d3cb663
xor eax, 0x8e6d5879
sub eax, 0xeb69d044
mov ecx, 0xac4b621
xor edx, edx
div ecx
and eax, 0x6baebbdd
sub eax, 0x38711341
add eax, 0x8db35e79
sub eax, 0x56d288ff
and eax, 0x501b259a
mov ecx, 0x49e0f7a4
xor edx, edx
div ecx
and eax, 0x1ae10bca
or eax, 0x2a5fb6ca
sub eax, 0x9e2c2fbb
or eax, 0x51520d49
imul eax, eax, 0xe0366860
and eax, 0x2df54d32
mov ecx, 0x84ff8773
xor edx, edx
div ecx
mov ecx, 0x2980dbe
xor edx, edx
div ecx
add eax, 0x354b4ba8
add eax, 0xf3155df0
imul eax, eax, 0x1cba993c
xor eax, 0x5948cf22
cmp eax, 0x1dbf257
jbe 0x10088d83
mov eax, dword [0x1014a020]
imul eax, dword [0x1014a024]
add eax, 0xbc06562a
add eax, 0x3a466627
xor eax, 0xdc7a9fd
and eax, 0x2cb7140
add eax, 0xe7861916
mov ecx, 0x8701003a
xor edx, edx
div ecx
or eax, 0xf02c535e
sub eax, 0x8080f151
add eax, 0xbf374196
mov ecx, 0xe8cb7e6e
xor edx, edx
div ecx
sub eax, 0xbcf9423d
xor eax, 0x7d38f5df
sub eax, 0x1873ca9e
mov ecx, 0x476559f
xor edx, edx
div ecx
add eax, 0xafc3da62
or eax, 0x2f26c3
sub eax, 0x25920021
and eax, 0x411e2a60
or eax, 0xa705619a
add eax, 0xaa643838
add eax, 0xead64e26
xor eax, 0x73687502
mov ecx, 0x2cfe611c
xor edx, edx
div ecx
mov ecx, 0xf92ddfcd
xor edx, edx
div ecx
xor eax, 0xbbe47c57
xor eax, 0xdabacb09
sub eax, 0x3366db47
imul eax, eax, 0x77d0b7c0
mov ecx, 0x3fb7c058
xor edx, edx
div ecx
sub eax, 0x175c54ef
imul eax, eax, 0xad14c8ae
add eax, 0xf31c0f9b
mov ecx, 0xe261b4b0
xor edx, edx
div ecx
mov dword [ebp - 0x28], eax
call fcn.10075860
mov ecx, eax
mov eax, dword [ebp - 0x28]
cmp ecx, 0
setne cl
xor cl, 0xff
and cl, 1
movzx ecx, cl
mov dword [ebp - 0x24], ecx
cmp eax, 0xa8b217c2
je 0x10088d83
mov eax, dword [ebp - 0x24]
mov dword [ebp - 0x20], eax
jmp 0x10088ad8
mov eax, dword [ebp - 0x20]
mov dword [ebp - 0x2c], eax
mov eax, dword [0x1014a028]
and eax, dword [0x1014a02c]
mov ecx, 0x65fc61b0
xor edx, edx
div ecx
and eax, 0x9a9d5626
or eax, 0x34f050fd
and eax, 0x72c24231
add eax, 0x1b5c5e9
xor eax, 0x3db02ffd
mov ecx, 0x75bb9f4f
xor edx, edx
div ecx
or eax, 0xb31ae85
sub eax, 0x3fafbd19
and eax, 0x36311026
add eax, 0x9f789fef
add eax, 0xe45ef09
or eax, 0xcfbd2155
add eax, 0xfef80d2f
sub eax, 0x798d3bf4
xor eax, 0x3a08acdb
imul eax, eax, 0xb7ddfe9a
sub eax, 0xdac6ea46
or eax, 0x5f6b181b
mov ecx, 0xac4a3f70
xor edx, edx
div ecx
add eax, 0x221278bd
or eax, 0xbaa0838d
xor eax, 0x656cff69
and eax, 0xf51020d2
add eax, 0x511a8c6b
or eax, 0xb86063bd
sub eax, 0xd40f9857
imul eax, eax, 0xddb617e9
and eax, 0x4a8e80a5
or eax, 0x78702306
or eax, 0xa3898072
xor eax, 0x646e22e1
add eax, 0x8a10f92f
cmp eax, 0x5212d458
je 0x10088d8d
mov eax, dword [0x1014a030]
add eax, dword [str._r7_PU_]
xor eax, 0x9b356b13
or eax, 0xdf8cbed6
or eax, 0x326a211
mov ecx, 0xcac64bdb
xor edx, edx
div ecx
and eax, 0x3c6afac4
mov ecx, 0xec159ab
xor edx, edx
div ecx
and eax, 0x5f658176
sub eax, 0x88430c0c
or eax, 0x4b8978be
and eax, 0xdf3131bd
sub eax, 0x91602b85
and eax, 0x816fc484
mov ecx, 0xb27b0b9c
xor edx, edx
div ecx
sub eax, 0x451c495a
or eax, 0xcd4a0048
xor eax, 0x19060cd2
xor eax, 0x175dce56
sub eax, 0xa47d830f
or eax, 0x575d3c6e
imul eax, eax, 0x1f10cbc
and eax, 0x1c7fc3a9
sub eax, 0x2427e495
sub eax, 0x6d23eaa2
and eax, 0x7e4456d5
xor eax, 0xd1eac044
imul eax, eax, 0x56253b42
and eax, 0x23db3f69
xor eax, 0x4cc3492e
or eax, 0xee6f4240
sub eax, 0xdecac65e
imul eax, eax, 0x456c32d3
sub eax, 0x9e9a9251
sub eax, 0x9ab297b7
cmp eax, 0x2f3155a1
jb 0x10088ba7
mov eax, dword [ebp - 0x2c]
lea esp, [ebp - 4]
pop esi
pop ebp
ret
mov eax, dword [0x1014a038]
sub eax, dword [0x1014a03c]
add eax, 0x2ef1d16e
add eax, 0xce35eb20
sub eax, 0x243cd480
mov ecx, 0x8139b7dd
xor edx, edx
div ecx
or eax, 0xf13cff1a
mov ecx, 0x94fa64a8
xor edx, edx
div ecx
and eax, 0x559f02cc
sub eax, 0xc518131e
and eax, 0xf9f08a24
xor eax, 0x80a95d3
xor eax, 0xf5815cf7
or eax, 0xe89ce589
imul eax, eax, 0x401246ad
sub eax, 0xc0280684
sub eax, 0x5bdb566b
and eax, 0xf3f7722c
add eax, 0x30fcbb94
mov ecx, 0xf29c1d41
xor edx, edx
div ecx
imul eax, eax, 0x860c88f3
and eax, 0xfd50399f
imul eax, eax, 0x4eaee6ed
and eax, 0xd90fd030
sub eax, 0x2407d376
add eax, 0xb53293d1
mov ecx, 0xb349c295
xor edx, edx
div ecx
mov ecx, 0xcbb989d1
xor edx, edx
div ecx
and eax, 0xbb5c7e8c
add eax, 0x73600627
or eax, 0x1fdca1fa
add eax, 0xaab63503
add eax, 0xbf081072
xor eax, 0x21669232
xor eax, 0x7449ec93
cmp eax, 0x2a3b9f6c
je 0x10088d92
mov ecx, dword [ebp - 8]
mov eax, 0x9f20bb83
mov dword [ebp - 0x30], eax
push eax
mov eax, esp
mov dword [eax], ecx
call fcn.10075860
mov eax, dword [ebp - 0x30]
cmp eax, 0x591eee65
jbe 0x10088d92
jmp 0x10088390
jmp 0x1008867a
jmp 0x100884a8
jmp 0x10088824
call fcn.10075860
jmp 0x100889d4
jmp 0x10088ba7
mov ecx, dword [ebp - 8]
push eax
mov eax, esp
mov dword [eax], ecx
call fcn.10075860
jmp 0x10088d4c