Function at 0x102a6430
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x1032e68d
mov eax, dword fs:[0]
push eax
sub esp, 0x58
mov eax, dword [0x1043900c]
xor eax, ebp
mov dword [ebp - 0x10], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov edi, ecx
mov dword [ebp - 0x64], edi
mov eax, dword [0x1060b5e0]
cmp dword [eax + 0xaa8], 0
je 0x102a6f73
mov ecx, dword [0x1060b288]
mov eax, dword [ecx]
mov eax, dword [eax + 0x68]
call eax
test al, al
je 0x102a6f73
mov ecx, dword [0x1060b288]
mov eax, dword [ecx]
mov eax, dword [eax + 0x6c]
call eax
test al, al
je 0x102a6f73
cmp byte [0x1060f5c6], 0
je 0x102a6f73
cmp byte [0x106111b5], 0
movss xmm1, dword [0x106111b0]
je 0x102a64f6
xorps xmm2, xmm2
comiss xmm1, xmm2
jb 0x102a64e0
mov eax, dword [0x1060b290]
movss xmm0, dword [eax + 0x14]
mulss xmm0, dword [0x1041edf8]
addss xmm1, xmm0
movss dword [0x106111b0], xmm1
movss xmm3, dword [0x1041edc4]
comiss xmm1, xmm3
jb 0x102a6530
mov byte [0x106111b5], 0
jmp 0x102a6530
movss xmm3, dword [0x1041edc4]
comiss xmm3, xmm1
jb 0x102a6521
mov eax, dword [0x1060b290]
movss xmm0, dword [eax + 0x14]
mulss xmm0, dword [0x1041edf8]
subss xmm1, xmm0
movss dword [0x106111b0], xmm1
xorps xmm2, xmm2
comiss xmm2, xmm1
jb 0x102a6530
mov byte [0x106111b5], 1
comiss xmm2, xmm1
mov ecx, 0x106111b0
mov dword [ebp - 0x5c], 0x3f800000
lea edx, [ebp - 0x14]
mov dword [ebp - 0x14], 0
seta al
test al, al
cmove edx, ecx
lea ecx, [ebp - 0x5c]
comiss xmm1, xmm3
seta al
test al, al
cmove ecx, edx
movss xmm0, dword [ecx]
movss dword [0x106111b0], xmm0
cmp byte [edi + 0x25], 0
je 0x102a680f
cmp byte [0x104bebf0], 0
jne 0x102a678e
mov edi, dword [0x104bec00]
mov ebx, edi
mov esi, dword [0x104bec04]
xor ebx, 0x1de26cd5
mov eax, ebx
mov byte [0x104bebf0], 1
mov edx, esi
xor edx, 0xd28f2c5
mov ecx, edx
shld ecx, eax, 0xd
xor edx, ecx
shl eax, 0xd
xor ebx, eax
mov ecx, edx
mov eax, ebx
shrd eax, ecx, 7
xor ebx, eax
shr ecx, 7
xor edx, ecx
mov eax, ebx
shld edx, eax, 0x11
mov edx, esi
shl eax, 0x11
xor edx, 0xd28f2c5
xor al, bl
mov ecx, edx
xor byte [0x104bebf1], al
mov ebx, edi
xor ebx, 0x1de26cd4
mov eax, ebx
shld ecx, eax, 0xd
shl eax, 0xd
xor edx, ecx
xor ebx, eax
mov ecx, edx
mov eax, ebx
shrd eax, ecx, 7
xor ebx, eax
shr ecx, 7
xor edx, ecx
mov eax, ebx
shld edx, eax, 0x11
mov edx, esi
shl eax, 0x11
xor edx, 0xd28f2c5
xor al, bl
mov ecx, edx
xor byte [0x104bebf2], al
mov ebx, edi
xor ebx, 0x1de26cd7
mov eax, ebx
shld ecx, eax, 0xd
shl eax, 0xd
xor edx, ecx
xor ebx, eax
mov ecx, edx
mov eax, ebx
shrd eax, ecx, 7
xor ebx, eax
shr ecx, 7
xor edx, ecx
mov eax, ebx
shld edx, eax, 0x11
mov edx, esi
shl eax, 0x11
xor edx, 0xd28f2c5
xor al, bl
mov ecx, edx
xor byte [0x104bebf3], al
mov ebx, edi
xor ebx, 0x1de26cd6
mov eax, ebx
shld ecx, eax, 0xd
shl eax, 0xd
xor edx, ecx
xor ebx, eax
mov ecx, edx
mov eax, ebx
shrd eax, ecx, 7
shr ecx, 7
xor ebx, eax
xor edx, ecx
mov eax, ebx
shld edx, eax, 0x11
mov edx, esi
shl eax, 0x11
xor edx, 0xd28f2c5
xor al, bl
mov ecx, edx
xor byte [0x104bebf4], al
mov ebx, edi
xor ebx, 0x1de26cd1
mov eax, ebx
shld ecx, eax, 0xd
shl eax, 0xd
xor edx, ecx
xor ebx, eax
mov ecx, edx
mov eax, ebx
shrd eax, ecx, 7
xor ebx, eax
shr ecx, 7
xor edx, ecx
mov eax, ebx
shld edx, eax, 0x11
mov edx, esi
shl eax, 0x11
xor edx, 0xd28f2c5
xor al, bl
mov ecx, edx
xor byte [0x104bebf5], al
mov ebx, edi
xor ebx, 0x1de26cd0
mov eax, ebx
shld ecx, eax, 0xd
shl eax, 0xd
xor edx, ecx
xor ebx, eax
mov ecx, edx
mov eax, ebx
shrd eax, ecx, 7
xor ebx, eax
shr ecx, 7
xor edx, ecx
mov eax, ebx
shld edx, eax, 0x11
mov edx, esi
xor esi, 0xd28f2c5
shl eax, 0x11
xor edx, 0xd28f2c5
xor al, bl
mov ecx, edx
xor byte [0x104bebf6], al
mov ebx, edi
xor ebx, 0x1de26cd3
mov eax, ebx
shld ecx, eax, 0xd
shl eax, 0xd
xor edx, ecx
xor ebx, eax
mov ecx, edx
mov eax, ebx
shrd eax, ecx, 7
xor ebx, eax
shr ecx, 7
xor edx, ecx
mov eax, ebx
shld edx, eax, 0x11
mov edx, edi
mov ecx, esi
shl eax, 0x11
xor edx, 0x1de26cd2
xor al, bl
xor byte [0x104bebf7], al
mov eax, edx
shld ecx, eax, 0xd
shl eax, 0xd
xor esi, ecx
xor edx, eax
mov ecx, esi
mov eax, edx
shrd eax, ecx, 7
mov edi, dword [ebp - 0x64]
xor edx, eax
shr ecx, 7
mov eax, edx
xor esi, ecx
shld esi, eax, 0x11
shl eax, 0x11
xor al, dl
xor byte [0x104bebf8], al
push ecx
push 0x104bebf8
push 0x104bebf1
lea ecx, [ebp - 0x28]
call fcn.1001a620
mov dword [ebp - 4], 0
lea ecx, [ebp - 0x28]
mov eax, dword [0x1060b5e0]
cmp dword [ebp - 0x14], 0x10
cmovae ecx, dword [ebp - 0x28]
movd xmm1, dword [eax + 0xc64]
mov eax, dword [eax + 0xc60]
cdq
push ecx
push dword [0x10610c58]
sub eax, edx
sar eax, 1
cvtdq2ps xmm1, xmm1
push 6
push 0xff00ff00
sub esp, 8
movd xmm0, eax
mulss xmm1, dword [0x1060f5c8]
cvtdq2ps xmm0, xmm0
movss dword [esp + 4], xmm1
movss dword [esp], xmm0
push dword [0x1060b61c]
call fcn.100bc250
add esp, 0x1c
lea ecx, [ebp - 0x28]
jmp 0x102a6e41
cmp byte [edi + 0x24], 0
je 0x102a6af2
cmp byte [0x104bf3a0], 0
jne 0x102a6a71
mov edi, dword [0x104bf3b0]
mov ebx, edi
mov esi, dword [0x104bf3b4]
xor ebx, 0x1de26cd5
mov eax, ebx
mov byte [0x104bf3a0], 1
mov edx, esi
xor edx, 0xd28f2c5
mov ecx, edx
shld ecx, eax, 0xd
xor edx, ecx
shl eax, 0xd
xor ebx, eax
mov ecx, edx
mov eax, ebx
shrd eax, ecx, 7
xor ebx, eax
shr ecx, 7
xor edx, ecx
mov eax, ebx
shld edx, eax, 0x11
mov edx, esi
shl eax, 0x11
xor edx, 0xd28f2c5
xor al, bl
mov ecx, edx
xor byte [0x104bf3a1], al
mov ebx, edi
xor ebx, 0x1de26cd4
mov eax, ebx
shld ecx, eax, 0xd
shl eax, 0xd
xor edx, ecx
xor ebx, eax
mov ecx, edx
mov eax, ebx
shrd eax, ecx, 7
xor ebx, eax
shr ecx, 7
xor edx, ecx
mov eax, ebx
shld edx, eax, 0x11
mov edx, esi
shl eax, 0x11
xor edx, 0xd28f2c5
xor al, bl
mov ecx, edx
xor byte [0x104bf3a2], al
mov ebx, edi
xor ebx, 0x1de26cd7
mov eax, ebx
shld ecx, eax, 0xd
shl eax, 0xd
xor edx, ecx
xor ebx, eax
mov ecx, edx
mov eax, ebx
shrd eax, ecx, 7
xor ebx, eax
shr ecx, 7
xor edx, ecx
mov eax, ebx
shld edx, eax, 0x11
mov edx, esi
shl eax, 0x11
xor edx, 0xd28f2c5
xor al, bl
mov ecx, edx
xor byte [0x104bf3a3], al
mov ebx, edi
xor ebx, 0x1de26cd6
mov eax, ebx
shld ecx, eax, 0xd
shl eax, 0xd
xor edx, ecx
xor ebx, eax
mov ecx, edx
mov eax, ebx
shrd eax, ecx, 7
shr ecx, 7
xor ebx, eax
xor edx, ecx
mov eax, ebx
shld edx, eax, 0x11
mov edx, esi
shl eax, 0x11
xor edx, 0xd28f2c5
xor al, bl
mov ecx, edx
xor byte [0x104bf3a4], al
mov ebx, edi
xor ebx, 0x1de26cd1
mov eax, ebx
shld ecx, eax, 0xd
shl eax, 0xd
xor edx, ecx
xor ebx, eax
mov ecx, edx
mov eax, ebx
shrd eax, ecx, 7
xor ebx, eax
shr ecx, 7
xor edx, ecx
mov eax, ebx
shld edx, eax, 0x11
mov edx, esi
shl eax, 0x11
xor edx, 0xd28f2c5
xor al, bl
mov ecx, edx
xor byte [0x104bf3a5], al
mov ebx, edi
xor ebx, 0x1de26cd0
mov eax, ebx
shld ecx, eax, 0xd
shl eax, 0xd
xor edx, ecx
xor ebx, eax
mov ecx, edx
mov eax, ebx
shrd eax, ecx, 7
xor ebx, eax
shr ecx, 7
xor edx, ecx
mov eax, ebx
shld edx, eax, 0x11
mov edx, esi
shl eax, 0x11
xor edx, 0xd28f2c5
xor al, bl
mov ecx, edx
xor byte [0x104bf3a6], al
mov ebx, edi
xor ebx, 0x1de26cd3
mov eax, ebx
shld ecx, eax, 0xd
shl eax, 0xd
xor edx, ecx
xor ebx, eax
mov ecx, edx
mov eax, ebx
shrd eax, ecx, 7
xor ebx, eax
shr ecx, 7
xor edx, ecx
mov eax, ebx
shld edx, eax, 0x11
mov edx, esi
shl eax, 0x11
xor edx, 0xd28f2c5
xor al, bl
mov ecx, edx
xor byte [0x104bf3a7], al
mov ebx, edi
xor ebx, 0x1de26cd2
mov eax, ebx
shld ecx, eax, 0xd
shl eax, 0xd
xor ebx, eax
xor edx, ecx
mov eax, ebx
mov ecx, edx
shrd eax, ecx, 7
xor esi, 0xd28f2c5
xor ebx, eax
shr ecx, 7
xor edx, ecx
mov eax, ebx
shld edx, eax, 0x11
mov edx, edi
mov ecx, esi
shl eax, 0x11
xor edx, 0x1de26cdd
xor al, bl
mov edi, dword [ebp - 0x64]
xor byte [0x104bf3a8], al
mov eax, edx
shld ecx, eax, 0xd
shl eax, 0xd
xor esi, ecx
xor edx, eax
mov ecx, esi
mov eax, edx
shrd eax, ecx, 7
xor edx, eax
shr ecx, 7
xor esi, ecx
mov eax, edx
shld esi, eax, 0x11
shl eax, 0x11
xor al, dl
xor byte [0x104bf3a9], al
push ecx
push 0x104bf3a9
push 0x104bf3a1
lea ecx, [ebp - 0x28]
call fcn.1001a620
mov dword [ebp - 4], 1
lea ecx, [ebp - 0x28]
mov eax, dword [0x1060b5e0]
cmp dword [ebp - 0x14], 0x10
cmovae ecx, dword [ebp - 0x28]
movd xmm1, dword [eax + 0xc64]
mov eax, dword [eax + 0xc60]
cdq
push ecx
push dword [0x10610c58]
sub eax, edx
sar eax, 1
cvtdq2ps xmm1, xmm1
push 6
push 0xffff9c54
sub esp, 8
movd xmm0, eax
mulss xmm1, dword [0x1060f5c8]
cvtdq2ps xmm0, xmm0
movss dword [esp + 4], xmm1
movss dword [esp], xmm0
push dword [0x1060b61c]
call fcn.100bc250
add esp, 0x1c
lea ecx, [ebp - 0x28]
jmp 0x102a6e41
movss xmm0, dword [edi + 0x18]
ucomiss xmm0, xmm2
lahf
test ah, 0x44
jnp 0x102a6e4d
movss xmm0, dword [edi + 0x14]
comiss xmm0, xmm2
jbe 0x102a6e4d
cmp byte [0x104bf470], 0
jne 0x102a6b7b
mov byte [0x104bf470], 1
xor esi, esi
xor edx, edx
mov ebx, esi
xor edx, dword [0x104bf48c]
xor ebx, dword [0x104bf488]
xor edx, 0xd28f2c5
xor ebx, 0x1de26cd5
mov ecx, edx
mov eax, ebx
shld ecx, eax, 0xd
xor edx, ecx
shl eax, 0xd
xor ebx, eax
mov ecx, edx
mov eax, ebx
shrd eax, ecx, 7
shr ecx, 7
xor ebx, eax
xor edx, ecx
mov ecx, ebx
shld edx, ecx, 0x11
shl ecx, 0x11
xor cl, bl
xor cl, byte [esi + 0x104bf471]
mov byte [esi + 0x104bf471], cl
inc esi
cmp esi, 0x13
jb 0x102a6b24
push ecx
push 0x104bf483
push 0x104bf471
lea ecx, [ebp - 0x28]
call fcn.1001a620
mov dword [ebp - 4], 2
lea ecx, [ebp - 0x28]
mov eax, dword [0x1060b5e0]
cmp dword [ebp - 0x14], 0x10
cmovae ecx, dword [ebp - 0x28]
movd xmm1, dword [eax + 0xc64]
mov eax, dword [eax + 0xc60]
cvtdq2ps xmm1, xmm1
cdq
push ecx
sub eax, edx
sar eax, 1
push dword [0x10610584]
mulss xmm1, dword [0x1060f5c8]
push 6
movd xmm0, eax
push 0xffffffffffffffff
subss xmm1, dword [0x1041ef28]
cvtdq2ps xmm0, xmm0
sub esp, 8
movss dword [esp + 4], xmm1
movss dword [esp], xmm0
push dword [0x1060b61c]
call fcn.100bc250
add esp, 0x1c
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x28]
call fcn.10019dd0
cmp byte [0x104be9e0], 0
movss xmm0, dword [edi + 0x14]
cvtps2pd xmm0, xmm0
movsd qword [ebp - 0x18], xmm0
jne 0x102a6db0
mov edi, dword [0x104be9e8]
mov ebx, edi
mov esi, dword [0x104be9ec]
xor ebx, 0x1de26cd5
mov eax, ebx
mov byte [0x104be9e0], 1
mov edx, esi
xor edx, 0xd28f2c5
mov ecx, edx
shld ecx, eax, 0xd
xor edx, ecx
shl eax, 0xd
xor ebx, eax
mov ecx, edx
mov eax, ebx
shrd eax, ecx, 7
xor ebx, eax
shr ecx, 7
xor edx, ecx
mov eax, ebx
shld edx, eax, 0x11
mov edx, esi
shl eax, 0x11
xor edx, 0xd28f2c5
xor al, bl
mov ecx, edx
xor byte [0x104be9e1], al
mov ebx, edi
xor ebx, 0x1de26cd4
mov eax, ebx
shld ecx, eax, 0xd
shl eax, 0xd
xor edx, ecx
xor ebx, eax
mov ecx, edx
mov eax, ebx
shrd eax, ecx, 7
xor ebx, eax
shr ecx, 7
xor edx, ecx
mov eax, ebx
shld edx, eax, 0x11
mov edx, esi
shl eax, 0x11
xor edx, 0xd28f2c5
xor al, bl
mov ecx, edx
xor byte [0x104be9e2], al
mov ebx, edi
xor ebx, 0x1de26cd7
mov eax, ebx
shld ecx, eax, 0xd
shl eax, 0xd
xor edx, ecx
xor ebx, eax
mov ecx, edx
mov eax, ebx
shrd eax, ecx, 7
xor ebx, eax
shr ecx, 7
xor edx, ecx
mov eax, ebx
shld edx, eax, 0x11
mov edx, esi
shl eax, 0x11
xor edx, 0xd28f2c5
xor al, bl
mov ecx, edx
xor byte [0x104be9e3], al
mov ebx, edi
xor ebx, 0x1de26cd6
mov eax, ebx
shld ecx, eax, 0xd
shl eax, 0xd
xor edx, ecx
xor ebx, eax
mov ecx, edx
mov eax, ebx
shrd eax, ecx, 7
shr ecx, 7
xor ebx, eax
xor edx, ecx
mov eax, ebx
shld edx, eax, 0x11
mov edx, esi
xor esi, 0xd28f2c5
shl eax, 0x11
xor edx, 0xd28f2c5
xor al, bl
mov ecx, edx
xor byte [0x104be9e4], al
mov ebx, edi
xor ebx, 0x1de26cd1
mov eax, ebx
shld ecx, eax, 0xd
shl eax, 0xd
xor edx, ecx
xor ebx, eax
mov ecx, edx
mov eax, ebx
shrd eax, ecx, 7
xor ebx, eax
shr ecx, 7
xor edx, ecx
mov eax, ebx
shld edx, eax, 0x11
mov edx, edi
mov ecx, esi
shl eax, 0x11
xor edx, 0x1de26cd0
xor al, bl
mov edi, dword [ebp - 0x64]
xor byte [0x104be9e5], al
mov eax, edx
shld ecx, eax, 0xd
shl eax, 0xd
xor esi, ecx
xor edx, eax
mov ecx, esi
mov eax, edx
shrd eax, ecx, 7
xor edx, eax
shr ecx, 7
xor esi, ecx
mov eax, edx
shld esi, eax, 0x11
shl eax, 0x11
xor al, dl
xor byte [0x104be9e6], al
push ecx
push 0x104be9e6
push 0x104be9e1
lea ecx, [ebp - 0x40]
call fcn.1001a620
mov dword [ebp - 4], 3
lea ecx, [ebp - 0x40]
mov eax, dword [0x1060b5e0]
cmp dword [ebp - 0x2c], 0x10
movsd xmm2, qword [ebp - 0x18]
cmovae ecx, dword [ebp - 0x40]
sub esp, 8
movd xmm1, dword [eax + 0xc64]
mov eax, dword [eax + 0xc60]
cvtdq2ps xmm1, xmm1
cdq
sub eax, edx
sar eax, 1
movsd qword [esp], xmm2
mulss xmm1, dword [0x1060f5c8]
push ecx
push dword [0x10610584]
movd xmm0, eax
addss xmm1, dword [0x1041ef20]
push 6
push 0xff0000dc
cvtdq2ps xmm0, xmm0
sub esp, 8
movss dword [esp + 4], xmm1
movss dword [esp], xmm0
push dword [0x1060b61c]
call fcn.100bc250
add esp, 0x24
lea ecx, [ebp - 0x40]
mov dword [ebp - 4], 0xffffffff
call fcn.10019dd0
lea edx, [ebp - 0x1c]
mov dword [ebp - 0x14], 0
mov ecx, edi
mov dword [ebp - 0x18], 0
mov dword [ebp - 0x1c], 0
call fcn.10126ff0
test al, al
je 0x102a6f73
cmp byte [0x104befc0], 0
jne 0x102a6f12
mov esi, dword [0x104befcc]
mov edx, esi
mov ebx, dword [0x104befc8]
xor edx, 0xd28f2c5
mov ecx, edx
mov byte [0x104befc0], 1
xor ebx, 0x1de26cd5
xor esi, 0xd28f2c5
mov eax, ebx
shld ecx, eax, 0xd
shl eax, 0xd
xor edx, ecx
xor ebx, eax
mov ecx, edx
mov eax, ebx
shrd eax, ecx, 7
xor ebx, eax
shr ecx, 7
xor edx, ecx
mov eax, ebx
shld edx, eax, 0x11
mov edx, dword [0x104befc8]
mov ecx, esi
shl eax, 0x11
xor edx, 0x1de26cd4
xor al, bl
xor byte [0x104befc1], al
mov eax, edx
shld ecx, eax, 0xd
shl eax, 0xd
xor esi, ecx
xor edx, eax
mov ecx, esi
mov eax, edx
shrd eax, ecx, 7
xor edx, eax
shr ecx, 7
xor esi, ecx
mov eax, edx
shld esi, eax, 0x11
shl eax, 0x11
xor al, dl
xor byte [0x104befc2], al
push ecx
push 0x104befc2
push 0x104befc1
lea ecx, [ebp - 0x58]
call fcn.1001a620
mov dword [ebp - 4], 4
lea eax, [ebp - 0x58]
cmp dword [ebp - 0x44], 0x10
movss xmm0, dword [ebp - 0x18]
cmovae eax, dword [ebp - 0x58]
push eax
push dword [0x10610c54]
push 7
push 0xff0000dc
sub esp, 8
movss dword [esp + 4], xmm0
movss xmm0, dword [ebp - 0x1c]
movss dword [esp], xmm0
push dword [0x1060b61c]
call fcn.100bc250
add esp, 0x1c
lea ecx, [ebp - 0x58]
call fcn.10019dd0
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.102bb91c
mov esp, ebp
pop ebp
ret