Function at 0x10097630
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
push edi
push esi
sub esp, 0xc
mov eax, dword [ebp + 0xc]
mov dword [ebp - 0x10], eax
mov eax, dword [ebp + 8]
mov dword [ebp - 0xc], eax
mov eax, dword [0x1014a918]
and eax, dword [0x1014a91c]
add eax, 0x52afb375
or eax, 0xce37e70c
sub eax, 0xcd7fffc
xor eax, 0x702e338a
xor eax, 0x5fa9b231
mov ecx, 0xf5166447
xor edx, edx
div ecx
add eax, 0xd9c1fc10
sub eax, 0x2a82fdbc
mov ecx, 0x25c9d755
xor edx, edx
div ecx
imul eax, eax, 0x7c4a5290
mov ecx, 0x7175f53
xor edx, edx
div ecx
or eax, 0xbca1ec39
imul eax, eax, 0xa6c660ba
xor eax, 0x4ce028e7
imul eax, eax, 0x32b95eb0
xor eax, 0xce85d251
sub eax, 0x5892c50c
and eax, 0x1cb2807e
mov ecx, 0x910746f7
xor edx, edx
div ecx
add eax, 0xc77a7c13
imul eax, eax, 0xa5ac3cfc
add eax, 0x52e4cf44
imul eax, eax, 0x1ae40587
imul eax, eax, 0xf2203bf9
xor eax, 0x939a26a5
and eax, 0xc9ad58a6
xor eax, 0x60ca0995
or eax, 0x1c0b6240
add eax, 0xbd02b932
imul eax, eax, 0xc29a70b0
mov ecx, 0x817dc693
xor edx, edx
div ecx
add eax, 0xb52d305e
mov ecx, 0x3f7f4a71
xor edx, edx
div ecx
cmp eax, 0x7bb15086
jae 0x10097dea
mov eax, dword [0x1014a920]
or eax, dword [0x1014a924]
imul eax, eax, 0x4bed078f
sub eax, 0x6f6f9a13
mov ecx, 0xec82b9b7
xor edx, edx
div ecx
imul eax, eax, 0x7fdddf00
and eax, 0x412cbed7
xor eax, 0xbf610e18
xor eax, 0x5f54e940
mov ecx, 0xdd2d15cc
xor edx, edx
div ecx
imul eax, eax, 0xdcd54cd9
sub eax, 0xf2a04107
or eax, 0x324ce3d1
mov ecx, 0xc31ef19c
xor edx, edx
div ecx
sub eax, 0x94643205
or eax, 0xe7c75c93
and eax, 0xf55665b
imul eax, eax, 0x4139daf4
sub eax, 0x8c113ad0
imul eax, eax, 0x609ae7e8
add eax, 0x7f71c3eb
or eax, 0x2da3f653
xor eax, 0xadd9a679
mov ecx, 0x29abd08e
xor edx, edx
div ecx
sub eax, 0x68f88ba6
sub eax, 0xc495527e
mov ecx, 0x538e52d3
xor edx, edx
div ecx
add eax, 0xaadc0fd9
or eax, 0x306645df
and eax, 0xd98af5ed
and eax, 0x79f48ce7
imul eax, eax, 0x24346c06
xor eax, 0x82536021
sub eax, 0xcb53d822
xor eax, 0x3f1b41b6
cmp eax, 0xc4d9946f
jb 0x10097dea
mov eax, dword [0x1014a928]
xor edx, edx
div dword [0x1014a92c]
xor eax, 0x98c2b568
sub eax, 0x3e68a99f
or eax, 0x614d4d93
add eax, 0x248d9f9b
or eax, 0xe276a438
or eax, 0xfa630966
sub eax, 0xf4e9cee0
imul eax, eax, 0xa7ac2d36
mov ecx, 0x2377e5ab
xor edx, edx
div ecx
imul eax, eax, 0x61fc52b9
and eax, 0x970a5ee3
mov ecx, 0xd3c13cbc
xor edx, edx
div ecx
xor eax, 0xfc5333f4
sub eax, 0x4c62bbea
and eax, 0x71433ed8
imul eax, eax, 0x1ae348e4
imul eax, eax, 0x6caff26a
add eax, 0x6baec37f
add eax, 0x44f01c6b
xor eax, 0xf36f11b9
and eax, 0x76dded9f
mov ecx, 0x89cf5c56
xor edx, edx
div ecx
and eax, 0xb5011fe2
or eax, 0x528d14cf
or eax, 0xc0e70158
and eax, 0xd0e41d4a
imul eax, eax, 0x39febf04
mov ecx, 0xb6b6f188
xor edx, edx
div ecx
xor eax, 0x8ffbf739
imul eax, eax, 0x92672bcd
mov ecx, 0xabe49882
xor edx, edx
div ecx
or eax, 0x8d63a627
mov ecx, 0x22558e4e
xor edx, edx
div ecx
cmp eax, 0x18e2b805
je 0x10097c2f
mov eax, dword [0x1014a930]
imul eax, dword [0x1014a934]
sub eax, 0x122c85df
sub eax, 0x2908a52e
sub eax, 0x24dd576e
xor eax, 0x1451abcd
sub eax, 0x2b33f992
and eax, 0xd4d5cbaa
sub eax, 0x5deb24dd
add eax, 0x42b906bc
or eax, 0xce545079
and eax, 0xd0960c71
sub eax, 0x469f2f0f
sub eax, 0x8d532ee8
imul eax, eax, 0x59a7b9d
imul eax, eax, 0x3230d3e8
mov ecx, 0x27483804
xor edx, edx
div ecx
sub eax, 0xbf4e5a41
and eax, 0xf13dd52e
sub eax, 0xbd27c87b
add eax, 0xe61d343a
sub eax, 0xcf60e2df
add eax, 0x933d6856
xor eax, 0xcca47565
imul eax, eax, 0x46684cd2
add eax, 0x1747d42
and eax, 0xaa694a84
or eax, 0x295cd250
xor eax, 0x36cfcde2
mov ecx, 0x8b945983
xor edx, edx
div ecx
sub eax, 0xa8e5b73b
add eax, 0x97df0f3
xor eax, 0x5689163
sub eax, 0xf0625866
add eax, 0x25406e7e
cmp eax, 0xcd6a53be
je 0x10097def
mov esi, dword [ebp - 0xc]
mov edi, dword [ebp - 0x10]
mov eax, 0x13274010
push eax
mov edx, esp
push eax
mov ecx, esp
mov dword [edx], edi
mov dword [ecx], esi
mov ecx, dword [ecx]
mov edx, dword [edx]
mov edx, dword [edx]
mov dword [ecx], edx
cmp eax, 0x79eedb95
je 0x10097995
mov eax, dword [0x1014a940]
xor eax, dword [0x1014a944]
xor eax, 0x6e0b3197
or eax, 0x45f03194
add eax, 0x28cc4eb5
mov ecx, 0x99a53f0c
xor edx, edx
div ecx
add eax, 0xd5a2c637
add eax, 0x4fccab72
mov ecx, 0xe6a9c4f8
xor edx, edx
div ecx
imul eax, eax, 0x90479d3e
imul eax, eax, 0x24c326d6
or eax, 0x8e6ce5eb
or eax, 0x2b8b56dc
or eax, 0xad8d0d17
and eax, 0x418a9c5
and eax, 0x822e8ced
and eax, 0xf31e51a5
sub eax, 0xcd640f07
and eax, 0xf543fc1f
and eax, 0xc95052a1
or eax, 0xc99a079f
mov ecx, 0xd0906661
xor edx, edx
div ecx
and eax, 0xf376bc1d
and eax, 0x12f22b4f
sub eax, 0x7a14f4f9
imul eax, eax, 0x165b0c93
mov ecx, 0x738a1a9c
xor edx, edx
div ecx
imul eax, eax, 0x44104f64
or eax, 0x86f88484
and eax, 0xed58c6ae
sub eax, 0x3048bfef
imul eax, eax, 0x3ea04c74
add eax, 0x37a2897c
sub eax, 0xc93a903d
mov ecx, 0x785b6c4a
xor edx, edx
div ecx
cmp eax, 0x7cf4dd75
ja 0x100978ce
mov eax, dword [0x1014a948]
and eax, dword [0x1014a94c]
mov ecx, 0x6faaf589
xor edx, edx
div ecx
add eax, 0xa14d306e
add eax, 0x5e6863d3
xor eax, 0x55fb2074
and eax, 0xf60c363d
or eax, 0x591a7a21
imul eax, eax, 0xac2a4901
sub eax, 0x1322fa59
xor eax, 0x90cb1c
xor eax, 0x14d0d68
or eax, 0xff41e129
xor eax, 0xd5722509
xor eax, 0xb9372e13
and eax, 0x7c3668db
or eax, 0xf5bca2e5
or eax, 0xb3495c4f
or eax, 0x413372cf
imul eax, eax, 0x63493b74
mov ecx, 0x46965d9
xor edx, edx
div ecx
or eax, 0xb016409e
or eax, 0x9293ad08
add eax, 0x96b7c7d8
and eax, 0xd55ab665
add eax, 0x8fca016e
add eax, 0x6c7dd49e
and eax, 0xa06f853b
and eax, 0xa19d2b1d
xor eax, 0x116dea4c
sub eax, 0xfb570762
add eax, 0x3a44ba36
and eax, 0x8dd1292f
xor eax, 0x2b60c76c
imul eax, eax, 0x5406a562
cmp eax, 0x8daae5e5
je 0x10097e0c
mov eax, dword [0x1014a950]
xor eax, dword [0x1014a954]
and eax, 0x979661d8
and eax, 0xdcb8ac22
mov ecx, 0x32f11a09
xor edx, edx
div ecx
mov ecx, 0xd35525b2
xor edx, edx
div ecx
imul eax, eax, 0x9c4893fe
and eax, 0xbdae927d
or eax, 0xe7791807
imul eax, eax, 0xe750998b
add eax, 0x9b7122e6
add eax, 0x5afe7b60
mov ecx, 0xc1eec14f
xor edx, edx
div ecx
add eax, 0x7b9f1f71
or eax, 0x5112cb80
or eax, 0xd39827b9
or eax, 0xce4f87b4
add eax, 0x151484d7
imul eax, eax, 0xf11ae232
or eax, 0xfa897fd
xor eax, 0xc0466e85
and eax, 0x89b2e344
imul eax, eax, 0xea5b9697
and eax, 0x4d5adcc9
or eax, 0x388aebc6
and eax, 0xc514fc58
and eax, 0x66e5b92b
imul eax, eax, 0xff58186
and eax, 0xc0d79449
or eax, 0x5d128e94
and eax, 0xc50db31
imul eax, eax, 0xfea65fec
mov ecx, 0x20c3e941
xor edx, edx
div ecx
or eax, 0x19ab75ed
add eax, 0x1fef658b
cmp eax, 0xea21275a
ja 0x10097b57
lea esp, [ebp - 8]
pop esi
pop edi
pop ebp
ret
mov eax, dword [0x1014a958]
add eax, dword [0x1014a95c]
mov ecx, 0x884b6bc0
xor edx, edx
div ecx
add eax, 0xf24483c8
mov ecx, 0x991d3f04
xor edx, edx
div ecx
sub eax, 0xa68dfd66
add eax, 0x859ec36f
mov ecx, 0x259ea774
xor edx, edx
div ecx
and eax, 0x8fdd835a
mov ecx, 0x20e742de
xor edx, edx
div ecx
imul eax, eax, 0x7704a87b
xor eax, 0x2babdab
add eax, 0x2e20278d
imul eax, eax, 0xe1557443
and eax, 0x820cfef3
add eax, 0xfcb4aec7
mov ecx, 0x4fd57277
xor edx, edx
div ecx
add eax, 0x153efc35
or eax, 0x486b4b60
or eax, 0x4e4c3078
xor eax, 0x83389eef
imul eax, eax, 0xc3f2d6cb
and eax, 0x9cccd84d
or eax, 0x5eef75f9
add eax, 0xd9dcf3cf
sub eax, 0xeb4d37e4
xor eax, 0xb31cb696
imul eax, eax, 0x155d1a80
and eax, 0x496532d6
and eax, 0xc846e060
imul eax, eax, 0x6a6ef4d3
mov ecx, 0x701bfbc1
xor edx, edx
div ecx
add eax, 0x4e2ecbd6
mov ecx, 0xd4be48dc
xor edx, edx
div ecx
imul eax, eax, 0x9bf51b34
cmp eax, 0x19aae798
ja 0x10097e11
mov esi, dword [ebp - 0xc]
mov edi, dword [ebp - 0x10]
mov eax, dword [0x1014a960]
mov ecx, dword [0x1014a964]
and eax, ecx
mov ecx, 0x3deec565
mul ecx
shr edx, 0x1d
imul eax, edx, 0xb98697a
add eax, 0x63a57ae8
mov dword [ebp - 0x14], eax
mov ecx, 0x4d1a52d
mul ecx
mov eax, dword [ebp - 0x14]
sub eax, edx
shr eax, 1
add eax, edx
shr eax, 0x1e
or eax, 0x29b4ab91
imul eax, eax, 0x7791b9a0
xor eax, 0xe8d82a35
mov ecx, 0x1b5ae17
mul ecx
shr edx, 0x17
imul eax, edx, 0xe21ea416
or eax, 0x8ecfe991
imul eax, eax, 0x201dcaa7
xor eax, 0x5cf33c6a
add eax, 0x230f1f70
xor eax, 0xadea63f0
mov ecx, 0x33a59a8b
mul ecx
mov eax, edx
shr eax, 0x1d
xor eax, 0x637644df
add eax, 0x9bbcb257
and eax, 0x7c126332
add eax, 0x1a4cb1d
xor eax, 0x32c26060
or eax, 0x52d0f9e
add eax, 0x312cee29
or eax, 0x123f12fc
add eax, 0x5fcb5d04
and eax, 0x2dc07c03
imul eax, eax, 0x82ee412f
push eax
mov edx, esp
push eax
mov ecx, esp
mov dword [edx], edi
mov dword [ecx], esi
mov ecx, dword [ecx]
mov edx, dword [edx]
mov edx, dword [edx]
mov dword [ecx], edx
cmp eax, 0xa772abc2
jae 0x10097d0c
jmp 0x100978ce
jmp 0x1009771e
mov edx, dword [ebp - 0xc]
mov esi, dword [ebp - 0x10]
push eax
mov ecx, esp
push eax
mov eax, esp
mov dword [ecx], esi
mov dword [eax], edx
mov eax, dword [eax]
mov ecx, dword [ecx]
mov ecx, dword [ecx]
mov dword [eax], ecx
jmp 0x10097995
jmp 0x10097b57
mov edx, dword [ebp - 0xc]
mov esi, dword [ebp - 0x10]
push eax
mov ecx, esp
push eax
mov eax, esp
mov dword [ecx], esi
mov dword [eax], edx
mov eax, dword [eax]
mov ecx, dword [ecx]
mov ecx, dword [ecx]
mov dword [eax], ecx
jmp 0x10097d0c