Function at 0x100adb50
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
sub esp, 0x18
mov eax, dword [ebp + 0x10]
mov dword [ebp - 0x18], eax
mov eax, dword [ebp + 0xc]
mov dword [ebp - 0x14], eax
mov eax, dword [ebp + 8]
mov dword [ebp - 0x10], eax
mov eax, dword [0x1014b6c8]
imul eax, dword [0x1014b6cc]
and eax, 0x77433214
imul eax, eax, 0xe346b9df
add eax, 0xcdabb055
xor eax, 0x1c4bd20d
imul eax, eax, 0x9a21a654
mov ecx, 0x10c1cb57
xor edx, edx
div ecx
mov ecx, 0x10e64096
xor edx, edx
div ecx
sub eax, 0x825c33ad
mov ecx, 0x3b7f8194
xor edx, edx
div ecx
add eax, 0x5f50863e
imul eax, eax, 0xd94294e6
sub eax, 0xeced3c26
add eax, 0x249ef8c4
sub eax, 0x6ddb2ca9
sub eax, 0x6cf0ea0b
add eax, 0xa90c4bdb
imul eax, eax, 0x496021d3
and eax, 0x37651664
xor eax, 0xb26d5aef
add eax, 0xb6203f67
imul eax, eax, 0x5fad52ae
mov ecx, 0x273fabaf
xor edx, edx
div ecx
xor eax, 0xf48d0120
imul eax, eax, 0xf3e2b522
sub eax, 0x8fd8ff76
xor eax, 0x2c31a596
imul eax, eax, 0x80afdef7
sub eax, 0x2acb3410
add eax, 0x4f7f45cf
and eax, 0xf4f246f8
xor eax, 0x41b474dd
sub eax, 0x62fe89c8
xor eax, 0x6493b8ac
cmp eax, 0x764c9006
je 0x100ade48
mov esi, dword [ebp - 0x10]
mov edi, dword [ebp - 0x14]
mov ebx, dword [ebp - 0x18]
xor eax, eax
mov dword [ebp - 0x20], eax
push eax
mov eax, esp
push eax
mov edx, esp
push eax
mov ecx, esp
mov dword [ebp - 0x24], ecx
mov dword [eax], ebx
mov dword [edx], edi
mov dword [ecx], esi
mov ecx, dword [ecx]
mov edx, dword [edx]
mov esi, dword [eax]
shl esi, 0
sub esp, 0xc
mov eax, esp
mov dword [eax + 8], esi
mov dword [eax + 4], edx
mov dword [eax], ecx
call fcn.10120ba0
mov ecx, dword [ebp - 0x24]
add esp, 0xc
mov eax, dword [ebp - 0x20]
mov ecx, dword [ecx]
mov dword [ebp - 0x1c], ecx
cmp eax, 0x63c526f4
jae 0x100adc3e
mov eax, dword [0x1014b6d8]
xor eax, dword [0x1014b6dc]
and eax, 0xae668d94
imul eax, eax, 0x3d1b56bc
and eax, 0x99ad483c
mov ecx, 0x839759af
xor edx, edx
div ecx
add eax, 0xa90e73b3
sub eax, 0x5fb5669e
mov ecx, 0x8478aab8
xor edx, edx
div ecx
or eax, 0xfd0022f1
imul eax, eax, 0xd2780e9c
xor eax, 0xfe040224
add eax, 0xe9d5cb76
xor eax, 0x2c628143
imul eax, eax, 0x9e59a184
sub eax, 0x413b3ee8
or eax, 0x65466128
xor eax, 0x8fdc6872
xor eax, 0x122195f
xor eax, 0x82546dd7
imul eax, eax, 0xa8f4ba
add eax, 0x2d93a1d4
mov ecx, 0xe7e52ef4
xor edx, edx
div ecx
or eax, 0x93c8743c
mov ecx, 0x50b10ad6
xor edx, edx
div ecx
mov ecx, 0x2d62a72d
xor edx, edx
div ecx
add eax, 0x1e1c6566
add eax, 0xb7ddeb7a
add eax, 0xa1b6a395
imul eax, eax, 0x3aa02676
imul eax, eax, 0xb0b540ac
mov ecx, 0x67595ba7
xor edx, edx
div ecx
and eax, 0x233bbad5
mov ecx, 0x94da83c
xor edx, edx
div ecx
xor eax, 0x634375f0
cmp eax, 0x2e89aa35
je 0x100ade83
mov eax, dword [0x1014b6e0]
or eax, dword [0x1014b6e4]
and eax, 0x41e06b0a
sub eax, 0x4d5d9571
xor eax, 0xade7752e
sub eax, 0xefe99904
mov ecx, 0xb622e1ed
xor edx, edx
div ecx
add eax, 0x57b1a517
xor eax, 0x2ab005ad
or eax, 0x6566f13b
or eax, 0xfc549011
xor eax, 0x98cfec62
or eax, 0xdfe3d87e
imul eax, eax, 0xad2531da
xor eax, 0x49aad685
xor eax, 0x51fca1f1
mov ecx, 0xcaf048c2
xor edx, edx
div ecx
or eax, 0x699a64c5
mov ecx, 0x8218da6
xor edx, edx
div ecx
or eax, 0x1c17bfac
add eax, 0xa1ed0887
and eax, 0xbbc43213
add eax, 0x7771bc97
sub eax, 0xa648878c
xor eax, 0xa309466b
xor eax, 0x482fce5e
and eax, 0x8a9f1122
imul eax, eax, 0xed7dc8db
add eax, 0xf7146411
xor eax, 0x1abca031
add eax, 0xb455163a
mov ecx, 0xe08d4039
xor edx, edx
div ecx
add eax, 0x319b705b
sub eax, 0x6b201553
imul eax, eax, 0xb6a08c8b
cmp eax, 0x17be49c2
je 0x100add6f
mov eax, dword [ebp - 0x1c]
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
mov esi, dword [ebp - 0x10]
mov edi, dword [ebp - 0x14]
mov ebx, dword [ebp - 0x18]
push eax
mov eax, esp
push eax
mov edx, esp
push eax
mov ecx, esp
mov dword [eax], ebx
mov dword [edx], edi
mov dword [ecx], esi
mov ecx, dword [ecx]
mov edx, dword [edx]
mov esi, dword [eax]
shl esi, 0
sub esp, 0xc
mov eax, esp
mov dword [eax + 8], esi
mov dword [eax + 4], edx
mov dword [eax], ecx
call fcn.10120ba0
add esp, 0xc
jmp 0x100adc3e
jmp 0x100add6f