Function at 0x10107550
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
push edi
push esi
sub esp, 8
mov eax, dword [ebp + 0xc]
mov dword [ebp - 0x10], eax
mov eax, dword [ebp + 8]
mov dword [ebp - 0xc], eax
mov eax, dword [0x1014ec98]
imul eax, dword [0x1014ec9c]
imul eax, eax, 0x29b4186a
imul eax, eax, 0x8e18c714
add eax, 0x749db066
add eax, 0x2211cfaf
add eax, 0x5df52fd0
imul eax, eax, 0x9cc64302
xor eax, 0x4c57b97f
xor eax, 0xe0512b51
and eax, 0x531cfda8
xor eax, 0xee07b960
mov ecx, 0x5a88c44a
xor edx, edx
div ecx
xor eax, 0x40c0171b
mov ecx, 0x2710865c
xor edx, edx
div ecx
imul eax, eax, 0x8444f076
mov ecx, 0x3437502f
xor edx, edx
div ecx
and eax, 0x79990231
or eax, 0xa9459cbf
add eax, 0xbfefaf6
mov ecx, 0x908945b6
xor edx, edx
div ecx
mov ecx, 0x184f8d0f
xor edx, edx
div ecx
sub eax, 0xf4fecf25
or eax, 0xf1bfa4b
and eax, 0xf043370f
sub eax, 0xbde31d2b
sub eax, 0xc9b3d979
and eax, 0x4403cda9
imul eax, eax, 0x7b67abe4
sub eax, 0xb652c52a
mov ecx, 0x8bd6d002
xor edx, edx
div ecx
sub eax, 0x3af51c8a
add eax, 0xfcb75b20
mov ecx, 0x9b637274
xor edx, edx
div ecx
sub eax, 0xa4b61aaf
cmp eax, 0x234a8b1
je 0x10107b78
mov eax, dword [0x1014eca0]
sub eax, dword [str.:__]
and eax, 0x86433dd3
sub eax, 0xd6acde71
mov ecx, 0xcbceb7b
xor edx, edx
div ecx
mov ecx, 0x20ec80f8
xor edx, edx
div ecx
sub eax, 0x1e74650b
mov ecx, 0xfd40fc44
xor edx, edx
div ecx
xor eax, 0xd3429380
and eax, 0xf612b3da
add eax, 0xed3f64b7
add eax, 0x3af23f3
sub eax, 0x841b597
sub eax, 0xcd488533
add eax, 0x2543e7f4
xor eax, 0x7ea5e931
mov ecx, 0xc61335b6
xor edx, edx
div ecx
xor eax, 0x72681c5f
mov ecx, 0x462c143b
xor edx, edx
div ecx
imul eax, eax, 0xbd5d0407
add eax, 0xa0bd35ce
and eax, 0xf1f484e3
sub eax, 0x6297e6c
xor eax, 0x9ffd5adb
mov ecx, 0x20eeae0c
xor edx, edx
div ecx
imul eax, eax, 0x55961ecc
add eax, 0x6bdc5e64
or eax, 0x4f00045e
mov ecx, 0xf3a81397
xor edx, edx
div ecx
mov ecx, 0x20a696b0
xor edx, edx
div ecx
add eax, 0xb46ec6aa
mov ecx, 0x855a6b0b
xor edx, edx
div ecx
xor eax, 0xe77456f4
add eax, 0xdc44787d
add eax, 0xd6ecb76f
cmp eax, 0x234370de
jb 0x10107b78
mov eax, dword [0x1014eca8]
or eax, dword [0x1014ecac]
add eax, 0x587c5298
xor eax, 0x8500cdbb
add eax, 0xb0affb60
imul eax, eax, 0x614f12df
add eax, 0x95b14f46
add eax, 0x8aea1f48
imul eax, eax, 0xa776e942
imul eax, eax, 0xbf0fe6e9
add eax, 0x2e29c17b
or eax, 0xb211c628
xor eax, 0x8bafe03f
or eax, 0x4e1f9123
and eax, 0x1f9a46ab
or eax, 0xf69fec3e
xor eax, 0xa6c1cd03
xor eax, 0xa6dbdbfd
sub eax, 0x7c3935f0
sub eax, 0xb9360a0e
and eax, 0xde427df6
mov ecx, 0x260e40c3
xor edx, edx
div ecx
imul eax, eax, 0x18681de2
or eax, 0xfe0dec25
add eax, 0xd40397ae
sub eax, 0x780621c4
sub eax, 0x55e7aa7
mov ecx, 0xf65826
xor edx, edx
div ecx
or eax, 0xb4d92c7c
imul eax, eax, 0x13cb4b
add eax, 0x751f5ba7
and eax, 0xb7008af1
mov ecx, 0xf297d27
xor edx, edx
div ecx
or eax, 0xf9aa061d
and eax, 0x45688cc8
cmp eax, 0x7facd59c
ja 0x10107b63
mov eax, dword [0x1014ecb0]
xor edx, edx
div dword [0x1014ecb4]
xor eax, 0xb7639da8
and eax, 0x6b826e6e
mov ecx, 0x8d34a69d
xor edx, edx
div ecx
add eax, 0xe29e5a73
add eax, 0xd0c07b
imul eax, eax, 0x533a2e13
or eax, 0x3ace7280
sub eax, 0xf741abd3
xor eax, 0xc6fc51cd
and eax, 0xa5194029
add eax, 0x65145c8b
xor eax, 0x17040650
add eax, 0x8b226423
add eax, 0x606c1d8e
imul eax, eax, 0x35e30813
mov ecx, 0x2fa4ef2c
xor edx, edx
div ecx
and eax, 0xb634bddb
xor eax, 0x78094f95
sub eax, 0x63f8ba38
mov ecx, 0x3ac55cd8
xor edx, edx
div ecx
and eax, 0x6e108508
sub eax, 0x729d427d
xor eax, 0x36d5d7c
and eax, 0xa57fd918
mov ecx, 0xae06ba56
xor edx, edx
div ecx
and eax, 0xf26a2fae
sub eax, 0x72724a59
sub eax, 0x6846f756
imul eax, eax, 0x588be5ce
xor eax, 0xb2b4ef9
mov ecx, 0x9d31948f
xor edx, edx
div ecx
add eax, 0xeba86730
mov ecx, 0x196b00ef
xor edx, edx
div ecx
cmp eax, 0x81edfe36
jae 0x10107b7d
mov edx, dword [ebp - 0xc]
mov edi, dword [ebp - 0x10]
mov eax, 0x3dbfe500
push eax
mov esi, esp
push eax
mov ecx, esp
mov dword [esi], edi
mov dword [ecx], edx
cmp eax, 0xcf89e82
je 0x101078c6
mov eax, dword [0x1014ecc0]
add eax, dword [0x1014ecc4]
imul eax, eax, 0xd69c5ba7
xor eax, 0x6bdfa75
or eax, 0x2f426d18
or eax, 0x6d25bcad
add eax, 0x786a50f
and eax, 0x768e03e1
xor eax, 0xc88add55
xor eax, 0xa69f01fc
imul eax, eax, 0x3a929c78
imul eax, eax, 0x25ec0abd
or eax, 0xb03700f2
imul eax, eax, 0xe43b8ae5
or eax, 0x9c2ecc9c
xor eax, 0xf0d26584
mov ecx, 0xd059d2d
xor edx, edx
div ecx
xor eax, 0x68275ddd
add eax, 0xe2e9f068
and eax, 0xbcf3486d
mov ecx, 0xe2f7bfda
xor edx, edx
div ecx
or eax, 0xd1524e4d
and eax, 0x4050c6dd
imul eax, eax, 0x308c0068
sub eax, 0x5d9d0fd5
mov ecx, 0x26548e4b
xor edx, edx
div ecx
add eax, 0xcf4f6ee0
sub eax, 0x5d1b2a53
sub eax, 0x5b987134
add eax, 0xa501f0b1
mov ecx, 0x3d18183b
xor edx, edx
div ecx
imul eax, eax, 0xe1633fb
imul eax, eax, 0xbbdcde0c
mov ecx, 0x68e01311
xor edx, edx
div ecx
imul eax, eax, 0x432ec0e0
cmp eax, 0xc88cc922
ja 0x10107b63
mov eax, dword [0x1014ecc8]
add eax, dword [0x1014eccc]
sub eax, 0xe1ca5ed1
add eax, 0xaeaba52e
sub eax, 0x508ca48e
add eax, 0x2441a3f8
add eax, 0xf4e06667
add eax, 0x8b2e2a0f
add eax, 0x2081a9ae
imul eax, eax, 0x33234526
mov ecx, 0xf63abad2
xor edx, edx
div ecx
sub eax, 0x33af57a6
sub eax, 0x7b0cb30c
xor eax, 0x45e6cba7
imul eax, eax, 0x2a779911
sub eax, 0x6a416dfb
imul eax, eax, 0x7253602f
or eax, 0x21be6c70
xor eax, 0xc8bd97d
or eax, 0x4fc9930
or eax, 0x8a69a8ec
imul eax, eax, 0x7f1fbad2
add eax, 0x2946e115
sub eax, 0x2fdf24e0
and eax, 0x7558b437
sub eax, 0xc6de4831
xor eax, 0xd452a9d8
xor eax, 0x823af908
or eax, 0x9ea5864c
sub eax, 0x148a9f21
sub eax, 0x6c05636e
xor eax, 0x70167098
add eax, 0x403b2295
imul eax, eax, 0x1ede0ff1
xor eax, 0xd60eb41b
cmp eax, 0xf1e07a40
ja 0x10107b92
mov eax, dword [0x1014ecd0]
imul eax, dword [0x1014ecd4]
mov ecx, 0x5d848b1f
xor edx, edx
div ecx
mov ecx, 0x17c982e9
xor edx, edx
div ecx
imul eax, eax, 0x272dcca3
mov ecx, 0x708886e2
xor edx, edx
div ecx
or eax, 0xff963fb1
and eax, 0x2c299e99
xor eax, 0xdb1bd862
xor eax, 0xec711f69
or eax, 0x187b0825
sub eax, 0xbebb208
imul eax, eax, 0x5e0b9577
imul eax, eax, 0xc108d6cf
or eax, 0xc4991922
sub eax, 0xa7108e3a
and eax, 0x47237e88
mov ecx, 0xaa0d178c
xor edx, edx
div ecx
xor eax, 0x1b58fcbc
mov ecx, 0xc8aff3bc
xor edx, edx
div ecx
imul eax, eax, 0x6401cb22
xor eax, 0x55be45b5
imul eax, eax, 0x9efa5a11
and eax, 0x4f4e1f68
xor eax, 0x9904ac3d
mov ecx, 0xe66c3a51
xor edx, edx
div ecx
xor eax, 0xd92cd58e
and eax, 0x69336d23
imul eax, eax, 0x8655bc5d
and eax, 0x752a2c8b
imul eax, eax, 0x36dac362
and eax, 0xda4a3f45
and eax, 0xe47e7335
add eax, 0xa25a622f
add eax, 0xc5668905
cmp eax, 0xc809fc64
jae 0x10107a81
lea esp, [ebp - 8]
pop esi
pop edi
pop ebp
ret
mov ecx, dword [ebp - 0xc]
mov esi, dword [ebp - 0x10]
push eax
mov edx, esp
push eax
mov eax, esp
mov dword [edx], esi
mov dword [eax], ecx
jmp 0x101077ee
jmp 0x10107641
mov ecx, dword [ebp - 0xc]
mov esi, dword [ebp - 0x10]
push eax
mov edx, esp
push eax
mov eax, esp
mov dword [edx], esi
mov dword [eax], ecx
jmp 0x101078c6
jmp 0x10107a81