Function at 0x100984e0
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x64
mov eax, dword [0x1020c0c0]
xor eax, esp
mov dword [esp + 0x60], eax
mov eax, dword [0x1022bebc]
push ebx
mov ebx, dword [ebp + 8]
push esi
mov ecx, dword [eax]
mov dword [esp + 8], ebx
push edi
test ecx, ecx
je 0x10099212
cmp ebx, ecx
jne 0x1009863b
call fcn.1007eca0
cmp byte [eax], 0
je 0x10098562
mov eax, dword [0x10229c74]
mov eax, dword [eax + 0xc]
cmp byte [eax + 0xa9], 0
je 0x10098562
mov eax, dword [0x10229c80]
movss xmm1, dword [0x102022e8]
mov ecx, dword [eax + 0x58]
mov eax, dword [0x10229c78]
push ecx
mov edx, dword [ecx]
subss xmm1, dword [eax + 0x1928]
mov eax, dword [edx + 0x10]
divss xmm1, dword [0x102022e8]
movss dword [esp], xmm1
call eax
mov eax, dword [ebx]
mov ecx, ebx
mov eax, dword [eax + 0x1e8]
call eax
mov ecx, dword [0x10229c78]
mov esi, eax
mov eax, dword [0x101f313c]
xorps xmm0, xmm0
movups xmmword [esp + 0x28], xmm0
add ecx, 0xf14
mov dword [esp + 0x30], eax
movq xmm0, qword [str.Local_player]
lea eax, [esp + 0x28]
push eax
lea eax, [esp + 0x24]
mov dword [esp + 0x3c], 0xc
push eax
mov dword [esp + 0x44], 0xf
movq qword [esp + 0x30], xmm0
mov byte [esp + 0x3c], 0
call fcn.1009a1c0
push 0
push esi
mov eax, dword [eax]
add eax, 0x20
push eax
call fcn.100999e0
mov ecx, dword [esp + 0x3c]
cmp ecx, 0x10
jb 0x10098603
mov edx, dword [esp + 0x28]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x100985f9
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10099226
push ecx
push edx
call fcn.101a043c
add esp, 8
mov eax, dword [ebx]
mov ecx, ebx
mov eax, dword [eax + 0x1e8]
call eax
push eax
call fcn.100994b0
mov eax, dword [ebx]
mov ecx, ebx
mov eax, dword [eax + 0x1e8]
call eax
push eax
call fcn.10099250
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x60]
xor ecx, esp
call fcn.101a0143
mov esp, ebp
pop ebp
ret 4
mov eax, dword [0x10229c74]
push ebx
mov eax, dword [eax + 0x38]
call eax
test al, al
je 0x1009908a
mov eax, dword [0x10229c78]
cmp byte [eax + 0xef8], 0
je 0x10098dea
mov eax, dword [ebx + 8]
lea ecx, [ebx + 8]
mov eax, dword [eax + 0x28]
call eax
cmp eax, 0x41
jae 0x1009922b
imul esi, eax, 0x3ef0
mov eax, dword [0x10229c78]
add esi, 0x10230138
cmp byte [eax + 0xf08], 0
je 0x100988bd
test esi, esi
je 0x10098b50
mov eax, dword [esi + 0x10]
test eax, eax
je 0x100988bd
xor edi, edi
test eax, eax
je 0x10098b50
nop
test eax, eax
je 0x100988ac
mov ecx, dword [esi + 8]
mov eax, dword [esi + 4]
dec ecx
and ecx, dword [esi + 0xc]
mov eax, dword [eax + ecx*4]
movss xmm0, dword [eax + 0x58]
call fcn.10095370
test al, al
je 0x100988ac
cmp dword [esi + 0x10], edi
jbe 0x10099230
mov edx, dword [esi + 0xc]
mov ecx, dword [esi]
add edx, edi
test ecx, ecx
je 0x100986ef
mov eax, dword [ecx]
jmp 0x100986f1
xor eax, eax
mov ecx, dword [eax + 8]
mov eax, dword [eax + 4]
dec ecx
and ecx, edx
mov eax, dword [eax + ecx*4]
mov ecx, ebx
add eax, 0x68
mov dword [esp + 0x58], eax
mov eax, dword [ebx]
mov eax, dword [eax + 0x1e8]
call eax
mov cx, word [0x101f3764]
movq xmm0, qword [str.pRWBEYZQ_]
mov dword [esp + 0x20], eax
mov eax, dword [0x10229c78]
add eax, 0xf14
movq qword [esp + 0x60], xmm0
mov dword [esp + 0x1c], eax
mov word [esp + 0x68], cx
test ch, ch
je 0x1009876f
xor ebx, ebx
mov eax, 0x1f7047dd
mov cl, bl
mul ebx
mov eax, ebx
sub eax, edx
shr eax, 1
add eax, edx
shr eax, 5
movsx eax, al
imul eax, eax, 0x39
sub cl, al
add cl, 0x32
xor byte [esp + ebx + 0x60], cl
inc ebx
cmp ebx, 0xa
jl 0x10098742
mov ebx, dword [esp + 0xc]
xorps xmm0, xmm0
mov dword [esp + 0x50], 0
lea ecx, [esp + 0x60]
mov dword [esp + 0x54], 0
movups xmmword [esp + 0x40], xmm0
lea edx, [ecx + 1]
nop
mov al, byte [ecx]
inc ecx
test al, al
jne 0x10098790
sub ecx, edx
lea eax, [esp + 0x60]
push ecx
push eax
lea ecx, [esp + 0x48]
call fcn.10027e90
cmp dword [esp + 0x54], 0x10
lea ecx, [esp + 0x40]
xorps xmm0, xmm0
mov dword [esp + 0x38], 0
cmovae ecx, dword [esp + 0x40]
mov edx, ecx
mov dword [esp + 0x3c], 0
movups xmmword [esp + 0x28], xmm0
lea eax, [edx + 1]
mov dword [esp + 0x18], eax
mov al, byte [edx]
inc edx
test al, al
jne 0x100987d7
sub edx, dword [esp + 0x18]
push edx
push ecx
lea ecx, [esp + 0x30]
call fcn.10027e90
mov ecx, dword [esp + 0x1c]
lea eax, [esp + 0x28]
push eax
lea eax, [esp + 0x14]
push eax
call fcn.1009a1c0
push dword [esp + 0x58]
push dword [esp + 0x24]
mov eax, dword [eax]
add eax, 0x20
push eax
call fcn.100999e0
mov ecx, dword [esp + 0x3c]
cmp ecx, 0x10
jb 0x10098849
mov edx, dword [esp + 0x28]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x1009883f
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10099226
push ecx
push edx
call fcn.101a043c
add esp, 8
mov ecx, dword [esp + 0x54]
mov dword [esp + 0x38], 0
mov dword [esp + 0x3c], 0xf
mov byte [esp + 0x28], 0
cmp ecx, 0x10
jb 0x10098894
mov edx, dword [esp + 0x40]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x1009888a
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10099226
push ecx
push edx
call fcn.101a043c
add esp, 8
mov eax, dword [0x10229c80]
push 0xffffffffffffffff
push 0
push 0
mov ecx, dword [eax + 0x6c]
mov eax, dword [ecx]
mov eax, dword [eax + 0x84]
call eax
mov eax, dword [esi + 0x10]
inc edi
cmp edi, eax
jb 0x100986b0
jmp 0x10098b50
test esi, esi
je 0x10098b50
mov edi, dword [esi + 0x10]
test edi, edi
je 0x10098b50
add edi, 0xffffffff
js 0x10098b50
nop dword [eax]
cmp dword [esi + 0x10], edi
jbe 0x10099230
mov edx, dword [esi + 0xc]
mov ecx, dword [esi]
add edx, edi
test ecx, ecx
je 0x100988f8
mov eax, dword [ecx]
jmp 0x100988fa
xor eax, eax
mov ecx, dword [eax + 8]
mov eax, dword [eax + 4]
dec ecx
and ecx, edx
mov eax, dword [eax + ecx*4]
movss xmm0, dword [eax + 0x58]
call fcn.10095370
test al, al
je 0x10098971
cmp dword [esi + 0x10], edi
jbe 0x10099230
mov edx, dword [esi + 0xc]
mov ecx, dword [esi]
add edx, edi
test ecx, ecx
je 0x1009892c
mov eax, dword [ecx]
jmp 0x1009892e
xor eax, eax
mov ecx, dword [eax + 8]
mov eax, dword [eax + 4]
dec ecx
and ecx, edx
mov ebx, dword [eax + ecx*4]
mov ecx, dword [esp + 0xc]
call fcn.1007ea00
movss xmm0, dword [ebx + 0x18]
mov ecx, eax
ucomiss xmm0, dword [ecx]
lahf
test ah, 0x44
jp 0x1009897f
movss xmm0, dword [ebx + 0x1c]
ucomiss xmm0, dword [ecx + 4]
lahf
test ah, 0x44
jp 0x1009897f
movss xmm0, dword [ebx + 0x20]
ucomiss xmm0, dword [ecx + 8]
lahf
test ah, 0x44
jp 0x1009897f
sub edi, 1
jns 0x100988e0
jmp 0x10098b50
cmp edi, 0xffffffff
je 0x10098b50
cmp dword [esi + 0x10], edi
jbe 0x10099230
mov edx, dword [esi + 0xc]
mov ecx, dword [esi]
add edx, edi
test ecx, ecx
je 0x100989a0
mov eax, dword [ecx]
jmp 0x100989a2
xor eax, eax
mov ecx, dword [eax + 8]
mov eax, dword [eax + 4]
dec ecx
and ecx, edx
mov edi, dword [eax + ecx*4]
mov ecx, dword [esp + 0xc]
add edi, 0x68
mov eax, dword [ecx]
mov eax, dword [eax + 0x1e8]
call eax
mov cx, word [0x101f3764]
mov ebx, eax
mov eax, dword [0x10229c78]
movq xmm0, qword [str.pRWBEYZQ_]
add eax, 0xf14
mov dword [esp + 0x20], ebx
mov dword [esp + 0x58], eax
movq qword [esp + 0x60], xmm0
mov word [esp + 0x68], cx
test ch, ch
je 0x10098a20
xor ebx, ebx
mov eax, 0x1f7047dd
mov cl, bl
mul ebx
mov eax, ebx
sub eax, edx
shr eax, 1
add eax, edx
shr eax, 5
movsx eax, al
imul eax, eax, 0x39
sub cl, al
add cl, 0x32
xor byte [esp + ebx + 0x60], cl
inc ebx
cmp ebx, 0xa
jl 0x100989f3
mov ebx, dword [esp + 0x20]
xorps xmm0, xmm0
mov dword [esp + 0x50], 0
lea ecx, [esp + 0x60]
mov dword [esp + 0x54], 0
movups xmmword [esp + 0x40], xmm0
lea edx, [ecx + 1]
nop
mov al, byte [ecx]
inc ecx
test al, al
jne 0x10098a40
sub ecx, edx
lea eax, [esp + 0x60]
push ecx
push eax
lea ecx, [esp + 0x48]
call fcn.10027e90
cmp dword [esp + 0x54], 0x10
lea esi, [esp + 0x40]
xorps xmm0, xmm0
mov dword [esp + 0x38], 0
cmovae esi, dword [esp + 0x40]
mov edx, esi
mov dword [esp + 0x3c], 0
movups xmmword [esp + 0x28], xmm0
lea ecx, [edx + 1]
mov al, byte [edx]
inc edx
test al, al
jne 0x10098a83
sub edx, ecx
lea ecx, [esp + 0x28]
push edx
push esi
call fcn.10027e90
mov ecx, dword [esp + 0x58]
lea eax, [esp + 0x28]
push eax
lea eax, [esp + 0x14]
push eax
call fcn.1009a1c0
push edi
push ebx
mov eax, dword [eax]
add eax, 0x20
push eax
call fcn.100999e0
mov ecx, dword [esp + 0x3c]
cmp ecx, 0x10
jb 0x10098aed
mov edx, dword [esp + 0x28]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x10098ae3
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10099235
push ecx
push edx
call fcn.101a043c
add esp, 8
mov ecx, dword [esp + 0x54]
mov dword [esp + 0x38], 0
mov dword [esp + 0x3c], 0xf
mov byte [esp + 0x28], 0
cmp ecx, 0x10
jb 0x10098b38
mov edx, dword [esp + 0x40]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x10098b2e
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10099235
push ecx
push edx
call fcn.101a043c
add esp, 8
mov eax, dword [0x10229c80]
push 0xffffffffffffffff
push 0
push 0
mov ecx, dword [eax + 0x6c]
mov eax, dword [ecx]
mov eax, dword [eax + 0x84]
call eax
mov ecx, dword [esp + 0xc]
mov eax, dword [ecx]
mov eax, dword [eax + 0x1e8]
call eax
mov ebx, dword [0x10229c78]
mov edi, eax
mov ecx, dword [str.w_QX_RK9]
add ebx, 0xf14
cmp byte [0x101f31c3], 0
mov edx, dword [0x101f31c0]
mov dword [esp + 0xc], ebx
mov dword [esp + 0x20], ecx
mov dword [esp + 0x24], edx
je 0x10098cd1
xor ebx, ebx
cmp dword [0x1022b6e0], 2
jl 0x10098ca3
movaps xmm2, xmmword [0x102025e0]
mov eax, 5
movaps xmm3, xmmword [0x10202b30]
movaps xmm1, xmm2
punpckldq xmm1, xmm2
movaps xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm1, xmm3
pmuldq xmm0, xmm3
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm2
movd xmm4, eax
psrad xmm1, xmm4
mov eax, 0x1f
movaps xmm0, xmm1
movd xmm5, eax
psrld xmm0, xmm5
paddd xmm0, xmm1
pmulld xmm0, xmmword [0x10202680]
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
movaps xmm2, xmmword [0x10202620]
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
pand xmm1, xmmword [0x10202710]
packuswb xmm1, xmm1
paddb xmm1, xmmword [str.2222222222222222777777777777777788888888888888889999999999999999]
movd xmm0, ecx
pxor xmm1, xmm0
movaps xmm0, xmm2
movd dword [esp + 0x20], 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 [0x10202680]
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
pand xmm1, xmmword [0x10202710]
packuswb xmm1, xmm1
paddb xmm1, xmmword [str.2222222222222222777777777777777788888888888888889999999999999999]
movd xmm0, edx
pxor xmm1, xmm0
movd dword [esp + 0x24], xmm1
jmp 0x10098ccd
mov eax, 0x8fb823ef
mov cl, bl
imul ebx
add edx, ebx
sar edx, 5
mov eax, edx
shr eax, 0x1f
add eax, edx
movsx eax, al
imul eax, eax, 0x39
sub cl, al
add cl, 0x32
xor byte [esp + ebx + 0x20], cl
inc ebx
cmp ebx, 8
jl 0x10098ca3
mov ebx, dword [esp + 0xc]
xorps xmm0, xmm0
mov dword [esp + 0x50], 0
lea ecx, [esp + 0x20]
mov dword [esp + 0x54], 0
movups xmmword [esp + 0x40], xmm0
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x10098cf0
sub ecx, edx
lea eax, [esp + 0x20]
push ecx
push eax
lea ecx, [esp + 0x48]
call fcn.10027e90
cmp dword [esp + 0x54], 0x10
lea esi, [esp + 0x40]
xorps xmm0, xmm0
mov dword [esp + 0x38], 0
cmovae esi, dword [esp + 0x40]
mov edx, esi
mov dword [esp + 0x3c], 0
movups xmmword [esp + 0x28], xmm0
lea ecx, [edx + 1]
mov al, byte [edx]
inc edx
test al, al
jne 0x10098d33
sub edx, ecx
lea ecx, [esp + 0x28]
push edx
push esi
call fcn.10027e90
lea eax, [esp + 0x28]
mov ecx, ebx
push eax
lea eax, [esp + 0x14]
push eax
call fcn.1009a1c0
push 0
push edi
mov eax, dword [eax]
add eax, 0x20
push eax
call fcn.100999e0
mov ecx, dword [esp + 0x3c]
cmp ecx, 0x10
jb 0x10098d9c
mov edx, dword [esp + 0x28]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x10098d92
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1009923a
push ecx
push edx
call fcn.101a043c
add esp, 8
mov ecx, dword [esp + 0x54]
mov dword [esp + 0x38], 0
mov dword [esp + 0x3c], 0xf
mov byte [esp + 0x28], 0
cmp ecx, 0x10
jb 0x10099212
mov edx, dword [esp + 0x40]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x10099208
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1009923a
jmp 0x10099208
mov eax, dword [ebx]
mov ecx, ebx
mov eax, dword [eax + 0x1e8]
call eax
mov ebx, dword [0x10229c78]
mov edi, eax
mov ecx, dword [str.w_QX_RK9]
add ebx, 0xf14
cmp byte [0x101f31c3], 0
mov edx, dword [0x101f31c0]
mov dword [esp + 0xc], ebx
mov dword [esp + 0x20], ecx
mov dword [esp + 0x24], edx
je 0x10098f6e
xor ebx, ebx
cmp dword [0x1022b6e0], 2
jl 0x10098f40
movaps xmm2, xmmword [0x102025e0]
mov eax, 5
movaps xmm4, xmmword [0x10202b30]
movaps xmm1, xmm2
punpckldq xmm1, xmm2
movaps xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm4
pmuldq xmm1, xmm4
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm2
movd xmm5, eax
psrad xmm1, xmm5
mov eax, 0x1f
movaps xmm0, xmm1
movd xmm6, eax
mov eax, dword [str.2222222222222222777777777777777788888888888888889999999999999999]
psrld xmm0, xmm6
paddd xmm0, xmm1
pmulld xmm0, xmmword [0x10202680]
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
movaps xmm2, xmmword [0x10202620]
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
pand xmm1, xmmword [0x10202710]
packuswb xmm1, xmm1
movd xmm0, eax
paddb xmm1, xmm0
movd xmm0, ecx
pxor xmm1, xmm0
movaps xmm0, xmm2
movd dword [esp + 0x20], 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 [0x10202680]
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
pand xmm1, xmmword [0x10202710]
packuswb xmm1, xmm1
movd xmm0, eax
paddb xmm1, xmm0
movd xmm0, edx
pxor xmm1, xmm0
movd dword [esp + 0x24], xmm1
jmp 0x10098f6a
mov eax, 0x8fb823ef
mov cl, bl
imul ebx
add edx, ebx
sar edx, 5
mov eax, edx
shr eax, 0x1f
add eax, edx
movsx eax, al
imul eax, eax, 0x39
sub cl, al
add cl, 0x32
xor byte [esp + ebx + 0x20], cl
inc ebx
cmp ebx, 8
jl 0x10098f40
mov ebx, dword [esp + 0xc]
xorps xmm0, xmm0
mov dword [esp + 0x50], 0
lea ecx, [esp + 0x20]
mov dword [esp + 0x54], 0
movups xmmword [esp + 0x40], xmm0
lea edx, [ecx + 1]
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x10098f90
sub ecx, edx
lea eax, [esp + 0x20]
push ecx
push eax
lea ecx, [esp + 0x48]
call fcn.10027e90
cmp dword [esp + 0x54], 0x10
lea esi, [esp + 0x40]
xorps xmm0, xmm0
mov dword [esp + 0x38], 0
cmovae esi, dword [esp + 0x40]
mov edx, esi
mov dword [esp + 0x3c], 0
movups xmmword [esp + 0x28], xmm0
lea ecx, [edx + 1]
mov al, byte [edx]
inc edx
test al, al
jne 0x10098fd3
sub edx, ecx
lea ecx, [esp + 0x28]
push edx
push esi
call fcn.10027e90
lea eax, [esp + 0x28]
mov ecx, ebx
push eax
lea eax, [esp + 0x14]
push eax
call fcn.1009a1c0
push 0
push edi
mov eax, dword [eax]
add eax, 0x20
push eax
call fcn.100999e0
mov ecx, dword [esp + 0x3c]
cmp ecx, 0x10
jb 0x1009903c
mov edx, dword [esp + 0x28]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x10099032
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1009923f
push ecx
push edx
call fcn.101a043c
add esp, 8
mov ecx, dword [esp + 0x54]
mov dword [esp + 0x38], 0
mov dword [esp + 0x3c], 0xf
mov byte [esp + 0x28], 0
cmp ecx, 0x10
jb 0x10099212
mov edx, dword [esp + 0x40]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x10099208
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1009923f
jmp 0x10099208
mov eax, dword [ebx]
mov ecx, ebx
mov eax, dword [eax + 0x1e8]
call eax
mov ecx, dword [str.s_XSD8]
mov edi, eax
mov eax, dword [0x10229c78]
mov dword [esp + 0x58], ecx
add eax, 0xf14
mov cx, word [0x101f3758]
xor ebx, ebx
mov word [esp + 0x5c], cx
mov cl, byte [0x101f375a]
mov dword [esp + 0x20], eax
mov byte [esp + 0x5e], cl
nop dword [eax + eax]
mov eax, 0x1f7047dd
mov cl, bl
mul ebx
mov eax, ebx
sub eax, edx
shr eax, 1
add eax, edx
shr eax, 5
movsx eax, al
imul eax, eax, 0x39
sub cl, al
add cl, 0x32
xor byte [esp + ebx + 0x58], cl
inc ebx
cmp ebx, 7
jl 0x100990d0
xorps xmm0, xmm0
mov dword [esp + 0x50], 0
lea ecx, [esp + 0x58]
mov dword [esp + 0x54], 0
movups xmmword [esp + 0x40], xmm0
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x10099118
sub ecx, edx
lea eax, [esp + 0x58]
push ecx
push eax
lea ecx, [esp + 0x48]
call fcn.10027e90
cmp dword [esp + 0x54], 0x10
lea esi, [esp + 0x40]
xorps xmm0, xmm0
mov dword [esp + 0x38], 0
cmovae esi, dword [esp + 0x40]
mov edx, esi
mov dword [esp + 0x3c], 0
movups xmmword [esp + 0x28], xmm0
lea ecx, [edx + 1]
nop dword [eax + eax]
mov al, byte [edx]
inc edx
test al, al
jne 0x10099160
sub edx, ecx
lea ecx, [esp + 0x28]
push edx
push esi
call fcn.10027e90
mov ecx, dword [esp + 0x20]
lea eax, [esp + 0x28]
push eax
lea eax, [esp + 0x14]
push eax
call fcn.1009a1c0
push 0
push edi
mov eax, dword [eax]
add eax, 0x20
push eax
call fcn.100999e0
mov ecx, dword [esp + 0x3c]
cmp ecx, 0x10
jb 0x100991cb
mov edx, dword [esp + 0x28]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x100991c1
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10099244
push ecx
push edx
call fcn.101a043c
add esp, 8
mov ecx, dword [esp + 0x54]
mov dword [esp + 0x38], 0
mov dword [esp + 0x3c], 0xf
mov byte [esp + 0x28], 0
cmp ecx, 0x10
jb 0x10099212
mov edx, dword [esp + 0x40]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x10099208
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10099244
push ecx
push edx
call fcn.101a043c
add esp, 8
mov ecx, dword [esp + 0x6c]
pop edi
pop esi
pop ebx
xor ecx, esp
call fcn.101a0143
mov esp, ebp
pop ebp
ret 4
call fcn.101a56c6
call fcn.10091dd0
call fcn.10096010
call fcn.101a56c6
call fcn.101a56c6
call fcn.101a56c6
call fcn.101a56c6
int3