Function at 0x10102e90
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
sub esp, 0x40
mov dword [ebp - 0x20], ecx
mov eax, dword [ebp + 0x14]
mov dword [ebp - 0x1c], eax
mov al, byte [ebp + 0x10]
mov byte [ebp - 0x15], al
mov eax, dword [ebp + 0xc]
mov dword [ebp - 0x14], eax
mov eax, dword [ebp + 8]
mov dword [ebp - 0x10], eax
mov eax, dword [str.zP__]
xor edx, edx
div dword [0x1014e9dc]
sub eax, 0xe6a098ef
and eax, 0xfdb41ffd
xor eax, 0x7994ede3
add eax, 0xeda561f9
mov ecx, 0x7e896731
xor edx, edx
div ecx
or eax, 0xa3e415ff
add eax, 0xa46b0b21
or eax, 0x8feaa220
sub eax, 0x4afb3c7a
xor eax, 0xb1af1114
imul eax, eax, 0x49975de7
add eax, 0xb9210608
add eax, 0x5f4f7238
and eax, 0x35e938ca
or eax, 0x9f8d5073
or eax, 0x70e6844f
sub eax, 0xd63910b6
sub eax, 0xcb45153c
add eax, 0xef65678b
imul eax, eax, 0x373c83af
add eax, 0x7b9e40db
mov ecx, 0xb1db3e13
xor edx, edx
div ecx
add eax, 0x4d746ce0
add eax, 0x5a02e133
and eax, 0x877963c9
sub eax, 0xe00934b9
xor eax, 0x14138465
imul eax, eax, 0xd9fbfe0a
add eax, 0xfce6e022
mov ecx, 0x2b08120b
xor edx, edx
div ecx
xor eax, 0x2cf0847a
mov ecx, 0x6a48c3c0
xor edx, edx
div ecx
mov ecx, 0x49b7ca8a
xor edx, edx
div ecx
cmp eax, 0xdc97c72
je 0x1010364e
mov eax, dword [0x1014e9e0]
xor edx, edx
div dword [0x1014e9e4]
and eax, 0xe09f566a
mov ecx, 0x71292aae
xor edx, edx
div ecx
imul eax, eax, 0xc5605b56
sub eax, 0xfebe7ef
add eax, 0x63e715a9
add eax, 0xc0b7003a
add eax, 0xfa68f605
xor eax, 0x4ae6dabd
and eax, 0x164bcab4
add eax, 0xbcc35393
sub eax, 0x29c425b2
or eax, 0x4fc25e47
sub eax, 0xb8a0f63c
sub eax, 0x986c6f39
add eax, 0xd1ad5d38
xor eax, 0x538e557e
xor eax, 0x90f08581
imul eax, eax, 0xa0f7b0a3
imul eax, eax, 0x101a84fb
mov ecx, 0x770d4cc4
xor edx, edx
div ecx
sub eax, 0xb276ec07
add eax, 0xa78179ea
or eax, 0xebbe3562
and eax, 0x3fd1f373
imul eax, eax, 0xe046f1bf
xor eax, 0x934db872
add eax, 0x42410fac
imul eax, eax, 0x467bd3b7
add eax, 0x6fa53d18
add eax, 0xb36ea429
add eax, 0x1e88e2c
add eax, 0xc03f8e6f
add eax, 0xc037a5d6
cmp eax, 0x8b673a0e
je 0x10102f88
mov eax, dword [0x1014e9e8]
or eax, dword [str.R_n:m]
imul eax, eax, 0x198f4f91
imul eax, eax, 0x590b5a4a
or eax, 0xf9b52463
imul eax, eax, 0x7c7b9235
and eax, 0xcac6be66
mov ecx, 0xbb2950ca
xor edx, edx
div ecx
add eax, 0xadfadc48
and eax, 0x93dcb99b
or eax, 0x33459a00
mov ecx, 0x24b31cca
xor edx, edx
div ecx
xor eax, 0x97a6ffc4
and eax, 0xd9e4a43a
imul eax, eax, 0x6b1387bd
add eax, 0xf863f542
and eax, 0x95baa444
xor eax, 0x3f8666b0
or eax, 0x30c79665
mov ecx, 0xd3d337c7
xor edx, edx
div ecx
add eax, 0xb9274dac
xor eax, 0x20591634
xor eax, 0x76931370
or eax, 0x26dc1bee
mov ecx, 0x3ac9d7f6
xor edx, edx
div ecx
and eax, 0x19791a69
or eax, 0xba9950fa
and eax, 0x50b96ae9
add eax, 0xd92e4950
xor eax, 0x9cb6dcb5
and eax, 0x490119cd
or eax, 0x5b934358
xor eax, 0x7dd024fb
or eax, 0x88f067dd
sub eax, 0xc281bfe4
cmp eax, 0x8d17c5d3
jbe 0x101034f6
mov eax, dword [0x1014e9f0]
or eax, dword [0x1014e9f4]
and eax, 0x20ff00f8
mov ecx, 0x67062dad
xor edx, edx
div ecx
and eax, 0x15445b37
add eax, 0xd850e50b
mov ecx, 0x28a33d18
xor edx, edx
div ecx
add eax, 0x5f121b66
imul eax, eax, 0xe133dfb7
and eax, 0xb5c74b75
sub eax, 0xb3d2479d
or eax, 0xaca7af6
add eax, 0x4054b994
imul eax, eax, 0x27a01687
add eax, 0x5deb1a5f
sub eax, 0xdca579e1
imul eax, eax, 0x1c554bd1
or eax, 0x70933486
mov ecx, 0x8c7a029a
xor edx, edx
div ecx
sub eax, 0xc16b0b28
imul eax, eax, 0x1de74ba7
or eax, 0x780a1fe4
imul eax, eax, 0xb0cf1e1c
sub eax, 0x2855f69e
imul eax, eax, 0xcd0a1845
mov ecx, 0xb6a3f2c6
xor edx, edx
div ecx
imul eax, eax, 0x41ad1679
sub eax, 0x73e65199
and eax, 0x46a37ec4
sub eax, 0xa4309629
mov ecx, 0xc5e590b5
xor edx, edx
div ecx
xor eax, 0xea2a762e
mov ecx, 0xfba5ad54
xor edx, edx
div ecx
imul eax, eax, 0x83f08d29
or eax, 0xe1c68042
cmp eax, 0x63a3a6f4
jb 0x10103653
mov ebx, dword [ebp - 0x14]
mov edi, dword [ebp - 0x1c]
mov eax, 3
mov dword [ebp - 0x28], eax
push eax
mov edx, esp
mov dword [ebp - 0x30], edx
push eax
mov eax, esp
push eax
mov ecx, esp
mov dword [ebp - 0x2c], ecx
push eax
mov esi, esp
push eax
mov ecx, esp
mov dword [edx], edi
mov edi, dword [ebp - 0x10]
mov dl, byte [ebp - 0x15]
mov byte [eax], dl
mov edx, dword [ebp - 0x20]
mov eax, dword [ebp - 0x2c]
mov dword [eax], ebx
mov dword [esi], edi
mov dword [ecx], edx
sub esp, 8
mov dword [esp], esi
mov dword [esp + 4], eax
call fcn.10107550
mov ecx, dword [ebp - 0x30]
mov eax, dword [ebp - 0x2c]
add esp, 8
mov edx, dword [ecx]
mov ecx, dword [esi]
mov eax, dword [eax]
mov esi, dword [esi]
sub eax, esi
sub esp, 0xc
mov dword [esp], edx
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
call fcn.10120ba0
mov ecx, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x28]
add esp, 0xc
mov ecx, dword [ecx]
mov dword [ebp - 0x24], ecx
cmp eax, 0x2e10711f
je 0x101031fc
mov eax, dword [0x1014ea00]
and eax, dword [0x1014ea04]
mov ecx, 0x3f52806c
xor edx, edx
div ecx
imul eax, eax, 0x813b7689
add eax, 0x9c9a9181
imul eax, eax, 0x8089d5bc
mov ecx, 0x90791a42
xor edx, edx
div ecx
or eax, 0xfbda69dc
xor eax, 0xa30af1d4
and eax, 0xae1dba01
imul eax, eax, 0x5f2bb588
imul eax, eax, 0xd725d831
and eax, 0x737d0443
imul eax, eax, 0x5a1ce5a
imul eax, eax, 0xfcc8d579
sub eax, 0xc6a50521
xor eax, 0x163883ee
imul eax, eax, 0x9dabe1eb
sub eax, 0x6908d1d4
add eax, 0x94d60db7
add eax, 0x565af76b
sub eax, 0x3bb0e3c4
sub eax, 0x5a1ca0d7
or eax, 0x73c6a50e
imul eax, eax, 0xf677626c
mov ecx, 0xda2fb341
xor edx, edx
div ecx
xor eax, 0x9ad52871
or eax, 0xdac12033
mov ecx, 0xf01c9260
xor edx, edx
div ecx
add eax, 0x5b882f7d
xor eax, 0x21a4e484
or eax, 0x773c7986
imul eax, eax, 0x4b01771c
and eax, 0x2fbd0e04
and eax, 0x48cfcb60
cmp eax, 0xde62f84f
ja 0x10103121
mov eax, dword [0x1014ea08]
sub eax, dword [0x1014ea0c]
and eax, 0x66bb7c9d
imul eax, eax, 0xa26600b5
xor eax, 0x6423dc01
sub eax, 0x697ed71e
or eax, 0x7ddd1c65
xor eax, 0xbb8801f5
xor eax, 0xa22a102b
mov ecx, 0x95dbcff5
xor edx, edx
div ecx
add eax, 0x90a3d60d
or eax, 0x5d7939f3
or eax, 0x567341db
add eax, 0x2a027001
xor eax, 0x636ffcb8
or eax, 0xa963e460
xor eax, 0xbd6b1f24
xor eax, 0xd73fb320
add eax, 0x19fe1264
sub eax, 0x7e132e03
and eax, 0x33865f0a
mov ecx, 0x89720e05
xor edx, edx
div ecx
mov ecx, 0xaa2730a7
xor edx, edx
div ecx
mov ecx, 0x200f6d17
xor edx, edx
div ecx
or eax, 0xee57db51
and eax, 0xc3600189
imul eax, eax, 0x28fc3c27
or eax, 0x83efe03f
and eax, 0x7faa910a
imul eax, eax, 0x253cec37
or eax, 0x68ff9caa
and eax, 0x85515dd8
xor eax, 0x1ea77416
or eax, 0x23093cc8
sub eax, 0xc02f0f31
cmp eax, 0xd6e85c6d
jbe 0x101036c1
mov eax, dword [0x1014ea10]
or eax, dword [0x1014ea14]
add eax, 0x706cf79e
or eax, 0x193aae6f
sub eax, 0xe2bf2150
or eax, 0x91bbd4c4
and eax, 0xad232aa1
xor eax, 0xc3445e24
imul eax, eax, 0x100530b8
and eax, 0xde9951f
xor eax, 0x7556ce9f
and eax, 0x5bb00a99
and eax, 0x63f04798
and eax, 0x8ccfdfad
or eax, 0xc14f5481
sub eax, 0xc37ff65f
or eax, 0xad9ffdff
and eax, 0x74c4c343
and eax, 0x1d16a2a
xor eax, 0xf74e9405
sub eax, 0x2f5dd515
sub eax, 0x98924a93
mov ecx, 0x154428a4
xor edx, edx
div ecx
sub eax, 0x5de5166f
xor eax, 0xdfc0c33
or eax, 0x9b8cbd29
or eax, 0x2b65ee1
or eax, 0xe3b80868
and eax, 0xea2b6c44
sub eax, 0xcb5dcb43
and eax, 0x79d84731
sub eax, 0x70f69ade
mov ecx, 0xec295a43
xor edx, edx
div ecx
xor eax, 0xd3d22308
add eax, 0xc6716029
cmp eax, 0x919cb68b
jbe 0x10103425
mov eax, dword [ebp - 0x24]
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret 0x10
mov eax, dword [0x1014ea18]
sub eax, dword [0x1014ea1c]
or eax, 0xe1cd1362
add eax, 0x58a427dd
xor eax, 0xad65e164
sub eax, 0x81f91fa9
xor eax, 0xaaf47467
add eax, 0xca16f8b0
and eax, 0x88e4304
add eax, 0xca152d61
add eax, 0xf2cb6102
xor eax, 0xe953c861
and eax, 0x2e3ef67f
add eax, 0xa88c475e
imul eax, eax, 0x369d920a
imul eax, eax, 0xd2c59213
mov ecx, 0x8bbd3b57
xor edx, edx
div ecx
sub eax, 0x3e8ccb89
and eax, 0xbd7e96e1
and eax, 0xe49cb539
sub eax, 0x7015665
xor eax, 0x28ebec91
mov ecx, 0x9273e39b
xor edx, edx
div ecx
imul eax, eax, 0xf4773cdb
imul eax, eax, 0x42fcc661
or eax, 0xd7351162
and eax, 0x3b11fb2e
add eax, 0x6203833a
xor eax, 0x874e31c5
sub eax, 0x8cde009e
imul eax, eax, 0xc7cda7eb
mov ecx, 0x157ef1d0
xor edx, edx
div ecx
xor eax, 0xf21cd954
mov ecx, 0x615b330a
xor edx, edx
div ecx
mov ecx, 0xd1c83e77
xor edx, edx
div ecx
cmp eax, 0x8689c5e8
ja 0x101036c6
mov ebx, dword [ebp - 0x14]
mov edi, dword [ebp - 0x1c]
mov eax, 0x82f65d00
mov dword [ebp - 0x34], eax
push eax
mov edx, esp
mov dword [ebp - 0x3c], edx
push eax
mov eax, esp
push eax
mov ecx, esp
mov dword [ebp - 0x38], ecx
push eax
mov esi, esp
push eax
mov ecx, esp
mov dword [edx], edi
mov edi, dword [ebp - 0x10]
mov dl, byte [ebp - 0x15]
mov byte [eax], dl
mov edx, dword [ebp - 0x20]
mov eax, dword [ebp - 0x38]
mov dword [eax], ebx
mov dword [esi], edi
mov dword [ecx], edx
sub esp, 8
mov dword [esp], esi
mov dword [esp + 4], eax
call fcn.10107550
mov ecx, dword [ebp - 0x3c]
mov eax, dword [ebp - 0x38]
add esp, 8
mov edx, dword [ecx]
mov ecx, dword [esi]
mov eax, dword [eax]
mov esi, dword [esi]
sub eax, esi
sub esp, 0xc
mov dword [esp], edx
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
call fcn.10120ba0
mov eax, dword [ebp - 0x34]
add esp, 0xc
cmp eax, 0xca82b341
jae 0x101036c6
jmp 0x10103121
jmp 0x10102f88
mov ebx, dword [ebp - 0x14]
mov edi, dword [ebp - 0x1c]
push eax
mov edx, esp
mov dword [ebp - 0x44], edx
push eax
mov eax, esp
push eax
mov ecx, esp
mov dword [ebp - 0x40], ecx
push eax
mov esi, esp
push eax
mov ecx, esp
mov dword [edx], edi
mov edi, dword [ebp - 0x10]
mov dl, byte [ebp - 0x15]
mov byte [eax], dl
mov edx, dword [ebp - 0x20]
mov eax, dword [ebp - 0x40]
mov dword [eax], ebx
mov dword [esi], edi
mov dword [ecx], edx
sub esp, 8
mov dword [esp], esi
mov dword [esp + 4], eax
call fcn.10107550
mov ecx, dword [ebp - 0x44]
mov eax, dword [ebp - 0x40]
add esp, 8
mov edx, dword [ecx]
mov ecx, dword [esi]
mov eax, dword [eax]
mov esi, dword [esi]
sub eax, esi
sub esp, 0xc
mov dword [esp], edx
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
call fcn.10120ba0
add esp, 0xc
jmp 0x101031fc
jmp 0x10103425
mov ebx, dword [ebp - 0x14]
mov edi, dword [ebp - 0x1c]
push eax
mov edx, esp
mov dword [ebp - 0x4c], edx
push eax
mov eax, esp
push eax
mov ecx, esp
mov dword [ebp - 0x48], ecx
push eax
mov esi, esp
push eax
mov ecx, esp
mov dword [edx], edi
mov edi, dword [ebp - 0x10]
mov dl, byte [ebp - 0x15]
mov byte [eax], dl
mov edx, dword [ebp - 0x20]
mov eax, dword [ebp - 0x48]
mov dword [eax], ebx
mov dword [esi], edi
mov dword [ecx], edx
sub esp, 8
mov dword [esp], esi
mov dword [esp + 4], eax
call fcn.10107550
mov ecx, dword [ebp - 0x4c]
mov eax, dword [ebp - 0x48]
add esp, 8
mov edx, dword [ecx]
mov ecx, dword [esi]
mov eax, dword [eax]
mov esi, dword [esi]
sub eax, esi
sub esp, 0xc
mov dword [esp], edx
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
call fcn.10120ba0
add esp, 0xc
jmp 0x101035ca