Function at 0x10097780
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x64
mov eax, dword [0x1020a0c0]
xor eax, esp
mov dword [esp + 0x60], eax
mov eax, dword [0x10229e7c]
push ebx
mov ebx, dword [ebp + 8]
push esi
mov ecx, dword [eax]
mov dword [esp + 8], ebx
push edi
test ecx, ecx
je 0x10098495
cmp ebx, ecx
jne 0x100978db
call fcn.1007e1e0
cmp byte [eax], 0
je 0x10097802
mov eax, dword [0x10227c3c]
mov eax, dword [eax + 0xc]
cmp byte [eax + 0xa9], 0
je 0x10097802
mov eax, dword [0x10227c48]
movss xmm1, dword [0x101ff3c8]
mov ecx, dword [eax + 0x58]
mov eax, dword [0x10227c40]
push ecx
mov edx, dword [ecx]
subss xmm1, dword [eax + 0x1928]
mov eax, dword [edx + 0x10]
divss xmm1, dword [0x101ff3c8]
movss dword [esp], xmm1
call eax
mov eax, dword [ebx]
mov ecx, ebx
mov eax, dword [eax + 0x1e8]
call eax
mov ecx, dword [0x10227c40]
mov esi, eax
mov eax, dword [0x101f00fc]
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.10099440
push 0
push esi
mov eax, dword [eax]
add eax, 0x20
push eax
call fcn.10098c60
mov ecx, dword [esp + 0x3c]
cmp ecx, 0x10
jb 0x100978a3
mov edx, dword [esp + 0x28]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x10097899
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100984a9
push ecx
push edx
call fcn.1019d45c
add esp, 8
mov eax, dword [ebx]
mov ecx, ebx
mov eax, dword [eax + 0x1e8]
call eax
push eax
call fcn.10098730
mov eax, dword [ebx]
mov ecx, ebx
mov eax, dword [eax + 0x1e8]
call eax
push eax
call fcn.100984d0
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x60]
xor ecx, esp
call fcn.1019d163
mov esp, ebp
pop ebp
ret 4
mov eax, dword [0x10227c3c]
push ebx
mov eax, dword [eax + 0x38]
call eax
test al, al
je 0x1009831a
mov eax, dword [0x10227c40]
cmp byte [eax + 0xef8], 0
je 0x1009807a
mov eax, dword [ebx + 8]
lea ecx, [ebx + 8]
mov eax, dword [eax + 0x28]
call eax
cmp eax, 0x41
jae 0x100984ae
imul esi, eax, 0x3ef0
mov eax, dword [0x10227c40]
add esi, 0x10237b08
cmp byte [eax + 0xf08], 0
je 0x10097b56
test esi, esi
je 0x10097de0
mov eax, dword [esi + 0x10]
test eax, eax
je 0x10097b56
xor edi, edi
test eax, eax
je 0x10097de0
nop
test eax, eax
je 0x10097b45
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.10094730
test al, al
je 0x10097b45
cmp dword [esi + 0x10], edi
jbe 0x100984b3
mov edx, dword [esi + 0xc]
mov ecx, dword [esi]
add edx, edi
test ecx, ecx
je 0x1009798f
mov eax, dword [ecx]
jmp 0x10097991
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 [0x101f062c]
movq xmm0, qword [str.tV_RNI_U_]
mov dword [esp + 0x20], eax
mov eax, dword [0x10227c40]
add eax, 0xf14
movq qword [esp + 0x60], xmm0
mov dword [esp + 0x1c], eax
mov word [esp + 0x68], cx
test ch, ch
je 0x10097a07
xor ebx, ebx
mov eax, 0x5397829d
mov cl, bl
mul ebx
shr edx, 4
movsx eax, dl
imul eax, eax, 0x31
sub cl, al
add cl, 0x36
xor byte [esp + ebx + 0x60], cl
inc ebx
cmp ebx, 0xa
jl 0x100979e2
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]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x10097a26
sub ecx, edx
lea eax, [esp + 0x60]
push ecx
push eax
lea ecx, [esp + 0x48]
call fcn.10027bd0
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
nop dword [eax]
mov al, byte [edx]
inc edx
test al, al
jne 0x10097a70
sub edx, dword [esp + 0x18]
push edx
push ecx
lea ecx, [esp + 0x30]
call fcn.10027bd0
mov ecx, dword [esp + 0x1c]
lea eax, [esp + 0x28]
push eax
lea eax, [esp + 0x14]
push eax
call fcn.10099440
push dword [esp + 0x58]
push dword [esp + 0x24]
mov eax, dword [eax]
add eax, 0x20
push eax
call fcn.10098c60
mov ecx, dword [esp + 0x3c]
cmp ecx, 0x10
jb 0x10097ae2
mov edx, dword [esp + 0x28]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x10097ad8
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100984a9
push ecx
push edx
call fcn.1019d45c
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 0x10097b2d
mov edx, dword [esp + 0x40]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x10097b23
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100984a9
push ecx
push edx
call fcn.1019d45c
add esp, 8
mov eax, dword [0x10227c48]
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 0x10097950
jmp 0x10097de0
test esi, esi
je 0x10097de0
mov edi, dword [esi + 0x10]
test edi, edi
je 0x10097de0
add edi, 0xffffffff
js 0x10097de0
cmp dword [esi + 0x10], edi
jbe 0x100984b3
mov edx, dword [esi + 0xc]
mov ecx, dword [esi]
add edx, edi
test ecx, ecx
je 0x10097b8a
mov eax, dword [ecx]
jmp 0x10097b8c
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.10094730
test al, al
je 0x10097c03
cmp dword [esi + 0x10], edi
jbe 0x100984b3
mov edx, dword [esi + 0xc]
mov ecx, dword [esi]
add edx, edi
test ecx, ecx
je 0x10097bbe
mov eax, dword [ecx]
jmp 0x10097bc0
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.1007df40
movss xmm0, dword [ebx + 0x18]
mov ecx, eax
ucomiss xmm0, dword [ecx]
lahf
test ah, 0x44
jp 0x10097c11
movss xmm0, dword [ebx + 0x1c]
ucomiss xmm0, dword [ecx + 4]
lahf
test ah, 0x44
jp 0x10097c11
movss xmm0, dword [ebx + 0x20]
ucomiss xmm0, dword [ecx + 8]
lahf
test ah, 0x44
jp 0x10097c11
sub edi, 1
jns 0x10097b72
jmp 0x10097de0
cmp edi, 0xffffffff
je 0x10097de0
cmp dword [esi + 0x10], edi
jbe 0x100984b3
mov edx, dword [esi + 0xc]
mov ecx, dword [esi]
add edx, edi
test ecx, ecx
je 0x10097c32
mov eax, dword [ecx]
jmp 0x10097c34
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 [0x101f062c]
mov ebx, eax
mov eax, dword [0x10227c40]
movq xmm0, qword [str.tV_RNI_U_]
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 0x10097caa
xor ebx, ebx
mov eax, 0x5397829d
mov cl, bl
mul ebx
shr edx, 4
movsx eax, dl
imul eax, eax, 0x31
sub cl, al
add cl, 0x36
xor byte [esp + ebx + 0x60], cl
inc ebx
cmp ebx, 0xa
jl 0x10097c85
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 dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x10097cd0
sub ecx, edx
lea eax, [esp + 0x60]
push ecx
push eax
lea ecx, [esp + 0x48]
call fcn.10027bd0
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 0x10097d13
sub edx, ecx
lea ecx, [esp + 0x28]
push edx
push esi
call fcn.10027bd0
mov ecx, dword [esp + 0x58]
lea eax, [esp + 0x28]
push eax
lea eax, [esp + 0x14]
push eax
call fcn.10099440
push edi
push ebx
mov eax, dword [eax]
add eax, 0x20
push eax
call fcn.10098c60
mov ecx, dword [esp + 0x3c]
cmp ecx, 0x10
jb 0x10097d7d
mov edx, dword [esp + 0x28]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x10097d73
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100984b8
push ecx
push edx
call fcn.1019d45c
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 0x10097dc8
mov edx, dword [esp + 0x40]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x10097dbe
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100984b8
push ecx
push edx
call fcn.1019d45c
add esp, 8
mov eax, dword [0x10227c48]
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 [0x10227c40]
mov edi, eax
mov ecx, dword [0x101f0270]
add ebx, 0xf14
cmp byte [0x101f0277], 0
mov edx, dword [0x101f0274]
mov dword [esp + 0xc], ebx
mov dword [esp + 0x20], ecx
mov dword [esp + 0x24], edx
je 0x10097f5c
xor ebx, ebx
cmp dword [0x102296a0], 2
jl 0x10097f30
movaps xmm2, xmmword [0x101ff6c0]
mov eax, 4
movaps xmm3, xmmword [0x101ffba0]
movaps xmm1, xmm2
punpckldq xmm1, xmm2
movaps xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm3
pmuldq xmm1, xmm3
shufps xmm1, xmm0, 0xdd
movd xmm4, eax
mov eax, 0x1f
psrad xmm1, xmm4
movaps xmm0, xmm1
movd xmm5, eax
psrld xmm0, xmm5
paddd xmm0, xmm1
pmulld xmm0, xmmword [0x101ff720]
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
paddb xmm1, xmmword [0x101ff830]
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, xmm3
pmuldq xmm1, xmm3
shufps xmm1, xmm0, 0xdd
psrad xmm1, xmm4
movaps xmm0, xmm1
psrld xmm0, xmm5
paddd xmm0, xmm1
pmulld xmm0, xmmword [0x101ff720]
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
pand xmm1, xmmword [0x101ff7d0]
packuswb xmm1, xmm1
paddb xmm1, xmmword [0x101ff830]
movd xmm0, edx
pxor xmm1, xmm0
movd dword [esp + 0x24], xmm1
jmp 0x10097f58
mov eax, 0x5397829d
mov cl, bl
imul ebx
sar edx, 4
mov eax, edx
shr eax, 0x1f
add eax, edx
movsx eax, al
imul eax, eax, 0x31
sub cl, al
add cl, 0x36
xor byte [esp + ebx + 0x20], cl
inc ebx
cmp ebx, 8
jl 0x10097f30
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 + eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x10097f80
sub ecx, edx
lea eax, [esp + 0x20]
push ecx
push eax
lea ecx, [esp + 0x48]
call fcn.10027bd0
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 0x10097fc3
sub edx, ecx
lea ecx, [esp + 0x28]
push edx
push esi
call fcn.10027bd0
lea eax, [esp + 0x28]
mov ecx, ebx
push eax
lea eax, [esp + 0x14]
push eax
call fcn.10099440
push 0
push edi
mov eax, dword [eax]
add eax, 0x20
push eax
call fcn.10098c60
mov ecx, dword [esp + 0x3c]
cmp ecx, 0x10
jb 0x1009802c
mov edx, dword [esp + 0x28]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x10098022
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100984bd
push ecx
push edx
call fcn.1019d45c
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 0x10098495
mov edx, dword [esp + 0x40]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x1009848b
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100984bd
jmp 0x1009848b
mov eax, dword [ebx]
mov ecx, ebx
mov eax, dword [eax + 0x1e8]
call eax
mov ebx, dword [0x10227c40]
mov edi, eax
mov ecx, dword [0x101f0270]
add ebx, 0xf14
cmp byte [0x101f0277], 0
mov edx, dword [0x101f0274]
mov dword [esp + 0xc], ebx
mov dword [esp + 0x20], ecx
mov dword [esp + 0x24], edx
je 0x100981fc
xor ebx, ebx
cmp dword [0x102296a0], 2
jl 0x100981d0
movaps xmm2, xmmword [0x101ff6c0]
mov eax, 4
movaps xmm4, xmmword [0x101ffba0]
movaps xmm1, xmm2
punpckldq xmm1, xmm2
movaps xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm4
pmuldq xmm1, xmm4
shufps xmm1, xmm0, 0xdd
movd xmm5, eax
mov eax, 0x1f
psrad xmm1, xmm5
movaps xmm0, xmm1
movd xmm6, eax
mov eax, dword [0x101ff830]
psrld xmm0, xmm6
paddd xmm0, xmm1
pmulld xmm0, xmmword [0x101ff720]
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, ecx
pxor xmm1, xmm0
movaps xmm0, xmm2
movd dword [esp + 0x20], xmm1
movaps xmm1, xmm2
punpckhdq xmm0, xmm2
punpckldq xmm1, xmm2
pmuldq xmm0, xmm4
pmuldq xmm1, xmm4
shufps xmm1, xmm0, 0xdd
psrad xmm1, xmm5
movaps xmm0, xmm1
psrld xmm0, xmm6
paddd xmm0, xmm1
pmulld xmm0, xmmword [0x101ff720]
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, edx
pxor xmm1, xmm0
movd dword [esp + 0x24], xmm1
jmp 0x100981f8
mov eax, 0x5397829d
mov cl, bl
imul ebx
sar edx, 4
mov eax, edx
shr eax, 0x1f
add eax, edx
movsx eax, al
imul eax, eax, 0x31
sub cl, al
add cl, 0x36
xor byte [esp + ebx + 0x20], cl
inc ebx
cmp ebx, 8
jl 0x100981d0
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 + eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x10098220
sub ecx, edx
lea eax, [esp + 0x20]
push ecx
push eax
lea ecx, [esp + 0x48]
call fcn.10027bd0
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 0x10098263
sub edx, ecx
lea ecx, [esp + 0x28]
push edx
push esi
call fcn.10027bd0
lea eax, [esp + 0x28]
mov ecx, ebx
push eax
lea eax, [esp + 0x14]
push eax
call fcn.10099440
push 0
push edi
mov eax, dword [eax]
add eax, 0x20
push eax
call fcn.10098c60
mov ecx, dword [esp + 0x3c]
cmp ecx, 0x10
jb 0x100982cc
mov edx, dword [esp + 0x28]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x100982c2
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100984c2
push ecx
push edx
call fcn.1019d45c
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 0x10098495
mov edx, dword [esp + 0x40]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x1009848b
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100984c2
jmp 0x1009848b
mov eax, dword [ebx]
mov ecx, ebx
mov eax, dword [eax + 0x1e8]
call eax
mov ecx, dword [str.w_TP_H_]
mov edi, eax
mov eax, dword [0x10227c40]
mov dword [esp + 0x58], ecx
add eax, 0xf14
mov cx, word [0x101f0620]
xor ebx, ebx
mov word [esp + 0x5c], cx
mov cl, byte [0x101f0622]
mov dword [esp + 0x20], eax
mov byte [esp + 0x5e], cl
nop dword [eax + eax]
mov eax, 0x5397829d
mov cl, bl
mul ebx
shr edx, 4
movsx eax, dl
imul eax, eax, 0x31
sub cl, al
add cl, 0x36
xor byte [esp + ebx + 0x58], cl
inc ebx
cmp ebx, 7
jl 0x10098360
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 0x100983a0
sub ecx, edx
lea eax, [esp + 0x58]
push ecx
push eax
lea ecx, [esp + 0x48]
call fcn.10027bd0
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 0x100983e3
sub edx, ecx
lea ecx, [esp + 0x28]
push edx
push esi
call fcn.10027bd0
mov ecx, dword [esp + 0x20]
lea eax, [esp + 0x28]
push eax
lea eax, [esp + 0x14]
push eax
call fcn.10099440
push 0
push edi
mov eax, dword [eax]
add eax, 0x20
push eax
call fcn.10098c60
mov ecx, dword [esp + 0x3c]
cmp ecx, 0x10
jb 0x1009844e
mov edx, dword [esp + 0x28]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x10098444
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100984c7
push ecx
push edx
call fcn.1019d45c
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 0x10098495
mov edx, dword [esp + 0x40]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x1009848b
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100984c7
push ecx
push edx
call fcn.1019d45c
add esp, 8
mov ecx, dword [esp + 0x6c]
pop edi
pop esi
pop ebx
xor ecx, esp
call fcn.1019d163
mov esp, ebp
pop ebp
ret 4
call fcn.101a26e6
call fcn.10091180
call fcn.10095370
call fcn.101a26e6
call fcn.101a26e6
call fcn.101a26e6
call fcn.101a26e6
int3