Function at 0x10082ae0
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff8
sub esp, 0x20
mov esi, esp
mov dword [esi + 8], ecx
mov eax, dword [ebp + 0x10]
mov dword [esi + 0xc], eax
mov eax, dword [ebp + 0xc]
mov dword [esi + 0x10], eax
mov eax, dword [ebp + 8]
mov dword [esi + 0x14], eax
mov eax, dword [0x10149c28]
add eax, dword [0x10149c2c]
add eax, 0xe85c0e39
sub eax, 0x659e28e1
imul eax, eax, 0x86e03e05
mov ecx, 0xbb6b62b9
xor edx, edx
div ecx
or eax, 0x87601a8f
add eax, 0xa9c65d69
xor eax, 0x7dc1ecc9
imul eax, eax, 0x9ffde33
add eax, 0xba52eb1c
sub eax, 0xa1fd0c3b
or eax, 0xd9521c04
sub eax, 0xa1956442
xor eax, 0x76e1346a
sub eax, 0xdd08e18b
xor eax, 0x5ce12f32
mov ecx, 0xba5cf7e7
xor edx, edx
div ecx
imul eax, eax, 0x3a33edf1
add eax, 0x79914b00
sub eax, 0x8fd09c2f
sub eax, 0x7f73e079
sub eax, 0x3a7f1b06
and eax, 0x203b3b80
xor eax, 0xa95ba386
add eax, 0x3b544b7c
xor eax, 0x4402673f
and eax, 0x93f0ca4f
or eax, 0x50136507
xor eax, 0x4feee70d
and eax, 0xd8868131
mov ecx, 0x908bc392
xor edx, edx
div ecx
imul eax, eax, 0xd6989ab5
xor eax, 0x337902d9
xor eax, 0x21a5b68d
cmp eax, 0x753d5814
jbe 0x100831ea
mov eax, dword [0x10149c30]
and eax, dword [0x10149c34]
sub eax, 0xaeeca0c3
or eax, 0x25df47ff
add eax, 0xd72b4bc7
sub eax, 0xa99eb521
sub eax, 0xfddf0cd1
sub eax, 0xb66c3ad9
xor eax, 0x6beb8760
imul eax, eax, 0x9e7f8051
imul eax, eax, 0xd7efb679
sub eax, 0x1a5ccd45
xor eax, 0x571da6a4
and eax, 0x6c1eb028
sub eax, 0x1ca78a89
and eax, 0x3e97c02c
imul eax, eax, 0x81440fa
and eax, 0x5ea8ba8a
or eax, 0xa10e64a9
and eax, 0x164eb443
mov ecx, 0x41440de2
xor edx, edx
div ecx
and eax, 0x11795131
imul eax, eax, 0xda4604f7
and eax, 0x8c95a3ba
and eax, 0x8474425c
and eax, 0x3de7ff6e
mov ecx, 0xcdd73990
xor edx, edx
div ecx
imul eax, eax, 0x8ff2a937
xor eax, 0xed49435c
sub eax, 0x63a67822
xor eax, 0xd45c1c97
add eax, 0x516bf9f9
sub eax, 0x53bb96f9
xor eax, 0x4e7d462a
add eax, 0xdda0e482
cmp eax, 0xafc89a2b
jbe 0x10082bce
mov eax, dword [0x10149c38]
imul eax, dword [0x10149c3c]
or eax, 0x159ec8c1
mov ecx, 0xbbf5eb90
xor edx, edx
div ecx
mov ecx, 0x19c406cd
xor edx, edx
div ecx
and eax, 0xf377db80
xor eax, 0xa2ca4acb
or eax, 0x622a61c7
or eax, 0x41e8ebc0
add eax, 0xc6f62a17
xor eax, 0x454998e7
mov ecx, 0x836b301c
xor edx, edx
div ecx
mov ecx, 0xa225744
xor edx, edx
div ecx
and eax, 0x4655e6c8
mov ecx, 0xc9bc4670
xor edx, edx
div ecx
sub eax, 0x83260350
sub eax, 0xaa7f1d63
and eax, 0xd85a620e
xor eax, 0x94ae7919
and eax, 0x8002b1f3
add eax, 0x7d5a58dc
and eax, 0xa55b261c
mov ecx, 0x713ddc76
xor edx, edx
div ecx
xor eax, 0x58b494b4
sub eax, 0x6a8a2ac8
imul eax, eax, 0x4bc62c5e
add eax, 0x1e967743
add eax, 0xe4e74e16
or eax, 0x757076b2
and eax, 0xa7fb2e91
and eax, 0x7b487957
imul eax, eax, 0xe6f9f6f0
imul eax, eax, 0x99a75422
xor eax, 0x4eca6bb2
sub eax, 0x315ba82d
cmp eax, 0xd3770c6a
ja 0x100830ee
mov eax, dword [0x10149c40]
imul eax, dword [0x10149c44]
add eax, 0xf3b91b53
sub eax, 0x4afd01da
imul eax, eax, 0xdcabc55
mov ecx, 0x8f52326f
xor edx, edx
div ecx
and eax, 0xd8f380dd
and eax, 0x18706bb
mov ecx, 0x350dba2a
xor edx, edx
div ecx
add eax, 0x4abe06b1
imul eax, eax, 0x8e8734b2
xor eax, 0xd23f425
mov ecx, 0x13824cc8
xor edx, edx
div ecx
sub eax, 0xf7cdd716
xor eax, 0xa25f26fb
add eax, 0x73968daa
or eax, 0x5ead2d47
mov ecx, 0x44ccc7fa
xor edx, edx
div ecx
or eax, 0xe152135
xor eax, 0x338d1098
mov ecx, 0xdba8546
xor edx, edx
div ecx
or eax, 0x86f7169b
sub eax, 0x48d2e78e
and eax, 0xa875a2c6
xor eax, 0x37a7729e
xor eax, 0x62e366ea
xor eax, 0xdebfd567
add eax, 0x583ad39b
xor eax, 0x5dcd1567
sub eax, 0xe14e36db
or eax, 0x43c667a1
imul eax, eax, 0xb051b70
xor eax, 0x2eb20238
or eax, 0x3be895da
xor eax, 0x5957ae18
cmp eax, 0xa70da6f1
je 0x100831ef
mov ebx, dword [esi + 0xc]
mov eax, 0x4090af21
push eax
push eax
mov edx, esp
and edx, 0xfffffff8
mov esp, edx
push eax
mov edi, esp
push eax
mov ecx, esp
mov dword [edx + 4], ebx
mov ebx, dword [esi + 0x10]
mov dword [edx], ebx
mov ebx, dword [esi + 0x14]
mov edx, dword [esi + 8]
mov dword [edi], ebx
mov dword [ecx], edx
mov ecx, dword [ecx]
mov dword [esi + 4], ecx
cmp eax, 0xbe1ca7b3
ja 0x100831ef
mov eax, dword [0x10149c50]
and eax, dword [0x10149c54]
mov ecx, 0x80e8930d
xor edx, edx
div ecx
xor eax, 0x6f98cdf6
sub eax, 0x984f1638
imul eax, eax, 0x1e53ed1e
add eax, 0xb39e20f6
imul eax, eax, 0xc48d1a28
add eax, 0x94969253
and eax, 0x56f231c6
add eax, 0x4a5068e3
add eax, 0x4f209ad4
mov ecx, 0xf61e80b3
xor edx, edx
div ecx
and eax, 0x66798345
or eax, 0x4f5f5017
or eax, 0x996002db
or eax, 0x971e8414
sub eax, 0x3dbb6767
imul eax, eax, 0xdad0ed76
and eax, 0xba0c959
mov ecx, 0x929c38dd
xor edx, edx
div ecx
and eax, 0x85dd3844
or eax, 0x3e21fd13
imul eax, eax, 0xa6ab97e1
or eax, 0x6b4c5ccb
sub eax, 0xba715ccb
or eax, 0xdb86118c
imul eax, eax, 0xb18a5fc8
imul eax, eax, 0xd3c13654
and eax, 0x397ac256
add eax, 0xb029e2af
xor eax, 0xa4c61e9b
imul eax, eax, 0xb392861c
imul eax, eax, 0x43268424
sub eax, 0x8021ac81
cmp eax, 0x95bc55d9
jbe 0x10082d6d
mov eax, dword [0x10149c58]
add eax, dword [0x10149c5c]
and eax, 0x5e5a20a
or eax, 0xec8f6cec
or eax, 0xe33df5ea
and eax, 0xb4ef0a37
add eax, 0x56d24627
or eax, 0x9f9131c2
or eax, 0x6d2b1289
and eax, 0x25bb907d
add eax, 0x80756345
mov ecx, 0x9e952c3c
xor edx, edx
div ecx
imul eax, eax, 0x3adadb4c
or eax, 0xd8a1f16e
imul eax, eax, 0xaafc16ce
xor eax, 0x16d9b819
sub eax, 0xc9bfd685
or eax, 0xf68eb5dc
mov ecx, 0x405505d7
xor edx, edx
div ecx
sub eax, 0xbce14cb6
and eax, 0x4a643e7f
mov ecx, 0x8dcdcfc3
xor edx, edx
div ecx
or eax, 0x7d9e0d33
mov ecx, 0xa42c202d
xor edx, edx
div ecx
mov ecx, 0xc0c7ecbd
xor edx, edx
div ecx
sub eax, 0x999c22cc
and eax, 0x70637dd9
imul eax, eax, 0xef8a9a5
xor eax, 0xdbd57af5
and eax, 0xe6334805
imul eax, eax, 0x6a182392
mov ecx, 0xf6376b2f
xor edx, edx
div ecx
xor eax, 0xf8a9d67a
imul eax, eax, 0x8a7605f3
add eax, 0x7cab97cf
cmp eax, 0xac4d652
je 0x10083218
mov eax, dword [0x10149c60]
add eax, dword [0x10149c64]
and eax, 0x9beb5f43
or eax, 0xdff25305
and eax, 0x2549a66d
add eax, 0xe90a8628
or eax, 0xe9c36845
imul eax, eax, 0x27d029e4
add eax, 0x39ef9e29
or eax, 0x66ffc4e7
add eax, 0x45544c27
xor eax, 0x304038e6
sub eax, 0x9cd951aa
add eax, 0xe74bb2c7
or eax, 0xa304fff0
imul eax, eax, 0xc94f7835
sub eax, 0xab0ab75a
xor eax, 0xff273c77
imul eax, eax, 0x506ae6b7
sub eax, 0xabd12c4e
and eax, 0xd3b9ef80
xor eax, 0xbb86edd0
imul eax, eax, 0xe8513d5
sub eax, 0x32e2a288
sub eax, 0x154cb74b
sub eax, 0x31766f88
or eax, 0x1dec60ee
or eax, 0x57abdac1
imul eax, eax, 0xf29c9270
or eax, 0xe0207918
add eax, 0x7b7aa99a
or eax, 0x8649263d
and eax, 0xabce8672
imul eax, eax, 0xc59cd053
or eax, 0xecaadda
cmp eax, 0xa21b72e6
je 0x10083020
mov eax, dword [esi + 4]
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret 0xc
mov eax, dword [0x10149c68]
sub eax, dword [0x10149c6c]
add eax, 0xf7df06f9
or eax, 0xa46147e6
imul eax, eax, 0xfffd4484
and eax, 0x2ae8c0fd
imul eax, eax, 0x73cbede0
sub eax, 0x65900ecb
or eax, 0xfe3457c4
add eax, 0x760b8f78
add eax, 0x397c1136
add eax, 0x4b8f806b
and eax, 0x8bf5380e
mov ecx, 0xb01be9b4
xor edx, edx
div ecx
and eax, 0x697df1f9
and eax, 0x8da56d98
imul eax, eax, 0x978eb295
sub eax, 0x1e8ba5a6
sub eax, 0x3dd3ab6e
sub eax, 0x4ada2a7e
or eax, 0xd1e54c8b
add eax, 0x733f212e
or eax, 0x3a5418db
and eax, 0xcb66a8ac
or eax, 0xc20d5e57
and eax, 0x2fa51509
sub eax, 0xa246b0de
xor eax, 0x2493d4c6
xor eax, 0xaa946161
imul eax, eax, 0xcbb49776
add eax, 0x7febe573
add eax, 0x8e52c432
and eax, 0xdc42c3d8
and eax, 0xfb55c548
add eax, 0x5721b337
cmp eax, 0xec794b80
jae 0x1008321d
mov ebx, dword [esi + 0xc]
mov eax, 0x2f5fafe9
push eax
push eax
mov edx, esp
and edx, 0xfffffff8
mov esp, edx
push eax
mov edi, esp
push eax
mov ecx, esp
mov dword [edx + 4], ebx
mov ebx, dword [esi + 0x10]
mov dword [edx], ebx
mov ebx, dword [esi + 0x14]
mov edx, dword [esi + 8]
mov dword [edi], ebx
mov dword [ecx], edx
cmp eax, 0x36e0d9be
je 0x1008321d
jmp 0x10082d6d
jmp 0x10082bce
mov edi, dword [esi + 0x14]
mov ecx, dword [esi + 0xc]
push eax
push eax
mov ebx, esp
and ebx, 0xfffffff8
mov esp, ebx
push eax
mov edx, esp
push eax
mov eax, esp
mov dword [ebx + 4], ecx
mov ecx, dword [esi + 0x10]
mov dword [ebx], ecx
mov ecx, dword [esi + 8]
mov dword [edx], edi
mov dword [eax], ecx
jmp 0x10082e40
jmp 0x10083020
mov edi, dword [esi + 0x14]
mov ecx, dword [esi + 0xc]
push eax
push eax
mov ebx, esp
and ebx, 0xfffffff8
mov esp, ebx
push eax
mov edx, esp
push eax
mov eax, esp
mov dword [ebx + 4], ecx
mov ecx, dword [esi + 0x10]
mov dword [ebx], ecx
mov ecx, dword [esi + 8]
mov dword [edx], edi
mov dword [eax], ecx
jmp 0x100831b1