Function at 0x10007325
Capabilities:
Encode data using xor
Encrypt data using rc4 ksa

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x184
push 0x4e
xor eax, eax
mov dword [ebp - 0x58], ecx
pop ecx
mov dword [ebp - 0x1c], 0x50
mov edx, eax
mov dword [ebp - 0x18], 0x3d
mov dword [ebp - 0x14], 0x325
add ecx, dword [ebp + edx*4 - 0x1c]
inc edx
cmp edx, 3
jl 0x1000734d
push esi
mov esi, dword [0x10024748]
mov edx, str.4U6e6o6z6
push edi
push 0x62
mov dword [ebp - 0x54], ecx
xor esi, 0x544add74
pop edi
mov dword [ebp - 0x18], 0x1d
mov cl, 0x34
mov dword [ebp - 0x14], 0x1e7
sub cl, 0x30
cmp cl, 9
ja 0x10007391
inc edx
mov cl, byte [edx]
test cl, cl
jne 0x10007380
jmp 0x10007397
xor esi, 0xa82d23b
or esi, 0x9889dfaa
mov ecx, eax
mov dword [0x10024748], esi
add edi, dword [ebp + ecx*4 - 0x18]
inc ecx
cmp ecx, 2
jl 0x100073a5
mov dl, byte [str.teaches_yoga]
push 0x38
pop ecx
mov dword [ebp - 0x50], edi
mov edi, eax
mov dword [ebp - 0x4c], ecx
mov dword [ebp - 0x18], 0x17
mov dword [ebp - 0x14], 0xffffffb1
mov ecx, eax
test dl, dl
je 0x100073f6
inc ecx
cmp ecx, 0x1bdd
jg 0x100074ee
cmp byte [ecx + str.teaches_yoga], 0
jne 0x100073d4
cmp ecx, 0x18b7
jg 0x100074fb
add esi, 0x9771f475
mov ecx, dword [ebp - 0x4c]
xor esi, 0xf13241a4
add ecx, dword [ebp + edi*4 - 0x18]
inc edi
mov dword [0x10024748], esi
mov dword [ebp - 0x4c], ecx
cmp edi, 2
jl 0x100073ce
push 0xa
mov dword [ebp - 0xc], esi
mov ecx, eax
pop edx
mov dword [ebp - 0x1c], 0xf
mov dword [ebp - 0x18], 0x55
mov dword [ebp - 0x14], 0xffffff92
add edx, dword [ebp + ecx*4 - 0x1c]
inc ecx
cmp ecx, 3
jl 0x10007435
push 5
pop ecx
mov esi, str.TIFFReadEncodedStrip
mov dword [ebp - 0x5c], edx
lea edi, [ebp - 0x24]
mov dword [ebp - 0x48], 0x63765417
rep movsd dword es:[edi], dword [esi]
mov dword [ebp - 0x44], 0x32b3c6cc
mov ecx, eax
mov dword [ebp - 0x40], 0x316fc81
mov dword [ebp - 0x3c], 0x1de11ed5
mov dword [ebp - 0x38], 0x6ebb20e6
mov dword [ebp - 0x34], 0x6e23c43d
mov dword [ebp - 0x30], 0x4ec1d7bc
mov dword [ebp - 0x2c], 0xd0606e15
movsb byte es:[edi], byte [esi]
mov dword [ebp - 8], eax
mov byte [ebp + ecx - 0x184], cl
inc ecx
cmp ecx, 0x100
jb 0x1000748d
mov esi, dword [ebp - 0xc]
mov ecx, eax
mov dword [ebp - 0x28], ecx
xor edi, edi
mov al, byte [ebp + ecx - 0x184]
xor edx, edx
mov byte [ebp - 1], al
mov eax, ecx
push 0x14
pop ecx
div ecx
movzx ecx, byte [ebp - 1]
movzx eax, byte [ebp + edx - 0x24]
add eax, dword [ebp - 8]
add ecx, eax
movzx eax, cl
mov dword [ebp - 8], eax
mov eax, edi
cmp byte [str.intent_outside_defined_range], al
je 0x10007536
inc eax
mov dword [ebp - 0xc], eax
cmp eax, 0x23fc
jl 0x10007513
cmp byte [eax + str.intent_outside_defined_range], 0
jne 0x100074d8
jmp 0x1000752d
push ecx
call fcn.1000729a
pop ecx
xor esi, 0xaefaaf16
call fcn.10006f8c
mov dl, byte [str.teaches_yoga]
imul esi, esi, 0xcec42c35
xor eax, eax
jmp 0x100073fc
call fcn.100070fc
imul esi, esi, 0xb5594ae5
cmp dword [ebp - 0xc], 0x1e23
mov dword [0x10024748], esi
jle 0x10007536
push ecx
push ecx
call fcn.100071b7
pop ecx
pop ecx
mov edx, dword [ebp - 8]
add esi, 0xcec9a07d
mov ecx, dword [ebp - 0x28]
and esi, 0xf04df6ed
sub esi, 0x6fcfad2
mov dword [0x10024748], esi
mov al, byte [ebp + edx - 0x184]
mov byte [ebp + ecx - 0x184], al
inc ecx
mov al, byte [ebp - 1]
mov byte [ebp + edx - 0x184], al
mov dword [ebp - 0x28], ecx
cmp ecx, 0x100
jb 0x100074a7
mov dword [ebp - 0xc], esi
mov esi, edi
mov dword [ebp - 8], edi
lea eax, [esi + 1]
movzx esi, al
mov eax, dword [ebp - 8]
mov cl, byte [ebp + esi - 0x184]
movzx edx, cl
add eax, edx
movzx eax, al
mov dword [ebp - 8], eax
mov al, byte [ebp + eax - 0x184]
mov byte [ebp + esi - 0x184], al
mov eax, dword [ebp - 8]
mov byte [ebp + eax - 0x184], cl
movzx eax, byte [ebp + esi - 0x184]
add eax, edx
movzx eax, al
mov al, byte [ebp + eax - 0x184]
xor al, byte [ebp + edi - 0x48]
mov byte [ebp + edi - 0x84], al
inc edi
cmp edi, 0x20
jb 0x10007584
mov esi, dword [ebp - 0xc]
xor eax, eax
mov byte [ebp - 0x64], al
or esi, 0x8278c50a
mov ecx, eax
inc ecx
cmp ecx, 0x50f
jg 0x100075ff
cmp byte [ecx + str.Password:], al
jne 0x100075ec
jmp 0x10007605
or esi, 0x35e46746
sub esi, 0x7f10b5f9
mov edi, eax
mov dword [0x10024748], esi
cmp byte [str.teaches_yoga], 0
je 0x10007651
inc eax
cmp eax, 0x16f0
jl 0x1000762f
cmp byte [eax + str.teaches_yoga], 0
jne 0x1000761c
jmp 0x10007642
or esi, 0x833de93
mov dword [0x10024748], esi
cmp eax, 0x1056
jle 0x10007651
push ecx
call fcn.1000723c
pop ecx
imul esi, esi, 0xdc0ce0cb
jmp 0x10007657
imul esi, esi, 0xf35993a4
push ecx
and esi, 0x54abf406
push ecx
mov dword [0x10024748], esi
call fcn.100072e9
pop ecx
imul esi, esi, 0xd85d5cf2
inc edi
pop ecx
push 0
pop eax
mov dword [0x10024748], esi
cmp edi, 0x20
jb 0x10007613
xor edx, edx
mov dword [ebp - 0x18], 0x60
inc edx
mov dword [ebp - 0x14], 0xffffff9f
xor ecx, ecx
mov eax, ecx
add edx, dword [ebp + eax*4 - 0x18]
inc eax
cmp eax, 2
jl 0x10007696
push 0x14
pop eax
mov dword [ebp - 0x60], edx
mov edi, 0x3800
mov dword [ebp - 0x20], eax
mov edx, ecx
mov dword [ebp - 0x1c], 0xb
mov dword [ebp - 0x18], 0x15
mov dword [ebp - 0x14], 0x33cc
mov eax, ecx
cmp byte [str.teaches_yoga], al
je 0x100076e7
inc eax
cmp eax, 0x250c
je 0x100076e1
cmp byte [eax + str.teaches_yoga], cl
jne 0x100076cf
jmp 0x100076e7
imul esi, esi, 0x9e080909
sub edi, dword [ebp + edx*4 - 0x20]
xor esi, 0x9b4b026d
imul esi, esi, 0x5ae5276e
inc edx
cmp edx, 4
jl 0x100076c5
mov dword [ebp - 8], edi
mov edx, 0x10ca
mov dword [ebp - 0x1c], 0x63
mov edi, ecx
mov dword [ebp - 0x18], 9
mov dword [ebp - 0x14], 0xdf8
mov eax, ecx
inc eax
cmp eax, 0x16ff
jl 0x10007730
cmp byte [eax + str.Password:], cl
jne 0x1000771e
jmp 0x10007736
add esi, 0x69b29ad6
and esi, 0xe15c002
push ecx
or esi, 0x91c0388d
push ecx
mov dword [0x10024748], esi
call fcn.100070e7
sub edx, dword [ebp + edi*4 - 0x1c]
xor esi, 0x5471776e
add esp, 8
mov dword [0x10024748], esi
inc edi
cmp edi, 3
jl 0x1000771c
mov dword [ebp - 0xc], edx
mov eax, ecx
mov dword [ebp - 0x1c], 5
mov dword [ebp - 0x18], 0xd
mov dword [ebp - 0x14], 0xffffffee
sub eax, dword [ebp + ecx*4 - 0x1c]
inc ecx
cmp ecx, 3
jl 0x10007782
mov dword [ebp - 0x14], eax
call fcn.1001e073
call fcn.1000576a
test eax, eax
jne 0x100078db
mov ecx, dword [ebp - 0x50]
imul ecx, dword [ebp - 0x54]
call fcn.100161b5
mov edi, eax
call fcn.10002a6e
test eax, eax
je 0x100077f1
xor eax, eax
inc eax
cmp eax, 0x19e7
jg 0x100077d2
cmp byte [eax + str.Password:], 0
jne 0x100077ba
mov eax, dword [0x10024748]
jmp 0x100077dc
mov eax, dword [0x10024748]
or eax, 0x1f21ab05
imul eax, eax, 0xcba40310
and eax, 0x89d39f45
mov dword [0x10024748], eax
jmp 0x100078db
call fcn.10004c0c
test eax, eax
je 0x1000780b
mov eax, dword [0x10024748]
xor eax, 0xda431971
add eax, 0x631164d8
jmp 0x100077e7
cmp edi, dword [ebp - 0x4c]
je 0x100078db
call fcn.10004f74
test eax, eax
je 0x1000786d
cmp byte [str.intent_outside_defined_range], 0
je 0x10007839
xor eax, eax
inc eax
cmp eax, 0x1fb9
je 0x10007861
cmp byte [eax + str.intent_outside_defined_range], 0
jne 0x10007828
mov eax, dword [0x10024748]
and eax, 0xa19e9bb5
imul esi, eax, 0x71a8c1a6
mov dword [0x10024748], esi
call fcn.10006eb1
lea eax, [esi - 0xf64d27f]
xor eax, 0xbf893898
jmp 0x100077e7
mov eax, dword [0x10024748]
add eax, 0x792545e2
jmp 0x1000783e
mov ecx, dword [ebp - 0x58]
mov edx, edi
call fcn.1000baf8
mov esi, eax
mov dword [ebp - 0x28], esi
call fcn.100025e8
test eax, eax
jne 0x100078db
mov ecx, esi
call fcn.100161b5
mov esi, eax
cmp esi, dword [ebp - 0x5c]
je 0x100078db
mov edx, dword [ebp - 0x28]
lea eax, [ebp - 0x84]
push esi
push ecx
push eax
mov ecx, edi
call fcn.1001a95b
mov eax, dword [ebp - 0xc]
imul eax, dword [ebp - 8]
push eax
push dword [ebp - 0x60]
push edi
call fcn.10016891
mov ecx, edi
call fcn.10016528
mov ecx, esi
call fcn.10018017
push dword [ebp - 0x28]
push dword [ebp - 0x14]
push esi
call fcn.10016891
add esp, 0x24
mov ecx, esi
call fcn.10016528
pop edi
pop esi
leave
ret