Function at 0x102147a0
Capabilities:
Encrypt data using rc4 prga
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff0
sub esp, 0x120
mov eax, dword [ebp + 0xc]
xorps xmm1, xmm1
movaps xmmword [esp + 0x40], xmm1
movaps xmmword [esp + 0x30], xmm1
mov dword [esp + 0x50], 0
movss xmm1, dword [eax + 0x2c]
movss dword [esp], xmm1
movss xmm3, dword [edx + 8]
movss xmm1, dword [ecx + 8]
subss xmm3, xmm1
mov dword [esp + 0xc], edx
movsd xmm4, qword [edx]
mov dword [esp + 8], ecx
movsd xmm2, qword [ecx]
subps xmm4, xmm2
movss dword [esp + 0xa0], xmm4
movaps xmm5, xmm4
shufps xmm5, xmm4, 0x55
movss dword [esp + 0xa4], xmm5
movss dword [esp + 0xa8], xmm3
mulps xmm4, xmm4
mulss xmm3, xmm3
addss xmm3, xmm4
shufps xmm4, xmm4, 0x55
addss xmm4, xmm3
xorps xmm3, xmm3
ucomiss xmm4, xmm3
setne byte [esp + 0xd5]
movss dword [esp + 4], xmm0
mov dword [esp + 0xc0], 0
mov dword [esp + 0xc4], 0
mov dword [esp + 0xc8], 0
mov dword [esp + 0xd0], 0
mov byte [esp + 0xd4], 1
mov dword [esp + 0xb0], 0
mov dword [esp + 0xb4], 0
mov dword [esp + 0xb8], 0
movss dword [esp + 0x90], xmm2
shufps xmm2, xmm2, 0x55
movss dword [esp + 0x94], xmm2
movss dword [esp + 0x98], xmm1
mov eax, dword [0x1041070c]
cmp dword [eax + 0x18], 0
jle 0x10214c78
mov esi, dword [ebp + 8]
xor edi, edi
jmp 0x102148de
mov esi, dword [ebp + 8]
nop dword [eax + eax]
mov eax, dword [0x1041070c]
cmp edi, dword [eax + 0x18]
jge 0x10214c78
add edi, 1
mov ecx, dword [0x104106e8]
mov eax, dword [ecx]
push edi
call dword [eax + 0xc]
test eax, eax
je 0x102148d0
mov ebx, eax
mov eax, dword [0x1042ba58]
test eax, eax
je 0x10214910
cmp dword [eax + ebx], 0
jne 0x102148d0
jmp 0x1021492f
mov ecx, dword [0x1042ba28]
mov eax, dword [ecx]
push 0xb895b8fc
push 0xead80de8
call dword [eax]
mov dword [0x1042ba58], eax
cmp dword [eax + ebx], 0
jne 0x102148d0
mov eax, dword [0x1042ba5c]
test eax, eax
je 0x10214940
cmp dword [eax + ebx], 0
jg 0x10214963
jmp 0x102148d0
mov ecx, dword [0x1042ba28]
mov eax, dword [ecx]
push 0x1f102f20
push 0xead80de8
call dword [eax]
mov dword [0x1042ba5c], eax
cmp dword [eax + ebx], 0
jle 0x102148d0
mov ecx, ebx
add ecx, 8
mov eax, dword [ebx + 8]
call dword [eax + 0x24]
test al, al
jne 0x102148d0
test esi, esi
je 0x1021498e
mov eax, dword [esi]
mov ecx, esi
push 0x4600400b
push ebx
call dword [eax]
test al, al
je 0x102148d0
mov eax, dword [ebx]
mov ecx, ebx
call dword [eax + 0xc]
test eax, eax
je 0x102148c5
mov esi, eax
mov eax, dword [eax]
mov ecx, esi
call dword [eax + 4]
movsd xmm0, qword [eax]
movaps xmmword [esp + 0x20], xmm0
movss xmm0, dword [eax + 8]
movaps xmmword [esp + 0x10], xmm0
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 8]
movaps xmm5, xmmword [esp + 0x10]
movsd xmm0, qword [eax]
addps xmm0, xmmword [esp + 0x20]
addss xmm5, dword [eax + 8]
mulss xmm5, dword [0x103574f4]
mulps xmm0, xmmword [0x10358c10]
mov eax, dword [0x1042ba54]
test eax, eax
jne 0x10214a18
mov ecx, dword [0x1042ba28]
mov eax, dword [ecx]
push 0xb64bb9d8
push 0x502296ec
movaps xmmword [esp + 0x18], xmm5
movaps xmmword [esp + 0x28], xmm0
call dword [eax]
movaps xmm0, xmmword [esp + 0x20]
movaps xmm5, xmmword [esp + 0x10]
mov dword [0x1042ba54], eax
addss xmm5, dword [eax + ebx + 8]
movsd xmm4, qword [eax + ebx]
addps xmm4, xmm0
mov eax, dword [esp + 8]
movss xmm2, dword [eax + 8]
movaps xmmword [esp + 0x10], xmm5
subss xmm5, xmm2
movsd xmm1, qword [eax]
movaps xmm0, xmm4
subps xmm0, xmm1
mov eax, dword [esp + 0xc]
movss xmm6, dword [eax + 8]
movsd xmm3, qword [eax]
movaps xmmword [esp + 0xe0], xmm6
shufps xmm6, xmm3, 0xd4
shufps xmm6, xmm3, 0x52
shufps xmm2, xmm1, 0xd4
shufps xmm2, xmm1, 0x52
subps xmm6, xmm2
movaps xmmword [esp + 0xf0], xmm3
movaps xmmword [esp + 0x100], xmm1
subps xmm3, xmm1
movaps xmmword [esp + 0x20], xmm3
mulps xmm3, xmm0
movaps xmm7, xmm5
shufps xmm7, xmm0, 0xd4
shufps xmm7, xmm0, 0x52
mulps xmm7, xmm6
movaps xmm1, xmm7
addps xmm7, xmm3
shufps xmm1, xmm1, 0x55
addps xmm7, xmm1
ucomiss xmm7, dword [0x103574f0]
mov esi, dword [ebp + 8]
jae 0x10214ac5
mulps xmm0, xmm0
mulss xmm5, xmm5
addss xmm5, xmm0
shufps xmm0, xmm0, 0x55
addss xmm0, xmm5
cvtss2sd xmm0, xmm0
jmp 0x10214b27
movaps xmm0, xmm6
mulps xmm0, xmm6
movaps xmm1, xmm0
shufps xmm1, xmm0, 0x55
addss xmm1, xmm0
movaps xmm3, xmmword [esp + 0x20]
movaps xmm0, xmm3
mulss xmm0, xmm3
addss xmm0, xmm1
cvtss2sd xmm0, xmm0
sqrtsd xmm0, xmm0
cvtsd2ss xmm0, xmm0
ucomiss xmm7, xmm0
jbe 0x10214b42
movaps xmm0, xmmword [esp + 0x10]
subss xmm0, dword [esp + 0xe0]
subps xmm4, xmmword [esp + 0xf0]
mulps xmm4, xmm4
mulss xmm0, xmm0
addss xmm0, xmm4
shufps xmm4, xmm4, 0x55
addss xmm4, xmm0
xorps xmm0, xmm0
cvtss2sd xmm0, xmm4
sqrtsd xmm0, xmm0
cvtsd2ss xmm0, xmm0
xorps xmm0, xmmword [0x10357340]
ucomiss xmm0, dword [esp + 4]
jae 0x10214b9d
jmp 0x102148d0
movaps xmm0, xmm7
shufps xmm0, xmm7, 0
mulps xmm0, xmm6
addps xmm2, xmm0
movaps xmm0, xmmword [esp + 0x10]
shufps xmm0, xmm4, 0xd4
shufps xmm0, xmm4, 0x52
subps xmm0, xmm2
mulps xmm0, xmm0
mulss xmm3, xmm7
movaps xmm1, xmmword [esp + 0x100]
addss xmm1, xmm3
subss xmm4, xmm1
mulss xmm4, xmm4
addss xmm4, xmm0
shufps xmm0, xmm0, 0x55
addss xmm0, xmm4
cvtss2sd xmm0, xmm0
sqrtsd xmm0, xmm0
cvtsd2ss xmm0, xmm0
ucomiss xmm0, dword [esp + 4]
jb 0x102148d0
ucomiss xmm0, dword [0x10357ac0]
ja 0x102148d0
mov ecx, dword [0x104106f8]
mov eax, dword [ecx]
lea edx, [esp + 0x30]
push edx
push ebx
push 0x4600400b
lea edx, [esp + 0x9c]
push edx
call dword [eax + 0xc]
movss xmm0, dword [esp + 0x5c]
movss xmm1, dword [esp]
ucomiss xmm1, xmm0
jbe 0x102148d0
movaps xmm1, xmmword [esp + 0x30]
mov edx, dword [ebp + 0xc]
movups xmmword [edx], xmm1
movaps xmm1, xmmword [esp + 0x40]
movups xmmword [edx + 0x10], xmm1
movss xmm1, dword [esp + 0x50]
movss dword [edx + 0x20], xmm1
mov eax, dword [esp + 0x54]
mov ecx, dword [esp + 0x58]
mov dword [edx + 0x28], ecx
mov dword [edx + 0x24], eax
movss dword [edx + 0x2c], xmm0
mov eax, dword [esp + 0x60]
mov dword [edx + 0x30], eax
movzx eax, word [esp + 0x64]
mov word [edx + 0x34], ax
movzx eax, byte [esp + 0x66]
mov byte [edx + 0x36], al
movzx eax, byte [esp + 0x67]
mov byte [edx + 0x37], al
movss xmm1, dword [esp + 0x68]
movss dword [edx + 0x38], xmm1
movsd xmm1, qword [esp + 0x6c]
movsd qword [edx + 0x3c], xmm1
mov eax, dword [esp + 0x74]
mov dword [edx + 0x44], eax
movzx eax, word [esp + 0x78]
mov word [edx + 0x48], ax
movzx eax, word [esp + 0x7a]
mov word [edx + 0x4a], ax
mov eax, dword [esp + 0x7c]
mov dword [edx + 0x4c], eax
mov eax, dword [esp + 0x80]
mov dword [edx + 0x50], eax
movss dword [esp], xmm0
jmp 0x102148d0
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret