Function at 0x10117190
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
push esi
sub esp, 0x30
mov dword [ebp - 8], ecx
mov eax, dword [0x1014f5f8]
add eax, dword [0x1014f5fc]
sub eax, 0xa4cd76e6
and eax, 0x4ee47e0d
and eax, 0x52559635
sub eax, 0x38cbcc76
add eax, 0x8d505f19
or eax, 0x84d57765
add eax, 0x6fe0dd3a
and eax, 0x6927ddd2
add eax, 0xbd37255d
mov ecx, 0x747f2d24
xor edx, edx
div ecx
sub eax, 0x7def7681
mov ecx, 0x381a6bbe
xor edx, edx
div ecx
or eax, 0xe1089831
mov ecx, 0xb343093e
xor edx, edx
div ecx
sub eax, 0xec61072
xor eax, 0xd0366de6
mov ecx, 0xe7f14f
xor edx, edx
div ecx
xor eax, 0xf069e566
or eax, 0x37fc7726
or eax, 0x62480373
or eax, 0x6b073e82
mov ecx, 0x756ee334
xor edx, edx
div ecx
add eax, 0x846f61e1
mov ecx, 0xce205aff
xor edx, edx
div ecx
add eax, 0x27681636
mov ecx, 0x36f12407
xor edx, edx
div ecx
and eax, 0x8e33f908
xor eax, 0x83f00b2a
mov ecx, 0xc15d2ad5
xor edx, edx
div ecx
sub eax, 0x100d8eab
imul eax, eax, 0x15520022
sub eax, 0x29819eee
add eax, 0x3ec0729b
cmp eax, 0x9fe3b069
je 0x10117998
mov eax, dword [0x1014f600]
add eax, dword [0x1014f604]
add eax, 0xd350ce82
sub eax, 0x881fa23
mov ecx, 0x99fb11bc
xor edx, edx
div ecx
mov ecx, 0x99c1a1d9
xor edx, edx
div ecx
and eax, 0x828d637a
xor eax, 0x41f4fe2d
sub eax, 0xf4fceb54
or eax, 0xf5ee6703
and eax, 0xc80ccdbc
imul eax, eax, 0x9c3f8c3e
or eax, 0x249ee2e3
xor eax, 0xa18556ec
imul eax, eax, 0x9c8126fb
add eax, 0xb3a33a67
and eax, 0x695f1ce2
sub eax, 0x631b206e
add eax, 0xdd2e77fa
mov ecx, 0x8fda7e00
xor edx, edx
div ecx
mov ecx, 0xd58aa64
xor edx, edx
div ecx
mov ecx, 0xcd57456b
xor edx, edx
div ecx
mov ecx, 0x794b7496
xor edx, edx
div ecx
imul eax, eax, 0x58183f12
or eax, 0xc3f70ac0
sub eax, 0x69e8ced8
and eax, 0x79acb5bb
imul eax, eax, 0x5137bd0
and eax, 0xdda1e249
imul eax, eax, 0x6938670d
add eax, 0xb0ed6ece
add eax, 0xbac5a151
or eax, 0x6f78c53a
xor eax, 0x9ecfb660
sub eax, 0xbcf1ff92
cmp eax, 0xf0481bcc
ja 0x10117c72
mov ecx, dword [ebp - 8]
xor eax, eax
mov dword [ebp - 0x10], eax
push eax
mov eax, esp
push eax
mov edx, esp
mov dword [ebp - 0x14], edx
mov dword [eax], ecx
mov eax, dword [eax]
mov dword [ebp - 0x18], eax
call fcn.1011db10
mov ecx, dword [ebp - 0x14]
mov dl, al
mov eax, dword [ebp - 0x10]
xor dl, 0xff
and dl, 1
mov byte [ecx], dl
mov cl, byte [ecx]
mov byte [ebp - 9], cl
cmp eax, 0xc7e7b32b
jae 0x10117c72
mov eax, dword [0x1014f610]
xor eax, dword [0x1014f614]
sub eax, 0xc9178b22
imul eax, eax, 0xa77eb60c
imul eax, eax, 0x2ed39787
imul eax, eax, 0xde5b3883
imul eax, eax, 0x2c616c0
xor eax, 0xd8ea5c63
and eax, 0xe5d0a696
and eax, 0xb501786a
and eax, 0xf0e7fae4
sub eax, 0x9a4c75bd
or eax, 0xa7570902
xor eax, 0x4479b466
imul eax, eax, 0x12b06000
xor eax, 0x6e64394c
imul eax, eax, 0x3a077f90
and eax, 0x2602e9e8
xor eax, 0x706a13b3
or eax, 0x9d3cb728
and eax, 0x71d5658a
xor eax, 0xd898e4db
sub eax, 0xe4e6018b
sub eax, 0x6aff1cdf
xor eax, 0xa07c140c
add eax, 0x3d832c44
mov ecx, 0xf96e4ac0
xor edx, edx
div ecx
imul eax, eax, 0x156368e1
and eax, 0xb62e7671
add eax, 0xe1f0f7cf
or eax, 0x5bcc5818
add eax, 0x84c97925
imul eax, eax, 0x7f09ad7c
imul eax, eax, 0x484608d8
and eax, 0x61d86fef
cmp eax, 0xa49ddea4
ja 0x10117998
mov eax, dword [0x1014f618]
add eax, dword [0x1014f61c]
add eax, 0x4654cf3a
imul eax, eax, 0x19b374a6
sub eax, 0xae4fe450
mov ecx, 0x1311ce58
xor edx, edx
div ecx
add eax, 0xaf3b6fed
and eax, 0x86210ff1
imul eax, eax, 0x6b4f9ef0
sub eax, 0x8f532e3f
or eax, 0x81c10f56
mov ecx, 0xb5a72eba
xor edx, edx
div ecx
mov ecx, 0xda740c9e
xor edx, edx
div ecx
xor eax, 0x84e78ad3
or eax, 0xfd9f4bc0
sub eax, 0x7fc5512e
or eax, 0x3174567
or eax, 0x5ad8c5f3
or eax, 0x3a039c05
sub eax, 0xcb9e3097
mov ecx, 0x170cbe72
xor edx, edx
div ecx
add eax, 0xf7371f8f
and eax, 0x3c6c255
mov ecx, 0xdd6fda6c
xor edx, edx
div ecx
add eax, 0x8e906dff
xor eax, 0xbed651a1
mov ecx, 0x55393bce
xor edx, edx
div ecx
sub eax, 0x341acacd
mov ecx, 0x872585fe
xor edx, edx
div ecx
imul eax, eax, 0xc2c5bd9b
imul eax, eax, 0x2f541614
sub eax, 0x77fce320
mov ecx, 0x9084089b
xor edx, edx
div ecx
and eax, 0x8955bb0e
and eax, 0x8bc4e503
cmp eax, 0xa5f105a1
ja 0x10117c97
mov eax, dword [0x1014f620]
sub eax, dword [0x1014f624]
sub eax, 0xef8f17eb
xor eax, 0x68158792
mov ecx, 0x97d8b1ca
xor edx, edx
div ecx
or eax, 0x902f9f79
imul eax, eax, 0xf476b4f2
mov ecx, 0xec0d5326
xor edx, edx
div ecx
imul eax, eax, 0x44f7553f
mov ecx, 0xba0b5cd5
xor edx, edx
div ecx
mov ecx, 0xc56ed5ee
xor edx, edx
div ecx
and eax, 0x7079f8e4
imul eax, eax, 0xa9b0f531
xor eax, 0x6a03a600
or eax, 0xbbbaedae
and eax, 0x15cc3df8
mov ecx, 0x4f2fd22b
xor edx, edx
div ecx
mov ecx, 0x7b5e91da
xor edx, edx
div ecx
add eax, 0x1b5e8c3f
add eax, 0x9c60c6ee
imul eax, eax, 0xdf129552
or eax, 0xbf5651a8
xor eax, 0xae4bd0e1
xor eax, 0x28445e5d
sub eax, 0xd9a06f98
and eax, 0x7803185
imul eax, eax, 0xd050fbd5
or eax, 0x3eb030eb
and eax, 0xb56d29ec
or eax, 0x5440e3d6
xor eax, 0x1df07df3
sub eax, 0x8af8cb8e
or eax, 0xfc6118e1
add eax, 0xf6bca78b
or eax, 0x8621fc24
cmp eax, 0x5d33d5d8
je 0x10117532
mov al, byte [ebp - 9]
test al, 1
jne 0x1011761a
jmp 0x101177d9
mov eax, dword [0x1014f628]
sub eax, dword [0x1014f62c]
add eax, 0x813730b5
sub eax, 0xe014cfed
mov ecx, 0xb36edccd
xor edx, edx
div ecx
and eax, 0x3093875e
and eax, 0x2d314ee2
imul eax, eax, 0x5d245722
mov ecx, 0xc6c7bcbd
xor edx, edx
div ecx
add eax, 0xff5eaa07
imul eax, eax, 0x3c5d5424
and eax, 0x15e8832b
or eax, 0xe20f846
imul eax, eax, 0x4701421e
or eax, 0x69835769
imul eax, eax, 0xc0aaf8e9
mov ecx, 0xd721b6e1
xor edx, edx
div ecx
sub eax, 0xebf0864
or eax, 0xf9d818b0
xor eax, 0xb04d1fce
mov ecx, 0x393261f3
xor edx, edx
div ecx
and eax, 0xb552b19f
imul eax, eax, 0x4599ad5f
xor eax, 0x5ab09fcb
sub eax, 0xe5b107b5
xor eax, 0x5f53088c
add eax, 0x7dd27cc4
xor eax, 0x261e7230
sub eax, 0xd8a08092
and eax, 0x336ba6cc
and eax, 0x47dab63
xor eax, 0x60dffe76
sub eax, 0x21a3dc89
mov ecx, 0xd5dd79ce
xor edx, edx
div ecx
xor eax, 0x28579b61
cmp eax, 0xe2aba05b
jae 0x10117aaa
mov eax, dword [0x1014f630]
add eax, dword [0x1014f634]
imul eax, eax, 0x470afc7c
sub eax, 0x8854354d
or eax, 0xc60c69e6
xor eax, 0xefd9078c
imul eax, eax, 0xbaf5e242
or eax, 0x98672314
sub eax, 0x45d2eb02
imul eax, eax, 0x16417d89
sub eax, 0x391ca1fc
sub eax, 0x46bee0bc
mov ecx, 0xa37db2bd
xor edx, edx
div ecx
and eax, 0x9ac90bdd
add eax, 0xbc0d9b9f
or eax, 0xa9d00173
mov ecx, 0x6ee1c744
xor edx, edx
div ecx
and eax, 0xac5d164d
xor eax, 0x705081ff
sub eax, 0x7dca2b86
sub eax, 0x54dba346
sub eax, 0xdd987b94
xor eax, 0xf4180e5b
mov ecx, 0xbe253200
xor edx, edx
div ecx
add eax, 0xf1fe565e
add eax, 0x7cff8586
add eax, 0x26ae203c
imul eax, eax, 0x1b3ce16c
and eax, 0x6f9d6318
imul eax, eax, 0x203f9129
xor eax, 0x43bc4877
mov ecx, 0xa01f2d57
xor edx, edx
div ecx
and eax, 0x640ad24c
sub eax, 0x62191a47
mov ecx, 0xe0762ee1
xor edx, edx
div ecx
mov ecx, eax
mov eax, dword [ebp - 0x18]
mov dword [ebp - 0x1c], ecx
mov ecx, dword [eax]
call fcn.10117ea0
mov eax, dword [ebp - 0x1c]
cmp eax, 0xcdce34c6
jae 0x101176ee
jmp 0x101177d9
mov eax, dword [0x1014f638]
and eax, dword [0x1014f63c]
and eax, 0xb5dbe1b4
sub eax, 0x4741f366
and eax, 0x9cdcedc9
or eax, 0xb6aa15b6
or eax, 0x49ab1f1c
and eax, 0xec62851
mov ecx, 0x3a67bbcf
xor edx, edx
div ecx
sub eax, 0xc980f46a
imul eax, eax, 0xa277eda0
add eax, 0xf3a76e66
sub eax, 0x6e7a5700
and eax, 0xbd435a70
sub eax, 0xcf43d6da
mov ecx, 0x26d52a0c
xor edx, edx
div ecx
sub eax, 0xe8edc350
xor eax, 0xbec2adf2
add eax, 0x8a1828e1
or eax, 0x7cf6b37e
sub eax, 0xa6594c87
imul eax, eax, 0x7594c451
and eax, 0x26846dcc
and eax, 0xce71667c
mov ecx, 0xf29ea1d8
xor edx, edx
div ecx
add eax, 0x866212ac
sub eax, 0xf564f8a5
imul eax, eax, 0x46f595ca
mov ecx, 0xfd8a02c5
xor edx, edx
div ecx
sub eax, 0x6bdca42e
or eax, 0x2892f868
imul eax, eax, 0x6f869bc3
and eax, 0x102c8961
mov ecx, 0x30a5272c
xor edx, edx
div ecx
sub eax, 0x212d2df5
cmp eax, 0x9589613b
jbe 0x10117c9c
mov ecx, dword [ebp - 0x18]
mov eax, dword [0x1014f640]
add eax, dword [0x1014f644]
xor eax, 0x4ee9c76c
imul eax, eax, 0xa706dacb
imul eax, eax, 0x2eebccc3
and eax, 0x138da1f4
imul eax, eax, 0x59181368
add eax, 0x73576593
or eax, 0xd8a3bb5d
xor eax, 0xcc1f6ed5
xor eax, 0x8bfaa932
and eax, 0x98388330
sub eax, 0x9d20fc9e
imul eax, eax, 0xc83b6a19
or eax, 0x2b9ef8b0
imul eax, eax, 0xaf322e95
xor eax, 0x59b65ac5
imul eax, eax, 0x13303cf1
mov esi, 0x2a16566c
xor edx, edx
div esi
sub eax, 0x590e222d
sub eax, 0x56e3481c
mov esi, 0x1e860416
xor edx, edx
div esi
imul eax, eax, 0x69910992
add eax, 0x64af8842
mov esi, 0x79057920
xor edx, edx
div esi
add eax, 0xef8ca7c5
and eax, 0x17ce1bed
add eax, 0x4969fc19
mov esi, 0x81c4579f
xor edx, edx
div esi
and eax, 0xda7a459c
add eax, 0xd7a1cc06
imul eax, eax, 0x7d56e37b
or eax, 0xd291ef18
mov esi, 0xe11609b6
xor edx, edx
div esi
imul eax, eax, 0x399636c
mov dword [ebp - 0x20], eax
call fcn.10119d50
mov eax, dword [ebp - 0x20]
cmp eax, 0x5bf58f8c
je 0x101178ac
lea esp, [ebp - 4]
pop esi
pop ebp
ret
mov eax, dword [0x1014f648]
or eax, dword [0x1014f64c]
imul eax, eax, 0xaeb4fd85
and eax, 0xecba84f
and eax, 0xfbd01f38
xor eax, 0xb30cbf40
mov ecx, 0x30d7d78c
xor edx, edx
div ecx
imul eax, eax, 0x36c35a7f
mov ecx, 0x4a0500d8
xor edx, edx
div ecx
and eax, 0x4e53e390
or eax, 0xfb08414
add eax, 0x86468a99
imul eax, eax, 0xba64f30
xor eax, 0x5d932563
or eax, 0x159c1cf
mov ecx, 0x1cd2e27f
xor edx, edx
div ecx
and eax, 0xc15e124
xor eax, 0x5a25f82a
sub eax, 0x6bce1399
sub eax, 0x9276044c
sub eax, 0xfa1666ce
or eax, 0xb7ea69ab
and eax, 0xb1b555e3
mov ecx, 0x21cdf7a0
xor edx, edx
div ecx
xor eax, 0x711a7670
sub eax, 0xf22a3948
or eax, 0x1b943c34
and eax, 0x50a20541
mov ecx, 0x480275b5
xor edx, edx
div ecx
and eax, 0x723b8bc
sub eax, 0x3fac209d
imul eax, eax, 0x7dd7d829
sub eax, 0x88dd72a5
or eax, 0x6d50321a
mov ecx, 0x481fdf5c
xor edx, edx
div ecx
cmp eax, 0xf4e1c8de
jae 0x10117ca9
mov ecx, dword [ebp - 8]
mov eax, 0xf482f7bd
mov dword [ebp - 0x24], eax
push eax
mov eax, esp
push eax
mov edx, esp
mov dword [ebp - 0x28], edx
mov dword [eax], ecx
call fcn.1011db10
mov ecx, dword [ebp - 0x28]
mov dl, al
mov eax, dword [ebp - 0x24]
xor dl, 0xff
and dl, 1
mov byte [ecx], dl
cmp eax, 0xf3b92a
jbe 0x10117a6f
jmp 0x10117276
mov eax, dword [0x1014f658]
add eax, dword [0x1014f65c]
and eax, 0xe56d48a8
sub eax, 0x6a90d74
add eax, 0x984ac2ea
or eax, 0x5d63401f
add eax, 0x107543e4
xor eax, 0x396432ec
or eax, 0xb50ccbf9
xor eax, 0xa9c39f8d
or eax, 0x243e5d8f
sub eax, 0x28e1d541
imul eax, eax, 0x46438cec
imul eax, eax, 0x72be86d
mov ecx, 0xa7b94b82
xor edx, edx
div ecx
xor eax, 0x7dd4c852
mov ecx, 0xcff4ec04
xor edx, edx
div ecx
xor eax, 0x79ad2221
add eax, 0xe1c49a2a
and eax, 0xc3c1235
and eax, 0xfca2704e
xor eax, 0xe1e3f48f
or eax, 0x2125be1f
add eax, 0x222451f8
mov ecx, 0x6da004e8
xor edx, edx
div ecx
mov ecx, 0xba00252a
xor edx, edx
div ecx
mov ecx, 0x86012d14
xor edx, edx
div ecx
sub eax, 0xfa468f0
mov ecx, 0xdff50b5f
xor edx, edx
div ecx
and eax, 0xc2077ccb
or eax, 0x30408abc
sub eax, 0xf88b4c38
mov ecx, 0x5de48117
xor edx, edx
div ecx
and eax, 0xc50fadf0
add eax, 0xd633379c
cmp eax, 0xa8cc2d55
jb 0x10117cce
mov eax, dword [0x1014f660]
add eax, dword [0x1014f664]
or eax, 0xbf33ba13
mov ecx, 0x55b53704
xor edx, edx
div ecx
and eax, 0xa4e217fc
add eax, 0x37e791f6
imul eax, eax, 0xe6b12ea9
and eax, 0x56926a3e
and eax, 0xa3574ccb
or eax, 0x519c253a
imul eax, eax, 0x808c0e5d
xor eax, 0x227f850e
sub eax, 0xa34ca7aa
xor eax, 0xfbf7a59e
xor eax, 0x146f3ebc
mov ecx, 0x781be7cf
xor edx, edx
div ecx
and eax, 0xc8a82936
sub eax, 0xd69bd048
add eax, 0x5a58ed09
or eax, 0x703a21d6
sub eax, 0x4a1801f3
mov ecx, 0xc6262693
xor edx, edx
div ecx
and eax, 0xeb95af00
xor eax, 0xc61af89c
xor eax, 0xcdc2d325
sub eax, 0xcae48eed
imul eax, eax, 0x23ab1a67
imul eax, eax, 0x3046a681
mov ecx, 0x11127e8f
xor edx, edx
div ecx
mov ecx, 0xd245d818
xor edx, edx
div ecx
mov ecx, eax
mov eax, dword [ebp - 0x18]
sub ecx, 0x44c2038c
imul ecx, ecx, 0x56bc77ae
xor ecx, 0xdd9db25c
xor ecx, 0xaaa45b45
sub ecx, 0xd705b054
mov dword [ebp - 0x2c], ecx
mov ecx, dword [eax]
call fcn.10117ea0
mov eax, dword [ebp - 0x2c]
cmp eax, 0xafa90b0e
jae 0x10117b83
jmp 0x101176ee
mov ecx, dword [ebp - 8]
push eax
mov eax, esp
push eax
mov edx, esp
mov dword [ebp - 0x30], edx
mov dword [eax], ecx
call fcn.1011db10
mov cl, al
mov eax, dword [ebp - 0x30]
xor cl, 0xff
and cl, 1
mov byte [eax], cl
jmp 0x1011734e
jmp 0x10117532
mov ecx, dword [ebp - 0x18]
call fcn.10119d50
jmp 0x101178ac
mov ecx, dword [ebp - 8]
push eax
mov eax, esp
push eax
mov edx, esp
mov dword [ebp - 0x34], edx
mov dword [eax], ecx
call fcn.1011db10
mov cl, al
mov eax, dword [ebp - 0x34]
xor cl, 0xff
and cl, 1
mov byte [eax], cl
jmp 0x10117a6f
mov eax, dword [ebp - 0x18]
mov ecx, dword [eax]
call fcn.10117ea0
jmp 0x10117b83