Function at 0x100aff50
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 + 0x14]
mov dword [esi + 0xc], eax
mov eax, dword [ebp + 0x10]
mov dword [esi + 0x10], eax
lea eax, [ebp + 8]
mov dword [esi + 0x14], eax
mov eax, dword [0x1014b828]
add eax, dword [0x1014b82c]
sub eax, 0xa1bd52e9
mov ecx, 0xbd1b8a60
xor edx, edx
div ecx
and eax, 0x4f1c8867
or eax, 0xfe2737c3
mov ecx, 0xfa2752af
xor edx, edx
div ecx
xor eax, 0x66a8a30a
and eax, 0x3b968c7b
add eax, 0x90d561eb
add eax, 0x18897193
and eax, 0xc30a2162
add eax, 0x48d04271
or eax, 0xc8e664ff
imul eax, eax, 0x2c8efc8d
mov ecx, 0x13a868d0
xor edx, edx
div ecx
and eax, 0x49439ddb
or eax, 0xf53ac998
and eax, 0xd1f64420
add eax, 0xe412273
sub eax, 0x422b6534
sub eax, 0x13427077
and eax, 0x4f1852ee
or eax, 0x550ee7dd
xor eax, 0x9b02591b
imul eax, eax, 0x8ac35061
add eax, 0x55fa29b7
or eax, 0x550daeda
imul eax, eax, 0x43f8ba0e
imul eax, eax, 0xaa3ea450
and eax, 0xb9a3960e
mov ecx, 0x9768ef2c
xor edx, edx
div ecx
mov ecx, 0x6f8c3c2b
xor edx, edx
div ecx
xor eax, 0xe51f17ea
add eax, 0x5eb6ef36
cmp eax, 0x7f57e1a3
jae 0x100b0508
mov eax, dword [0x1014b830]
and eax, dword [0x1014b834]
imul eax, eax, 0x3327eac3
imul eax, eax, 0x5943edac
xor eax, 0x145fe398
xor eax, 0xc946d566
xor eax, 0x6c688867
imul eax, eax, 0x7cb42e6
imul eax, eax, 0xcc994d18
add eax, 0xd9aed1e0
xor eax, 0xedf61ac1
or eax, 0x255d15a3
imul eax, eax, 0xe0efbe04
mov ecx, 0x1b15da9a
xor edx, edx
div ecx
xor eax, 0x58fcf8d7
sub eax, 0xbcfb4140
xor eax, 0xf21b0195
xor eax, 0xb9b2cfa2
add eax, 0x62a65d17
mov ecx, 0x4d2494f7
xor edx, edx
div ecx
and eax, 0x8544146
imul eax, eax, 0x2a68808
imul eax, eax, 0xd2a524d8
imul eax, eax, 0xfabaa0b6
sub eax, 0xa9c96304
sub eax, 0x72889ac4
add eax, 0x82b7a17a
xor eax, 0xdfbc650c
mov ecx, 0x3d9070d
xor edx, edx
div ecx
xor eax, 0xafc699db
add eax, 0xff3d527a
imul eax, eax, 0x48625d43
sub eax, 0x6a255079
and eax, 0x4313795f
add eax, 0x3af0b2ad
cmp eax, 0xfe83a4e2
ja 0x100b0508
mov eax, dword [0x1014b838]
imul eax, dword [0x1014b83c]
mov ecx, 0x4da35129
xor edx, edx
div ecx
add eax, 0xbb68b325
mov ecx, 0x5f7c124
xor edx, edx
div ecx
and eax, 0x918bbde0
mov ecx, 0x16537bac
xor edx, edx
div ecx
add eax, 0x493764d
xor eax, 0x82acbbbe
add eax, 0xe9c8ec52
imul eax, eax, 0x37ce748d
or eax, 0x30a76e4e
xor eax, 0xe9c35ee8
and eax, 0xbc6b4be6
sub eax, 0xb65444e5
imul eax, eax, 0xf1140ba3
or eax, 0x75fc5aa1
or eax, 0xb225cd03
and eax, 0xa0bd0529
or eax, 0x2d4b7800
and eax, 0x6be87c8c
imul eax, eax, 0xcedf7983
or eax, 0xa301021c
sub eax, 0xc7d08809
or eax, 0x8e43ebf8
add eax, 0x84ed4951
mov ecx, 0x33f9fac6
xor edx, edx
div ecx
or eax, 0xa4af498e
sub eax, 0xfaa872b4
add eax, 0x668b42e5
mov ecx, 0xe0b8ef1c
xor edx, edx
div ecx
add eax, 0xbf636970
imul eax, eax, 0xaaccd428
and eax, 0xc9cce11a
add eax, 0xc8e0fb31
cmp eax, 0xfa95baa9
ja 0x100b03e8
mov ebx, dword [esi + 8]
mov edx, dword [esi + 0xc]
mov eax, 0xb23522ac
push eax
push eax
mov edi, esp
and edi, 0xfffffff8
mov esp, edi
push eax
mov ecx, esp
mov dword [edi + 4], edx
mov edx, dword [esi + 0x10]
mov dword [edi], edx
mov edx, dword [esi + 0x14]
mov dword [ecx], ebx
mov ecx, dword [ecx]
mov dword [esi + 4], ecx
movsd xmm0, qword [edi]
movsd qword [ecx], xmm0
mov dword [ecx + 0xc], 0
mov dword [ecx + 8], 0
mov edi, dword [edx]
mov dword [ecx + 0x10], edi
mov edx, dword [edx + 4]
mov dword [ecx + 0x14], edx
cmp eax, 0xf618917e
je 0x100b01ea
mov eax, dword [0x1014b848]
xor eax, dword [0x1014b84c]
or eax, 0x8bc7b84f
add eax, 0x8559ef59
imul eax, eax, 0x8f649899
add eax, 0x149a962f
imul eax, eax, 0x2cc3f342
imul eax, eax, 0x22548001
mov ecx, 0xc40729fd
xor edx, edx
div ecx
sub eax, 0xaa1ad46c
or eax, 0x685413aa
xor eax, 0x6c454877
add eax, 0xc35ac321
imul eax, eax, 0x4ddbe200
sub eax, 0x23c61c04
sub eax, 0x15cf6538
add eax, 0x3ee991b7
mov ecx, 0x7eb5773a
xor edx, edx
div ecx
or eax, 0x1c31400b
add eax, 0x610b6cc4
sub eax, 0x3dbfe267
imul eax, eax, 0x6de5abb
mov ecx, 0x52185c2a
xor edx, edx
div ecx
add eax, 0xe14aebf9
add eax, 0xd8922e07
mov ecx, 0x9eab6d95
xor edx, edx
div ecx
add eax, 0xbf9b8896
and eax, 0x3a0a122f
add eax, 0x32b61db0
add eax, 0xff2f3d74
sub eax, 0x5970d53a
xor eax, 0x384452da
or eax, 0xc8533c93
imul eax, eax, 0x85917e17
or eax, 0x4f448b5b
cmp eax, 0xae334af6
je 0x100b050d
mov eax, dword [0x1014b850]
and eax, dword [0x1014b854]
xor eax, 0xaefa666d
or eax, 0x4384b307
and eax, 0x2a01ab73
xor eax, 0x1b66e104
and eax, 0x80d28b40
xor eax, 0x47fc5de6
sub eax, 0xd7bf073c
imul eax, eax, 0xf81a7c69
imul eax, eax, 0x80d6aabf
add eax, 0xfc7bad5d
or eax, 0x31b09f0c
and eax, 0xf406102a
add eax, 0x132ce9c3
xor eax, 0x97ff542f
imul eax, eax, 0x64f22758
add eax, 0x35cdc258
add eax, 0xd60fa75c
xor eax, 0xa3601018
imul eax, eax, 0x1939973
add eax, 0xba01ba87
and eax, 0xbe7d89e7
or eax, 0x5cc30909
add eax, 0x4122755a
sub eax, 0xf1dc47ce
mov ecx, 0x917b43d0
xor edx, edx
div ecx
and eax, 0x1d63031d
and eax, 0x654be05b
mov ecx, 0xf6a3481e
xor edx, edx
div ecx
and eax, 0x894702e7
sub eax, 0xaf58c2ee
or eax, 0xe515a457
or eax, 0xe0b50bc9
mov ecx, 0x15b456cd
xor edx, edx
div ecx
cmp eax, 0x6120d73f
je 0x100b0310
mov eax, dword [esi + 4]
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret 0x10
mov eax, dword [0x1014b858]
sub eax, dword [0x1014b85c]
or eax, 0x11b9be3b
mov ecx, 0x795e2002
xor edx, edx
div ecx
and eax, 0x889e836
and eax, 0x3f3d1414
imul eax, eax, 0x94f16795
sub eax, 0x87cb2e97
and eax, 0xa6a7852
xor eax, 0x90b07dec
and eax, 0x92d7303a
xor eax, 0xfd96826e
and eax, 0xf2e4eab9
imul eax, eax, 0x4954792f
sub eax, 0x4bf65785
imul eax, eax, 0xa194475a
and eax, 0x9de933b6
imul eax, eax, 0x169c2576
xor eax, 0xd0bbaf2d
or eax, 0x678cd499
and eax, 0x2693060e
or eax, 0xcc4b76f4
add eax, 0x431a56e3
imul eax, eax, 0x58732e28
mov ecx, 0x92467bec
xor edx, edx
div ecx
and eax, 0x86797f3d
xor eax, 0x7e5bf0ad
sub eax, 0xdd69dcd9
add eax, 0x49daa6ba
sub eax, 0x6c4d3bcd
imul eax, eax, 0xd4c9a6eb
and eax, 0x1c527634
add eax, 0x4ec949bc
add eax, 0xc80115f5
xor eax, 0xd3eeb0ed
cmp eax, 0x34420e2d
je 0x100b0512
mov ebx, dword [esi + 8]
mov edx, dword [esi + 0xc]
mov eax, 0x1a3b18a8
push eax
push eax
mov edi, esp
and edi, 0xfffffff8
mov esp, edi
push eax
mov ecx, esp
mov dword [edi + 4], edx
mov edx, dword [esi + 0x10]
mov dword [edi], edx
mov edx, dword [esi + 0x14]
mov dword [ecx], ebx
mov ecx, dword [ecx]
movsd xmm0, qword [edi]
movsd qword [ecx], xmm0
mov dword [ecx + 0xc], 0
mov dword [ecx + 8], 0
mov edi, dword [edx]
mov dword [ecx + 0x10], edi
mov edx, dword [edx + 4]
mov dword [ecx + 0x14], edx
cmp eax, 0x9c6c83ce
jae 0x100b0512
jmp 0x100b01ea
jmp 0x100b0046
jmp 0x100b0310
mov edi, dword [esi + 8]
mov ebx, dword [esi + 0x10]
mov ecx, dword [esi + 0xc]
push eax
push eax
mov edx, esp
and edx, 0xfffffff8
mov esp, edx
push eax
mov eax, esp
mov dword [edx + 4], ecx
mov ecx, dword [esi + 0x14]
mov dword [edx], ebx
mov dword [eax], edi
mov eax, dword [eax]
movsd xmm0, qword [edx]
movsd qword [eax], xmm0
mov dword [eax + 0xc], 0
mov dword [eax + 8], 0
mov edx, dword [ecx]
mov dword [eax + 0x10], edx
mov ecx, dword [ecx + 4]
mov dword [eax + 0x14], ecx
jmp 0x100b04b1