Function at 0x10102770
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
push ebx
push esi
sub esp, 0xc
mov dword [ebp - 0x10], ecx
mov al, byte [ebp + 8]
mov byte [ebp - 9], al
mov eax, dword [0x1014e988]
or eax, dword [0x1014e98c]
imul eax, eax, 0x42e0f9f
mov ecx, 0x28491f45
xor edx, edx
div ecx
add eax, 0x2cdf2700
imul eax, eax, 0x5ddef9f3
add eax, 0xfc5f5859
xor eax, 0x30e52d9d
sub eax, 0x2227c14b
or eax, 0x7e3892dc
mov ecx, 0xb3c627b
xor edx, edx
div ecx
and eax, 0xcf1b0902
xor eax, 0x3ed51808
add eax, 0xfb9ef07a
mov ecx, 0xc1781a78
xor edx, edx
div ecx
mov ecx, 0x30d703b9
xor edx, edx
div ecx
or eax, 0xd897798e
add eax, 0x91e4235f
xor eax, 0xff3cbff6
and eax, 0x31ac0dff
imul eax, eax, 0x986c80ff
and eax, 0xde0ff4cc
or eax, 0x3801ae37
and eax, 0xae226f83
or eax, 0x1e325a18
imul eax, eax, 0xdc2d33b3
imul eax, eax, 0x233d639c
mov ecx, 0x90105bab
xor edx, edx
div ecx
add eax, 0xeaf5cb1b
or eax, 0x765b2ff9
add eax, 0xd213c82a
and eax, 0x468bd881
mov ecx, 0x8e1f41d0
xor edx, edx
div ecx
add eax, 0x67feb856
and eax, 0xf5509d00
cmp eax, 0x1ff283a
jb 0x10102e51
mov eax, dword [0x1014e990]
or eax, dword [0x1014e994]
or eax, 0x6a426c15
add eax, 0xb7ea56ac
add eax, 0x30dbadad
and eax, 0xa4f125b5
add eax, 0xba03e69b
and eax, 0x52e07e5f
sub eax, 0x23d1891e
add eax, 0xa2640ed9
and eax, 0xb0c91ba4
add eax, 0x116288fd
and eax, 0xc348b128
mov ecx, 0xf5f91dbf
xor edx, edx
div ecx
or eax, 0x262ced6c
add eax, 0x833da09c
xor eax, 0x370a0a47
xor eax, 0x55a9eb07
add eax, 0xceff0493
mov ecx, 0xe6f8af34
xor edx, edx
div ecx
imul eax, eax, 0xce35eaa1
add eax, 0x1923cf3
sub eax, 0xb2830206
add eax, 0x925cc6bd
xor eax, 0x233645ef
or eax, 0xd0995670
and eax, 0x5bccf523
sub eax, 0x79641840
and eax, 0x630be180
add eax, 0x9a6056a7
sub eax, 0x928c47d8
xor eax, 0xfc07a6f1
sub eax, 0xecb5597c
add eax, 0x75f0a376
xor eax, 0x3fa38741
cmp eax, 0xb702e43c
ja 0x10102e51
mov eax, dword [0x1014e998]
sub eax, dword [0x1014e99c]
or eax, 0xf6e7d37a
xor eax, 0x639dae76
add eax, 0xd343352a
imul eax, eax, 0xf67bb76e
add eax, 0x7af1dd3
and eax, 0xdf458b7c
imul eax, eax, 0x89f63b3a
and eax, 0xfe6d0e20
and eax, 0x1ba368e9
add eax, 0xed68d9ca
xor eax, 0xd026e767
mov ecx, 0xa706c5f9
xor edx, edx
div ecx
and eax, 0x60c3c74d
sub eax, 0x89ccf527
add eax, 0xd84a7a79
xor eax, 0x815dfc5f
or eax, 0xca169245
sub eax, 0xd77272da
sub eax, 0x9a56bcc5
and eax, 0x3c95ad72
and eax, 0x783f9881
and eax, 0x7ccc32bf
xor eax, 0x7b2b2522
or eax, 0x3c7bed51
imul eax, eax, 0xf85ae89c
mov ecx, 0xa06adfb7
xor edx, edx
div ecx
sub eax, 0x270e4d
xor eax, 0x6e97c99f
sub eax, 0x7b3a30ac
sub eax, 0xc31fe258
add eax, 0x6eca448a
add eax, 0x4ebad909
sub eax, 0x17a81bed
cmp eax, 0xf04ad121
jbe 0x10102d5f
mov eax, dword [0x1014e9a0]
or eax, dword [0x1014e9a4]
xor eax, 0x8dae7ee7
add eax, 0x5f336262
xor eax, 0x70a0a160
add eax, 0xf2ca38ff
imul eax, eax, 0x1646a9da
and eax, 0xc7c1e369
and eax, 0xa3293986
and eax, 0xfbf0db38
add eax, 0xa6d2018c
or eax, 0xe27df3cb
xor eax, 0xb593b7e2
or eax, 0x66f1847
add eax, 0x1a7579c
add eax, 0x54e65c0a
imul eax, eax, 0x4ea6151e
sub eax, 0xe3127663
mov ecx, 0x8e900769
xor edx, edx
div ecx
add eax, 0x975d14dc
xor eax, 0x7d9af7e6
and eax, 0x66e556e1
add eax, 0x7494d56d
xor eax, 0xe96d82b6
mov ecx, 0xfd59a046
xor edx, edx
div ecx
sub eax, 0x5ad274a7
add eax, 0x668c84ad
sub eax, 0x80739798
xor eax, 0x3b08d406
imul eax, eax, 0xf985410f
add eax, 0x41b18db
imul eax, eax, 0xf6ae4792
add eax, 0x9008d18a
and eax, 0x8a8e0a7c
and eax, 0xd2268cc1
cmp eax, 0x96bd91dc
je 0x10102e56
mov esi, dword [ebp - 0x10]
mov bl, byte [ebp - 9]
mov eax, 0x73e4da7
push eax
mov ecx, esp
push eax
mov edx, esp
mov byte [ecx], bl
mov dword [edx], esi
mov cl, byte [ecx]
mov byte [ebp - 0x11], cl
cmp eax, 0x2c08865b
ja 0x10102e56
mov eax, dword [0x1014e9b0]
add eax, dword [0x1014e9b4]
imul eax, eax, 0x2302a385
or eax, 0x4efac4d2
mov ecx, 0x3e062d6d
xor edx, edx
div ecx
mov ecx, 0x68c7bf03
xor edx, edx
div ecx
sub eax, 0x3f3ed82
imul eax, eax, 0x3988bc51
and eax, 0xb57154ea
and eax, 0x8bbf0cae
sub eax, 0xe838402c
imul eax, eax, 0xff1c9a4b
sub eax, 0xedd0efc1
imul eax, eax, 0xcb8844a9
xor eax, 0xd0f9e33a
imul eax, eax, 0x56dbbed3
sub eax, 0xa81ecfd4
imul eax, eax, 0xa826f755
mov ecx, 0x74657eef
xor edx, edx
div ecx
and eax, 0x69d7a822
add eax, 0xbe323e54
and eax, 0xb84ddcd9
imul eax, eax, 0x70aab3b3
sub eax, 0x8ebefc2d
imul eax, eax, 0x6796b8f6
or eax, 0x8cf014ad
and eax, 0x38f5d70e
and eax, 0xd523e710
mov ecx, 0xb8c15d8d
xor edx, edx
div ecx
add eax, 0x12e47051
mov ecx, 0xe5798483
xor edx, edx
div ecx
add eax, 0xf9975ce8
sub eax, 0xf9ecd127
add eax, 0x50fae2a5
add eax, 0x8c22cd65
cmp eax, 0x2aceb59b
jbe 0x10102d5f
mov eax, dword [0x1014e9b8]
add eax, dword [0x1014e9bc]
xor eax, 0x2e752201
xor eax, 0x808f9a9d
mov ecx, 0xe0ad6460
xor edx, edx
div ecx
imul eax, eax, 0x457ebc23
imul eax, eax, 0x9d2d9836
or eax, 0x516575bb
sub eax, 0xe9959cfc
and eax, 0x6fce4290
xor eax, 0x3f7c4e59
sub eax, 0xa9e144ed
mov ecx, 0x7f991e2d
xor edx, edx
div ecx
add eax, 0x184a3214
imul eax, eax, 0x643453a
sub eax, 0xce7c78c8
imul eax, eax, 0x6f8075ba
sub eax, 0xcef28e42
or eax, 0xb6704e9e
add eax, 0xd934962e
sub eax, 0xd6ef04af
xor eax, 0xc679dc21
xor eax, 0x41ae631e
or eax, 0xcacb79b2
imul eax, eax, 0xccaf1290
sub eax, 0x99716223
sub eax, 0xc701183
and eax, 0x25e0285d
add eax, 0x704fd94a
and eax, 0xe1577580
or eax, 0x71afd1d4
or eax, 0x86c938c2
mov ecx, 0x59b063bd
xor edx, edx
div ecx
mov ecx, 0xea5bfae6
xor edx, edx
div ecx
and eax, 0xf6425f45
cmp eax, 0xe31c0fd
ja 0x10102e6b
mov eax, dword [0x1014e9c0]
add eax, dword [0x1014e9c4]
imul eax, eax, 0x3b952756
sub eax, 0x3de3184c
or eax, 0x30a435c6
add eax, 0x15cab38d
xor eax, 0xa9606234
xor eax, 0x19f3d285
add eax, 0x6c3fcf05
and eax, 0x2e981f9c
mov ecx, 0x61c3a8a2
xor edx, edx
div ecx
and eax, 0x29210f85
mov ecx, 0x5e4a3950
xor edx, edx
div ecx
sub eax, 0xb9da2072
mov ecx, 0x7e9f12f1
xor edx, edx
div ecx
or eax, 0xc8202dfd
mov ecx, 0x2108de9e
xor edx, edx
div ecx
sub eax, 0x49444760
sub eax, 0x3e09214
xor eax, 0x441df64d
and eax, 0x1e20f819
mov ecx, 0x2f8dede
xor edx, edx
div ecx
and eax, 0x32fbd9a2
sub eax, 0xc3ec695a
mov ecx, 0x4a4ec97f
xor edx, edx
div ecx
xor eax, 0x463980a6
mov ecx, 0xaf80d062
xor edx, edx
div ecx
xor eax, 0x195f80f3
add eax, 0xc6694ef9
and eax, 0x31cfa3f8
and eax, 0xfedaa37c
and eax, 0x43b3bfdb
imul eax, eax, 0x1330fddd
or eax, 0x3196da63
imul eax, eax, 0xd042a4ee
cmp eax, 0x1c1a2dd4
je 0x10102c76
mov al, byte [ebp - 0x11]
movsx eax, al
lea esp, [ebp - 8]
pop esi
pop ebx
pop ebp
ret 4
mov eax, dword [0x1014e9c8]
xor edx, edx
div dword [0x1014e9cc]
imul eax, eax, 0x492e0234
imul eax, eax, 0xb84a99a2
and eax, 0x85be8576
sub eax, 0x9a0c3ddf
and eax, 0x36ed41d9
or eax, 0x321413f5
add eax, 0xf792fc57
add eax, 0x8506d33a
xor eax, 0xeec0e002
xor eax, 0xefbf32f2
and eax, 0xc68ac0d8
mov ecx, 0x6c066f7
xor edx, edx
div ecx
mov ecx, 0xb9eaf392
xor edx, edx
div ecx
xor eax, 0x220445a1
xor eax, 0xcdd4869c
and eax, 0x69bcada0
or eax, 0xd962b49a
and eax, 0xfedc3db3
and eax, 0xbbe57345
mov ecx, 0xdbbda65
xor edx, edx
div ecx
or eax, 0x35c17bdd
sub eax, 0xe953ba2c
or eax, 0x277ded08
sub eax, 0xda328a97
sub eax, 0x9e53c8ad
or eax, 0x604b4dff
add eax, 0x6b208a62
add eax, 0x88434079
imul eax, eax, 0xd3bf7b43
sub eax, 0x572946ba
or eax, 0x227834f2
imul eax, eax, 0x2fa2c60e
sub eax, 0x1025e7ba
cmp eax, 0xf225b4c4
ja 0x10102e70
mov edx, dword [ebp - 0x10]
mov bl, byte [ebp - 9]
mov eax, 0xa284d44
push eax
mov esi, esp
push eax
mov ecx, esp
mov byte [esi], bl
mov dword [ecx], edx
cmp eax, 0xa6b41162
jae 0x10102e70
jmp 0x101029e3
jmp 0x10102859
mov ecx, dword [ebp - 0x10]
mov bl, byte [ebp - 9]
push eax
mov edx, esp
push eax
mov eax, esp
mov byte [edx], bl
mov dword [eax], ecx
jmp 0x10102aaa
jmp 0x10102c76
mov ecx, dword [ebp - 0x10]
mov bl, byte [ebp - 9]
push eax
mov edx, esp
push eax
mov eax, esp
mov byte [edx], bl
mov dword [eax], ecx
jmp 0x10102e2c