Function at 0x1015bfb0
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
sub esp, 8
mov dword [ebp - 0x14], ecx
mov al, byte [ebp + 8]
mov byte [ebp - 0xd], al
mov eax, dword [0x101bd948]
xor edx, edx
div dword [str._H8R]
and eax, 0xfb4dd516
imul eax, eax, 0xb5577dda
sub eax, 0x7d553763
imul eax, eax, 0x8b2784cd
xor eax, 0x28679aaf
imul eax, eax, 0x46997ff1
mov ecx, 0x868a2aa0
xor edx, edx
div ecx
sub eax, 0xcdda4261
xor eax, 0x97ffa74f
xor eax, 0x5446ea70
imul eax, eax, 0xff382e1c
imul eax, eax, 0xf8d81886
mov ecx, 0x4143fde0
xor edx, edx
div ecx
or eax, 0x2d0f38c
and eax, 0x4be9cc79
and eax, 0x303a1ca2
xor eax, 0xd041c4f7
imul eax, eax, 0x1c5df979
imul eax, eax, 0x7e100aff
add eax, 0x335ad6a2
or eax, 0xe8a44b98
sub eax, 0x766e1758
imul eax, eax, 0xb3ec8722
or eax, 0x70bf10e3
sub eax, 0x1721c2de
mov ecx, 0xc576cd60
xor edx, edx
div ecx
mov ecx, 0x7415e9d7
xor edx, edx
div ecx
and eax, 0x2b9c5e1c
add eax, 0xa0e90fb4
imul eax, eax, 0xadb9aa91
and eax, 0x1b92167d
and eax, 0x7a2b35f3
imul eax, eax, 0xb25aa093
add eax, 0x56724486
and eax, 0x78fc6ce9
sub eax, 0xe55da143
sub eax, 0x6a1d95f0
sub eax, 0x79a7a856
cmp eax, 0x71efc9fd
ja 0x1015c390
mov eax, dword [0x101bd950]
and eax, dword [0x101bd954]
imul eax, eax, 0xfc290027
and eax, 0xa82fddac
imul eax, eax, 0xccf87e9a
add eax, 0xf9d434d9
xor eax, 0xf78c6fbb
mov ecx, 0xe1a020a0
xor edx, edx
div ecx
or eax, 0x6a04d8eb
or eax, 0x94fed3d5
and eax, 0x59dc6e60
add eax, 0xbb244a3d
xor eax, 0xeb8c8952
sub eax, 0xff06b404
xor eax, 0xc321ddd5
or eax, 0xbed9caa5
sub eax, 0x1e23b854
and eax, 0x5031d34b
and eax, 0xab4de6f
mov ecx, 0x5fe596be
xor edx, edx
div ecx
imul eax, eax, 0x5ba942cf
or eax, 0x835ff4c8
mov ecx, 0x1e4ae1e4
xor edx, edx
div ecx
xor eax, 0x6c8958f5
add eax, 0x92499477
and eax, 0xb90a346c
imul eax, eax, 0xd0091db5
or eax, 0x608bb442
mov ecx, 0x3fc0ba4
xor edx, edx
div ecx
imul eax, eax, 0xb9cc5195
and eax, 0xfd1c7f9
mov ecx, 0x47c5dda2
xor edx, edx
div ecx
add eax, 0xfb0c6fdd
mov ecx, 0xafa62f3c
xor edx, edx
div ecx
sub eax, 0xad0a88b
mov ecx, 0xacedb0be
xor edx, edx
div ecx
sub eax, 0xe357a0da
add eax, 0x9c725faf
sub eax, 0x8d964cc
and eax, 0x2939b99c
cmp eax, 0xcd46a37
je 0x1015c0b2
mov eax, dword [0x101bd958]
add eax, dword [0x101bd95c]
imul eax, eax, 0xbb6488c0
or eax, 0xe0625d7f
sub eax, 0x7709ad3a
xor eax, 0x344f4af6
sub eax, 0x8a773aa9
sub eax, 0x71f7f43b
mov ecx, 0xb2719a4f
xor edx, edx
div ecx
mov ecx, 0x210275a7
xor edx, edx
div ecx
xor eax, 0xe067ba52
add eax, 0x3882e91d
add eax, 0x3462b78b
sub eax, 0xc5fee132
xor eax, 0xda4045c1
sub eax, 0xbd40f054
add eax, 0x7054ce78
or eax, 0xd97a9405
sub eax, 0xfe879d91
sub eax, 0x5207891c
xor eax, 0x6fb3ee0d
or eax, 0xacc53dcb
or eax, 0xde3d7071
mov ecx, 0x20d5f983
xor edx, edx
div ecx
mov ecx, 0xd1bfff46
xor edx, edx
div ecx
sub eax, 0x6851e40f
mov ecx, 0x741d91e5
xor edx, edx
div ecx
imul eax, eax, 0x6814ba3e
imul eax, eax, 0xdf8caa75
and eax, 0xfbee614e
xor eax, 0x92f9469b
and eax, 0x2271f60
and eax, 0xacfc1ab4
add eax, 0x372d3a30
mov ecx, 0xc7dddf2d
xor edx, edx
div ecx
and eax, 0x1a9fd8be
imul eax, eax, 0x84a7d2d6
or eax, 0xfedbbd1c
and eax, 0xd2b26120
sub eax, 0x42c5d011
cmp eax, 0x2a82a78d
je 0x1015c2d8
mov esi, dword [ebp - 0x14]
mov bl, byte [ebp - 0xd]
mov eax, 0xeb5b5898
push eax
mov ecx, esp
push eax
mov edx, esp
mov byte [ecx], bl
mov dword [edx], esi
mov edx, dword [edx]
mov bl, byte [ecx]
mov ecx, dword [edx]
mov ecx, dword [ecx]
mov esi, dword [edx + 4]
mov edx, dword [esi]
mov edi, edx
add edi, 1
mov dword [esi], edi
mov byte [ecx + edx], bl
cmp eax, 0x703c6a05
jbe 0x1015c297
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret 4
mov edx, dword [ebp - 0x14]
mov bl, byte [ebp - 0xd]
or edi, eax
std
fisubr dword [eax + 0xd51a44]
jo 0x1015c2f7
adc dword [esi], 0xffffff96
or ebp, ebp
into
mov ebp, 0xf9376e8
fisubr dword [eax - 0x312dd0cb]
das
ror dh, cl
psrad mm0, qword [edi + 2]
cli
bound ebx, qword [ecx + 0x35245459]
mov dh, 0x11
lodsd eax, dword [esi]
test bh, cl
adc eax, dword [ebx + 0x26]
cmp ecx, 0x21a101a5
das
ja 0x1015c2a3
mov ah, 0xf6
lahf
invalid
wait
add dword [ebx + 0x3ac7089e], eax
dec ebp
xchg edi, eax
mov eax, dword [0x2d463bc1]
xchg dword [eax + 0x6e45e6d2], edi
xor eax, 0xea7f3296
push 0xb537f581
xor byte [ebp + 4], 0x4c
invalid