Function at 0x1006a490
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
sub esp, 0x2c
mov eax, dword [ebp + 0x10]
mov dword [ebp - 0x1c], eax
mov eax, dword [ebp + 0xc]
mov dword [ebp - 0x18], eax
mov eax, dword [ebp + 8]
mov dword [ebp - 0x14], eax
mov eax, dword [0x100c4198]
or eax, dword [0x100c419c]
add eax, 0x21a56283
add eax, 0xb87a5500
imul eax, eax, 0x29c326fe
and eax, 0xd19ce3a7
and eax, 0xcca55fca
sub eax, 0xdc9acc6f
and eax, 0x8dd67860
or eax, 0xbc7a972b
imul eax, eax, 0x4aa7fba0
xor eax, 0x1887491b
or eax, 0x7485bd10
mov ecx, 0x1df0ff76
xor edx, edx
div ecx
or eax, 0x4917fec0
xor eax, 0xdd8e68eb
add eax, 0x11afced
mov ecx, 0x830f9f8f
xor edx, edx
div ecx
sub eax, 0x63bc22
xor eax, 0x1a49ab3c
mov ecx, 0xaf795ea6
xor edx, edx
div ecx
xor eax, 0x7ec466dd
and eax, 0x5535d82e
mov ecx, 0x7e453669
xor edx, edx
div ecx
and eax, 0x4902c4f2
sub eax, 0x6ed2f65
sub eax, 0xd1edb41a
or eax, 0x68f8952b
xor eax, 0x27cd2f5f
or eax, 0x92a0f931
add eax, 0xf8cc0fba
add eax, 0x50deafa6
or eax, 0x93de69c3
sub eax, 0x4d5dffb6
add eax, 0x53ea1967
xor eax, 0x70483842
imul eax, eax, 0x31cd04ba
and eax, 0x49b542fc
imul eax, eax, 0xbff24968
imul eax, eax, 0x7c04cb28
add eax, 0x5e59fcd3
xor eax, 0xe9df66ff
sub eax, 0x1e3d1fec
or eax, 0x94d24d62
imul eax, eax, 0xb56acfea
and eax, 0x6ccbd2aa
or eax, 0xb9a4050a
imul eax, eax, 0x7964d2b8
imul eax, eax, 0x3d6f97c6
mov ecx, 0x9266677a
xor edx, edx
div ecx
xor eax, 0xd09969d5
and eax, 0x29f86413
and eax, 0x6f56f18
add eax, 0x9aa2e9d5
xor eax, 0x538368a
mov ecx, 0x784ebb3b
xor edx, edx
div ecx
or eax, 0xf7c97ab6
mov ecx, 0xc5c61e26
xor edx, edx
div ecx
imul eax, eax, 0xcb591559
and eax, 0x43029ac1
imul eax, eax, 0x2ea08138
sub eax, 0x251ed1fa
mov ecx, 0x6feb2332
xor edx, edx
div ecx
add eax, 0xd90b377a
or eax, 0x8f810727
sub eax, 0x31fb0bfd
or eax, 0xd7bef8a4
sub eax, 0xb0a25252
or eax, 0x8769dd94
xor eax, 0x2c42e433
and eax, 0x4bf18e4d
imul eax, eax, 0x960e1113
mov ecx, 0x7861c0c
xor edx, edx
div ecx
xor eax, 0xd9f335fd
cmp eax, 0xab36ce2f
je 0x1006aa88
mov edi, dword [ebp - 0x14]
mov ebx, dword [ebp - 0x18]
mov eax, 0xbbfa8f4e
push eax
mov ecx, esp
mov dword [ebp - 0x30], ecx
push eax
mov edx, esp
mov dword [ebp - 0x2c], edx
push eax
mov esi, esp
mov dword [ebp - 0x28], esi
push eax
mov ecx, esp
mov dword [ebp - 0x24], ecx
mov ecx, dword [ebp - 0x1c]
mov dword [edx], ecx
mov ecx, dword [ebp - 0x24]
mov dword [esi], ebx
mov dword [ecx], edi
mov ecx, 0xffffffff
sub ecx, dword [esi]
cmp ecx, dword [edx]
setb cl
mov byte [ebp - 0x1d], cl
cmp eax, 0x857a9383
je 0x1006a658
mov al, byte [ebp - 0x1d]
test al, 1
jne 0x1006a6b1
jmp 0x1006a6ef
mov dword [ebp - 0x10], 0x216
cmp dword [ebp - 0x10], 0
jg 0x1006a6cd
mov eax, dword [ebp - 0x10]
mov dword [ebp - 0x34], eax
jmp 0x1006a6e2
mov eax, dword [ebp - 0x10]
and eax, 0xffff
or eax, 0x70000
or eax, 0x80000000
mov dword [ebp - 0x34], eax
mov eax, dword [ebp - 0x30]
mov ecx, dword [ebp - 0x34]
mov dword [eax], ecx
jmp 0x1006a709
mov eax, dword [ebp - 0x30]
mov ecx, dword [ebp - 0x24]
mov esi, dword [ebp - 0x2c]
mov edx, dword [ebp - 0x28]
mov edx, dword [edx]
add edx, dword [esi]
mov ecx, dword [ecx]
mov dword [ecx], edx
mov dword [eax], 0
mov eax, dword [0x100c41a8]
sub eax, dword [0x100c41ac]
add eax, 0x4f6a7d07
xor eax, 0x164f4686
and eax, 0x9a02a489
mov ecx, 0xdba22185
xor edx, edx
div ecx
mov ecx, 0x4b4297ee
xor edx, edx
div ecx
mov ecx, 0xee89280b
xor edx, edx
div ecx
sub eax, 0x69c2ab2c
mov ecx, 0xcf7c38d
xor edx, edx
div ecx
imul eax, eax, 0x17f9cb72
or eax, 0x338c00a9
or eax, 0xbb270554
xor eax, 0x12365860
mov ecx, 0x89c09617
xor edx, edx
div ecx
sub eax, 0xd00509a7
imul eax, eax, 0x90186191
xor eax, 0x3feb681e
sub eax, 0x136cad06
mov ecx, 0xd33db42f
xor edx, edx
div ecx
sub eax, 0x145a9357
mov ecx, 0x6ce97d9c
xor edx, edx
div ecx
and eax, 0xf6401910
mov ecx, 0x5875511e
xor edx, edx
div ecx
imul eax, eax, 0xbff7626f
add eax, 0x6d4579c8
add eax, 0xecf9af6c
xor eax, 0xc92b06e3
mov ecx, 0x54ac3082
xor edx, edx
div ecx
sub eax, 0xd1212218
imul eax, eax, 0xad2a81d1
and eax, 0xb7c61268
add eax, 0xce04cf52
sub eax, 0x338d791b
xor eax, 0x48190e06
and eax, 0x9efcc591
or eax, 0x534d027c
imul eax, eax, 0xe66e37ec
and eax, 0xe04eedab
sub eax, 0xb16a6c83
or eax, 0x867d1eb5
imul eax, eax, 0xe1d02c02
or eax, 0x79be445
imul eax, eax, 0xadeafaa6
add eax, 0x1ea1f9ce
xor eax, 0x5132555f
or eax, 0xfad81821
imul eax, eax, 0x8c8939bd
and eax, 0xfe5b29c0
xor eax, 0x21521201
xor eax, 0xdb2f2bf2
add eax, 0x67c8dc87
xor eax, 0xa8ca24c0
xor eax, 0x2b9d97a8
sub eax, 0x4fa9b759
and eax, 0xcf0e36f8
add eax, 0x7ca17d97
and eax, 0x97b656b5
imul eax, eax, 0xef0ef6cc
add eax, 0x2beac507
mov ecx, 0xcaee51bc
xor edx, edx
div ecx
xor eax, 0xf8131486
imul eax, eax, 0x2156c3ab
sub eax, 0xa6473ac6
sub eax, 0xa87ce1ac
mov ecx, 0x501d113d
xor edx, edx
div ecx
xor eax, 0xd5c258
xor eax, 0xf02f1150
or eax, 0x5f57a728
or eax, 0x19f45999
or eax, 0x778a3cd7
and eax, 0x35e97c6c
imul eax, eax, 0xde3970b5
or eax, 0xf6a1522f
cmp eax, 0x84f776da
jbe 0x1006aaa6
mov ecx, dword [ebp - 0x30]
mov eax, dword [0x100c41b0]
xor edx, edx
div dword [0x100c41b4]
add eax, 0xb3fc3591
or eax, 0x487c674f
and eax, 0x3eb5b0e3
or eax, 0x8c15c9fe
add eax, 0x5050ee38
or eax, 0x2f95824f
mov esi, 0xfc205737
xor edx, edx
div esi
mov esi, 0xbea1483f
xor edx, edx
div esi
imul eax, eax, 0x25d0db51
add eax, 0x91bfac28
and eax, 0x952d6c8a
imul eax, eax, 0xa1ad21ef
mov esi, 0x5b82d5e9
xor edx, edx
div esi
or eax, 0x9240e936
sub eax, 0x74c26989
sub eax, 0x9263b488
and eax, 0x1acc9cde
xor eax, 0x2907f08f
and eax, 0xfe4505a
xor eax, 0x131ef80e
sub eax, 0x2b704c5f
sub eax, 0xe1ad0362
or eax, 0x57ba0554
add eax, 0x976750b7
imul eax, eax, 0x206e5ed5
add eax, 0xf9621275
or eax, 0xc7080ba0
add eax, 0x594db7
mov esi, 0x98f1da94
xor edx, edx
div esi
xor eax, 0x10bb48e3
sub eax, 0x9a214b86
add eax, 0x99a306af
xor eax, 0x30e17266
sub eax, 0xf2a4be3c
sub eax, 0x5715dcc2
or eax, 0xa080c63
add eax, 0xe30f097d
add eax, 0x990a320c
xor eax, 0x776b5c61
xor eax, 0xca1cc96e
mov esi, 0x80b55e1f
xor edx, edx
div esi
add eax, 0x9a110726
add eax, 0x3f2df1fa
and eax, 0x6c183994
mov esi, 0x84b791a2
xor edx, edx
div esi
and eax, 0x9780872c
mov esi, 0xcb6e613b
xor edx, edx
div esi
sub eax, 0xee0e5e76
mov esi, 0x6734949d
xor edx, edx
div esi
or eax, 0x567599d2
mov esi, 0x9965fc31
xor edx, edx
div esi
imul eax, eax, 0xc2dec9f6
imul eax, eax, 0xdd555ba1
and eax, 0xbd4aa34c
mov esi, 0x657e87f5
xor edx, edx
div esi
imul eax, eax, 0x87bcddbc
imul eax, eax, 0xe094d2bd
xor eax, 0x68367da5
and eax, 0xa432efe1
or eax, 0x28a243b2
or eax, 0xc3bd114d
or eax, 0x515bf93b
add eax, 0x7f781e8d
or eax, 0x6043dde6
sub eax, 0x5136a696
add eax, 0xc3fabd57
mov esi, 0x2bb3b24c
xor edx, edx
div esi
xor eax, 0x3e1f254e
xor eax, 0x2da3f81f
mov esi, 0xba027f3
xor edx, edx
div esi
xor eax, 0x363813f6
add eax, 0x4649fe9a
mov ecx, dword [ecx]
mov dword [ebp - 0x38], ecx
cmp eax, 0x4409392f
jb 0x1006a8be
mov eax, dword [ebp - 0x38]
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
mov ecx, dword [ebp - 0x14]
mov esi, dword [ebp - 0x18]
mov ebx, dword [ebp - 0x1c]
push eax
push eax
mov edi, esp
push eax
mov edx, esp
push eax
mov eax, esp
mov dword [edi], ebx
mov dword [edx], esi
mov dword [eax], ecx
jmp 0x1006a658
jmp 0x1006a8be