Function at 0x1011b75c
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x38
mov eax, dword [0x1020a0c0]
xor eax, esp
mov dword [esp + 0x34], eax
mov eax, dword [0x10227c40]
push esi
push edi
cmp byte [eax + 0x3561], 0
je case.0x1011b74c.0
mov ecx, dword [eax + 0x3564]
add eax, 0x3564
cmp ecx, 3
ja case.0x1011b74c.0
jmp dword [ecx*4 + 0x1011c028]
mov ecx, eax
call fcn.100cae00
jmp 0x1011b75f
mov al, byte [eax + 0x20]
test al, al
je case.0x1011b74c.0
movss xmm0, dword [0x104e1f18]
xorps xmm1, xmm1
ucomiss xmm0, xmm1
lahf
test ah, 0x44
jp 0x1011b7a1
movss xmm0, dword [0x104e1f1c]
ucomiss xmm0, xmm1
lahf
test ah, 0x44
jp 0x1011b7a1
movss xmm0, dword [0x104e1f20]
ucomiss xmm0, xmm1
lahf
test ah, 0x44
jnp case.0x1011b74c.0
xor edi, edi
mov dword [esp + 0x14], 0
xor eax, eax
mov dword [esp + 0x18], edi
xorps xmm0, xmm0
mov dword [esp + 0x10], eax
mov dword [esp + 0x1c], eax
movss dword [esp + 8], xmm0
mov esi, dword [0x10227c40]
cvtps2pd xmm0, xmm0
call fcn.101c6150
movss xmm1, dword [esp + 8]
cvtsd2ss xmm0, xmm0
mulss xmm0, dword [esi + 0x336c]
addss xmm0, dword [0x104e1f18]
movss dword [esp + 0xc], xmm0
cvtps2pd xmm0, xmm1
call fcn.101c4ed0
movss xmm6, dword [esi + 0x336c]
xorps xmm3, xmm3
movss xmm7, dword [esp + 0xc]
cvtsd2ss xmm3, xmm0
xorps xmm0, xmm0
mulss xmm3, xmm6
mulss xmm6, xmm0
movaps xmm0, xmm7
addss xmm3, dword [0x104e1f1c]
mulss xmm0, dword [0x104510b8]
addss xmm6, dword [0x104e1f20]
movaps xmm5, xmm3
mulss xmm5, dword [0x104510bc]
addss xmm5, xmm0
movss xmm0, dword [0x104510c0]
mulss xmm0, xmm6
addss xmm5, xmm0
movss xmm0, dword [0x101ff010]
addss xmm5, dword [0x104510c4]
comiss xmm0, xmm5
ja 0x1011b94b
movaps xmm4, xmm3
mulss xmm3, dword [0x1045109c]
mov eax, dword [0x104e2068]
movaps xmm0, xmm7
mulss xmm4, dword [0x1045108c]
mulss xmm0, dword [0x10451088]
mulss xmm7, dword [0x10451098]
addss xmm4, xmm0
movss xmm0, dword [0x10451090]
mulss xmm0, xmm6
addss xmm3, xmm7
movss xmm1, dword [eax + 0x54]
movss xmm2, dword [eax + 0x58]
addss xmm4, xmm0
movss xmm0, dword [0x104510a0]
mulss xmm0, xmm6
mulss xmm1, dword [0x101ff0d4]
addss xmm3, xmm0
movss xmm0, dword [0x101ff140]
addss xmm4, dword [0x10451094]
mulss xmm2, dword [0x101ff0d4]
addss xmm3, dword [0x104510a4]
divss xmm4, xmm5
divss xmm3, xmm5
addss xmm4, dword [0x101ff140]
subss xmm0, xmm3
mulss xmm4, xmm1
mulss xmm0, xmm2
movss dword [esp + 0x20], xmm4
movss dword [esp + 0x24], xmm0
cmp edi, dword [esp + 0x10]
je 0x1011b930
movss dword [edi], xmm4
movss dword [edi + 4], xmm0
add edi, 8
mov dword [esp + 0x18], edi
jmp 0x1011b94b
lea eax, [esp + 0x20]
push eax
push edi
lea ecx, [esp + 0x1c]
call fcn.100bc1e0
mov eax, dword [esp + 0x1c]
mov edi, dword [esp + 0x18]
mov dword [esp + 0x10], eax
movss xmm0, dword [esp + 8]
addss xmm0, dword [0x101ff09c]
movss xmm1, dword [0x101ff2c4]
comiss xmm1, xmm0
movss dword [esp + 8], xmm0
jae 0x1011b7c2
mov eax, dword [0x10227c40]
mov edi, dword [0x102296a0]
cmp dword [eax + 0x337c], 2
jne 0x1011bcaf
mov eax, dword [0x10227c48]
lea edx, [esp + 0x20]
push 0
push edx
push 0x104e1f18
mov ecx, dword [eax + 0x70]
mov eax, dword [ecx]
mov dword [esp + 0x2c], 0
mov dword [esp + 0x30], 0
mov dword [esp + 0x34], 0
call dword [eax + 0x1c]
cmp byte [0x104e2018], 0
je 0x1011ba07
mov eax, dword [0x10227c48]
mov edi, dword [eax + 0x70]
mov eax, dword [edi]
mov dword [esp + 0x20], 0
mov dword [esp + 0x24], 0
mov dword [esp + 0x28], 0
mov esi, dword [eax + 0x1c]
mov eax, dword [0x10229e7c]
mov ecx, dword [eax]
mov eax, dword [ecx]
mov eax, dword [eax + 0x28]
call eax
push 0
lea ecx, [esp + 0x24]
push ecx
push eax
mov ecx, edi
call esi
mov edi, dword [0x102296a0]
mov eax, dword [0x10227c48]
movq xmm0, qword [str._YJLo22_6.F]
mov esi, dword [eax + 0x38]
mov eax, dword [0x101f6e40]
mov dword [esp + 0x34], eax
mov ax, word [0x101f6e44]
movq qword [esp + 0x2c], xmm0
mov word [esp + 0x38], ax
test ah, ah
je 0x1011bb94
xor edx, edx
mov dword [esp + 8], edx
cmp edi, 2
jl 0x1011bb60
movaps xmm2, xmmword [0x101ff6c0]
mov eax, 5
movaps xmm3, xmmword [0x101ffc00]
movaps xmm1, xmm2
punpckldq xmm1, xmm2
movaps xmm0, xmm2
punpckhdq xmm0, xmm2
mov edx, 8
pmuldq xmm1, xmm3
pmuldq xmm0, xmm3
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm2
movd xmm4, eax
psrad xmm1, xmm4
mov eax, 0x1f
mov dword [esp + 8], edx
movaps xmm0, xmm1
movd xmm5, eax
psrld xmm0, xmm5
paddd xmm0, xmm1
pmulld xmm0, xmmword [0x101ff750]
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
movaps xmm2, xmmword [0x101ff700]
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
pand xmm1, xmmword [0x101ff7d0]
movd xmm0, dword [str._YJLo22_6.F]
packuswb xmm1, xmm1
paddb xmm1, xmmword [0x101ff860]
pxor xmm1, xmm0
movaps xmm0, xmm2
movd dword [esp + 0x2c], xmm1
movaps xmm1, xmm2
punpckldq xmm1, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm1, xmm3
pmuldq xmm0, xmm3
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm2
psrad xmm1, xmm4
movaps xmm0, xmm1
psrld xmm0, xmm5
paddd xmm0, xmm1
pmulld xmm0, xmmword [0x101ff750]
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
pand xmm1, xmmword [0x101ff7d0]
movd xmm0, dword [esp + 0x30]
packuswb xmm1, xmm1
paddb xmm1, xmmword [0x101ff860]
pxor xmm1, xmm0
movd dword [esp + 0x30], xmm1
nop dword [eax + eax]
mov eax, 0x8d3dcb09
imul edx
add edx, dword [esp + 8]
sar edx, 5
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [esp + 8]
movsx eax, al
mov cl, dl
imul eax, eax, 0x3a
sub cl, al
add cl, 0x39
xor byte [esp + edx + 0x2c], cl
inc edx
mov dword [esp + 8], edx
cmp edx, 0xe
jl 0x1011bb60
mov eax, dword [esi]
lea ecx, [esp + 0x2c]
push 0
push 1
push 0
mov eax, dword [eax + 0x150]
push ecx
mov ecx, esi
call eax
mov esi, eax
test esi, esi
je 0x1011bea1
mov ecx, dword [0x10227c40]
cmp byte [ecx + 0x3560], 0
jne 0x1011bbf0
movss xmm0, dword [ecx + 0x3554]
sub esp, 0xc
movss dword [esp + 8], xmm0
movss xmm0, dword [ecx + 0x3550]
movss dword [esp + 4], xmm0
movss xmm0, dword [ecx + 0x354c]
jmp 0x1011bca1
mov eax, dword [0x10227c3c]
mov eax, dword [eax + 0x10]
movss xmm0, dword [eax]
mulss xmm0, dword [ecx + 0x355c]
movss dword [esp + 8], xmm0
addss xmm0, dword [0x101ff2a4]
cvtps2pd xmm0, xmm0
call fcn.101c6150
cvtsd2ss xmm0, xmm0
mulss xmm0, dword [0x101ff0d4]
addss xmm0, dword [0x101ff0d4]
movss dword [esp + 0xc], xmm0
movss xmm0, dword [esp + 8]
addss xmm0, dword [0x101ff218]
cvtps2pd xmm0, xmm0
call fcn.101c6150
cvtsd2ss xmm0, xmm0
mulss xmm0, dword [0x101ff0d4]
addss xmm0, dword [0x101ff0d4]
movss dword [esp + 0x20], xmm0
movss xmm0, dword [esp + 8]
cvtps2pd xmm0, xmm0
call fcn.101c6150
movss xmm1, dword [esp + 0xc]
sub esp, 0xc
cvtsd2ss xmm0, xmm0
movss dword [esp + 8], xmm1
mulss xmm0, dword [0x101ff0d4]
movss xmm1, dword [esp + 0x2c]
movss dword [esp + 4], xmm1
addss xmm0, dword [0x101ff0d4]
mov eax, dword [esi]
mov ecx, esi
movss dword [esp], xmm0
mov eax, dword [eax + 0x70]
call eax
mov eax, dword [0x10227c40]
cmp dword [eax + 0x337c], 3
jne 0x1011bfea
mov eax, dword [0x10227c48]
lea edx, [esp + 0x20]
push edx
push 0x104e1f18
mov ecx, dword [eax + 0x70]
mov eax, dword [ecx]
mov dword [esp + 0x28], 0
mov dword [esp + 0x2c], 0
mov dword [esp + 0x30], 0
call dword [eax + 0x18]
mov eax, dword [0x10227c48]
movq xmm0, qword [str._YJLo22_6.F]
mov esi, dword [eax + 0x38]
mov eax, dword [0x101f6e40]
mov dword [esp + 0x34], eax
mov ax, word [0x101f6e44]
movq qword [esp + 0x2c], xmm0
mov word [esp + 0x38], ax
test ah, ah
je 0x1011be84
xor edx, edx
mov dword [esp + 8], edx
cmp edi, 2
jl 0x1011be50
movaps xmm2, xmmword [0x101ff6c0]
mov eax, 5
movaps xmm4, xmmword [0x101ffc00]
movaps xmm1, xmm2
punpckldq xmm1, xmm2
movaps xmm0, xmm2
punpckhdq xmm0, xmm2
mov edx, 8
pmuldq xmm0, xmm4
pmuldq xmm1, xmm4
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm2
movd xmm5, eax
psrad xmm1, xmm5
mov eax, 0x1f
mov dword [esp + 8], edx
movaps xmm0, xmm1
movd xmm6, eax
mov eax, dword [0x101ff860]
psrld xmm0, xmm6
paddd xmm0, xmm1
pmulld xmm0, xmmword [0x101ff750]
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
movaps xmm2, xmmword [0x101ff700]
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
pand xmm1, xmmword [0x101ff7d0]
packuswb xmm1, xmm1
movd xmm0, eax
paddb xmm1, xmm0
movd xmm0, dword [str._YJLo22_6.F]
pxor xmm1, xmm0
movaps xmm0, xmm2
movd dword [esp + 0x2c], xmm1
movaps xmm1, xmm2
punpckldq xmm1, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm4
pmuldq xmm1, xmm4
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm2
psrad xmm1, xmm5
movaps xmm0, xmm1
psrld xmm0, xmm6
paddd xmm0, xmm1
pmulld xmm0, xmmword [0x101ff750]
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
pand xmm1, xmmword [0x101ff7d0]
packuswb xmm1, xmm1
movd xmm0, eax
paddb xmm1, xmm0
movd xmm0, dword [esp + 0x30]
pxor xmm1, xmm0
movd dword [esp + 0x30], xmm1
nop word [eax + eax]
mov eax, 0x8d3dcb09
imul edx
add edx, dword [esp + 8]
sar edx, 5
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [esp + 8]
movsx eax, al
mov cl, dl
imul eax, eax, 0x3a
sub cl, al
add cl, 0x39
xor byte [esp + edx + 0x2c], cl
inc edx
mov dword [esp + 8], edx
cmp edx, 0xe
jl 0x1011be50
mov eax, dword [esi]
lea ecx, [esp + 0x2c]
push 0
push 1
push 0
mov eax, dword [eax + 0x150]
push ecx
mov ecx, esi
call eax
mov esi, eax
test esi, esi
jne 0x1011beeb
mov edx, dword [esp + 0x14]
test edx, edx
je case.0x1011b74c.0
mov ecx, dword [esp + 0x10]
mov eax, edx
sub ecx, edx
and ecx, 0xfffffff8
cmp ecx, 0x1000
jb 0x1011bed0
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1011c021
push ecx
push edx
call fcn.1019d45c
add esp, 8
mov ecx, dword [esp + 0x3c]
pop edi
pop esi
xor ecx, esp
call fcn.1019d163
mov esp, ebp
pop ebp
ret
mov eax, dword [0x10227c40]
cmp byte [eax + 0x3560], 0
jne 0x1011bf2a
movss xmm0, dword [eax + 0x3554]
sub esp, 0xc
mov edx, dword [esi]
movss dword [esp + 8], xmm0
movss xmm0, dword [eax + 0x3550]
movss dword [esp + 4], xmm0
movss xmm0, dword [eax + 0x354c]
mov eax, dword [edx + 0x70]
jmp 0x1011bfe1
mov ecx, dword [0x10227c3c]
mov ecx, dword [ecx + 0x10]
movss xmm0, dword [ecx]
mulss xmm0, dword [eax + 0x355c]
movss dword [esp + 8], xmm0
addss xmm0, dword [0x101ff2a4]
cvtps2pd xmm0, xmm0
call fcn.101c6150
cvtsd2ss xmm0, xmm0
mulss xmm0, dword [0x101ff0d4]
addss xmm0, dword [0x101ff0d4]
movss dword [esp + 0x20], xmm0
movss xmm0, dword [esp + 8]
addss xmm0, dword [0x101ff218]
cvtps2pd xmm0, xmm0
call fcn.101c6150
cvtsd2ss xmm0, xmm0
mulss xmm0, dword [0x101ff0d4]
addss xmm0, dword [0x101ff0d4]
movss dword [esp + 0xc], xmm0
movss xmm0, dword [esp + 8]
cvtps2pd xmm0, xmm0
call fcn.101c6150
movss xmm1, dword [esp + 0x20]
sub esp, 0xc
mov eax, dword [esi]
cvtsd2ss xmm0, xmm0
mov eax, dword [eax + 0x70]
movss dword [esp + 8], xmm1
mulss xmm0, dword [0x101ff0d4]
movss xmm1, dword [esp + 0x18]
movss dword [esp + 4], xmm1
addss xmm0, dword [0x101ff0d4]
mov ecx, esi
movss dword [esp], xmm0
call eax
mov edx, dword [esp + 0x14]
test edx, edx
je case.0x1011b74c.0
mov ecx, dword [esp + 0x10]
mov eax, edx
sub ecx, edx
and ecx, 0xfffffff8
cmp ecx, 0x1000
jb 0x1011bed0
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
jbe 0x1011bed0
call fcn.101a26e6
nop
fidivr dword [esi - 0x4898efef]
adc dword [eax], edx
push ebx
mov bh, 17
adc byte [edi + esi*4 + 0x11], bl
adc ah, cl
int3