Function at 0x100d4b60
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff0
sub esp, 0xb4
mov eax, dword [0x102230c0]
xor eax, esp
mov dword [esp + 0xb0], eax
push ebx
xor ebx, ebx
push esi
mov dword [esp + 0x10], ebx
cmp dword [0x10240b88], 2
push edi
jne 0x100d8490
mov eax, dword fs:[0x2c]
mov ecx, dword [0x10241d9c]
mov ecx, dword [eax + ecx*4]
mov eax, dword [0x10534b20]
mov dword [esp + 0x3c], ecx
cmp eax, dword [ecx + 4]
jle 0x100d4be0
push 0x10534b20
call fcn.101b633d
add esp, 4
cmp dword [0x10534b20], 0xffffffff
jne 0x100d4be0
push 0x101e2740
call fcn.101b6089
add esp, 4
push 0x10534b20
call fcn.101b62ec
add esp, 4
mov eax, dword [0x1020a250]
movq xmm0, qword [0x1020a248]
mov esi, dword [0x10240c80]
mov dword [esp + 0x2c], eax
mov ax, word [0x1020a254]
mov word [esp + 0x30], ax
mov al, byte [0x1020a256]
mov byte [esp + 0x32], al
xor eax, eax
cmp dword [0x10241d90], 2
movq qword [esp + 0x24], xmm0
mov byte [esp + 0x13], bl
mov dword [esp + 0x1c], eax
jl 0x100d4d26
movaps xmm2, xmmword [0x10215760]
mov eax, 8
movaps xmm3, xmmword [0x10215c00]
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
mov dword [esp + 0x1c], eax
psrad xmm1, 5
movaps xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmmword [0x10215810]
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
movaps xmm2, xmmword [0x102157a0]
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
andps xmm1, xmmword [0x102158a0]
movd xmm0, dword [0x1020a248]
packuswb xmm1, xmm1
paddb xmm1, xmmword [0x102158e0]
xorps xmm1, xmm0
movaps xmm0, xmm2
movd dword [esp + 0x24], 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, 5
movaps xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmmword [0x10215810]
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
andps xmm1, xmmword [0x102158a0]
movd xmm0, dword [esp + 0x28]
packuswb xmm1, xmm1
paddb xmm1, xmmword [0x102158e0]
xorps xmm1, xmm0
movd dword [esp + 0x28], xmm1
mov ebx, dword [esp + 0x1c]
nop word [eax + eax]
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 + 0x24], cl
inc ebx
cmp ebx, 0xf
jl 0x100d4d30
mov edx, esi
lea ecx, [esp + 0x24]
call fcn.10188eb0
movss xmm1, dword [0x102155e4]
xorps xmm0, xmm0
call fcn.10178640
movq xmm0, qword [0x1020b308]
xor edx, edx
mov al, byte [0x1020b310]
movq qword [esp + 0x24], xmm0
mov byte [esp + 0x2c], al
mov dword [esp + 0x1c], edx
mov eax, 0x1f7047dd
mul edx
mov eax, dword [esp + 0x1c]
sub eax, edx
shr eax, 1
add eax, edx
mov edx, dword [esp + 0x1c]
shr eax, 5
mov cl, dl
movsx eax, al
imul eax, eax, 0x39
sub cl, al
add cl, 0x32
xor byte [esp + edx + 0x24], cl
inc edx
mov dword [esp + 0x1c], edx
cmp edx, 9
jl 0x100d4d92
mov eax, dword [0x10469550]
xor edx, edx
mov esi, dword [eax + 0x1bec]
mov eax, dword [esi + 0xe8]
add esi, 0xe0
mov ecx, dword [esi]
push dword [eax + ecx*4 - 4]
lea ecx, [esp + 0x28]
call fcn.1016cfb0
mov edi, dword [esi + 4]
mov ecx, dword [esi]
mov dword [esp + 0x1c], eax
cmp ecx, edi
jne 0x100d4e1c
inc ecx
test edi, edi
je 0x100d4e0a
mov eax, edi
cdq
sub eax, edx
sar eax, 1
add eax, edi
jmp 0x100d4e0f
mov eax, 8
cmp eax, ecx
cmovg ecx, eax
push ecx
mov ecx, esi
call fcn.100bc320
mov ecx, dword [esi]
mov eax, dword [esi + 8]
mov edx, dword [esp + 0x1c]
mov dword [esp + 0x24], 0x42c80000
mov dword [esp + 0x28], 0
mov dword [eax + ecx*4], edx
mov eax, dword [0x1020a4a0]
inc dword [esi]
xor ebx, ebx
mov esi, dword [0x10240c80]
mov dword [esp + 0x1c], eax
mov ax, word [0x1020a4a4]
mov word [esp + 0x20], ax
mov al, byte [0x1020a4a6]
mov byte [esp + 0x22], al
nop
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 + 0x1c], cl
inc ebx
cmp ebx, 7
jl 0x100d4e60
push ecx
lea eax, [esp + 0x28]
push eax
lea edx, [esi + 0xa58]
lea ecx, [esp + 0x24]
call fcn.100be150
mov ecx, dword [0x10469550]
mov eax, dword [ecx + 0x1bec]
dec dword [eax + 0xe0]
mov ecx, dword [ecx + 0x1bec]
cmp byte [ecx + 0xab], 0
jne 0x100d4ed1
mov ecx, dword [ecx + 0x1dc]
neg ecx
sbb ecx, ecx
add ecx, 6
call fcn.101897d0
movss xmm0, dword [0x10215494]
call fcn.10178700
movups xmm0, xmmword [0x1020b800]
mov edi, dword [0x10241d90]
mov dword [esp + 0x24], 0x44160000
movups xmmword [esp + 0x48], xmm0
mov dword [esp + 0x28], 0x41f00000
psrldq xmm0, 0xf
movd eax, xmm0
test al, al
je 0x100d507b
mov al, byte [esp + 0x13]
mov byte [esp + 0x13], al
cmp edi, 2
jl 0x100d504f
movaps xmm0, xmmword [0x102158e0]
lea esi, [esp + 0x4c]
movaps xmm4, xmmword [0x10215760]
xor ecx, ecx
movaps xmm3, xmmword [0x10215c00]
movaps xmm5, xmmword [0x10215810]
movaps xmmword [esp + 0x60], xmm0
mov edx, dword [esp + 0x60]
nop dword [eax]
movd xmm0, ecx
lea eax, [ecx + 4]
pshufd xmm2, xmm0, 0
paddd xmm2, xmm4
movaps xmm1, xmm2
movaps xmm0, xmm2
punpckhdq xmm0, xmm2
punpckldq xmm1, xmm2
pmuldq xmm0, xmm3
pmuldq xmm1, xmm3
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm2
psrad xmm1, 5
movaps xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm5
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
andps xmm1, xmmword [0x102158a0]
packuswb xmm1, xmm1
movd xmm0, edx
paddb xmm1, xmm0
movd xmm0, dword [esp + ecx + 0x48]
xorps xmm1, xmm0
movd xmm0, eax
pshufd xmm2, xmm0, 0
movd dword [esp + ecx + 0x48], xmm1
paddd xmm2, xmm4
movaps xmm1, xmm2
movaps xmm0, xmm2
punpckldq xmm1, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm3
pmuldq xmm1, xmm3
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm2
psrad xmm1, 5
movaps xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm5
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
andps xmm1, xmmword [0x102158a0]
packuswb xmm1, xmm1
movd xmm0, edx
paddb xmm1, xmm0
movd xmm0, dword [ecx + esi]
xorps xmm1, xmm0
movd dword [ecx + esi], xmm1
add ecx, 8
cmp ecx, 0x10
jl 0x100d4f50
jmp 0x100d507b
xor ebx, ebx
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 + 0x48], cl
inc ebx
cmp ebx, 0x10
jl 0x100d5051
mov esi, dword [0x10469550]
xor edx, edx
mov eax, dword [esi + 0x1bec]
mov byte [eax + 0xa8], 1
mov eax, dword [esi + 0x1bec]
mov ecx, dword [eax + 0xe0]
mov eax, dword [eax + 0xe8]
push dword [eax + ecx*4 - 4]
lea ecx, [esp + 0x4c]
call fcn.1016cfb0
cmp dword [esi + 0x1c24], eax
jne 0x100d50bd
mov dword [esi + 0x1c28], eax
cmp dword [esi + 0x1c5c], eax
jne 0x100d50cc
mov byte [esi + 0x1c60], 1
push 0
push 0
lea ecx, [esp + 0x2c]
mov edx, eax
push ecx
lea ecx, [esp + 0x54]
call fcn.10172ef0
cmp dword [0x10240b88], 2
jne 0x100d5e33
cmp dword [0x10469378], 0
mov ecx, dword [0x10469550]
mov eax, dword [ecx + 0x1bec]
mov byte [eax + 0xa8], 1
mov eax, dword [ecx + 0x1bec]
movss xmm1, dword [eax + 0x10]
subss xmm1, dword [eax + 0x74]
movss xmm0, dword [eax + 0x104]
addss xmm1, dword [0x1021539c]
maxss xmm0, xmm1
movss dword [eax + 0xec], xmm1
movss dword [eax + 0x104], xmm0
jne 0x100d5144
call fcn.100d48f0
jmp 0x100d5149
call fcn.100d49f0
cmp byte [0x1020abdb], 0
mov eax, dword [str.s_X5_VYZ_R]
mov dword [esp + 0x24], 0x42200000
mov dword [esp + 0x28], 0x41f00000
mov dword [esp + 0x1c], eax
je 0x100d522a
cmp edi, 2
jl 0x100d51f6
movaps xmm3, xmmword [0x10215760]
movaps xmm2, xmm3
movaps xmm0, xmm3
punpckhdq xmm0, xmm3
pmuldq xmm0, xmmword [0x10215c00]
punpckldq xmm2, xmm3
pmuldq xmm2, xmmword [0x10215c00]
shufps xmm2, xmm0, 0xdd
paddd xmm2, xmm3
psrad xmm2, 5
movaps xmm0, xmm2
psrld xmm0, 0x1f
paddd xmm0, xmm2
pmulld xmm0, xmmword [0x10215810]
psubd xmm3, xmm0
pshuflw xmm0, xmm3, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
andps xmm1, xmmword [0x102158a0]
packuswb xmm1, xmm1
paddb xmm1, xmmword [0x102158e0]
movd xmm0, eax
xorps xmm1, xmm0
movd dword [esp + 0x1c], xmm1
jmp 0x100d522a
mov al, byte [esp + 0x13]
xor ebx, ebx
mov byte [esp + 0x13], al
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 + 0x1c], cl
inc ebx
cmp ebx, 4
jl 0x100d5200
push 0
push 0
lea edx, [esp + 0x2c]
lea ecx, [esp + 0x24]
call fcn.10187610
test al, al
je 0x100d5249
mov dword [0x10469378], 0
mov esi, dword [0x10469550]
movss xmm1, dword [0x102155e4]
mov eax, dword [esi + 0x1ce8]
mov ecx, dword [esi + 0x1cf0]
lea edx, [eax + eax*4]
mov eax, dword [ecx + edx*4 - 0x14]
movups xmm0, xmmword [ecx + edx*4 - 0x10]
add eax, eax
movups xmmword [esi + eax*8 + 0x1624], xmm0
dec dword [esi + 0x1ce8]
mov eax, dword [esi + 0x1ce8]
mov ecx, dword [esi + 0x1cf0]
lea edx, [eax + eax*4]
mov eax, dword [ecx + edx*4 - 0x14]
movups xmm0, xmmword [ecx + edx*4 - 0x10]
add eax, eax
movups xmmword [esi + eax*8 + 0x1624], xmm0
dec dword [esi + 0x1ce8]
mov eax, dword [esi + 0x1ce8]
mov ecx, dword [esi + 0x1cf0]
lea edx, [eax + eax*4]
mov eax, dword [ecx + edx*4 - 0x14]
movups xmm0, xmmword [ecx + edx*4 - 0x10]
add eax, eax
movups xmmword [esi + eax*8 + 0x1624], xmm0
dec dword [esi + 0x1ce8]
mov eax, dword [esi + 0x1ce8]
mov ecx, dword [esi + 0x1cf0]
lea edx, [eax + eax*4]
mov eax, dword [ecx + edx*4 - 0x14]
movups xmm0, xmmword [ecx + edx*4 - 0x10]
add eax, eax
movups xmmword [esi + eax*8 + 0x1624], xmm0
dec dword [esi + 0x1ce8]
xorps xmm0, xmm0
call fcn.10178640
mov ecx, dword [0x10240c8c]
mov ecx, dword [ecx + 0x24]
call fcn.10177d50
cmp dword [0x10469378], 1
jne 0x100d531d
call fcn.100d48f0
jmp 0x100d5322
call fcn.100d49f0
mov ax, word [0x101f65fc]
mov dword [esp + 0x24], 0x42480000
mov dword [esp + 0x28], 0x41f00000
mov word [esp + 0x1c], ax
test ah, ah
je 0x100d536c
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 + 0x1c], cl
inc ebx
cmp ebx, 2
jl 0x100d5343
push 0
push 0
lea edx, [esp + 0x2c]
lea ecx, [esp + 0x24]
call fcn.10187610
test al, al
je 0x100d538e
mov edi, 1
mov dword [0x10469378], edi
jmp 0x100d5394
mov edi, dword [0x10469378]
mov esi, dword [0x10469550]
movss xmm1, dword [0x102155e4]
mov eax, dword [esi + 0x1ce8]
mov ecx, dword [esi + 0x1cf0]
lea edx, [eax + eax*4]
mov eax, dword [ecx + edx*4 - 0x14]
movups xmm0, xmmword [ecx + edx*4 - 0x10]
add eax, eax
movups xmmword [esi + eax*8 + 0x1624], xmm0
dec dword [esi + 0x1ce8]
mov eax, dword [esi + 0x1ce8]
mov ecx, dword [esi + 0x1cf0]
lea edx, [eax + eax*4]
mov eax, dword [ecx + edx*4 - 0x14]
movups xmm0, xmmword [ecx + edx*4 - 0x10]
add eax, eax
movups xmmword [esi + eax*8 + 0x1624], xmm0
dec dword [esi + 0x1ce8]
mov eax, dword [esi + 0x1ce8]
mov ecx, dword [esi + 0x1cf0]
lea edx, [eax + eax*4]
mov eax, dword [ecx + edx*4 - 0x14]
movups xmm0, xmmword [ecx + edx*4 - 0x10]
add eax, eax
movups xmmword [esi + eax*8 + 0x1624], xmm0
dec dword [esi + 0x1ce8]
mov eax, dword [esi + 0x1ce8]
mov ecx, dword [esi + 0x1cf0]
lea edx, [eax + eax*4]
mov eax, dword [ecx + edx*4 - 0x14]
movups xmm0, xmmword [ecx + edx*4 - 0x10]
add eax, eax
movups xmmword [esi + eax*8 + 0x1624], xmm0
dec dword [esi + 0x1ce8]
xorps xmm0, xmm0
call fcn.10178640
cmp edi, 2
jne 0x100d5456
call fcn.100d48f0
jmp 0x100d545b
call fcn.100d49f0
mov ax, word [0x101f6674]
mov dword [esp + 0x24], 0x42480000
mov dword [esp + 0x28], 0x41f00000
mov word [esp + 0x1c], ax
test ah, ah
je 0x100d54a9
xor ebx, ebx
nop dword [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 + 0x1c], cl
inc ebx
cmp ebx, 2
jl 0x100d5480
push 0
push 0
lea edx, [esp + 0x2c]
lea ecx, [esp + 0x24]
call fcn.10187610
test al, al
je 0x100d54cb
mov edi, 2
mov dword [0x10469378], edi
jmp 0x100d54d1
mov edi, dword [0x10469378]
mov esi, dword [0x10469550]
movss xmm1, dword [0x102155e4]
mov eax, dword [esi + 0x1ce8]
mov ecx, dword [esi + 0x1cf0]
lea edx, [eax + eax*4]
mov eax, dword [ecx + edx*4 - 0x14]
movups xmm0, xmmword [ecx + edx*4 - 0x10]
add eax, eax
movups xmmword [esi + eax*8 + 0x1624], xmm0
dec dword [esi + 0x1ce8]
mov eax, dword [esi + 0x1ce8]
mov ecx, dword [esi + 0x1cf0]
lea edx, [eax + eax*4]
mov eax, dword [ecx + edx*4 - 0x14]
movups xmm0, xmmword [ecx + edx*4 - 0x10]
add eax, eax
movups xmmword [esi + eax*8 + 0x1624], xmm0
dec dword [esi + 0x1ce8]
mov eax, dword [esi + 0x1ce8]
mov ecx, dword [esi + 0x1cf0]
lea edx, [eax + eax*4]
mov eax, dword [ecx + edx*4 - 0x14]
movups xmm0, xmmword [ecx + edx*4 - 0x10]
add eax, eax
movups xmmword [esi + eax*8 + 0x1624], xmm0
dec dword [esi + 0x1ce8]
mov eax, dword [esi + 0x1ce8]
mov ecx, dword [esi + 0x1cf0]
lea edx, [eax + eax*4]
mov eax, dword [ecx + edx*4 - 0x14]
movups xmm0, xmmword [ecx + edx*4 - 0x10]
add eax, eax
movups xmmword [esi + eax*8 + 0x1624], xmm0
dec dword [esi + 0x1ce8]
xorps xmm0, xmm0
call fcn.10178640
cmp edi, 3
jne 0x100d5593
call fcn.100d48f0
jmp 0x100d5598
call fcn.100d49f0
mov ax, word [0x101f655c]
mov dword [esp + 0x24], 0x42480000
mov dword [esp + 0x28], 0x41f00000
mov word [esp + 0x1c], ax
test ah, ah
je 0x100d55e9
xor ebx, ebx
nop dword [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 + 0x1c], cl
inc ebx
cmp ebx, 2
jl 0x100d55c0
push 0
push 0
lea edx, [esp + 0x2c]
lea ecx, [esp + 0x24]
call fcn.10187610
test al, al
je 0x100d560b
mov edi, 3
mov dword [0x10469378], edi
jmp 0x100d5611
mov edi, dword [0x10469378]
mov esi, dword [0x10469550]
movss xmm1, dword [0x102155e4]
mov eax, dword [esi + 0x1ce8]
mov ecx, dword [esi + 0x1cf0]
lea edx, [eax + eax*4]
mov eax, dword [ecx + edx*4 - 0x14]
movups xmm0, xmmword [ecx + edx*4 - 0x10]
add eax, eax
movups xmmword [esi + eax*8 + 0x1624], xmm0
dec dword [esi + 0x1ce8]
mov eax, dword [esi + 0x1ce8]
mov ecx, dword [esi + 0x1cf0]
lea edx, [eax + eax*4]
mov eax, dword [ecx + edx*4 - 0x14]
movups xmm0, xmmword [ecx + edx*4 - 0x10]
add eax, eax
movups xmmword [esi + eax*8 + 0x1624], xmm0
dec dword [esi + 0x1ce8]
mov eax, dword [esi + 0x1ce8]
mov ecx, dword [esi + 0x1cf0]
lea edx, [eax + eax*4]
mov eax, dword [ecx + edx*4 - 0x14]
movups xmm0, xmmword [ecx + edx*4 - 0x10]
add eax, eax
movups xmmword [esi + eax*8 + 0x1624], xmm0
dec dword [esi + 0x1ce8]
mov eax, dword [esi + 0x1ce8]
mov ecx, dword [esi + 0x1cf0]
lea edx, [eax + eax*4]
mov eax, dword [ecx + edx*4 - 0x14]
movups xmm0, xmmword [ecx + edx*4 - 0x10]
add eax, eax
movups xmmword [esi + eax*8 + 0x1624], xmm0
dec dword [esi + 0x1ce8]
xorps xmm0, xmm0
call fcn.10178640
cmp edi, 4
jne 0x100d56d3
call fcn.100d48f0
jmp 0x100d56d8
call fcn.100d49f0
mov ax, word [0x101f6580]
mov dword [esp + 0x24], 0x42480000
mov dword [esp + 0x28], 0x41f00000
mov word [esp + 0x1c], ax
test ah, ah
je 0x100d5729
xor ebx, ebx
nop dword [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 + 0x1c], cl
inc ebx
cmp ebx, 2
jl 0x100d5700
push 0
push 0
lea edx, [esp + 0x2c]
lea ecx, [esp + 0x24]
call fcn.10187610
test al, al
je 0x100d574b
mov edi, 4
mov dword [0x10469378], edi
jmp 0x100d5751
mov edi, dword [0x10469378]
mov esi, dword [0x10469550]
movss xmm1, dword [0x102155e4]
mov eax, dword [esi + 0x1ce8]
mov ecx, dword [esi + 0x1cf0]
lea edx, [eax + eax*4]
mov eax, dword [ecx + edx*4 - 0x14]
movups xmm0, xmmword [ecx + edx*4 - 0x10]
add eax, eax
movups xmmword [esi + eax*8 + 0x1624], xmm0
dec dword [esi + 0x1ce8]
mov eax, dword [esi + 0x1ce8]
mov ecx, dword [esi + 0x1cf0]
lea edx, [eax + eax*4]
mov eax, dword [ecx + edx*4 - 0x14]
movups xmm0, xmmword [ecx + edx*4 - 0x10]
add eax, eax
movups xmmword [esi + eax*8 + 0x1624], xmm0
dec dword [esi + 0x1ce8]
mov eax, dword [esi + 0x1ce8]
mov ecx, dword [esi + 0x1cf0]
lea edx, [eax + eax*4]
mov eax, dword [ecx + edx*4 - 0x14]
movups xmm0, xmmword [ecx + edx*4 - 0x10]
add eax, eax
movups xmmword [esi + eax*8 + 0x1624], xmm0
dec dword [esi + 0x1ce8]
mov eax, dword [esi + 0x1ce8]
mov ecx, dword [esi + 0x1cf0]
lea edx, [eax + eax*4]
mov eax, dword [ecx + edx*4 - 0x14]
movups xmm0, xmmword [ecx + edx*4 - 0x10]
add eax, eax
movups xmmword [esi + eax*8 + 0x1624], xmm0
dec dword [esi + 0x1ce8]
xorps xmm0, xmm0
call fcn.10178640
cmp edi, 5
jne 0x100d5813
call fcn.100d48f0
jmp 0x100d5818
call fcn.100d49f0
mov ax, word [0x101f6574]
mov dword [esp + 0x24], 0x42480000
mov dword [esp + 0x28], 0x41f00000
mov word [esp + 0x1c], ax
test ah, ah
je 0x100d5869
xor ebx, ebx
nop dword [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 + 0x1c], cl
inc ebx
cmp ebx, 2
jl 0x100d5840
push 0
push 0
lea edx, [esp + 0x2c]
lea ecx, [esp + 0x24]
call fcn.10187610
test al, al
je 0x100d588b
mov edi, 5
mov dword [0x10469378], edi
jmp 0x100d5891
mov edi, dword [0x10469378]
mov esi, dword [0x10469550]
movss xmm1, dword [0x102155e4]
mov eax, dword [esi + 0x1ce8]
mov ecx, dword [esi + 0x1cf0]
lea edx, [eax + eax*4]
mov eax, dword [ecx + edx*4 - 0x14]
movups xmm0, xmmword [ecx + edx*4 - 0x10]
add eax, eax
movups xmmword [esi + eax*8 + 0x1624], xmm0
dec dword [esi + 0x1ce8]
mov eax, dword [esi + 0x1ce8]
mov ecx, dword [esi + 0x1cf0]
lea edx, [eax + eax*4]
mov eax, dword [ecx + edx*4 - 0x14]
movups xmm0, xmmword [ecx + edx*4 - 0x10]
add eax, eax
movups xmmword [esi + eax*8 + 0x1624], xmm0
dec dword [esi + 0x1ce8]
mov eax, dword [esi + 0x1ce8]
mov ecx, dword [esi + 0x1cf0]
lea edx, [eax + eax*4]
mov eax, dword [ecx + edx*4 - 0x14]
movups xmm0, xmmword [ecx + edx*4 - 0x10]
add eax, eax
movups xmmword [esi + eax*8 + 0x1624], xmm0
dec dword [esi + 0x1ce8]
mov eax, dword [esi + 0x1ce8]
mov ecx, dword [esi + 0x1cf0]
lea edx, [eax + eax*4]
mov eax, dword [ecx + edx*4 - 0x14]
movups xmm0, xmmword [ecx + edx*4 - 0x10]
add eax, eax
movups xmmword [esi + eax*8 + 0x1624], xmm0
dec dword [esi + 0x1ce8]
xorps xmm0, xmm0
call fcn.10178640
cmp edi, 6
jne 0x100d5953
call fcn.100d48f0
jmp 0x100d5958
call fcn.100d49f0
mov ax, word [0x1020440c]
mov dword [esp + 0x24], 0x42680000
mov dword [esp + 0x28], 0x41f00000
mov word [esp + 0x1c], ax
test ah, ah
je 0x100d59a9
xor ebx, ebx
nop dword [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 + 0x1c], cl
inc ebx
cmp ebx, 2
jl 0x100d5980
push 0
push 0
lea edx, [esp + 0x2c]
lea ecx, [esp + 0x24]
call fcn.10187610
test al, al
je 0x100d59cb
mov edi, 6
mov dword [0x10469378], edi
jmp 0x100d59d1
mov edi, dword [0x10469378]
mov esi, dword [0x10469550]
movss xmm1, dword [0x102155e4]
mov eax, dword [esi + 0x1ce8]
mov ecx, dword [esi + 0x1cf0]
lea edx, [eax + eax*4]
mov eax, dword [ecx + edx*4 - 0x14]
movups xmm0, xmmword [ecx + edx*4 - 0x10]
add eax, eax
movups xmmword [esi + eax*8 + 0x1624], xmm0
dec dword [esi + 0x1ce8]
mov eax, dword [esi + 0x1ce8]
mov ecx, dword [esi + 0x1cf0]
lea edx, [eax + eax*4]
mov eax, dword [ecx + edx*4 - 0x14]
movups xmm0, xmmword [ecx + edx*4 - 0x10]
add eax, eax
movups xmmword [esi + eax*8 + 0x1624], xmm0
dec dword [esi + 0x1ce8]
mov eax, dword [esi + 0x1ce8]
mov ecx, dword [esi + 0x1cf0]
lea edx, [eax + eax*4]
mov eax, dword [ecx + edx*4 - 0x14]
movups xmm0, xmmword [ecx + edx*4 - 0x10]
add eax, eax
movups xmmword [esi + eax*8 + 0x1624], xmm0
dec dword [esi + 0x1ce8]
mov eax, dword [esi + 0x1ce8]
mov ecx, dword [esi + 0x1cf0]
lea edx, [eax + eax*4]
mov eax, dword [ecx + edx*4 - 0x14]
movups xmm0, xmmword [ecx + edx*4 - 0x10]
add eax, eax
movups xmmword [esi + eax*8 + 0x1624], xmm0
dec dword [esi + 0x1ce8]
xorps xmm0, xmm0
call fcn.10178640
cmp edi, 7
jne 0x100d5a93
call fcn.100d48f0
jmp 0x100d5a98
call fcn.100d49f0
mov ax, word [0x101f65b0]
mov dword [esp + 0x24], 0x42700000
mov dword [esp + 0x28], 0x41f00000
mov word [esp + 0x1c], ax
test ah, ah
je 0x100d5ae9
xor ebx, ebx
nop dword [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 + 0x1c], cl
inc ebx
cmp ebx, 2
jl 0x100d5ac0
push 0
push 0
lea edx, [esp + 0x2c]
lea ecx, [esp + 0x24]
call fcn.10187610
test al, al
je 0x100d5b0b
mov edi, 7
mov dword [0x10469378], edi
jmp 0x100d5b11
mov edi, dword [0x10469378]
mov esi, dword [0x10469550]
movss xmm1, dword [0x102155e4]
mov eax, dword [esi + 0x1ce8]
mov ecx, dword [esi + 0x1cf0]
lea edx, [eax + eax*4]
mov eax, dword [ecx + edx*4 - 0x14]
movups xmm0, xmmword [ecx + edx*4 - 0x10]
add eax, eax
movups xmmword [esi + eax*8 + 0x1624], xmm0
dec dword [esi + 0x1ce8]
mov eax, dword [esi + 0x1ce8]
mov ecx, dword [esi + 0x1cf0]
lea edx, [eax + eax*4]
mov eax, dword [ecx + edx*4 - 0x14]
movups xmm0, xmmword [ecx + edx*4 - 0x10]
add eax, eax
movups xmmword [esi + eax*8 + 0x1624], xmm0
dec dword [esi + 0x1ce8]
mov eax, dword [esi + 0x1ce8]
mov ecx, dword [esi + 0x1cf0]
lea edx, [eax + eax*4]
mov eax, dword [ecx + edx*4 - 0x14]
movups xmm0, xmmword [ecx + edx*4 - 0x10]
add eax, eax
movups xmmword [esi + eax*8 + 0x1624], xmm0
dec dword [esi + 0x1ce8]
mov eax, dword [esi + 0x1ce8]
mov ecx, dword [esi + 0x1cf0]
lea edx, [eax + eax*4]
mov eax, dword [ecx + edx*4 - 0x14]
movups xmm0, xmmword [ecx + edx*4 - 0x10]
add eax, eax
movups xmmword [esi + eax*8 + 0x1624], xmm0
dec dword [esi + 0x1ce8]
xorps xmm0, xmm0
call fcn.10178640
cmp edi, 8
jne 0x100d5bd3
call fcn.100d48f0
jmp 0x100d5bd8
call fcn.100d49f0
mov ax, word [0x101f6668]
mov dword [esp + 0x24], 0x42480000
mov dword [esp + 0x28], 0x41f00000
mov word [esp + 0x1c], ax
test ah, ah
je 0x100d5c29
xor ebx, ebx
nop dword [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 + 0x1c], cl
inc ebx
cmp ebx, 2
jl 0x100d5c00
push 0
push 0
lea edx, [esp + 0x2c]
lea ecx, [esp + 0x24]
call fcn.10187610
test al, al
je 0x100d5c4b
mov edi, 8
mov dword [0x10469378], edi
jmp 0x100d5c51
mov edi, dword [0x10469378]
mov esi, dword [0x10469550]
movss xmm1, dword [0x102155e4]
mov eax, dword [esi + 0x1ce8]
mov ecx, dword [esi + 0x1cf0]
lea edx, [eax + eax*4]
mov eax, dword [ecx + edx*4 - 0x14]
movups xmm0, xmmword [ecx + edx*4 - 0x10]
add eax, eax
movups xmmword [esi + eax*8 + 0x1624], xmm0
dec dword [esi + 0x1ce8]
mov eax, dword [esi + 0x1ce8]
mov ecx, dword [esi + 0x1cf0]
lea edx, [eax + eax*4]
mov eax, dword [ecx + edx*4 - 0x14]
movups xmm0, xmmword [ecx + edx*4 - 0x10]
add eax, eax
movups xmmword [esi + eax*8 + 0x1624], xmm0
dec dword [esi + 0x1ce8]
mov eax, dword [esi + 0x1ce8]
mov ecx, dword [esi + 0x1cf0]
lea edx, [eax + eax*4]
mov eax, dword [ecx + edx*4 - 0x14]
movups xmm0, xmmword [ecx + edx*4 - 0x10]
add eax, eax
movups xmmword [esi + eax*8 + 0x1624], xmm0
dec dword [esi + 0x1ce8]
mov eax, dword [esi + 0x1ce8]
xorps xmm0, xmm0
mov ecx, dword [esi + 0x1cf0]
lea edx, [eax + eax*4]
mov eax, dword [ecx + edx*4 - 0x14]
movups xmm2, xmmword [ecx + edx*4 - 0x10]
add eax, eax
movups xmmword [esi + eax*8 + 0x1624], xmm2
dec dword [esi + 0x1ce8]
call fcn.10178640
cmp edi, 9
jne 0x100d5d13
call fcn.100d48f0
jmp 0x100d5d18
call fcn.100d49f0
mov ax, word [0x101f65c8]
mov dword [esp + 0x24], 0x42480000
mov dword [esp + 0x28], 0x41f00000
mov word [esp + 0x1c], ax
test ah, ah
je 0x100d5d69
xor ebx, ebx
nop dword [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 + 0x1c], cl
inc ebx
cmp ebx, 2
jl 0x100d5d40
push 0
push 0
lea edx, [esp + 0x2c]
lea ecx, [esp + 0x24]
call fcn.10187610
test al, al
je 0x100d5d88
mov dword [0x10469378], 9
mov esi, dword [0x10469550]
mov eax, dword [esi + 0x1ce8]
mov ecx, dword [esi + 0x1cf0]
lea edx, [eax + eax*4]
mov eax, dword [ecx + edx*4 - 0x14]
movups xmm0, xmmword [ecx + edx*4 - 0x10]
add eax, eax
movups xmmword [esi + eax*8 + 0x1624], xmm0
dec dword [esi + 0x1ce8]
mov eax, dword [esi + 0x1ce8]
mov ecx, dword [esi + 0x1cf0]
lea edx, [eax + eax*4]
mov eax, dword [ecx + edx*4 - 0x14]
movups xmm0, xmmword [ecx + edx*4 - 0x10]
add eax, eax
movups xmmword [esi + eax*8 + 0x1624], xmm0
dec dword [esi + 0x1ce8]
mov eax, dword [esi + 0x1ce8]
mov ecx, dword [esi + 0x1cf0]
lea edx, [eax + eax*4]
mov eax, dword [ecx + edx*4 - 0x14]
movups xmm0, xmmword [ecx + edx*4 - 0x10]
add eax, eax
movups xmmword [esi + eax*8 + 0x1624], xmm0
dec dword [esi + 0x1ce8]
mov eax, dword [esi + 0x1ce8]
mov ecx, dword [esi + 0x1cf0]
lea edx, [eax + eax*4]
mov eax, dword [ecx + edx*4 - 0x14]
movups xmm0, xmmword [ecx + edx*4 - 0x10]
add eax, eax
movups xmmword [esi + eax*8 + 0x1624], xmm0
dec dword [esi + 0x1ce8]
call fcn.10177e00
call fcn.101730f0
mov ecx, dword [0x10469550]
mov eax, dword [ecx + 0x1bec]
mov byte [eax + 0xa8], 1
mov eax, dword [ecx + 0x1bec]
mov eax, dword [eax + 0x1d0]
test eax, eax
je 0x100d5e6c
cmp dword [eax + 0x10], 2
jne 0x100d5e67
cmp dword [eax + 4], 1
je 0x100d5e7a
call fcn.100c83b0
push 1
mov edx, 2
xor ecx, ecx
call fcn.100c7ae0
movss xmm0, dword [0x10215524]
mov ecx, 1
call fcn.100c7710
movss xmm0, dword [0x102154d8]
call fcn.10178700
mov eax, dword [str.aZXPXC8]
mov esi, dword [0x10240c80]
mov dword [esp + 0x1c], eax
add esi, 2
mov ax, word [0x1020a240]
xor ebx, ebx
mov word [esp + 0x20], ax
mov al, byte [0x1020a242]
mov byte [esp + 0x22], al
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 + 0x1c], cl
inc ebx
cmp ebx, 7
jl 0x100d5ec1
mov edx, esi
lea ecx, [esp + 0x1c]
call fcn.10188eb0
mov ax, word [0x1020bd94]
movq xmm0, qword [str.sF_Z]
mov esi, dword [0x10240c80]
movq qword [esp + 0x24], xmm0
mov word [esp + 0x2c], ax
test ah, ah
je 0x100d5f6b
xor ebx, ebx
nop word [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 + 0x24], cl
inc ebx
cmp ebx, 0xa
jl 0x100d5f20
lea edx, [esi + 5]
lea ecx, [esp + 0x24]
call fcn.10188eb0
mov ax, word [0x1020aa2c]
mov word [esp + 0x2c], ax
mov al, byte [0x1020aa2e]
mov byte [esp + 0x2e], al
jmp 0x100d5f93
lea edx, [esi + 5]
lea ecx, [esp + 0x24]
call fcn.10188eb0
mov ax, word [0x1020aa2c]
mov word [esp + 0x2c], ax
mov al, byte [0x1020aa2e]
mov byte [esp + 0x2e], al
mov al, byte [esp + 0x13]
mov byte [esp + 0x13], al
mov esi, dword [0x10240c80]
movq xmm0, qword [0x1020aa24]
add esi, 0xc
movq qword [esp + 0x24], xmm0
xor ebx, ebx
nop dword [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 + 0x24], cl
inc ebx
cmp ebx, 0xb
jl 0x100d5fb0
mov edx, esi
lea ecx, [esp + 0x24]
call fcn.10188eb0
mov ecx, dword [0x10469378]
mov eax, dword [0x10240c80]
movq xmm0, qword [0x1020a148]
mov ebx, dword [esp + 0x14]
shl ecx, 4
sub ecx, dword [0x10469378]
movq qword [esp + 0x24], xmm0
lea esi, [eax + ecx*4]
mov ax, word [0x1020a150]
mov word [esp + 0x2c], ax
test ah, ah
je 0x100d6053
mov al, byte [esp + 0x13]
xor ebx, ebx
mov byte [esp + 0x13], al
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 + 0x24], cl
inc ebx
cmp ebx, 0xa
jl 0x100d6026
mov ebx, dword [esp + 0x14]
lea edx, [esi + 0x21]
lea ecx, [esp + 0x24]
call fcn.10188eb0
mov ecx, dword [esp + 0x3c]
mov eax, dword [0x10534af0]
mov dword [esp + 0x48], str.Force_accuracy
mov dword [esp + 0x4c], str.Between_shots
mov dword [esp + 0x50], str.Full_stop
mov dword [esp + 0x54], str.Duck
cmp eax, dword [ecx + 4]
jle 0x100d60c0
push 0x10534af0
call fcn.101b633d
add esp, 4
cmp dword [0x10534af0], 0xffffffff
jne 0x100d60c0
push 0x101e26e0
call fcn.101b6089
add esp, 4
push 0x10534af0
call fcn.101b62ec
add esp, 4
mov edx, dword [0x10469378]
xor al, al
mov ecx, dword [0x10240c80]
mov esi, 0x10240b58
mov byte [esp + 0x1b], al
shl edx, 4
sub edx, dword [0x10469378]
movups xmm0, xmmword [0x1020aa70]
mov al, byte [ecx + edx*4 + 0x24]
and al, 1
mov byte [0x10469374], al
mov eax, dword [ecx + edx*4 + 0x24]
shr eax, 1
and al, 1
mov byte [0x10469375], al
mov eax, dword [ecx + edx*4 + 0x24]
shr eax, 2
and al, 1
mov byte [0x10469376], al
mov eax, dword [ecx + edx*4 + 0x24]
shr eax, 3
and al, 1
cmp dword [0x10240b6c], 0xf
mov byte [0x10469377], al
cmova esi, dword [0x10240b58]
cmp byte [0x1020aa83], 0
mov eax, dword [0x1020aa80]
movups xmmword [esp + 0x24], xmm0
mov dword [esp + 0x34], eax
je 0x100d62c4
xor edx, edx
cmp dword [0x10241d90], 2
mov dword [esp + 0x1c], edx
jl 0x100d6290
movaps xmm0, xmmword [0x102158e0]
lea edi, [esp + 0x28]
movaps xmm4, xmmword [0x10215760]
movaps xmm3, xmmword [0x10215c00]
movaps xmm5, xmmword [0x10215810]
movaps xmmword [esp + 0x60], xmm0
mov ecx, dword [esp + 0x60]
movd xmm0, edx
lea eax, [edx + 4]
pshufd xmm2, xmm0, 0
paddd xmm2, xmm4
movaps xmm1, xmm2
movaps xmm0, xmm2
punpckhdq xmm0, xmm2
punpckldq xmm1, xmm2
pmuldq xmm0, xmm3
pmuldq xmm1, xmm3
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm2
psrad xmm1, 5
movaps xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm5
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
andps xmm1, xmmword [0x102158a0]
packuswb xmm1, xmm1
movd xmm0, ecx
paddb xmm1, xmm0
movd xmm0, dword [esp + edx + 0x24]
xorps xmm1, xmm0
movd xmm0, eax
pshufd xmm2, xmm0, 0
movd dword [esp + edx + 0x24], xmm1
paddd xmm2, xmm4
movaps xmm1, xmm2
movaps xmm0, xmm2
punpckldq xmm1, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm3
pmuldq xmm1, xmm3
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm2
psrad xmm1, 5
movaps xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm5
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
andps xmm1, xmmword [0x102158a0]
packuswb xmm1, xmm1
movd xmm0, ecx
paddb xmm1, xmm0
movd xmm0, dword [edi + edx]
xorps xmm1, xmm0
movd dword [edi + edx], xmm1
add edx, 8
cmp edx, 0x10
jl 0x100d6180
mov dword [esp + 0x1c], edx
cmp edx, 0x14
jge 0x100d62c4
nop word [eax + eax]
mov eax, 0x8fb823ef
imul edx
add edx, dword [esp + 0x1c]
sar edx, 5
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [esp + 0x1c]
movsx eax, al
mov cl, dl
imul eax, eax, 0x39
sub cl, al
add cl, 0x32
xor byte [esp + edx + 0x24], cl
inc edx
mov dword [esp + 0x1c], edx
cmp edx, 0x14
jl 0x100d6290
xorps xmm0, xmm0
mov dword [esp + 0x9c], 0
lea ecx, [esp + 0x24]
mov dword [esp + 0xa0], 0
movups xmmword [esp + 0x8c], xmm0
lea edx, [ecx + 1]
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x100d62f0
sub ecx, edx
lea eax, [esp + 0x24]
push ecx
push eax
lea ecx, [esp + 0x94]
call fcn.10027870
cmp dword [esp + 0xa0], 0xf
lea ecx, [esp + 0x8c]
push 1
cmova ecx, dword [esp + 0x90]
mov edx, esi
push 0
call fcn.10189a50
mov ecx, dword [esp + 0xa0]
mov byte [esp + 0x1c], al
cmp ecx, 0xf
jbe 0x100d6371
mov edx, dword [esp + 0x8c]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x100d6363
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100d84a5
push ecx
push edx
call fcn.101b60a3
mov al, byte [esp + 0x24]
add esp, 8
test al, al
je 0x100d6410
push 0
push 0x101ec4ee
mov ecx, 0x10240b58
call fcn.10022b70
xor esi, esi
mov dword [esp + 0x24], esi
mov dword [esp + 0x28], esi
nop dword [eax]
nop dword [eax + eax]
mov dl, byte [esi + 0x10469374]
lea eax, [esp + 0x24]
mov ecx, dword [esp + esi*4 + 0x48]
push eax
push 1
call fcn.10198430
test al, al
je 0x100d63ca
cmp byte [esi + 0x10469374], 0
sete al
mov byte [esi + 0x10469374], al
inc esi
cmp esi, 4
jb 0x100d63a0
mov esi, dword [0x10469550]
mov eax, dword [esi + 0x1bec]
cmp dword [esi + 0x1d54], eax
jne 0x100d63f4
mov dword [esi + 0x1e58], eax
mov dword [esi + 0x1e5c], 2
test dword [eax + 8], 0x1000000
je 0x100d6404
mov byte [esi + 0x1b9e], 1
call fcn.10177890
mov byte [esi + 0x1b9e], 0
xor esi, esi
cmp byte [esp + 0x1b], 0
mov eax, 0x202c
jne 0x100d6439
push 0
push 0x101ec4ee
mov ecx, 0x10240b58
call fcn.10022b70
mov byte [esp + 0x1b], 1
mov eax, 0x202c
cmp byte [esi + 0x10469374], 0
je 0x100d6611
cmp dword [0x10240b68], 0
xorps xmm0, xmm0
mov edx, dword [esp + esi*4 + 0x48]
je 0x100d64c5
or ebx, 1
mov dword [esp + 0xb4], 2
movups xmmword [esp + 0xa4], xmm0
or ebx, 2
mov dword [esp + 0xb8], 0xf
push edx
lea ecx, [esp + 0xa8]
mov word [esp + 0xa8], ax
mov byte [esp + 0xaa], 0
mov dword [esp + 0x18], ebx
call fcn.10020790
movups xmm0, xmmword [eax]
movups xmmword [esp + 0x24], xmm0
movq xmm0, qword [eax + 0x10]
movq qword [esp + 0x34], xmm0
mov dword [eax + 0x10], 0
mov dword [eax + 0x14], 0xf
mov byte [eax], 0
lea eax, [esp + 0x24]
jmp 0x100d64fe
mov ecx, edx
or ebx, 4
mov dword [esp + 0x14], ebx
movups xmmword [esp + 0x60], xmm0
mov dword [esp + 0x70], 0
mov dword [esp + 0x74], 0
lea edi, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x100d64e6
sub ecx, edi
push ecx
push edx
lea ecx, [esp + 0x68]
call fcn.10027870
lea eax, [esp + 0x60]
push eax
mov ecx, 0x10240b58
call fcn.10020800
test bl, 4
je 0x100d654b
and ebx, 0xfffffffb
mov dword [esp + 0x14], ebx
mov ecx, dword [esp + 0x74]
cmp ecx, 0xf
jbe 0x100d654b
mov edx, dword [esp + 0x60]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x100d6541
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100d84a5
push ecx
push edx
call fcn.101b60a3
add esp, 8
test bl, 2
je 0x100d658d
and ebx, 0xfffffffd
mov dword [esp + 0x14], ebx
mov ecx, dword [esp + 0x38]
cmp ecx, 0xf
jbe 0x100d658d
mov edx, dword [esp + 0x24]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x100d6583
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100d84a5
push ecx
push edx
call fcn.101b60a3
add esp, 8
test bl, 1
je 0x100d65f3
and ebx, 0xfffffffe
mov dword [esp + 0x14], ebx
mov ecx, dword [esp + 0xb8]
cmp ecx, 0xf
jbe 0x100d65d5
mov edx, dword [esp + 0xa4]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x100d65cb
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100d84a5
push ecx
push edx
call fcn.101b60a3
add esp, 8
mov dword [esp + 0xb4], 0
mov dword [esp + 0xb8], 0xf
mov byte [esp + 0xa4], 0
mov edx, dword [0x10469378]
mov ecx, dword [0x10240c80]
shl edx, 4
sub edx, dword [0x10469378]
mov eax, dword [ecx + edx*4 + 0x24]
bts eax, esi
jmp 0x100d662d
mov edx, dword [0x10469378]
mov ecx, dword [0x10240c80]
shl edx, 4
sub edx, dword [0x10469378]
mov eax, dword [ecx + edx*4 + 0x24]
btr eax, esi
inc esi
mov dword [ecx + edx*4 + 0x24], eax
cmp esi, 4
jb 0x100d6412
movq xmm0, qword [str.fVXPFR_R:]
xor ebx, ebx
mov al, byte [0x1020bbcc]
mov esi, dword [0x10240c80]
movq qword [esp + 0x24], xmm0
mov byte [esp + 0x2c], al
nop word [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 + 0x24], cl
inc ebx
cmp ebx, 9
jl 0x100d6660
lea edx, [esi + 0xec8]
lea ecx, [esp + 0x24]
call fcn.10188eb0
movq xmm0, qword [0x1020b8e4]
xor edx, edx
mov al, byte [0x1020b8ec]
mov esi, dword [0x10240c80]
movq qword [esp + 0x24], xmm0
mov byte [esp + 0x2c], al
mov dword [esp + 0x1c], edx
nop dword [eax + eax]
mov eax, 0x1f7047dd
mul edx
mov eax, dword [esp + 0x1c]
sub eax, edx
shr eax, 1
add eax, edx
mov edx, dword [esp + 0x1c]
shr eax, 5
mov cl, dl
movsx eax, al
imul eax, eax, 0x39
sub cl, al
add cl, 0x32
xor byte [esp + edx + 0x24], cl
inc edx
mov dword [esp + 0x1c], edx
cmp edx, 9
jl 0x100d66c0
lea edx, [esi + 1]
lea ecx, [esp + 0x24]
call fcn.10188eb0
mov eax, dword [0x1020adbc]
xor edx, edx
cmp dword [0x10241d90], 2
movups xmm0, xmmword [str.zVUYB_8SHHP_A]
mov ch, byte [esp + 0x13]
mov dword [esp + 0x58], eax
mov al, byte [0x1020adc0]
movups xmmword [esp + 0x48], xmm0
mov byte [esp + 0x5c], al
mov dword [esp + 0x1c], edx
jl 0x100d6870
movaps xmm0, xmmword [0x102158e0]
lea edi, [esp + 0x4c]
movaps xmm4, xmmword [0x10215760]
movaps xmm3, xmmword [0x10215c00]
movaps xmm5, xmmword [0x10215810]
movaps xmmword [esp + 0x60], xmm0
mov esi, dword [esp + 0x60]
mov byte [esp + 0x13], ch
movd xmm0, edx
lea eax, [edx + 4]
pshufd xmm2, xmm0, 0
paddd xmm2, xmm4
movaps xmm1, xmm2
movaps xmm0, xmm2
punpckhdq xmm0, xmm2
punpckldq xmm1, xmm2
pmuldq xmm0, xmm3
pmuldq xmm1, xmm3
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm2
psrad xmm1, 5
movaps xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm5
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
andps xmm1, xmmword [0x102158a0]
packuswb xmm1, xmm1
movd xmm0, esi
paddb xmm1, xmm0
movd xmm0, dword [esp + edx + 0x48]
xorps xmm1, xmm0
movd xmm0, eax
pshufd xmm2, xmm0, 0
movd dword [esp + edx + 0x48], xmm1
paddd xmm2, xmm4
movaps xmm1, xmm2
movaps xmm0, xmm2
punpckldq xmm1, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm3
pmuldq xmm1, xmm3
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm2
psrad xmm1, 5
movaps xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm5
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
andps xmm1, xmmword [0x102158a0]
packuswb xmm1, xmm1
movd xmm0, esi
paddb xmm1, xmm0
movd xmm0, dword [edx + edi]
xorps xmm1, xmm0
movd dword [edx + edi], xmm1
add edx, 8
cmp edx, 0x10
jl 0x100d6761
mov dword [esp + 0x1c], edx
cmp edx, 0x15
jl 0x100d6870
mov byte [esp + 0x13], ch
jmp 0x100d68a4
mov eax, 0x8fb823ef
imul edx
add edx, dword [esp + 0x1c]
sar edx, 5
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [esp + 0x1c]
movsx eax, al
mov cl, dl
imul eax, eax, 0x39
sub cl, al
add cl, 0x32
xor byte [esp + edx + 0x48], cl
inc edx
mov dword [esp + 0x1c], edx
cmp edx, 0x15
jl 0x100d6870
mov edi, dword [0x10240c80]
mov al, byte [0x1020af3c]
add edi, 8
movq xmm0, qword [str.bA_ZDL_:]
xor ebx, ebx
mov dword [esp + 0x1c], edi
mov byte [esp + 0x2c], al
movq qword [esp + 0x24], xmm0
nop word [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 + 0x24], cl
inc ebx
cmp ebx, 9
jl 0x100d68d0
xor esi, esi
lea edx, [esp + 0x48]
cmp byte [esp + 0x48], 0
je 0x100d6926
mov dword [esp + 0x1c], edi
mov byte [esp + 0x13], ch
nop
mov ecx, edx
lea edi, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x100d6915
sub ecx, edi
inc edx
add edx, ecx
inc esi
cmp byte [edx], al
jne 0x100d6910
mov edx, dword [esp + 0x1c]
lea eax, [esp + 0x48]
push 1
push 0xffffffffffffffff
push esi
push eax
push 0x1018a8f0
lea ecx, [esp + 0x38]
call fcn.1018a950
mov ecx, dword [0x10240c80]
mov esi, 0x102406f8
mov edx, dword [0x10469378]
shl edx, 4
sub edx, dword [0x10469378]
movq xmm0, qword [str.zZ_WYO_J:]
movq qword [esp + 0x24], xmm0
mov al, byte [ecx + edx*4 + 0x2c]
and al, 1
mov byte [0x104693dc], al
mov eax, dword [ecx + edx*4 + 0x2c]
shr eax, 1
and al, 1
mov byte [0x104693dd], al
mov eax, dword [ecx + edx*4 + 0x2c]
shr eax, 2
and al, 1
mov byte [0x104693de], al
mov eax, dword [ecx + edx*4 + 0x2c]
shr eax, 3
and al, 1
mov byte [0x104693df], al
mov eax, dword [ecx + edx*4 + 0x2c]
shr eax, 4
and al, 1
mov byte [0x104693e0], al
mov eax, dword [ecx + edx*4 + 0x2c]
shr eax, 5
and al, 1
mov byte [0x104693e1], al
mov eax, dword [ecx + edx*4 + 0x2c]
shr eax, 6
and al, 1
mov byte [0x104693e2], al
mov eax, dword [ecx + edx*4 + 0x2c]
shr eax, 7
and al, 1
mov byte [0x104693e3], al
mov eax, dword [ecx + edx*4 + 0x2c]
shr eax, 8
and al, 1
cmp dword [0x1024070c], 0xf
mov byte [0x104693e4], al
mov al, byte [0x1020a720]
mov byte [esp + 0x2c], al
jbe 0x100d69fc
mov esi, dword [0x102406f8]
xor ebx, ebx
nop
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 + 0x24], cl
inc ebx
cmp ebx, 9
jl 0x100d6a00
mov ebx, dword [esp + 0x14]
lea ecx, [esp + 0x24]
xorps xmm0, xmm0
mov dword [esp + 0x9c], 0
movups xmmword [esp + 0x8c], xmm0
mov dword [esp + 0xa0], 0
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x100d6a55
sub ecx, edx
lea eax, [esp + 0x24]
push ecx
push eax
lea ecx, [esp + 0x94]
call fcn.10027870
cmp dword [esp + 0xa0], 0xf
lea ecx, [esp + 0x8c]
push 1
cmova ecx, dword [esp + 0x90]
mov edx, esi
push 0
call fcn.10189a50
mov ecx, dword [esp + 0xa0]
mov byte [esp + 0x1c], al
cmp ecx, 0xf
jbe 0x100d6ad6
mov edx, dword [esp + 0x8c]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x100d6ac8
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100d84aa
push ecx
push edx
call fcn.101b60a3
mov al, byte [esp + 0x24]
add esp, 8
test al, al
je 0x100d6b74
push 0
push 0x101ec4ee
mov ecx, 0x102406f8
call fcn.10022b70
mov al, byte [esp + 0x13]
xor esi, esi
mov dword [esp + 0x24], esi
mov dword [esp + 0x28], esi
mov byte [esp + 0x13], al
mov dl, byte [esi + 0x104693dc]
lea eax, [esp + 0x24]
mov ecx, dword [esi*4 + 0x1020a294]
push eax
push 1
call fcn.10198430
test al, al
je 0x100d6b2e
cmp byte [esi + 0x104693dc], 0
sete al
mov byte [esi + 0x104693dc], al
inc esi
cmp esi, 9
jb 0x100d6b01
mov esi, dword [0x10469550]
mov eax, dword [esi + 0x1bec]
cmp dword [esi + 0x1d54], eax
jne 0x100d6b58
mov dword [esi + 0x1e58], eax
mov dword [esi + 0x1e5c], 2
test dword [eax + 8], 0x1000000
je 0x100d6b68
mov byte [esi + 0x1b9e], 1
call fcn.10177890
mov byte [esi + 0x1b9e], 0
xor esi, esi
cmp byte [esp + 0x13], 0
jne 0x100d6b93
push 0
push 0x101ec4ee
mov ecx, 0x102406f8
call fcn.10022b70
mov byte [esp + 0x13], 1
cmp byte [esi + 0x104693dc], 0
je 0x100d6d5f
cmp dword [0x10240708], 0
xorps xmm0, xmm0
mov edx, dword [esi*4 + 0x1020a294]
je 0x100d6c23
or ebx, 8
mov dword [esp + 0x9c], 2
movups xmmword [esp + 0x8c], xmm0
mov eax, 0x202c
mov dword [esp + 0xa0], 0xf
push edx
lea ecx, [esp + 0x90]
mov word [esp + 0x90], ax
mov byte [esp + 0x92], 0
or ebx, 0x10
call fcn.10020790
movups xmm0, xmmword [eax]
movups xmmword [esp + 0x60], xmm0
movq xmm0, qword [eax + 0x10]
movq qword [esp + 0x70], xmm0
mov dword [eax + 0x10], 0
mov dword [eax + 0x14], 0xf
mov byte [eax], 0
lea eax, [esp + 0x60]
jmp 0x100d6c58
mov ecx, edx
mov dword [esp + 0x58], 0
or ebx, 0x20
mov dword [esp + 0x5c], 0
movups xmmword [esp + 0x48], xmm0
lea edi, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x100d6c40
sub ecx, edi
push ecx
push edx
lea ecx, [esp + 0x50]
call fcn.10027870
lea eax, [esp + 0x48]
push eax
mov ecx, 0x102406f8
call fcn.10020800
test bl, 0x20
je 0x100d6ca1
mov ecx, dword [esp + 0x5c]
and ebx, 0xffffffdf
cmp ecx, 0xf
jbe 0x100d6ca1
mov edx, dword [esp + 0x48]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x100d6c97
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100d84a5
push ecx
push edx
call fcn.101b60a3
add esp, 8
test bl, 0x10
je 0x100d6cdf
mov ecx, dword [esp + 0x74]
and ebx, 0xffffffef
cmp ecx, 0xf
jbe 0x100d6cdf
mov edx, dword [esp + 0x60]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x100d6cd5
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100d84a5
push ecx
push edx
call fcn.101b60a3
add esp, 8
test bl, 8
je 0x100d6d41
mov ecx, dword [esp + 0xa0]
and ebx, 0xfffffff7
cmp ecx, 0xf
jbe 0x100d6d23
mov edx, dword [esp + 0x8c]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x100d6d19
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100d84a5
push ecx
push edx
call fcn.101b60a3
add esp, 8
mov dword [esp + 0x9c], 0
mov dword [esp + 0xa0], 0xf
mov byte [esp + 0x8c], 0
mov edx, dword [0x10469378]
mov ecx, dword [0x10240c80]
shl edx, 4
sub edx, dword [0x10469378]
mov eax, dword [ecx + edx*4 + 0x2c]
bts eax, esi
jmp 0x100d6d7b
mov edx, dword [0x10469378]
mov ecx, dword [0x10240c80]
shl edx, 4
sub edx, dword [0x10469378]
mov eax, dword [ecx + edx*4 + 0x2c]
btr eax, esi
inc esi
mov dword [ecx + edx*4 + 0x2c], eax
cmp esi, 9
jb 0x100d6b76
mov ebx, dword [0x10240c80]
xor edi, edi
mov esi, str.None
mov ecx, esi
lea edx, [ecx + 1]
nop dword [eax + eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x100d6da0
sub ecx, edx
inc esi
add esi, ecx
inc edi
cmp byte [esi], al
jne 0x100d6d96
push 1
push 0xffffffffffffffff
push edi
push str.None
push 0x1018a8f0
lea edx, [ebx + 0xf44]
mov ecx, str.Hitbox_preference
call fcn.1018a950
mov ax, word [0x1020bc30]
xor ebx, ebx
movq xmm0, qword [0x1020bc28]
mov esi, dword [0x10240c80]
mov word [esp + 0x44], ax
mov al, byte [0x1020bc32]
mov dword [esp + 0x24], 0x42c80000
mov dword [esp + 0x28], 0
movq qword [esp + 0x3c], xmm0
mov byte [esp + 0x46], al
nop word [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 + 0x3c], cl
inc ebx
cmp ebx, 0xb
jl 0x100d6e10
push ecx
lea eax, [esp + 0x28]
push eax
lea edx, [esi + 0xaa0]
lea ecx, [esp + 0x44]
call fcn.100be150
movq xmm0, qword [str.wKDYYLJ:]
xor ebx, ebx
mov al, byte [0x1020ad24]
movq qword [esp + 0x24], xmm0
mov byte [esp + 0x2c], al
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 + 0x24], cl
inc ebx
cmp ebx, 9
jl 0x100d6e67
lea eax, [esp + 0x24]
push eax
call fcn.10186e90
mov ax, word [0x1020ac38]
add esp, 4
movq xmm0, qword [str.vAWZRLXJ_]
movq qword [esp + 0x3c], xmm0
mov word [esp + 0x44], ax
test ah, ah
je 0x100d6ee9
xor ebx, ebx
nop dword [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 + 0x3c], cl
inc ebx
cmp ebx, 0xa
jl 0x100d6ec0
mov eax, dword [0x10469550]
lea ecx, [esp + 0x3c]
xor edx, edx
mov esi, dword [eax + 0x1bec]
mov eax, dword [esi + 0xe8]
add esi, 0xe0
mov ebx, dword [esi]
push dword [eax + ebx*4 - 4]
call fcn.1016cfb0
mov edi, dword [esi + 4]
mov dword [esp + 0x3c], eax
cmp ebx, edi
jne 0x100d6f40
lea ecx, [ebx + 1]
test edi, edi
je 0x100d6f2e
mov eax, edi
cdq
sub eax, edx
sar eax, 1
add eax, edi
jmp 0x100d6f33
mov eax, 8
cmp eax, ecx
cmovg ecx, eax
push ecx
mov ecx, esi
call fcn.100bc320
mov ecx, dword [esi]
mov eax, dword [esi + 8]
mov edx, dword [esp + 0x3c]
movq xmm0, qword [str.vAWZR]
mov dword [esp + 0x24], 0x42c80000
mov dword [eax + ecx*4], edx
mov ax, word [0x1020b648]
inc dword [esi]
xor ebx, ebx
mov esi, dword [0x10240c80]
mov word [esp + 0x44], ax
mov al, byte [0x1020b64a]
mov dword [esp + 0x28], 0
movq qword [esp + 0x3c], xmm0
mov byte [esp + 0x46], al
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 + 0x3c], cl
inc ebx
cmp ebx, 0xb
jl 0x100d6f90
push ecx
lea eax, [esp + 0x28]
push eax
lea edx, [esi + 0xe80]
lea ecx, [esp + 0x44]
call fcn.100be150
mov ecx, dword [0x10469550]
xor edx, edx
mov eax, dword [ecx + 0x1bec]
dec dword [eax + 0xe0]
mov esi, dword [ecx + 0x1bec]
mov ecx, str.Hideshots
add esi, 0xe0
mov eax, dword [esi + 8]
mov ebx, dword [esi]
push dword [eax + ebx*4 - 4]
call fcn.1016cfb0
mov edi, dword [esi + 4]
mov dword [esp + 0x3c], eax
cmp ebx, edi
jne 0x100d7030
lea ecx, [ebx + 1]
test edi, edi
je 0x100d701e
mov eax, edi
cdq
sub eax, edx
sar eax, 1
add eax, edi
jmp 0x100d7023
mov eax, 8
cmp eax, ecx
cmovg ecx, eax
push ecx
mov ecx, esi
call fcn.100bc320
mov ecx, dword [esi]
mov eax, dword [esi + 8]
mov edx, dword [esp + 0x3c]
movq xmm0, qword [str.zZPPE_WMI_]
mov dword [esp + 0x24], 0x42c80000
mov dword [eax + ecx*4], edx
mov ax, word [0x1020aad8]
inc dword [esi]
mov esi, dword [0x10240c80]
mov dword [esp + 0x28], 0
movq qword [esp + 0x3c], xmm0
mov word [esp + 0x44], ax
test ah, ah
je 0x100d709c
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 + 0x3c], cl
inc ebx
cmp ebx, 0xa
jl 0x100d7073
push ecx
lea eax, [esp + 0x28]
push eax
lea edx, [esi + 0xea4]
lea ecx, [esp + 0x44]
call fcn.100be150
mov eax, dword [0x10469550]
mov eax, dword [eax + 0x1bec]
dec dword [eax + 0xe0]
call fcn.100c80d0
mov ecx, dword [0x10469378]
mov eax, dword [0x10240c80]
shl ecx, 4
sub ecx, dword [0x10469378]
xor ebx, ebx
lea esi, [eax + ecx*4]
mov eax, dword [0x1020a024]
mov dword [esp + 0x3c], eax
mov ax, word [0x1020a028]
mov word [esp + 0x40], ax
mov al, byte [0x1020a02a]
mov byte [esp + 0x42], al
nop dword [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 + 0x3c], cl
inc ebx
cmp ebx, 7
jl 0x100d7100
lea edx, [esi + 0x20]
lea ecx, [esp + 0x3c]
call fcn.10188eb0
mov ebx, dword [0x10469550]
mov eax, dword [ebx + 0x1bec]
mov edi, dword [eax + 0x1fc]
lea esi, [eax + 0x1f8]
mov ecx, dword [esi]
mov dword [esp + 0x14], eax
cmp ecx, edi
jne 0x100d717d
inc ecx
test edi, edi
je 0x100d7167
mov eax, edi
cdq
sub eax, edx
sar eax, 1
add eax, edi
jmp 0x100d716c
mov eax, 8
cmp eax, ecx
cmovg ecx, eax
push ecx
mov ecx, esi
call fcn.100bc320
mov eax, dword [esp + 0x14]
mov edx, dword [esi]
mov ecx, dword [esi + 8]
mov eax, dword [eax + 0x1f0]
mov dword [ecx + edx*4], eax
mov eax, dword [esp + 0x14]
inc dword [esi]
mov dword [eax + 0x1f0], 0x43480000
and dword [ebx + 0x1cd4], 0xfffffffe
mov esi, dword [0x10240c80]
mov eax, dword [str.tB5kRC]
add esi, 0x10
cmp byte [0x1020b153], 0
mov edi, dword [0x10241d90]
mov dword [esp + 0x14], eax
je 0x100d727a
xor ebx, ebx
cmp edi, 2
jl 0x100d7250
movaps xmm3, xmmword [0x10215760]
movaps xmm2, xmm3
movaps xmm0, xmm3
punpckhdq xmm0, xmm3
pmuldq xmm0, xmmword [0x10215c00]
punpckldq xmm2, xmm3
pmuldq xmm2, xmmword [0x10215c00]
shufps xmm2, xmm0, 0xdd
paddd xmm2, xmm3
psrad xmm2, 5
movaps xmm0, xmm2
psrld xmm0, 0x1f
paddd xmm0, xmm2
pmulld xmm0, xmmword [0x10215810]
psubd xmm3, xmm0
pshuflw xmm0, xmm3, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
andps xmm1, xmmword [0x102158a0]
packuswb xmm1, xmm1
paddb xmm1, xmmword [0x102158e0]
movd xmm0, eax
xorps xmm1, xmm0
movd dword [esp + 0x14], xmm1
jmp 0x100d727a
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 + 0x14], cl
inc ebx
cmp ebx, 4
jl 0x100d7250
push 0x20
push str._.2f
lea eax, [esp + 0x44]
mov dword [esp + 0x24], 0
push eax
lea eax, [esp + 0x28]
mov dword [esp + 0x48], 0x437f0000
push eax
push esi
mov edx, 8
lea ecx, [esp + 0x28]
call fcn.1018c6d0
mov esi, dword [0x10469378]
mov eax, dword [0x10240c80]
movq xmm0, qword [str.zZ_VVVZ__]
add eax, 0x30
shl esi, 4
sub esi, dword [0x10469378]
movq qword [esp + 0x24], xmm0
lea esi, [eax + esi*4]
mov ax, word [0x1020b1b8]
mov word [esp + 0x2c], ax
test ah, ah
je 0x100d730c
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 + 0x24], cl
inc ebx
cmp ebx, 0xa
jl 0x100d72e3
push 0
push 0x102084b8
lea eax, [esp + 0x44]
mov dword [esp + 0x44], 0x64
push eax
lea eax, [esp + 0x20]
mov dword [esp + 0x20], 0
push eax
push esi
mov edx, 4
lea ecx, [esp + 0x38]
call fcn.1018c6d0
mov eax, dword [0x10469378]
movups xmm0, xmmword [0x1020b5e4]
inc eax
mov ecx, eax
shl ecx, 4
sub ecx, eax
mov eax, dword [0x10240c80]
movups xmmword [esp + 0x48], xmm0
psrldq xmm0, 0xf
lea esi, [eax + ecx*4]
movd eax, xmm0
test al, al
je 0x100d74cd
xor ebx, ebx
cmp edi, 2
jl 0x100d74a3
movaps xmm0, xmmword [0x102158e0]
lea ebx, [esp + 0x4c]
movaps xmm4, xmmword [0x10215760]
xor ecx, ecx
movaps xmm3, xmmword [0x10215c00]
movaps xmm5, xmmword [0x10215810]
movaps xmmword [esp + 0x60], xmm0
mov edx, dword [esp + 0x60]
movd xmm0, ecx
lea eax, [ecx + 4]
pshufd xmm2, xmm0, 0
paddd xmm2, xmm4
movaps xmm1, xmm2
movaps xmm0, xmm2
punpckhdq xmm0, xmm2
punpckldq xmm1, xmm2
pmuldq xmm0, xmm3
pmuldq xmm1, xmm3
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm2
psrad xmm1, 5
movaps xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm5
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
andps xmm1, xmmword [0x102158a0]
packuswb xmm1, xmm1
movd xmm0, edx
paddb xmm1, xmm0
movd xmm0, dword [esp + ecx + 0x48]
xorps xmm1, xmm0
movd xmm0, eax
pshufd xmm2, xmm0, 0
movd dword [esp + ecx + 0x48], xmm1
paddd xmm2, xmm4
movaps xmm1, xmm2
movaps xmm0, xmm2
punpckldq xmm1, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm3
pmuldq xmm1, xmm3
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm2
psrad xmm1, 5
movaps xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm5
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
andps xmm1, xmmword [0x102158a0]
packuswb xmm1, xmm1
movd xmm0, edx
paddb xmm1, xmm0
movd xmm0, dword [ebx + ecx]
xorps xmm1, xmm0
movd dword [ebx + ecx], xmm1
add ecx, 8
cmp ecx, 0x10
jl 0x100d73a4
jmp 0x100d74cd
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 + 0x48], cl
inc ebx
cmp ebx, 0x10
jl 0x100d74a3
push 0
push 0x102084b8
lea eax, [esp + 0x44]
mov dword [esp + 0x44], 0x64
push eax
lea eax, [esp + 0x20]
mov dword [esp + 0x20], 0
push eax
push esi
mov edx, 4
lea ecx, [esp + 0x5c]
call fcn.1018c6d0
mov esi, dword [0x10469378]
mov eax, dword [0x10240c80]
movups xmm0, xmmword [0x1020b658]
shl esi, 4
add eax, 0x40
sub esi, dword [0x10469378]
movups xmmword [esp + 0x48], xmm0
psrldq xmm0, 0xf
lea esi, [eax + esi*4]
movd eax, xmm0
test al, al
je 0x100d769a
xor ebx, ebx
cmp edi, 2
jl 0x100d7670
movaps xmm0, xmmword [0x102158e0]
lea edi, [esp + 0x4c]
movaps xmm4, xmmword [0x10215760]
xor ecx, ecx
movaps xmm3, xmmword [0x10215c00]
movaps xmm5, xmmword [0x10215810]
movaps xmmword [esp + 0x60], xmm0
mov edx, dword [esp + 0x60]
nop word [eax + eax]
movd xmm0, ecx
lea eax, [ecx + 4]
pshufd xmm2, xmm0, 0
paddd xmm2, xmm4
movaps xmm1, xmm2
movaps xmm0, xmm2
punpckhdq xmm0, xmm2
punpckldq xmm1, xmm2
pmuldq xmm0, xmm3
pmuldq xmm1, xmm3
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm2
psrad xmm1, 5
movaps xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm5
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
andps xmm1, xmmword [0x102158a0]
packuswb xmm1, xmm1
movd xmm0, edx
paddb xmm1, xmm0
movd xmm0, dword [esp + ecx + 0x48]
xorps xmm1, xmm0
movd xmm0, eax
pshufd xmm2, xmm0, 0
movd dword [esp + ecx + 0x48], xmm1
paddd xmm2, xmm4
movaps xmm1, xmm2
movaps xmm0, xmm2
punpckldq xmm1, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm3
pmuldq xmm1, xmm3
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm2
psrad xmm1, 5
movaps xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm5
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
andps xmm1, xmmword [0x102158a0]
packuswb xmm1, xmm1
movd xmm0, edx
paddb xmm1, xmm0
movd xmm0, dword [ecx + edi]
xorps xmm1, xmm0
movd dword [ecx + edi], xmm1
add ecx, 8
cmp ecx, 0x10
jl 0x100d7570
jmp 0x100d769a
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 + 0x48], cl
inc ebx
cmp ebx, 0x10
jl 0x100d7670
push 0
push 0x102084b8
lea eax, [esp + 0x44]
mov dword [esp + 0x44], 0x64
push eax
lea eax, [esp + 0x20]
mov dword [esp + 0x20], 0
push eax
push esi
mov edx, 4
lea ecx, [esp + 0x5c]
call fcn.1018c6d0
mov esi, dword [0x10469378]
mov eax, dword [0x10240c80]
movq xmm0, qword [0x1020b39c]
add eax, 0x44
shl esi, 4
sub esi, dword [0x10469378]
xor ebx, ebx
movq qword [esp + 0x24], xmm0
lea esi, [eax + esi*4]
mov ax, word [0x1020b3a4]
mov word [esp + 0x2c], ax
mov al, byte [0x1020b3a6]
mov byte [esp + 0x2e], al
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 + 0x24], cl
inc ebx
cmp ebx, 0xb
jl 0x100d7710
push 0
push 0x102084b8
lea eax, [esp + 0x44]
mov dword [esp + 0x44], 0x82
push eax
lea eax, [esp + 0x20]
mov dword [esp + 0x20], 0
push eax
push esi
mov edx, 4
lea ecx, [esp + 0x38]
call fcn.1018c6d0
mov edi, dword [0x10469378]
lea edx, [esp + 0x3c]
mov eax, dword [0x10240c80]
mov ecx, edi
shl ecx, 4
add eax, 0x44
sub ecx, edi
mov dword [esp + 0x14], 0xfa
lea esi, [eax + ecx*4]
mov dword [esp + 0x3c], 0
mov ecx, dword [esi]
lea eax, [esp + 0x14]
test ecx, ecx
cmovns edx, esi
cmp ecx, 0xfa
cmovle eax, edx
xor edx, edx
mov eax, dword [eax]
mov dword [esi], eax
mov eax, dword [0x10469550]
mov esi, dword [eax + 0x1bec]
mov eax, dword [esi + 0xe8]
add esi, 0xe0
mov ecx, dword [esi]
push dword [eax + ecx*4 - 4]
mov ecx, str.Damage_override_Key
call fcn.1016cfb0
mov ebx, dword [esi + 4]
mov ecx, dword [esi]
mov dword [esp + 0x3c], eax
cmp ecx, ebx
jne 0x100d780b
inc ecx
test ebx, ebx
je 0x100d77f3
mov eax, ebx
cdq
sub eax, edx
sar eax, 1
add eax, ebx
jmp 0x100d77f8
mov eax, 8
cmp eax, ecx
cmovg ecx, eax
push ecx
mov ecx, esi
call fcn.100bc320
mov edi, dword [0x10469378]
mov ecx, dword [esi]
mov eax, dword [esi + 8]
mov edx, dword [esp + 0x3c]
movups xmm0, xmmword [0x1020a3d4]
mov dword [eax + ecx*4], edx
mov ecx, edi
inc dword [esi]
mov eax, dword [0x10240c80]
shl ecx, 4
sub ecx, edi
mov edi, dword [0x10241d90]
movups xmmword [esp + 0x48], xmm0
psrldq xmm0, 0xf
lea esi, [eax + ecx*4]
movd eax, xmm0
test al, al
je 0x100d79aa
xor ebx, ebx
cmp edi, 2
jl 0x100d7980
movaps xmm0, xmmword [0x102158e0]
lea ebx, [esp + 0x4c]
movaps xmm4, xmmword [0x10215760]
xor ecx, ecx
movaps xmm3, xmmword [0x10215c00]
movaps xmm5, xmmword [0x10215810]
movaps xmmword [esp + 0x60], xmm0
mov edx, dword [esp + 0x60]
movd xmm0, ecx
lea eax, [ecx + 4]
pshufd xmm2, xmm0, 0
paddd xmm2, xmm4
movaps xmm1, xmm2
movaps xmm0, xmm2
punpckhdq xmm0, xmm2
punpckldq xmm1, xmm2
pmuldq xmm0, xmm3
pmuldq xmm1, xmm3
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm2
psrad xmm1, 5
movaps xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm5
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
andps xmm1, xmmword [0x102158a0]
packuswb xmm1, xmm1
movd xmm0, edx
paddb xmm1, xmm0
movd xmm0, dword [esp + ecx + 0x48]
xorps xmm1, xmm0
movd xmm0, eax
pshufd xmm2, xmm0, 0
movd dword [esp + ecx + 0x48], xmm1
paddd xmm2, xmm4
movaps xmm1, xmm2
movaps xmm0, xmm2
punpckldq xmm1, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm3
pmuldq xmm1, xmm3
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm2
psrad xmm1, 5
movaps xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm5
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
andps xmm1, xmmword [0x102158a0]
packuswb xmm1, xmm1
movd xmm0, edx
paddb xmm1, xmm0
movd xmm0, dword [ebx + ecx]
xorps xmm1, xmm0
movd dword [ebx + ecx], xmm1
add ecx, 8
cmp ecx, 0x10
jl 0x100d7881
jmp 0x100d79aa
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 + 0x48], cl
inc ebx
cmp ebx, 0x10
jl 0x100d7980
xorps xmm0, xmm0
mov dword [esp + 0x34], 0
lea ecx, [esp + 0x48]
mov dword [esp + 0x38], 0
movups xmmword [esp + 0x24], xmm0
lea edx, [ecx + 1]
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x100d79d0
sub ecx, edx
lea eax, [esp + 0x48]
push ecx
push eax
lea ecx, [esp + 0x2c]
call fcn.10027870
cmp dword [esp + 0x38], 0xf
lea ecx, [esp + 0x24]
lea edx, [esi + 0x35]
cmova ecx, dword [esp + 0x24]
call fcn.10188eb0
mov ecx, dword [esp + 0x38]
cmp ecx, 0xf
jbe 0x100d7a34
mov edx, dword [esp + 0x24]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x100d7a2a
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100d84af
push ecx
push edx
call fcn.101b60a3
add esp, 8
mov ecx, dword [0x10469550]
mov dword [esp + 0x34], 0
mov dword [esp + 0x38], 0xf
mov byte [esp + 0x24], 0
mov eax, dword [ecx + 0x1bec]
mov byte [eax + 0xa8], 1
mov edx, dword [ecx + 0x1bec]
cmp byte [edx + 0xab], 0
jne 0x100d7ab7
movss xmm1, dword [ecx + 0x15a8]
addss xmm1, dword [edx + 0xf4]
movss xmm0, dword [edx + 0xf8]
movss dword [edx + 0xec], xmm1
movss dword [edx + 0xf0], xmm0
mov eax, dword [edx + 0x11c]
mov ecx, dword [edx + 0x120]
mov dword [edx + 0x114], eax
mov eax, dword [edx + 0x128]
mov dword [edx + 0x118], ecx
mov dword [edx + 0x124], eax
cmp byte [0x1020af73], 0
mov eax, dword [str.yVM5tR_P]
mov esi, dword [0x10240c80]
mov dword [esp + 0x24], 0x42c80000
mov dword [esp + 0x28], 0
mov dword [esp + 0x14], eax
je 0x100d7b9a
xor ebx, ebx
cmp edi, 2
jl 0x100d7b70
movaps xmm3, xmmword [0x10215760]
movaps xmm2, xmm3
movaps xmm0, xmm3
punpckhdq xmm0, xmm3
pmuldq xmm0, xmmword [0x10215c00]
punpckldq xmm2, xmm3
pmuldq xmm2, xmmword [0x10215c00]
shufps xmm2, xmm0, 0xdd
paddd xmm2, xmm3
psrad xmm2, 5
movaps xmm0, xmm2
psrld xmm0, 0x1f
paddd xmm0, xmm2
pmulld xmm0, xmmword [0x10215810]
psubd xmm3, xmm0
pshuflw xmm0, xmm3, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
andps xmm1, xmmword [0x102158a0]
packuswb xmm1, xmm1
paddb xmm1, xmmword [0x102158e0]
movd xmm0, eax
xorps xmm1, xmm0
movd dword [esp + 0x14], xmm1
jmp 0x100d7b9a
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 + 0x14], cl
inc ebx
cmp ebx, 4
jl 0x100d7b70
push ecx
lea eax, [esp + 0x28]
push eax
lea edx, [esi + 0xa7c]
lea ecx, [esp + 0x1c]
call fcn.100be150
mov ebx, dword [0x10469550]
mov edi, dword [0x10469378]
mov ecx, edi
shl ecx, 4
sub ecx, edi
mov eax, dword [ebx + 0x1bec]
dec dword [eax + 0xe0]
mov eax, dword [0x10240c80]
cmp byte [eax + ecx*4 + 0x35], 0
je 0x100d7dab
movups xmm0, xmmword [0x1020a3d4]
lea esi, [eax + 0x48]
lea esi, [esi + ecx*4]
movups xmmword [esp + 0x48], xmm0
psrldq xmm0, 0xf
movd eax, xmm0
test al, al
je 0x100d7d6a
xor ebx, ebx
cmp dword [0x10241d90], 2
jl 0x100d7d40
movaps xmm0, xmmword [0x102158e0]
lea edi, [esp + 0x4c]
movaps xmm4, xmmword [0x10215760]
xor ecx, ecx
movaps xmm3, xmmword [0x10215c00]
movaps xmm5, xmmword [0x10215810]
movaps xmmword [esp + 0x60], xmm0
mov edx, dword [esp + 0x60]
nop dword [eax + eax]
movd xmm0, ecx
lea eax, [ecx + 4]
pshufd xmm2, xmm0, 0
paddd xmm2, xmm4
movaps xmm1, xmm2
movaps xmm0, xmm2
punpckhdq xmm0, xmm2
punpckldq xmm1, xmm2
pmuldq xmm0, xmm3
pmuldq xmm1, xmm3
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm2
psrad xmm1, 5
movaps xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm5
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
andps xmm1, xmmword [0x102158a0]
packuswb xmm1, xmm1
movd xmm0, edx
paddb xmm1, xmm0
movd xmm0, dword [esp + ecx + 0x48]
xorps xmm1, xmm0
movd xmm0, eax
pshufd xmm2, xmm0, 0
movd dword [esp + ecx + 0x48], xmm1
paddd xmm2, xmm4
movaps xmm1, xmm2
movaps xmm0, xmm2
punpckldq xmm1, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm3
pmuldq xmm1, xmm3
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm2
psrad xmm1, 5
movaps xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm5
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
andps xmm1, xmmword [0x102158a0]
packuswb xmm1, xmm1
movd xmm0, edx
paddb xmm1, xmm0
movd xmm0, dword [edi + ecx]
xorps xmm1, xmm0
movd dword [edi + ecx], xmm1
add ecx, 8
cmp ecx, 0x10
jl 0x100d7c40
jmp 0x100d7d6a
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 + 0x48], cl
inc ebx
cmp ebx, 0x10
jl 0x100d7d40
push 0
push 0x102084b8
lea eax, [esp + 0x44]
mov dword [esp + 0x44], 0x6e
push eax
lea eax, [esp + 0x28]
mov dword [esp + 0x28], 0
push eax
push esi
mov edx, 4
lea ecx, [esp + 0x5c]
call fcn.1018c6d0
mov eax, dword [0x10240c80]
mov edi, dword [0x10469378]
mov ebx, dword [0x10469550]
mov ecx, edi
mov dword [esp + 0x1c], 0xfa
shl ecx, 4
lea edx, [esp + 0x3c]
sub ecx, edi
mov dword [esp + 0x3c], 0
add ecx, 0x12
lea esi, [eax + ecx*4]
mov ecx, dword [esi]
lea eax, [esp + 0x1c]
test ecx, ecx
cmovns edx, esi
cmp ecx, 0xfa
cmovle eax, edx
xor edx, edx
mov eax, dword [eax]
mov dword [esi], eax
mov esi, dword [ebx + 0x1bec]
add esi, 0xe0
mov ecx, dword [esi]
mov eax, dword [esi + 8]
push dword [eax + ecx*4 - 4]
mov ecx, str.adms
call fcn.1016cfb0
mov ebx, dword [esi + 4]
mov ecx, dword [esi]
mov dword [esp + 0x3c], eax
cmp ecx, ebx
jne 0x100d7e3a
inc ecx
test ebx, ebx
je 0x100d7e22
mov eax, ebx
cdq
sub eax, edx
sar eax, 1
add eax, ebx
jmp 0x100d7e27
mov eax, 8
cmp eax, ecx
cmovg ecx, eax
push ecx
mov ecx, esi
call fcn.100bc320
mov edi, dword [0x10469378]
mov ecx, dword [esi]
xor ebx, ebx
mov eax, dword [esi + 8]
mov edx, dword [esp + 0x3c]
movups xmm0, xmmword [0x1020ba18]
mov dword [eax + ecx*4], edx
mov ecx, edi
inc dword [esi]
mov eax, dword [0x10240c80]
shl ecx, 4
sub ecx, edi
mov edi, dword [0x10241d90]
movups xmmword [esp + 0x48], xmm0
lea esi, [eax + ecx*4]
mov ax, word [0x1020ba28]
mov word [esp + 0x58], ax
mov al, byte [0x1020ba2a]
mov byte [esp + 0x5a], al
cmp edi, 2
jl 0x100d7fb3
movaps xmm0, xmmword [0x102158e0]
lea edx, [esp + 0x4c]
movaps xmm4, xmmword [0x10215760]
movaps xmm3, xmmword [0x10215c00]
movaps xmm5, xmmword [0x10215810]
movaps xmmword [esp + 0x60], xmm0
mov ecx, dword [esp + 0x60]
movd xmm0, ebx
lea eax, [ebx + 4]
pshufd xmm2, xmm0, 0
paddd xmm2, xmm4
movaps xmm1, xmm2
movaps xmm0, xmm2
punpckhdq xmm0, xmm2
punpckldq xmm1, xmm2
pmuldq xmm0, xmm3
pmuldq xmm1, xmm3
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm2
psrad xmm1, 5
movaps xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm5
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
andps xmm1, xmmword [0x102158a0]
packuswb xmm1, xmm1
movd xmm0, ecx
paddb xmm1, xmm0
movd xmm0, dword [esp + ebx + 0x48]
xorps xmm1, xmm0
movd xmm0, eax
pshufd xmm2, xmm0, 0
movd dword [esp + ebx + 0x48], xmm1
paddd xmm2, xmm4
movaps xmm1, xmm2
movaps xmm0, xmm2
punpckldq xmm1, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm3
pmuldq xmm1, xmm3
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm2
psrad xmm1, 5
movaps xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm5
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
andps xmm1, xmmword [0x102158a0]
packuswb xmm1, xmm1
movd xmm0, ecx
paddb xmm1, xmm0
movd xmm0, dword [ebx + edx]
xorps xmm1, xmm0
movd dword [ebx + edx], xmm1
add ebx, 8
cmp ebx, 0x10
jl 0x100d7eb1
cmp ebx, 0x13
jge 0x100d7fdd
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 + 0x48], cl
inc ebx
cmp ebx, 0x13
jl 0x100d7fb3
xorps xmm0, xmm0
mov dword [esp + 0x34], 0
lea ecx, [esp + 0x48]
mov dword [esp + 0x38], 0
movups xmmword [esp + 0x24], xmm0
lea edx, [ecx + 1]
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x100d8000
sub ecx, edx
lea eax, [esp + 0x48]
push ecx
push eax
lea ecx, [esp + 0x2c]
call fcn.10027870
cmp dword [esp + 0x38], 0xf
lea ecx, [esp + 0x24]
lea edx, [esi + 0x34]
cmova ecx, dword [esp + 0x24]
call fcn.10188eb0
mov ecx, dword [esp + 0x38]
cmp ecx, 0xf
jbe 0x100d8064
mov edx, dword [esp + 0x24]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x100d805a
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100d84b4
push ecx
push edx
call fcn.101b60a3
add esp, 8
mov ecx, dword [0x10469550]
mov dword [esp + 0x34], 0
mov dword [esp + 0x38], 0xf
mov byte [esp + 0x24], 0
mov eax, dword [ecx + 0x1bec]
mov byte [eax + 0xa8], 1
mov edx, dword [ecx + 0x1bec]
cmp byte [edx + 0xab], 0
jne 0x100d80e7
movss xmm1, dword [ecx + 0x15a8]
addss xmm1, dword [edx + 0xf4]
movss xmm0, dword [edx + 0xf8]
movss dword [edx + 0xec], xmm1
movss dword [edx + 0xf0], xmm0
mov eax, dword [edx + 0x11c]
mov ecx, dword [edx + 0x120]
mov dword [edx + 0x114], eax
mov eax, dword [edx + 0x128]
mov dword [edx + 0x118], ecx
mov dword [edx + 0x124], eax
cmp byte [0x1020af73], 0
mov eax, dword [str.yVM5tR_P]
mov esi, dword [0x10240c80]
mov dword [esp + 0x24], 0x42c80000
mov dword [esp + 0x28], 0
mov dword [esp + 0x14], eax
je 0x100d81ca
xor ebx, ebx
cmp edi, 2
jl 0x100d81a0
movaps xmm3, xmmword [0x10215760]
movaps xmm2, xmm3
movaps xmm0, xmm3
punpckhdq xmm0, xmm3
pmuldq xmm0, xmmword [0x10215c00]
punpckldq xmm2, xmm3
pmuldq xmm2, xmmword [0x10215c00]
shufps xmm2, xmm0, 0xdd
paddd xmm2, xmm3
psrad xmm2, 5
movaps xmm0, xmm2
psrld xmm0, 0x1f
paddd xmm0, xmm2
pmulld xmm0, xmmword [0x10215810]
psubd xmm3, xmm0
pshuflw xmm0, xmm3, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
andps xmm1, xmmword [0x102158a0]
packuswb xmm1, xmm1
paddb xmm1, xmmword [0x102158e0]
movd xmm0, eax
xorps xmm1, xmm0
movd dword [esp + 0x14], xmm1
jmp 0x100d81ca
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 + 0x14], cl
inc ebx
cmp ebx, 4
jl 0x100d81a0
push ecx
lea eax, [esp + 0x28]
push eax
lea edx, [esi + 0xd3c]
lea ecx, [esp + 0x1c]
call fcn.100be150
mov eax, dword [0x10469550]
mov ecx, dword [0x10469378]
shl ecx, 4
sub ecx, dword [0x10469378]
mov eax, dword [eax + 0x1bec]
dec dword [eax + 0xe0]
mov eax, dword [0x10240c80]
cmp byte [eax + ecx*4 + 0x34], 0
je 0x100d83d1
movups xmm0, xmmword [0x1020ba18]
lea esi, [eax + 0x38]
xor ebx, ebx
mov ax, word [0x1020ba28]
lea esi, [esi + ecx*4]
mov word [esp + 0x58], ax
mov al, byte [0x1020ba2a]
mov byte [esp + 0x5a], al
movups xmmword [esp + 0x48], xmm0
cmp edi, 2
jl 0x100d8372
movaps xmm0, xmmword [0x102158e0]
lea edx, [esp + 0x4c]
movaps xmm4, xmmword [0x10215760]
movaps xmm3, xmmword [0x10215c00]
movaps xmm5, xmmword [0x10215810]
movaps xmmword [esp + 0x60], xmm0
mov ecx, dword [esp + 0x60]
nop dword [eax]
movd xmm0, ebx
lea eax, [ebx + 4]
pshufd xmm2, xmm0, 0
paddd xmm2, xmm4
movaps xmm1, xmm2
movaps xmm0, xmm2
punpckhdq xmm0, xmm2
punpckldq xmm1, xmm2
pmuldq xmm0, xmm3
pmuldq xmm1, xmm3
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm2
psrad xmm1, 5
movaps xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm5
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
andps xmm1, xmmword [0x102158a0]
packuswb xmm1, xmm1
movd xmm0, ecx
paddb xmm1, xmm0
movd xmm0, dword [esp + ebx + 0x48]
xorps xmm1, xmm0
movd xmm0, eax
pshufd xmm2, xmm0, 0
movd dword [esp + ebx + 0x48], xmm1
paddd xmm2, xmm4
movaps xmm1, xmm2
movaps xmm0, xmm2
punpckldq xmm1, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm3
pmuldq xmm1, xmm3
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm2
psrad xmm1, 5
movaps xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm5
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
andps xmm1, xmmword [0x102158a0]
packuswb xmm1, xmm1
movd xmm0, ecx
paddb xmm1, xmm0
movd xmm0, dword [ebx + edx]
xorps xmm1, xmm0
movd dword [ebx + edx], xmm1
add ebx, 8
cmp ebx, 0x10
jl 0x100d8270
cmp ebx, 0x13
jge 0x100d839c
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 + 0x48], cl
inc ebx
cmp ebx, 0x13
jl 0x100d8372
push 0
push 0x102084b8
lea eax, [esp + 0x44]
mov dword [esp + 0x44], 0x64
push eax
lea eax, [esp + 0x20]
mov dword [esp + 0x20], 0
push eax
push esi
mov edx, 4
lea ecx, [esp + 0x5c]
call fcn.1018c6d0
mov eax, dword [0x10240c80]
movq xmm0, qword [0x1020a790]
lea esi, [eax + 0xf24]
mov ax, word [0x1020a798]
movq qword [esp + 0x24], xmm0
mov word [esp + 0x2c], ax
test ah, ah
je 0x100d841f
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 + 0x24], cl
inc ebx
cmp ebx, 0xa
jl 0x100d83f6
mov edx, esi
lea ecx, [esp + 0x24]
call fcn.10188eb0
mov esi, dword [0x10469550]
mov eax, dword [esi + 0x1bec]
mov byte [eax + 0xa8], 1
mov edx, dword [esi + 0x1bec]
mov ecx, dword [edx + 0x1f8]
mov eax, dword [edx + 0x200]
mov eax, dword [eax + ecx*4 - 4]
mov dword [edx + 0x1f0], eax
lea eax, [ecx - 1]
mov dword [edx + 0x1f8], eax
mov eax, dword [esi + 0x1bec]
mov byte [eax + 0xa8], 1
mov eax, dword [esi + 0x1bec]
mov eax, dword [eax + 0x1d0]
test eax, eax
je 0x100d8490
cmp dword [eax + 0x10], 1
jne 0x100d848b
cmp dword [eax + 4], 0
je 0x100d8490
call fcn.100c83b0
mov ecx, dword [esp + 0xbc]
pop edi
pop esi
pop ebx
xor ecx, esp
call fcn.101b5daa
mov esp, ebp
pop ebp
ret
call fcn.101bb1d6
call fcn.101bb1d6
call fcn.101bb1d6
call fcn.101bb1d6
int3