Function at 0x100d65e0
Capabilities:
Encode data using xor
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff0
sub esp, 0xa4
mov eax, dword [0x102060c0]
xor eax, esp
mov dword [esp + 0xa0], eax
push ebx
xor ebx, ebx
push esi
mov dword [esp + 0x18], ebx
cmp dword [0x10223b78], 2
push edi
jne 0x100da170
mov eax, dword fs:[0x2c]
mov ecx, dword [0x10224d4c]
mov ecx, dword [eax + ecx*4]
mov eax, dword [0x10352580]
mov dword [esp + 0x20], ecx
cmp eax, dword [ecx + 4]
jle 0x100d6660
push 0x10352580
call fcn.10199827
add esp, 4
cmp dword [0x10352580], 0xffffffff
jne 0x100d6660
push 0x101c5b80
call fcn.10199573
add esp, 4
push 0x10352580
call fcn.101997d6
add esp, 4
mov eax, dword [0x101eed0c]
xor edx, edx
cmp dword [0x10224d40], 2
movq xmm0, qword [str.w_UWZR]
mov esi, dword [0x10223ca0]
mov dword [esp + 0x30], eax
mov ax, word [0x101eed10]
mov word [esp + 0x34], ax
mov al, byte [0x101eed12]
mov byte [esp + 0x36], al
movq qword [esp + 0x28], xmm0
mov byte [esp + 0x1b], bl
mov dword [esp + 0x40], edx
jl 0x100d67a0
movaps xmm2, xmmword [0x101f7c30]
mov edx, 8
movaps xmm3, xmmword [0x101f7d90]
movaps xmm1, xmm2
punpckldq xmm1, xmm2
movaps xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm3
pmuldq xmm1, xmm3
shufps xmm1, xmm0, 0xdd
psrad xmm1, 1
mov dword [esp + 0x40], edx
movaps xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmmword [0x101f7cd0]
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
movaps xmm2, xmmword [0x101f7c70]
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
andps xmm1, xmmword [0x101f7d70]
movd xmm0, dword [str.w_UWZR]
packuswb xmm1, xmm1
paddb xmm1, xmmword [0x101f7db0]
xorps xmm1, xmm0
movaps xmm0, xmm2
movd dword [esp + 0x28], xmm1
movaps xmm1, xmm2
punpckldq xmm1, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm3
pmuldq xmm1, xmm3
shufps xmm1, xmm0, 0xdd
psrad xmm1, 1
movaps xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmmword [0x101f7cd0]
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
andps xmm1, xmmword [0x101f7d70]
movd xmm0, dword [esp + 0x2c]
packuswb xmm1, xmm1
paddb xmm1, xmmword [0x101f7db0]
xorps xmm1, xmm0
movd dword [esp + 0x2c], xmm1
nop
mov eax, 0x94f2095
imul edx
sar edx, 1
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [esp + 0x40]
movsx eax, al
mov cl, dl
imul eax, eax, 0x37
sub cl, al
add cl, 0x32
xor byte [esp + edx + 0x28], cl
inc edx
mov dword [esp + 0x40], edx
cmp edx, 0xf
jl 0x100d67a0
mov edx, esi
lea ecx, [esp + 0x28]
call fcn.1016c3b0
movss xmm1, dword [0x101f7ab4]
xorps xmm0, xmm0
call fcn.1015b310
movq xmm0, qword [str.A__]
xor ebx, ebx
mov al, byte [0x101ed6c0]
movq qword [esp + 0x28], xmm0
mov byte [esp + 0x30], al
mov eax, 0x29e4129f
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, 0x37
sub cl, al
add cl, 0x32
xor byte [esp + ebx + 0x28], cl
inc ebx
cmp ebx, 9
jl 0x100d6803
mov eax, dword [0x1034f0f0]
lea ecx, [esp + 0x28]
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.1014f1a0
mov edi, dword [esi + 4]
mov dword [esp + 0x40], eax
cmp ebx, edi
jne 0x100d6883
lea ecx, [ebx + 1]
test edi, edi
je 0x100d6871
mov eax, edi
cdq
sub eax, edx
sar eax, 1
add eax, edi
jmp 0x100d6876
mov eax, 8
cmp eax, ecx
cmovg ecx, eax
push ecx
mov ecx, esi
call fcn.100bdf50
mov ecx, dword [esi]
mov eax, dword [esi + 8]
mov edx, dword [esp + 0x40]
mov dword [esp + 0x28], 0x42c80000
mov dword [esp + 0x2c], 0
mov dword [eax + ecx*4], edx
mov eax, dword [0x101ed64c]
inc dword [esi]
xor ebx, ebx
mov esi, dword [0x10223ca0]
mov dword [esp + 0x40], eax
mov ax, word [0x101ed650]
mov word [esp + 0x44], ax
mov al, byte [0x101ed652]
mov byte [esp + 0x46], al
mov eax, 0x29e4129f
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, 0x37
sub cl, al
add cl, 0x32
xor byte [esp + ebx + 0x40], cl
inc ebx
cmp ebx, 7
jl 0x100d68c6
push ecx
lea eax, [esp + 0x2c]
push eax
lea edx, [esi + 0xa2c]
lea ecx, [esp + 0x48]
call fcn.100bfda0
mov ecx, dword [0x1034f0f0]
mov eax, dword [ecx + 0x1bec]
dec dword [eax + 0xe0]
mov ecx, dword [ecx + 0x1bec]
cmp byte [ecx + 0xab], 0
jne 0x100d6937
mov ecx, dword [ecx + 0x1dc]
neg ecx
sbb ecx, ecx
add ecx, 6
call fcn.1016ccd0
movss xmm0, dword [0x101f7960]
call fcn.1015b3d0
movups xmm0, xmmword [0x101edbfc]
mov edi, dword [0x10224d40]
mov dword [esp + 0x28], 0x44160000
movups xmmword [esp + 0x64], xmm0
mov dword [esp + 0x2c], 0x41f00000
psrldq xmm0, 0xf
movd eax, xmm0
test al, al
je 0x100d6ad7
mov al, byte [esp + 0x1b]
mov byte [esp + 0x1b], al
cmp edi, 2
jl 0x100d6aa9
movaps xmm0, xmmword [0x101f7db0]
xor ecx, ecx
movaps xmm4, xmmword [0x101f7c30]
movaps xmm3, xmmword [0x101f7d90]
movaps xmm5, xmmword [0x101f7cd0]
movaps xmmword [esp + 0x40], xmm0
mov edx, dword [esp + 0x40]
nop
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
psrad xmm1, 1
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 [0x101f7d70]
packuswb xmm1, xmm1
movd xmm0, edx
paddb xmm1, xmm0
movd xmm0, dword [esp + ecx + 0x64]
xorps xmm1, xmm0
movd xmm0, eax
pshufd xmm2, xmm0, 0
movd dword [esp + ecx + 0x64], xmm1
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
psrad xmm1, 1
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 [0x101f7d70]
packuswb xmm1, xmm1
movd xmm0, edx
paddb xmm1, xmm0
movd xmm0, dword [esp + ecx + 0x68]
xorps xmm1, xmm0
movd dword [esp + ecx + 0x68], xmm1
add ecx, 8
cmp ecx, 0x10
jl 0x100d69b0
jmp 0x100d6ad7
xor ebx, ebx
nop dword [eax + eax]
mov eax, 0x94f2095
mov cl, bl
imul ebx
sar edx, 1
mov eax, edx
shr eax, 0x1f
add eax, edx
movsx eax, al
imul eax, eax, 0x37
sub cl, al
add cl, 0x32
xor byte [esp + ebx + 0x64], cl
inc ebx
cmp ebx, 0x10
jl 0x100d6ab0
mov esi, dword [0x1034f0f0]
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 + 0x68]
call fcn.1014f1a0
cmp dword [esi + 0x1c24], eax
jne 0x100d6b19
mov dword [esi + 0x1c28], eax
cmp dword [esi + 0x1c5c], eax
jne 0x100d6b28
mov byte [esi + 0x1c60], 1
push 0
push 0
lea ecx, [esp + 0x30]
mov edx, eax
push ecx
lea ecx, [esp + 0x70]
call fcn.10155bc0
cmp dword [0x10223b78], 2
jne 0x100d7883
cmp dword [0x1034ef14], 0
mov ecx, dword [0x1034f0f0]
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 [0x101f786c]
maxss xmm0, xmm1
movss dword [eax + 0xec], xmm1
movss dword [eax + 0x104], xmm0
jne 0x100d6ba0
call fcn.100d6380
jmp 0x100d6ba5
call fcn.100d6480
cmp byte [0x101ee5cb], 0
mov eax, dword [0x101ee5c8]
mov dword [esp + 0x28], 0x42200000
mov dword [esp + 0x2c], 0x41f00000
mov dword [esp + 0x40], eax
je 0x100d6c7b
cmp edi, 2
jl 0x100d6c4a
movaps xmm3, xmmword [0x101f7c30]
movaps xmm2, xmm3
movaps xmm0, xmm3
punpckhdq xmm0, xmm3
pmuldq xmm0, xmmword [0x101f7d90]
punpckldq xmm2, xmm3
pmuldq xmm2, xmmword [0x101f7d90]
shufps xmm2, xmm0, 0xdd
psrad xmm2, 1
movaps xmm0, xmm2
psrld xmm0, 0x1f
paddd xmm0, xmm2
pmulld xmm0, xmmword [0x101f7cd0]
psubd xmm3, xmm0
pshuflw xmm0, xmm3, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
andps xmm1, xmmword [0x101f7d70]
packuswb xmm1, xmm1
paddb xmm1, xmmword [0x101f7db0]
movd xmm0, eax
xorps xmm1, xmm0
movd dword [esp + 0x40], xmm1
jmp 0x100d6c7b
mov al, byte [esp + 0x1b]
xor ebx, ebx
mov byte [esp + 0x1b], al
mov eax, 0x94f2095
mov cl, bl
imul ebx
sar edx, 1
mov eax, edx
shr eax, 0x1f
add eax, edx
movsx eax, al
imul eax, eax, 0x37
sub cl, al
add cl, 0x32
xor byte [esp + ebx + 0x40], cl
inc ebx
cmp ebx, 4
jl 0x100d6c54
push 0
push 0
lea edx, [esp + 0x30]
lea ecx, [esp + 0x48]
call fcn.1016ab10
test al, al
je 0x100d6c9a
mov dword [0x1034ef14], 0
mov esi, dword [0x1034f0f0]
movss xmm1, dword [0x101f7ab4]
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.1015b310
mov ecx, dword [0x10223cac]
mov ecx, dword [ecx + 0x24]
call fcn.1015aa20
cmp dword [0x1034ef14], 1
jne 0x100d6d6e
call fcn.100d6380
jmp 0x100d6d73
call fcn.100d6480
mov ax, word [0x101ee34c]
mov dword [esp + 0x28], 0x42480000
mov dword [esp + 0x2c], 0x41f00000
mov word [esp + 0x40], ax
test ah, ah
je 0x100d6dbd
xor ebx, ebx
mov eax, 0x29e4129f
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, 0x37
sub cl, al
add cl, 0x32
xor byte [esp + ebx + 0x40], cl
inc ebx
cmp ebx, 2
jl 0x100d6d94
push 0
push 0
lea edx, [esp + 0x30]
lea ecx, [esp + 0x48]
call fcn.1016ab10
test al, al
je 0x100d6ddf
mov edi, 1
mov dword [0x1034ef14], edi
jmp 0x100d6de5
mov edi, dword [0x1034ef14]
mov esi, dword [0x1034f0f0]
movss xmm1, dword [0x101f7ab4]
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.1015b310
cmp edi, 2
jne 0x100d6ea7
call fcn.100d6380
jmp 0x100d6eac
call fcn.100d6480
mov ax, word [0x101ed1e0]
mov dword [esp + 0x28], 0x42480000
mov dword [esp + 0x2c], 0x41f00000
mov word [esp + 0x40], ax
test ah, ah
je 0x100d6ef9
xor ebx, ebx
nop dword [eax]
mov eax, 0x29e4129f
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, 0x37
sub cl, al
add cl, 0x32
xor byte [esp + ebx + 0x40], cl
inc ebx
cmp ebx, 2
jl 0x100d6ed0
push 0
push 0
lea edx, [esp + 0x30]
lea ecx, [esp + 0x48]
call fcn.1016ab10
test al, al
je 0x100d6f1b
mov edi, 2
mov dword [0x1034ef14], edi
jmp 0x100d6f21
mov edi, dword [0x1034ef14]
mov esi, dword [0x1034f0f0]
movss xmm1, dword [0x101f7ab4]
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.1015b310
cmp edi, 3
jne 0x100d6fe3
call fcn.100d6380
jmp 0x100d6fe8
call fcn.100d6480
mov ax, word [0x101ecfb4]
mov dword [esp + 0x28], 0x42480000
mov dword [esp + 0x2c], 0x41f00000
mov word [esp + 0x40], ax
test ah, ah
je 0x100d7039
xor ebx, ebx
nop dword [eax]
mov eax, 0x29e4129f
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, 0x37
sub cl, al
add cl, 0x32
xor byte [esp + ebx + 0x40], cl
inc ebx
cmp ebx, 2
jl 0x100d7010
push 0
push 0
lea edx, [esp + 0x30]
lea ecx, [esp + 0x48]
call fcn.1016ab10
test al, al
je 0x100d705b
mov edi, 3
mov dword [0x1034ef14], edi
jmp 0x100d7061
mov edi, dword [0x1034ef14]
mov esi, dword [0x1034f0f0]
movss xmm1, dword [0x101f7ab4]
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.1015b310
cmp edi, 4
jne 0x100d7123
call fcn.100d6380
jmp 0x100d7128
call fcn.100d6480
mov ax, word [0x101edca4]
mov dword [esp + 0x28], 0x42480000
mov dword [esp + 0x2c], 0x41f00000
mov word [esp + 0x40], ax
test ah, ah
je 0x100d7179
xor ebx, ebx
nop dword [eax]
mov eax, 0x29e4129f
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, 0x37
sub cl, al
add cl, 0x32
xor byte [esp + ebx + 0x40], cl
inc ebx
cmp ebx, 2
jl 0x100d7150
push 0
push 0
lea edx, [esp + 0x30]
lea ecx, [esp + 0x48]
call fcn.1016ab10
test al, al
je 0x100d719b
mov edi, 4
mov dword [0x1034ef14], edi
jmp 0x100d71a1
mov edi, dword [0x1034ef14]
mov esi, dword [0x1034f0f0]
movss xmm1, dword [0x101f7ab4]
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.1015b310
cmp edi, 5
jne 0x100d7263
call fcn.100d6380
jmp 0x100d7268
call fcn.100d6480
mov ax, word [0x101ed100]
mov dword [esp + 0x28], 0x42480000
mov dword [esp + 0x2c], 0x41f00000
mov word [esp + 0x40], ax
test ah, ah
je 0x100d72b9
xor ebx, ebx
nop dword [eax]
mov eax, 0x29e4129f
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, 0x37
sub cl, al
add cl, 0x32
xor byte [esp + ebx + 0x40], cl
inc ebx
cmp ebx, 2
jl 0x100d7290
push 0
push 0
lea edx, [esp + 0x30]
lea ecx, [esp + 0x48]
call fcn.1016ab10
test al, al
je 0x100d72db
mov edi, 5
mov dword [0x1034ef14], edi
jmp 0x100d72e1
mov edi, dword [0x1034ef14]
mov esi, dword [0x1034f0f0]
movss xmm1, dword [0x101f7ab4]
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.1015b310
cmp edi, 6
jne 0x100d73a3
call fcn.100d6380
jmp 0x100d73a8
call fcn.100d6480
mov ax, word [0x101eef6c]
mov dword [esp + 0x28], 0x42680000
mov dword [esp + 0x2c], 0x41f00000
mov word [esp + 0x40], ax
test ah, ah
je 0x100d73f9
xor ebx, ebx
nop dword [eax]
mov eax, 0x29e4129f
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, 0x37
sub cl, al
add cl, 0x32
xor byte [esp + ebx + 0x40], cl
inc ebx
cmp ebx, 2
jl 0x100d73d0
push 0
push 0
lea edx, [esp + 0x30]
lea ecx, [esp + 0x48]
call fcn.1016ab10
test al, al
je 0x100d741b
mov edi, 6
mov dword [0x1034ef14], edi
jmp 0x100d7421
mov edi, dword [0x1034ef14]
mov esi, dword [0x1034f0f0]
movss xmm1, dword [0x101f7ab4]
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.1015b310
cmp edi, 7
jne 0x100d74e3
call fcn.100d6380
jmp 0x100d74e8
call fcn.100d6480
mov ax, word [0x101ed7f0]
mov dword [esp + 0x28], 0x42700000
mov dword [esp + 0x2c], 0x41f00000
mov word [esp + 0x40], ax
test ah, ah
je 0x100d7539
xor ebx, ebx
nop dword [eax]
mov eax, 0x29e4129f
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, 0x37
sub cl, al
add cl, 0x32
xor byte [esp + ebx + 0x40], cl
inc ebx
cmp ebx, 2
jl 0x100d7510
push 0
push 0
lea edx, [esp + 0x30]
lea ecx, [esp + 0x48]
call fcn.1016ab10
test al, al
je 0x100d755b
mov edi, 7
mov dword [0x1034ef14], edi
jmp 0x100d7561
mov edi, dword [0x1034ef14]
mov esi, dword [0x1034f0f0]
movss xmm1, dword [0x101f7ab4]
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.1015b310
cmp edi, 8
jne 0x100d7623
call fcn.100d6380
jmp 0x100d7628
call fcn.100d6480
mov ax, word [0x101ed980]
mov dword [esp + 0x28], 0x42480000
mov dword [esp + 0x2c], 0x41f00000
mov word [esp + 0x40], ax
test ah, ah
je 0x100d7679
xor ebx, ebx
nop dword [eax]
mov eax, 0x29e4129f
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, 0x37
sub cl, al
add cl, 0x32
xor byte [esp + ebx + 0x40], cl
inc ebx
cmp ebx, 2
jl 0x100d7650
push 0
push 0
lea edx, [esp + 0x30]
lea ecx, [esp + 0x48]
call fcn.1016ab10
test al, al
je 0x100d769b
mov edi, 8
mov dword [0x1034ef14], edi
jmp 0x100d76a1
mov edi, dword [0x1034ef14]
mov esi, dword [0x1034f0f0]
movss xmm1, dword [0x101f7ab4]
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.1015b310
cmp edi, 9
jne 0x100d7763
call fcn.100d6380
jmp 0x100d7768
call fcn.100d6480
mov ax, word [0x101ed360]
mov dword [esp + 0x28], 0x42480000
mov dword [esp + 0x2c], 0x41f00000
mov word [esp + 0x40], ax
test ah, ah
je 0x100d77b9
xor ebx, ebx
nop dword [eax]
mov eax, 0x29e4129f
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, 0x37
sub cl, al
add cl, 0x32
xor byte [esp + ebx + 0x40], cl
inc ebx
cmp ebx, 2
jl 0x100d7790
push 0
push 0
lea edx, [esp + 0x30]
lea ecx, [esp + 0x48]
call fcn.1016ab10
test al, al
je 0x100d77d8
mov dword [0x1034ef14], 9
mov esi, dword [0x1034f0f0]
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.1015aad0
call fcn.10155dc0
mov ecx, dword [0x1034f0f0]
mov eax, dword [ecx + 0x1bec]
mov byte [eax + 0xa8], 1
mov eax, dword [ecx + 0x1bec]
mov eax, dword [eax + 0x1d0]
test eax, eax
je 0x100d78bc
cmp dword [eax + 0x10], 2
jne 0x100d78b7
cmp dword [eax + 4], 1
je 0x100d78ca
call fcn.100ca080
push 1
mov edx, 2
xor ecx, ecx
call fcn.100c97a0
movss xmm0, dword [0x101f79f0]
mov ecx, 1
call fcn.100c93d0
movss xmm0, dword [0x101f79a4]
call fcn.1015b3d0
mov eax, dword [str.aZXPXC8]
mov esi, dword [0x10223ca0]
mov dword [esp + 0x40], eax
add esi, 2
mov ax, word [0x101ed954]
xor ebx, ebx
mov word [esp + 0x44], ax
mov al, byte [0x101ed956]
mov byte [esp + 0x46], al
mov eax, 0x29e4129f
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, 0x37
sub cl, al
add cl, 0x32
xor byte [esp + ebx + 0x40], cl
inc ebx
cmp ebx, 7
jl 0x100d7911
mov edx, esi
lea ecx, [esp + 0x40]
call fcn.1016c3b0
mov eax, dword [0x101ecff0]
movq xmm0, qword [str.tA_PXST_]
mov dl, byte [esp + 0x1b]
mov esi, dword [0x10223ca0]
mov edi, dword [0x10224d40]
mov dword [esp + 0x30], eax
mov ax, word [0x101ecff4]
movq qword [esp + 0x28], xmm0
mov word [esp + 0x34], ax
mov byte [esp + 0x1b], dl
test ah, ah
je 0x100d7ac7
xor eax, eax
mov byte [esp + 0x1b], dl
mov dword [esp + 0x40], eax
cmp edi, 2
jl 0x100d7a95
movaps xmm2, xmmword [0x101f7c30]
movaps xmm4, xmmword [0x101f7d90]
movaps xmm1, xmm2
punpckldq xmm1, xmm2
movaps xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm4
pmuldq xmm1, xmm4
shufps xmm1, xmm0, 0xdd
mov eax, dword [0x101f7db0]
psrad xmm1, 1
mov byte [esp + 0x1b], dl
movaps xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmmword [0x101f7cd0]
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
movaps xmm2, xmmword [0x101f7c70]
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
andps xmm1, xmmword [0x101f7d70]
packuswb xmm1, xmm1
movd xmm0, eax
paddb xmm1, xmm0
movd xmm0, dword [str.tA_PXST_]
xorps xmm1, xmm0
movaps xmm0, xmm2
movd dword [esp + 0x28], xmm1
movaps xmm1, xmm2
punpckhdq xmm0, xmm2
punpckldq xmm1, xmm2
pmuldq xmm0, xmm4
pmuldq xmm1, xmm4
shufps xmm1, xmm0, 0xdd
psrad xmm1, 1
movaps xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmmword [0x101f7cd0]
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
andps xmm1, xmmword [0x101f7d70]
movd xmm0, eax
mov eax, 8
packuswb xmm1, xmm1
paddb xmm1, xmm0
mov dword [esp + 0x40], eax
movd xmm0, dword [esp + 0x2c]
xorps xmm1, xmm0
movd dword [esp + 0x2c], xmm1
mov ebx, dword [esp + 0x40]
nop dword [eax]
mov eax, 0x94f2095
mov cl, bl
imul ebx
sar edx, 1
mov eax, edx
shr eax, 0x1f
add eax, edx
movsx eax, al
imul eax, eax, 0x37
sub cl, al
add cl, 0x32
xor byte [esp + ebx + 0x28], cl
inc ebx
cmp ebx, 0xe
jl 0x100d7aa0
lea edx, [esi + 3]
lea ecx, [esp + 0x28]
call fcn.1016c3b0
mov ax, word [0x101ed0b8]
movq xmm0, qword [0x101ed0b0]
mov esi, dword [0x10223ca0]
movq qword [esp + 0x28], xmm0
mov word [esp + 0x30], ax
test ah, ah
je 0x100d7b29
xor ebx, ebx
nop dword [eax + eax]
mov eax, 0x29e4129f
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, 0x37
sub cl, al
add cl, 0x32
xor byte [esp + ebx + 0x28], cl
inc ebx
cmp ebx, 0xa
jl 0x100d7b00
lea edx, [esi + 5]
lea ecx, [esp + 0x28]
call fcn.1016c3b0
mov ax, word [0x101eddbc]
mov esi, dword [0x10223ca0]
movq xmm0, qword [0x101eddb4]
add esi, 0xc
mov word [esp + 0x30], ax
xor ebx, ebx
mov al, byte [0x101eddbe]
mov byte [esp + 0x32], al
movq qword [esp + 0x28], xmm0
mov eax, 0x29e4129f
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, 0x37
sub cl, al
add cl, 0x32
xor byte [esp + ebx + 0x28], cl
inc ebx
cmp ebx, 0xb
jl 0x100d7b62
mov edx, esi
lea ecx, [esp + 0x28]
call fcn.1016c3b0
mov eax, dword [0x1034ef14]
movq xmm0, qword [0x101ee3bc]
mov ebx, dword [esp + 0x1c]
movq qword [esp + 0x28], xmm0
lea ecx, [eax*8]
sub ecx, eax
mov eax, dword [0x10223ca0]
lea esi, [eax + ecx*8]
mov ax, word [0x101ee3c4]
mov word [esp + 0x30], ax
test ah, ah
je 0x100d7c04
mov al, byte [esp + 0x1b]
xor ebx, ebx
mov byte [esp + 0x1b], al
mov eax, 0x29e4129f
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, 0x37
sub cl, al
add cl, 0x32
xor byte [esp + ebx + 0x28], cl
inc ebx
cmp ebx, 0xa
jl 0x100d7bd7
mov ebx, dword [esp + 0x1c]
lea edx, [esi + 0x21]
lea ecx, [esp + 0x28]
call fcn.1016c3b0
mov ecx, dword [esp + 0x20]
mov eax, dword [0x1035255c]
mov dword [esp + 0x64], str.Force_accuracy
mov dword [esp + 0x68], str.Between_shots
mov dword [esp + 0x6c], str.Full_stop
mov dword [esp + 0x70], str.Duck
cmp eax, dword [ecx + 4]
jle 0x100d7c71
push 0x1035255c
call fcn.10199827
add esp, 4
cmp dword [0x1035255c], 0xffffffff
jne 0x100d7c71
push 0x101c5b20
call fcn.10199573
add esp, 4
push 0x1035255c
call fcn.101997d6
add esp, 4
mov ecx, dword [0x10223ca0]
xor al, al
mov byte [esp + 0x27], al
mov esi, 0x10223b18
mov eax, dword [0x1034ef14]
movups xmm0, xmmword [0x101ee870]
lea edx, [eax*8]
sub edx, eax
movups xmmword [esp + 0x28], xmm0
mov al, byte [ecx + edx*8 + 0x24]
and al, 1
mov byte [0x1034ef10], al
mov eax, dword [ecx + edx*8 + 0x24]
shr eax, 1
and al, 1
mov byte [0x1034ef11], al
mov eax, dword [ecx + edx*8 + 0x24]
shr eax, 2
and al, 1
mov byte [0x1034ef12], al
mov eax, dword [ecx + edx*8 + 0x24]
shr eax, 3
and al, 1
cmp dword [0x10223b2c], 0xf
mov byte [0x1034ef13], al
cmova esi, dword [0x10223b18]
cmp byte [0x101ee883], 0
mov eax, dword [0x101ee880]
mov dword [esp + 0x38], eax
je 0x100d7e5f
xor edx, edx
mov dword [esp + 0x40], edx
cmp edi, 2
jl 0x100d7e30
movaps xmm0, xmmword [0x101f7db0]
movaps xmm4, xmmword [0x101f7c30]
movaps xmm3, xmmword [0x101f7d90]
movaps xmm5, xmmword [0x101f7cd0]
movaps xmmword [esp + 0x40], xmm0
mov ecx, dword [esp + 0x40]
nop dword [eax + eax]
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
psrad xmm1, 1
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 [0x101f7d70]
packuswb xmm1, xmm1
movd xmm0, ecx
paddb xmm1, xmm0
movd xmm0, dword [esp + edx + 0x28]
xorps xmm1, xmm0
movd xmm0, eax
pshufd xmm2, xmm0, 0
movd dword [esp + edx + 0x28], xmm1
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
psrad xmm1, 1
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 [0x101f7d70]
packuswb xmm1, xmm1
movd xmm0, ecx
paddb xmm1, xmm0
movd xmm0, dword [esp + edx + 0x2c]
xorps xmm1, xmm0
movd dword [esp + edx + 0x2c], xmm1
add edx, 8
cmp edx, 0x10
jl 0x100d7d30
mov dword [esp + 0x40], edx
cmp edx, 0x14
jge 0x100d7e5f
mov eax, 0x94f2095
imul edx
sar edx, 1
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [esp + 0x40]
movsx eax, al
mov cl, dl
imul eax, eax, 0x37
sub cl, al
add cl, 0x32
xor byte [esp + edx + 0x28], cl
inc edx
mov dword [esp + 0x40], edx
cmp edx, 0x14
jl 0x100d7e30
xorps xmm0, xmm0
mov dword [esp + 0x8c], 0
lea ecx, [esp + 0x28]
mov dword [esp + 0x90], 0
movups xmmword [esp + 0x7c], xmm0
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x100d7e84
sub ecx, edx
lea eax, [esp + 0x28]
push ecx
push eax
lea ecx, [esp + 0x84]
call fcn.100278e0
cmp dword [esp + 0x90], 0xf
lea ecx, [esp + 0x7c]
push 1
cmova ecx, dword [esp + 0x80]
mov edx, esi
push 0
call fcn.1016cf50
mov ecx, dword [esp + 0x90]
mov byte [esp + 0x40], al
cmp ecx, 0xf
jbe 0x100d7eff
mov edx, dword [esp + 0x7c]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x100d7ef1
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100da185
push ecx
push edx
call fcn.1019958d
mov al, byte [esp + 0x48]
add esp, 8
test al, al
je 0x100d7f92
push 0
push 0x101cf4ee
mov ecx, 0x10223b18
call fcn.10022cd0
xor esi, esi
mov dword [esp + 0x28], esi
mov dword [esp + 0x2c], esi
mov dl, byte [esi + 0x1034ef10]
lea eax, [esp + 0x28]
mov ecx, dword [esp + esi*4 + 0x64]
push eax
push 1
call fcn.1017b8e0
test al, al
je 0x100d7f4c
cmp byte [esi + 0x1034ef10], 0
sete al
mov byte [esi + 0x1034ef10], al
inc esi
cmp esi, 4
jb 0x100d7f22
mov esi, dword [0x1034f0f0]
mov eax, dword [esi + 0x1bec]
cmp dword [esi + 0x1d54], eax
jne 0x100d7f76
mov dword [esi + 0x1e58], eax
mov dword [esi + 0x1e5c], 2
test dword [eax + 8], 0x1000000
je 0x100d7f86
mov byte [esi + 0x1b9e], 1
call fcn.1015a560
mov byte [esi + 0x1b9e], 0
xor esi, esi
cmp byte [esp + 0x27], 0
mov eax, 0x202c
jne 0x100d7fbb
push 0
push 0x101cf4ee
mov ecx, 0x10223b18
call fcn.10022cd0
mov byte [esp + 0x27], 1
mov eax, 0x202c
cmp byte [esi + 0x1034ef10], 0
je 0x100d8192
cmp dword [0x10223b28], 0
xorps xmm0, xmm0
mov edx, dword [esp + esi*4 + 0x64]
je 0x100d8047
or ebx, 1
mov dword [esp + 0xa4], 2
movups xmmword [esp + 0x94], xmm0
or ebx, 2
mov dword [esp + 0xa8], 0xf
push edx
lea ecx, [esp + 0x98]
mov word [esp + 0x98], ax
mov byte [esp + 0x9a], 0
mov dword [esp + 0x20], ebx
call fcn.10020800
movups xmm0, xmmword [eax]
movups xmmword [esp + 0x40], xmm0
movq xmm0, qword [eax + 0x10]
movq qword [esp + 0x50], xmm0
mov dword [eax + 0x10], 0
mov dword [eax + 0x14], 0xf
mov byte [eax], 0
lea eax, [esp + 0x40]
jmp 0x100d8080
mov ecx, edx
or ebx, 4
mov dword [esp + 0x1c], ebx
movups xmmword [esp + 0x28], xmm0
mov dword [esp + 0x38], 0
mov dword [esp + 0x3c], 0
lea edi, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x100d8068
sub ecx, edi
push ecx
push edx
lea ecx, [esp + 0x30]
call fcn.100278e0
lea eax, [esp + 0x28]
push eax
mov ecx, 0x10223b18
call fcn.10020870
test bl, 4
je 0x100d80cd
and ebx, 0xfffffffb
mov dword [esp + 0x1c], ebx
mov ecx, dword [esp + 0x3c]
cmp ecx, 0xf
jbe 0x100d80cd
mov edx, dword [esp + 0x28]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x100d80c3
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100da185
push ecx
push edx
call fcn.1019958d
add esp, 8
test bl, 2
je 0x100d810f
and ebx, 0xfffffffd
mov dword [esp + 0x1c], ebx
mov ecx, dword [esp + 0x54]
cmp ecx, 0xf
jbe 0x100d810f
mov edx, dword [esp + 0x40]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x100d8105
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100da185
push ecx
push edx
call fcn.1019958d
add esp, 8
test bl, 1
je 0x100d8175
and ebx, 0xfffffffe
mov dword [esp + 0x1c], ebx
mov ecx, dword [esp + 0xa8]
cmp ecx, 0xf
jbe 0x100d8157
mov edx, dword [esp + 0x94]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x100d814d
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100da185
push ecx
push edx
call fcn.1019958d
add esp, 8
mov dword [esp + 0xa4], 0
mov dword [esp + 0xa8], 0xf
mov byte [esp + 0x94], 0
mov eax, dword [0x1034ef14]
mov ecx, dword [0x10223ca0]
lea edx, [eax*8]
sub edx, eax
mov eax, dword [ecx + edx*8 + 0x24]
bts eax, esi
jmp 0x100d81ad
mov eax, dword [0x1034ef14]
mov ecx, dword [0x10223ca0]
lea edx, [eax*8]
sub edx, eax
mov eax, dword [ecx + edx*8 + 0x24]
btr eax, esi
inc esi
mov dword [ecx + edx*8 + 0x24], eax
cmp esi, 4
jb 0x100d7f94
movq xmm0, qword [0x101eeddc]
xor ebx, ebx
mov al, byte [0x101eede4]
mov esi, dword [0x10223ca0]
movq qword [esp + 0x28], xmm0
mov byte [esp + 0x30], al
nop word [eax + eax]
mov eax, 0x29e4129f
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, 0x37
sub cl, al
add cl, 0x32
xor byte [esp + ebx + 0x28], cl
inc ebx
cmp ebx, 9
jl 0x100d81e0
lea edx, [esi + 0xe9c]
lea ecx, [esp + 0x28]
call fcn.1016c3b0
movq xmm0, qword [0x101ee4d4]
xor edx, edx
mov al, byte [0x101ee4dc]
mov esi, dword [0x10223ca0]
movq qword [esp + 0x28], xmm0
mov byte [esp + 0x30], al
mov dword [esp + 0x40], edx
nop dword [eax + eax]
mov eax, 0x29e4129f
mul edx
mov eax, dword [esp + 0x40]
sub eax, edx
shr eax, 1
add eax, edx
mov edx, dword [esp + 0x40]
shr eax, 5
mov cl, dl
movsx eax, al
imul eax, eax, 0x37
sub cl, al
add cl, 0x32
xor byte [esp + edx + 0x28], cl
inc edx
mov dword [esp + 0x40], edx
cmp edx, 9
jl 0x100d8240
lea edx, [esi + 1]
lea ecx, [esp + 0x28]
call fcn.1016c3b0
mov eax, dword [0x101edfa8]
xor edx, edx
cmp dword [0x10224d40], 2
movups xmm0, xmmword [str.zVUYB_8SHHP_A]
mov ch, byte [esp + 0x1b]
mov dword [esp + 0x74], eax
mov al, byte [0x101edfac]
movups xmmword [esp + 0x64], xmm0
mov byte [esp + 0x78], al
mov dword [esp + 0x40], edx
jl 0x100d83e6
movaps xmm0, xmmword [0x101f7db0]
movaps xmm4, xmmword [0x101f7c30]
movaps xmm3, xmmword [0x101f7d90]
movaps xmm5, xmmword [0x101f7cd0]
movaps xmmword [esp + 0x40], xmm0
mov esi, dword [esp + 0x40]
mov byte [esp + 0x1b], ch
nop dword [eax]
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
psrad xmm1, 1
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 [0x101f7d70]
packuswb xmm1, xmm1
movd xmm0, esi
paddb xmm1, xmm0
movd xmm0, dword [esp + edx + 0x64]
xorps xmm1, xmm0
movd xmm0, eax
pshufd xmm2, xmm0, 0
movd dword [esp + edx + 0x64], xmm1
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
psrad xmm1, 1
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 [0x101f7d70]
packuswb xmm1, xmm1
movd xmm0, esi
paddb xmm1, xmm0
movd xmm0, dword [esp + edx + 0x68]
xorps xmm1, xmm0
movd dword [esp + edx + 0x68], xmm1
add edx, 8
cmp edx, 0x10
jl 0x100d82e0
mov dword [esp + 0x40], edx
cmp edx, 0x15
jl 0x100d83e6
mov byte [esp + 0x1b], ch
jmp 0x100d8415
mov eax, 0x94f2095
imul edx
sar edx, 1
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [esp + 0x40]
movsx eax, al
mov cl, dl
imul eax, eax, 0x37
sub cl, al
add cl, 0x32
xor byte [esp + edx + 0x64], cl
inc edx
mov dword [esp + 0x40], edx
cmp edx, 0x15
jl 0x100d83e6
mov edi, dword [0x10223ca0]
mov al, byte [0x101ecf58]
add edi, 8
movq xmm0, qword [str.bA_ZDL_:]
xor ebx, ebx
mov dword [esp + 0x40], edi
mov byte [esp + 0x30], al
movq qword [esp + 0x28], xmm0
nop dword [eax + eax]
mov eax, 0x29e4129f
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, 0x37
sub cl, al
add cl, 0x32
xor byte [esp + ebx + 0x28], cl
inc ebx
cmp ebx, 9
jl 0x100d8440
xor esi, esi
lea edx, [esp + 0x64]
cmp byte [esp + 0x64], 0
je 0x100d8496
mov dword [esp + 0x40], edi
mov byte [esp + 0x1b], ch
nop
mov ecx, edx
lea edi, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x100d8485
sub ecx, edi
inc edx
add edx, ecx
inc esi
cmp byte [edx], al
jne 0x100d8480
mov edx, dword [esp + 0x40]
lea eax, [esp + 0x64]
push 1
push 0xffffffffffffffff
push esi
push eax
push 0x1016ddf0
lea ecx, [esp + 0x3c]
call fcn.1016de50
mov eax, dword [0x1034ef14]
mov esi, 0x10223700
mov ecx, dword [0x10223ca0]
movq xmm0, qword [str.zZ_WYO_J:]
movq qword [esp + 0x28], xmm0
lea edx, [eax*8]
sub edx, eax
mov al, byte [ecx + edx*8 + 0x2c]
and al, 1
mov byte [0x1034ef80], al
mov eax, dword [ecx + edx*8 + 0x2c]
shr eax, 1
and al, 1
mov byte [0x1034ef81], al
mov eax, dword [ecx + edx*8 + 0x2c]
shr eax, 2
and al, 1
mov byte [0x1034ef82], al
mov eax, dword [ecx + edx*8 + 0x2c]
shr eax, 3
and al, 1
mov byte [0x1034ef83], al
mov eax, dword [ecx + edx*8 + 0x2c]
shr eax, 4
and al, 1
mov byte [0x1034ef84], al
mov eax, dword [ecx + edx*8 + 0x2c]
shr eax, 5
and al, 1
mov byte [0x1034ef85], al
mov eax, dword [ecx + edx*8 + 0x2c]
shr eax, 6
and al, 1
mov byte [0x1034ef86], al
mov eax, dword [ecx + edx*8 + 0x2c]
shr eax, 7
and al, 1
mov byte [0x1034ef87], al
mov eax, dword [ecx + edx*8 + 0x2c]
shr eax, 8
and al, 1
cmp dword [0x10223714], 0xf
mov byte [0x1034ef88], al
mov al, byte [0x101ee938]
mov byte [esp + 0x30], al
jbe 0x100d856b
mov esi, dword [0x10223700]
xor ebx, ebx
nop dword [eax]
mov eax, 0x29e4129f
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, 0x37
sub cl, al
add cl, 0x32
xor byte [esp + ebx + 0x28], cl
inc ebx
cmp ebx, 9
jl 0x100d8570
mov ebx, dword [esp + 0x1c]
lea ecx, [esp + 0x28]
xorps xmm0, xmm0
mov dword [esp + 0x8c], 0
movups xmmword [esp + 0x7c], xmm0
mov dword [esp + 0x90], 0
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x100d85c2
sub ecx, edx
lea eax, [esp + 0x28]
push ecx
push eax
lea ecx, [esp + 0x84]
call fcn.100278e0
cmp dword [esp + 0x90], 0xf
lea ecx, [esp + 0x7c]
push 1
cmova ecx, dword [esp + 0x80]
mov edx, esi
push 0
call fcn.1016cf50
mov ecx, dword [esp + 0x90]
mov byte [esp + 0x40], al
cmp ecx, 0xf
jbe 0x100d863d
mov edx, dword [esp + 0x7c]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x100d862f
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100da18a
push ecx
push edx
call fcn.1019958d
mov al, byte [esp + 0x48]
add esp, 8
test al, al
je 0x100d86e3
push 0
push 0x101cf4ee
mov ecx, 0x10223700
call fcn.10022cd0
mov al, byte [esp + 0x1b]
xor esi, esi
mov dword [esp + 0x28], esi
mov dword [esp + 0x2c], esi
mov byte [esp + 0x1b], al
nop dword [eax + eax]
mov dl, byte [esi + 0x1034ef80]
lea eax, [esp + 0x28]
mov ecx, dword [esi*4 + 0x101ed180]
push eax
push 1
call fcn.1017b8e0
test al, al
je 0x100d869d
cmp byte [esi + 0x1034ef80], 0
sete al
mov byte [esi + 0x1034ef80], al
inc esi
cmp esi, 9
jb 0x100d8670
mov esi, dword [0x1034f0f0]
mov eax, dword [esi + 0x1bec]
cmp dword [esi + 0x1d54], eax
jne 0x100d86c7
mov dword [esi + 0x1e58], eax
mov dword [esi + 0x1e5c], 2
test dword [eax + 8], 0x1000000
je 0x100d86d7
mov byte [esi + 0x1b9e], 1
call fcn.1015a560
mov byte [esi + 0x1b9e], 0
xor esi, esi
cmp byte [esp + 0x1b], 0
jne 0x100d8702
push 0
push 0x101cf4ee
mov ecx, 0x10223700
call fcn.10022cd0
mov byte [esp + 0x1b], 1
cmp byte [esi + 0x1034ef80], 0
je 0x100d88c8
cmp dword [0x10223710], 0
xorps xmm0, xmm0
mov edx, dword [esi*4 + 0x101ed180]
je 0x100d878f
or ebx, 8
mov dword [esp + 0x8c], 2
movups xmmword [esp + 0x7c], xmm0
mov eax, 0x202c
mov dword [esp + 0x90], 0xf
push edx
lea ecx, [esp + 0x80]
mov word [esp + 0x80], ax
mov byte [esp + 0x82], 0
or ebx, 0x10
call fcn.10020800
movups xmm0, xmmword [eax]
movups xmmword [esp + 0x28], xmm0
movq xmm0, qword [eax + 0x10]
movq qword [esp + 0x38], xmm0
mov dword [eax + 0x10], 0
mov dword [eax + 0x14], 0xf
mov byte [eax], 0
lea eax, [esp + 0x28]
jmp 0x100d87c8
mov ecx, edx
mov dword [esp + 0x74], 0
or ebx, 0x20
mov dword [esp + 0x78], 0
movups xmmword [esp + 0x64], xmm0
lea edi, [ecx + 1]
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x100d87b0
sub ecx, edi
push ecx
push edx
lea ecx, [esp + 0x6c]
call fcn.100278e0
lea eax, [esp + 0x64]
push eax
mov ecx, 0x10223700
call fcn.10020870
test bl, 0x20
je 0x100d8811
mov ecx, dword [esp + 0x78]
and ebx, 0xffffffdf
cmp ecx, 0xf
jbe 0x100d8811
mov edx, dword [esp + 0x64]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x100d8807
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100da185
push ecx
push edx
call fcn.1019958d
add esp, 8
test bl, 0x10
je 0x100d884f
mov ecx, dword [esp + 0x3c]
and ebx, 0xffffffef
cmp ecx, 0xf
jbe 0x100d884f
mov edx, dword [esp + 0x28]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x100d8845
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100da185
push ecx
push edx
call fcn.1019958d
add esp, 8
test bl, 8
je 0x100d88ab
mov ecx, dword [esp + 0x90]
and ebx, 0xfffffff7
cmp ecx, 0xf
jbe 0x100d8890
mov edx, dword [esp + 0x7c]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x100d8886
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100da185
push ecx
push edx
call fcn.1019958d
add esp, 8
mov dword [esp + 0x8c], 0
mov dword [esp + 0x90], 0xf
mov byte [esp + 0x7c], 0
mov eax, dword [0x1034ef14]
mov ecx, dword [0x10223ca0]
lea edx, [eax*8]
sub edx, eax
mov eax, dword [ecx + edx*8 + 0x2c]
bts eax, esi
jmp 0x100d88e3
mov eax, dword [0x1034ef14]
mov ecx, dword [0x10223ca0]
lea edx, [eax*8]
sub edx, eax
mov eax, dword [ecx + edx*8 + 0x2c]
btr eax, esi
inc esi
mov dword [ecx + edx*8 + 0x2c], eax
cmp esi, 9
jb 0x100d86e5
mov ax, word [0x101ee47c]
xor ebx, ebx
movq xmm0, qword [str.tFVS]
mov esi, dword [0x10223ca0]
mov word [esp + 0x48], ax
mov al, byte [0x101ee47e]
mov dword [esp + 0x28], 0x42c80000
mov dword [esp + 0x2c], 0
movq qword [esp + 0x40], xmm0
mov byte [esp + 0x4a], al
nop dword [eax + eax]
mov eax, 0x29e4129f
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, 0x37
sub cl, al
add cl, 0x32
xor byte [esp + ebx + 0x40], cl
inc ebx
cmp ebx, 0xb
jl 0x100d8930
push ecx
lea eax, [esp + 0x2c]
push eax
lea edx, [esi + 0xa74]
lea ecx, [esp + 0x48]
call fcn.100bfda0
movq xmm0, qword [0x101eeee4]
xor ebx, ebx
mov al, byte [0x101eeeec]
movq qword [esp + 0x28], xmm0
mov byte [esp + 0x30], al
mov eax, 0x29e4129f
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, 0x37
sub cl, al
add cl, 0x32
xor byte [esp + ebx + 0x28], cl
inc ebx
cmp ebx, 9
jl 0x100d8987
lea eax, [esp + 0x28]
push eax
call fcn.1016a390
mov ax, word [0x101ee6a8]
add esp, 4
movq xmm0, qword [str.vAWZRLXJ_]
movq qword [esp + 0x40], xmm0
mov word [esp + 0x48], ax
test ah, ah
je 0x100d8a09
xor ebx, ebx
nop dword [eax]
mov eax, 0x29e4129f
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, 0x37
sub cl, al
add cl, 0x32
xor byte [esp + ebx + 0x40], cl
inc ebx
cmp ebx, 0xa
jl 0x100d89e0
mov eax, dword [0x1034f0f0]
lea ecx, [esp + 0x40]
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.1014f1a0
mov edi, dword [esi + 4]
mov dword [esp + 0x20], eax
cmp ebx, edi
jne 0x100d8a60
lea ecx, [ebx + 1]
test edi, edi
je 0x100d8a4e
mov eax, edi
cdq
sub eax, edx
sar eax, 1
add eax, edi
jmp 0x100d8a53
mov eax, 8
cmp eax, ecx
cmovg ecx, eax
push ecx
mov ecx, esi
call fcn.100bdf50
mov ecx, dword [esi]
mov eax, dword [esi + 8]
mov edx, dword [esp + 0x20]
movq xmm0, qword [str.vAWZR]
mov dword [esp + 0x28], 0x42c80000
mov dword [eax + ecx*4], edx
mov ax, word [0x101edcf0]
inc dword [esi]
xor ebx, ebx
mov esi, dword [0x10223ca0]
mov word [esp + 0x48], ax
mov al, byte [0x101edcf2]
mov dword [esp + 0x2c], 0
movq qword [esp + 0x40], xmm0
mov byte [esp + 0x4a], al
nop dword [eax + eax]
mov eax, 0x29e4129f
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, 0x37
sub cl, al
add cl, 0x32
xor byte [esp + ebx + 0x40], cl
inc ebx
cmp ebx, 0xb
jl 0x100d8ab0
push ecx
lea eax, [esp + 0x2c]
push eax
lea edx, [esi + 0xe54]
lea ecx, [esp + 0x48]
call fcn.100bfda0
mov ecx, dword [0x1034f0f0]
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.1014f1a0
mov edi, dword [esi + 4]
mov dword [esp + 0x20], eax
cmp ebx, edi
jne 0x100d8b50
lea ecx, [ebx + 1]
test edi, edi
je 0x100d8b3e
mov eax, edi
cdq
sub eax, edx
sar eax, 1
add eax, edi
jmp 0x100d8b43
mov eax, 8
cmp eax, ecx
cmovg ecx, eax
push ecx
mov ecx, esi
call fcn.100bdf50
mov ecx, dword [esi]
mov eax, dword [esi + 8]
mov edx, dword [esp + 0x20]
movq xmm0, qword [str.zZPPE_WMI_]
mov dword [esp + 0x28], 0x42c80000
mov dword [eax + ecx*4], edx
mov ax, word [0x101ee0a8]
inc dword [esi]
mov esi, dword [0x10223ca0]
mov dword [esp + 0x2c], 0
movq qword [esp + 0x40], xmm0
mov word [esp + 0x48], ax
test ah, ah
je 0x100d8bbc
xor ebx, ebx
mov eax, 0x29e4129f
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, 0x37
sub cl, al
add cl, 0x32
xor byte [esp + ebx + 0x40], cl
inc ebx
cmp ebx, 0xa
jl 0x100d8b93
push ecx
lea eax, [esp + 0x2c]
push eax
lea edx, [esi + 0xe78]
lea ecx, [esp + 0x48]
call fcn.100bfda0
mov eax, dword [0x1034f0f0]
mov eax, dword [eax + 0x1bec]
dec dword [eax + 0xe0]
call fcn.100c9da0
mov eax, dword [0x1034ef14]
movups xmm0, xmmword [str.EQGD_]
lea ecx, [eax*8]
sub ecx, eax
mov eax, dword [0x10223ca0]
movups xmmword [esp + 0x64], xmm0
psrldq xmm0, 0xf
lea esi, [eax + ecx*8]
movd eax, xmm0
test al, al
je 0x100d8d77
xor ebx, ebx
cmp dword [0x10224d40], 2
jl 0x100d8d50
movaps xmm0, xmmword [0x101f7db0]
xor ecx, ecx
movaps xmm4, xmmword [0x101f7c30]
movaps xmm3, xmmword [0x101f7d90]
movaps xmm5, xmmword [0x101f7cd0]
movaps xmmword [esp + 0x40], xmm0
mov edx, dword [esp + 0x40]
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
psrad xmm1, 1
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 [0x101f7d70]
packuswb xmm1, xmm1
movd xmm0, edx
paddb xmm1, xmm0
movd xmm0, dword [esp + ecx + 0x64]
xorps xmm1, xmm0
movd xmm0, eax
pshufd xmm2, xmm0, 0
movd dword [esp + ecx + 0x64], xmm1
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
psrad xmm1, 1
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 [0x101f7d70]
packuswb xmm1, xmm1
movd xmm0, edx
paddb xmm1, xmm0
movd xmm0, dword [esp + ecx + 0x68]
xorps xmm1, xmm0
movd dword [esp + ecx + 0x68], xmm1
add ecx, 8
cmp ecx, 0x10
jl 0x100d8c50
jmp 0x100d8d77
mov eax, 0x94f2095
mov cl, bl
imul ebx
sar edx, 1
mov eax, edx
shr eax, 0x1f
add eax, edx
movsx eax, al
imul eax, eax, 0x37
sub cl, al
add cl, 0x32
xor byte [esp + ebx + 0x64], cl
inc ebx
cmp ebx, 0x10
jl 0x100d8d50
lea edx, [esi + 0x20]
lea ecx, [esp + 0x64]
call fcn.1016c3b0
mov ebx, dword [0x1034f0f0]
mov eax, dword [ebx + 0x1bec]
mov edi, dword [eax + 0x1fc]
lea esi, [eax + 0x1f8]
mov ecx, dword [esi]
mov dword [esp + 0x1c], eax
cmp ecx, edi
jne 0x100d8dcb
inc ecx
test edi, edi
je 0x100d8db5
mov eax, edi
cdq
sub eax, edx
sar eax, 1
add eax, edi
jmp 0x100d8dba
mov eax, 8
cmp eax, ecx
cmovg ecx, eax
push ecx
mov ecx, esi
call fcn.100bdf50
mov eax, dword [esp + 0x1c]
mov edx, dword [esi]
mov ecx, dword [esi + 8]
mov eax, dword [eax + 0x1f0]
mov dword [ecx + edx*4], eax
mov eax, dword [esp + 0x1c]
inc dword [esi]
mov dword [eax + 0x1f0], 0x43480000
and dword [ebx + 0x1cd4], 0xfffffffe
mov esi, dword [0x10223ca0]
mov eax, dword [0x101ed9cc]
add esi, 0x10
cmp byte [0x101ed9cf], 0
mov edi, dword [0x10224d40]
mov dword [esp + 0x1c], eax
je 0x100d8ebd
xor ebx, ebx
cmp edi, 2
jl 0x100d8e96
movaps xmm3, xmmword [0x101f7c30]
movaps xmm2, xmm3
movaps xmm0, xmm3
punpckhdq xmm0, xmm3
pmuldq xmm0, xmmword [0x101f7d90]
punpckldq xmm2, xmm3
pmuldq xmm2, xmmword [0x101f7d90]
shufps xmm2, xmm0, 0xdd
psrad xmm2, 1
movaps xmm0, xmm2
psrld xmm0, 0x1f
paddd xmm0, xmm2
pmulld xmm0, xmmword [0x101f7cd0]
psubd xmm3, xmm0
pshuflw xmm0, xmm3, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
andps xmm1, xmmword [0x101f7d70]
packuswb xmm1, xmm1
paddb xmm1, xmmword [0x101f7db0]
movd xmm0, eax
xorps xmm1, xmm0
movd dword [esp + 0x1c], xmm1
jmp 0x100d8ebd
mov eax, 0x94f2095
mov cl, bl
imul ebx
sar edx, 1
mov eax, edx
shr eax, 0x1f
add eax, edx
movsx eax, al
imul eax, eax, 0x37
sub cl, al
add cl, 0x32
xor byte [esp + ebx + 0x1c], cl
inc ebx
cmp ebx, 4
jl 0x100d8e96
push 0x20
push str._.2f
lea eax, [esp + 0x28]
mov dword [esp + 0x48], 0
push eax
lea eax, [esp + 0x4c]
mov dword [esp + 0x2c], 0x437f0000
push eax
push esi
mov edx, 8
lea ecx, [esp + 0x30]
call fcn.1016fbe0
mov eax, dword [0x1034ef14]
movq xmm0, qword [0x101ed70c]
movq qword [esp + 0x28], xmm0
lea esi, [eax*8]
sub esi, eax
mov eax, dword [0x10223ca0]
add eax, 0x30
lea esi, [eax + esi*8]
mov ax, word [0x101ed714]
mov word [esp + 0x30], ax
test ah, ah
je 0x100d8f4e
xor ebx, ebx
mov eax, 0x29e4129f
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, 0x37
sub cl, al
add cl, 0x32
xor byte [esp + ebx + 0x28], cl
inc ebx
cmp ebx, 0xa
jl 0x100d8f25
push 0
push 0x101eb404
lea eax, [esp + 0x28]
mov dword [esp + 0x28], 0x64
push eax
lea eax, [esp + 0x28]
mov dword [esp + 0x28], 0
push eax
push esi
mov edx, 4
lea ecx, [esp + 0x3c]
call fcn.1016fbe0
push 0
push str._.2f
lea eax, [esp + 0x28]
mov dword [esp + 0x24], 0
push eax
lea eax, [esp + 0x28]
mov dword [esp + 0x2c], 0x3f800000
push eax
mov eax, dword [0x1034ef14]
mov edx, 8
lea ecx, [eax*8]
sub ecx, eax
mov eax, dword [0x10223ca0]
lea eax, [eax + ecx*8]
mov ecx, str.Accuracy_boost
add eax, 0x50
push eax
call fcn.1016fbe0
mov eax, dword [0x1034ef14]
movups xmm0, xmmword [0x101eebd8]
mov esi, dword [0x10223ca0]
add esi, 0x3c
lea ecx, [eax*8]
sub ecx, eax
movups xmmword [esp + 0x64], xmm0
psrldq xmm0, 0xf
movd eax, xmm0
lea esi, [esi + ecx*8]
test al, al
je 0x100d9157
xor ebx, ebx
cmp edi, 2
jl 0x100d9130
movaps xmm0, xmmword [0x101f7db0]
xor ecx, ecx
movaps xmm4, xmmword [0x101f7c30]
movaps xmm3, xmmword [0x101f7d90]
movaps xmm5, xmmword [0x101f7cd0]
movaps xmmword [esp + 0x40], xmm0
mov edx, dword [esp + 0x40]
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
psrad xmm1, 1
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 [0x101f7d70]
packuswb xmm1, xmm1
movd xmm0, edx
paddb xmm1, xmm0
movd xmm0, dword [esp + ecx + 0x64]
xorps xmm1, xmm0
movd xmm0, eax
pshufd xmm2, xmm0, 0
movd dword [esp + ecx + 0x64], xmm1
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
psrad xmm1, 1
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 [0x101f7d70]
packuswb xmm1, xmm1
movd xmm0, edx
paddb xmm1, xmm0
movd xmm0, dword [esp + ecx + 0x68]
xorps xmm1, xmm0
movd dword [esp + ecx + 0x68], xmm1
add ecx, 8
cmp ecx, 0x10
jl 0x100d9031
jmp 0x100d9157
mov eax, 0x94f2095
mov cl, bl
imul ebx
sar edx, 1
mov eax, edx
shr eax, 0x1f
add eax, edx
movsx eax, al
imul eax, eax, 0x37
sub cl, al
add cl, 0x32
xor byte [esp + ebx + 0x64], cl
inc ebx
cmp ebx, 0x10
jl 0x100d9130
push 0
push 0x101eb404
lea eax, [esp + 0x28]
mov dword [esp + 0x28], 0x64
push eax
lea eax, [esp + 0x28]
mov dword [esp + 0x28], 0
push eax
push esi
mov edx, 4
lea ecx, [esp + 0x78]
call fcn.1016fbe0
mov eax, dword [0x1034ef14]
movups xmm0, xmmword [0x101eed14]
lea esi, [eax*8]
sub esi, eax
mov eax, dword [0x10223ca0]
add eax, 0x40
movups xmmword [esp + 0x64], xmm0
psrldq xmm0, 0xf
lea esi, [eax + esi*8]
movd eax, xmm0
test al, al
je 0x100d9317
xor ebx, ebx
cmp edi, 2
jl 0x100d92f0
movaps xmm0, xmmword [0x101f7db0]
xor ecx, ecx
movaps xmm4, xmmword [0x101f7c30]
movaps xmm3, xmmword [0x101f7d90]
movaps xmm5, xmmword [0x101f7cd0]
movaps xmmword [esp + 0x40], xmm0
mov edx, dword [esp + 0x40]
nop
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
psrad xmm1, 1
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 [0x101f7d70]
packuswb xmm1, xmm1
movd xmm0, edx
paddb xmm1, xmm0
movd xmm0, dword [esp + ecx + 0x64]
xorps xmm1, xmm0
movd xmm0, eax
pshufd xmm2, xmm0, 0
movd dword [esp + ecx + 0x64], xmm1
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
psrad xmm1, 1
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 [0x101f7d70]
packuswb xmm1, xmm1
movd xmm0, edx
paddb xmm1, xmm0
movd xmm0, dword [esp + ecx + 0x68]
xorps xmm1, xmm0
movd dword [esp + ecx + 0x68], xmm1
add ecx, 8
cmp ecx, 0x10
jl 0x100d91f0
jmp 0x100d9317
mov eax, 0x94f2095
mov cl, bl
imul ebx
sar edx, 1
mov eax, edx
shr eax, 0x1f
add eax, edx
movsx eax, al
imul eax, eax, 0x37
sub cl, al
add cl, 0x32
xor byte [esp + ebx + 0x64], cl
inc ebx
cmp ebx, 0x10
jl 0x100d92f0
push 0
push 0x101eb404
lea eax, [esp + 0x28]
mov dword [esp + 0x28], 0x64
push eax
lea eax, [esp + 0x28]
mov dword [esp + 0x28], 0
push eax
push esi
mov edx, 4
lea ecx, [esp + 0x78]
call fcn.1016fbe0
mov eax, dword [0x1034ef14]
mov esi, dword [0x10223ca0]
movq xmm0, qword [0x101ed0a4]
add esi, 0x44
movq qword [esp + 0x28], xmm0
lea ecx, [eax*8]
sub ecx, eax
mov ax, word [0x101ed0ac]
mov word [esp + 0x30], ax
xor ebx, ebx
mov al, byte [0x101ed0ae]
mov byte [esp + 0x32], al
lea esi, [esi + ecx*8]
mov eax, 0x29e4129f
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, 0x37
sub cl, al
add cl, 0x32
xor byte [esp + ebx + 0x28], cl
inc ebx
cmp ebx, 0xb
jl 0x100d9385
push 0
push 0x101eb404
lea eax, [esp + 0x28]
mov dword [esp + 0x28], 0x82
push eax
lea eax, [esp + 0x28]
mov dword [esp + 0x28], 0
push eax
push esi
mov edx, 4
lea ecx, [esp + 0x3c]
call fcn.1016fbe0
mov edi, dword [0x1034ef14]
lea edx, [esp + 0x20]
mov esi, dword [0x10223ca0]
lea eax, [esp + 0x1c]
add esi, 0x44
mov dword [esp + 0x1c], 0xfa
mov dword [esp + 0x20], 0
lea ecx, [edi*8]
sub ecx, edi
lea esi, [esi + ecx*8]
mov ecx, dword [esi]
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 [0x1034f0f0]
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.1014f1a0
mov ebx, dword [esi + 4]
mov ecx, dword [esi]
mov dword [esp + 0x20], eax
cmp ecx, ebx
jne 0x100d9483
inc ecx
test ebx, ebx
je 0x100d946b
mov eax, ebx
cdq
sub eax, edx
sar eax, 1
add eax, ebx
jmp 0x100d9470
mov eax, 8
cmp eax, ecx
cmovg ecx, eax
push ecx
mov ecx, esi
call fcn.100bdf50
mov edi, dword [0x1034ef14]
mov ecx, dword [esi]
mov eax, dword [esi + 8]
mov edx, dword [esp + 0x20]
movups xmm0, xmmword [str.vRYTQR]
mov dword [eax + ecx*4], edx
lea ecx, [edi*8]
inc dword [esi]
sub ecx, edi
mov eax, dword [0x10223ca0]
mov edi, dword [0x10224d40]
movups xmmword [esp + 0x64], xmm0
psrldq xmm0, 0xf
lea esi, [eax + ecx*8]
movd eax, xmm0
test al, al
je 0x100d9627
xor ebx, ebx
cmp edi, 2
jl 0x100d9600
movaps xmm0, xmmword [0x101f7db0]
xor ecx, ecx
movaps xmm4, xmmword [0x101f7c30]
movaps xmm3, xmmword [0x101f7d90]
movaps xmm5, xmmword [0x101f7cd0]
movaps xmmword [esp + 0x40], xmm0
mov edx, dword [esp + 0x40]
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
psrad xmm1, 1
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 [0x101f7d70]
packuswb xmm1, xmm1
movd xmm0, edx
paddb xmm1, xmm0
movd xmm0, dword [esp + ecx + 0x64]
xorps xmm1, xmm0
movd xmm0, eax
pshufd xmm2, xmm0, 0
movd dword [esp + ecx + 0x64], xmm1
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
psrad xmm1, 1
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 [0x101f7d70]
packuswb xmm1, xmm1
movd xmm0, edx
paddb xmm1, xmm0
movd xmm0, dword [esp + ecx + 0x68]
xorps xmm1, xmm0
movd dword [esp + ecx + 0x68], xmm1
add ecx, 8
cmp ecx, 0x10
jl 0x100d9500
jmp 0x100d9627
mov eax, 0x94f2095
mov cl, bl
imul ebx
sar edx, 1
mov eax, edx
shr eax, 0x1f
add eax, edx
movsx eax, al
imul eax, eax, 0x37
sub cl, al
add cl, 0x32
xor byte [esp + ebx + 0x64], cl
inc ebx
cmp ebx, 0x10
jl 0x100d9600
xorps xmm0, xmm0
mov dword [esp + 0x38], 0
lea ecx, [esp + 0x64]
mov dword [esp + 0x3c], 0
movups xmmword [esp + 0x28], xmm0
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x100d9646
sub ecx, edx
lea eax, [esp + 0x64]
push ecx
push eax
lea ecx, [esp + 0x30]
call fcn.100278e0
cmp dword [esp + 0x3c], 0xf
lea ecx, [esp + 0x28]
lea edx, [esi + 0x35]
cmova ecx, dword [esp + 0x28]
call fcn.1016c3b0
mov ecx, dword [esp + 0x3c]
cmp ecx, 0xf
jbe 0x100d96aa
mov edx, dword [esp + 0x28]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x100d96a0
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100da18f
push ecx
push edx
call fcn.1019958d
add esp, 8
mov ecx, dword [0x1034f0f0]
mov dword [esp + 0x38], 0
mov dword [esp + 0x3c], 0xf
mov byte [esp + 0x28], 0
mov eax, dword [ecx + 0x1bec]
mov byte [eax + 0xa8], 1
mov edx, dword [ecx + 0x1bec]
cmp byte [edx + 0xab], 0
jne 0x100d972d
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 [0x101ed437], 0
mov eax, dword [str.yVM5tFXY6tWKTNN__]
mov esi, dword [0x10223ca0]
mov dword [esp + 0x28], 0x42c80000
mov dword [esp + 0x2c], 0
mov dword [esp + 0x1c], eax
je 0x100d9807
xor ebx, ebx
cmp edi, 2
jl 0x100d97e0
movaps xmm3, xmmword [0x101f7c30]
movaps xmm2, xmm3
movaps xmm0, xmm3
punpckhdq xmm0, xmm3
pmuldq xmm0, xmmword [0x101f7d90]
punpckldq xmm2, xmm3
pmuldq xmm2, xmmword [0x101f7d90]
shufps xmm2, xmm0, 0xdd
psrad xmm2, 1
movaps xmm0, xmm2
psrld xmm0, 0x1f
paddd xmm0, xmm2
pmulld xmm0, xmmword [0x101f7cd0]
psubd xmm3, xmm0
pshuflw xmm0, xmm3, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
andps xmm1, xmmword [0x101f7d70]
packuswb xmm1, xmm1
paddb xmm1, xmmword [0x101f7db0]
movd xmm0, eax
xorps xmm1, xmm0
movd dword [esp + 0x1c], xmm1
jmp 0x100d9807
mov eax, 0x94f2095
mov cl, bl
imul ebx
sar edx, 1
mov eax, edx
shr eax, 0x1f
add eax, edx
movsx eax, al
imul eax, eax, 0x37
sub cl, al
add cl, 0x32
xor byte [esp + ebx + 0x1c], cl
inc ebx
cmp ebx, 4
jl 0x100d97e0
push ecx
lea eax, [esp + 0x2c]
push eax
lea edx, [esi + 0xa50]
lea ecx, [esp + 0x24]
call fcn.100bfda0
mov ebx, dword [0x1034f0f0]
mov edi, dword [0x1034ef14]
mov eax, dword [ebx + 0x1bec]
lea ecx, [edi*8]
sub ecx, edi
dec dword [eax + 0xe0]
mov eax, dword [0x10223ca0]
cmp byte [eax + ecx*8 + 0x35], 0
je 0x100d9a18
movups xmm0, xmmword [str.vRYTQR]
lea esi, [eax + 0x48]
lea esi, [esi + ecx*8]
movups xmmword [esp + 0x64], xmm0
psrldq xmm0, 0xf
movd eax, xmm0
test al, al
je 0x100d99d7
xor ebx, ebx
cmp dword [0x10224d40], 2
jl 0x100d99b0
movaps xmm0, xmmword [0x101f7db0]
xor ecx, ecx
movaps xmm4, xmmword [0x101f7c30]
movaps xmm3, xmmword [0x101f7d90]
movaps xmm5, xmmword [0x101f7cd0]
movaps xmmword [esp + 0x40], xmm0
mov edx, dword [esp + 0x40]
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
psrad xmm1, 1
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 [0x101f7d70]
packuswb xmm1, xmm1
movd xmm0, edx
paddb xmm1, xmm0
movd xmm0, dword [esp + ecx + 0x64]
xorps xmm1, xmm0
movd xmm0, eax
pshufd xmm2, xmm0, 0
movd dword [esp + ecx + 0x64], xmm1
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
psrad xmm1, 1
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 [0x101f7d70]
packuswb xmm1, xmm1
movd xmm0, edx
paddb xmm1, xmm0
movd xmm0, dword [esp + ecx + 0x68]
xorps xmm1, xmm0
movd dword [esp + ecx + 0x68], xmm1
add ecx, 8
cmp ecx, 0x10
jl 0x100d98b0
jmp 0x100d99d7
mov eax, 0x94f2095
mov cl, bl
imul ebx
sar edx, 1
mov eax, edx
shr eax, 0x1f
add eax, edx
movsx eax, al
imul eax, eax, 0x37
sub cl, al
add cl, 0x32
xor byte [esp + ebx + 0x64], cl
inc ebx
cmp ebx, 0x10
jl 0x100d99b0
push 0
push 0x101eb404
lea eax, [esp + 0x28]
mov dword [esp + 0x28], 0x6e
push eax
lea eax, [esp + 0x4c]
mov dword [esp + 0x4c], 0
push eax
push esi
mov edx, 4
lea ecx, [esp + 0x78]
call fcn.1016fbe0
mov eax, dword [0x10223ca0]
mov edi, dword [0x1034ef14]
mov ebx, dword [0x1034f0f0]
lea ecx, [edi*8]
mov dword [esp + 0x40], 0xfa
sub ecx, edi
mov dword [esp + 0x20], 0
add ecx, 9
lea edx, [esp + 0x20]
lea esi, [eax + ecx*8]
mov ecx, dword [esi]
lea eax, [esp + 0x40]
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.1014f1a0
mov ebx, dword [esi + 4]
mov ecx, dword [esi]
mov dword [esp + 0x20], eax
cmp ecx, ebx
jne 0x100d9aa9
inc ecx
test ebx, ebx
je 0x100d9a91
mov eax, ebx
cdq
sub eax, edx
sar eax, 1
add eax, ebx
jmp 0x100d9a96
mov eax, 8
cmp eax, ecx
cmovg ecx, eax
push ecx
mov ecx, esi
call fcn.100bdf50
mov edi, dword [0x1034ef14]
mov ecx, dword [esi]
xor ebx, ebx
mov eax, dword [esi + 8]
mov edx, dword [esp + 0x20]
movups xmm0, xmmword [str.zZ_VVVZ_eSK_M2_D]
mov dword [eax + ecx*4], edx
lea ecx, [edi*8]
inc dword [esi]
sub ecx, edi
mov eax, dword [0x10223ca0]
mov edi, dword [0x10224d40]
movups xmmword [esp + 0x64], xmm0
lea esi, [eax + ecx*8]
mov ax, word [0x101ee374]
mov word [esp + 0x74], ax
mov al, byte [0x101ee376]
mov byte [esp + 0x76], al
cmp edi, 2
jl 0x100d9c20
movaps xmm0, xmmword [0x101f7db0]
movaps xmm4, xmmword [0x101f7c30]
movaps xmm3, xmmword [0x101f7d90]
movaps xmm5, xmmword [0x101f7cd0]
movaps xmmword [esp + 0x40], xmm0
mov ecx, dword [esp + 0x40]
nop
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
psrad xmm1, 1
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 [0x101f7d70]
packuswb xmm1, xmm1
movd xmm0, ecx
paddb xmm1, xmm0
movd xmm0, dword [esp + ebx + 0x64]
xorps xmm1, xmm0
movd xmm0, eax
pshufd xmm2, xmm0, 0
movd dword [esp + ebx + 0x64], xmm1
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
psrad xmm1, 1
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 [0x101f7d70]
packuswb xmm1, xmm1
movd xmm0, ecx
paddb xmm1, xmm0
movd xmm0, dword [esp + ebx + 0x68]
xorps xmm1, xmm0
movd dword [esp + ebx + 0x68], xmm1
add ebx, 8
cmp ebx, 0x10
jl 0x100d9b20
cmp ebx, 0x13
jge 0x100d9c47
nop dword [eax]
mov eax, 0x94f2095
mov cl, bl
imul ebx
sar edx, 1
mov eax, edx
shr eax, 0x1f
add eax, edx
movsx eax, al
imul eax, eax, 0x37
sub cl, al
add cl, 0x32
xor byte [esp + ebx + 0x64], cl
inc ebx
cmp ebx, 0x13
jl 0x100d9c20
xorps xmm0, xmm0
mov dword [esp + 0x38], 0
lea ecx, [esp + 0x64]
mov dword [esp + 0x3c], 0
movups xmmword [esp + 0x28], xmm0
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x100d9c66
sub ecx, edx
lea eax, [esp + 0x64]
push ecx
push eax
lea ecx, [esp + 0x30]
call fcn.100278e0
cmp dword [esp + 0x3c], 0xf
lea ecx, [esp + 0x28]
lea edx, [esi + 0x34]
cmova ecx, dword [esp + 0x28]
call fcn.1016c3b0
mov ecx, dword [esp + 0x3c]
cmp ecx, 0xf
jbe 0x100d9cca
mov edx, dword [esp + 0x28]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x100d9cc0
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100da194
push ecx
push edx
call fcn.1019958d
add esp, 8
mov ecx, dword [0x1034f0f0]
mov dword [esp + 0x38], 0
mov dword [esp + 0x3c], 0xf
mov byte [esp + 0x28], 0
mov eax, dword [ecx + 0x1bec]
mov byte [eax + 0xa8], 1
mov edx, dword [ecx + 0x1bec]
cmp byte [edx + 0xab], 0
jne 0x100d9d4d
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 [0x101ed437], 0
mov eax, dword [str.yVM5tFXY6tWKTNN__]
mov esi, dword [0x10223ca0]
mov dword [esp + 0x28], 0x42c80000
mov dword [esp + 0x2c], 0
mov dword [esp + 0x1c], eax
je 0x100d9e27
xor ebx, ebx
cmp edi, 2
jl 0x100d9e00
movaps xmm3, xmmword [0x101f7c30]
movaps xmm2, xmm3
movaps xmm0, xmm3
punpckhdq xmm0, xmm3
pmuldq xmm0, xmmword [0x101f7d90]
punpckldq xmm2, xmm3
pmuldq xmm2, xmmword [0x101f7d90]
shufps xmm2, xmm0, 0xdd
psrad xmm2, 1
movaps xmm0, xmm2
psrld xmm0, 0x1f
paddd xmm0, xmm2
pmulld xmm0, xmmword [0x101f7cd0]
psubd xmm3, xmm0
pshuflw xmm0, xmm3, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
andps xmm1, xmmword [0x101f7d70]
packuswb xmm1, xmm1
paddb xmm1, xmmword [0x101f7db0]
movd xmm0, eax
xorps xmm1, xmm0
movd dword [esp + 0x1c], xmm1
jmp 0x100d9e27
mov eax, 0x94f2095
mov cl, bl
imul ebx
sar edx, 1
mov eax, edx
shr eax, 0x1f
add eax, edx
movsx eax, al
imul eax, eax, 0x37
sub cl, al
add cl, 0x32
xor byte [esp + ebx + 0x1c], cl
inc ebx
cmp ebx, 4
jl 0x100d9e00
push ecx
lea eax, [esp + 0x2c]
push eax
lea edx, [esi + 0xd10]
lea ecx, [esp + 0x24]
call fcn.100bfda0
mov eax, dword [0x1034f0f0]
mov eax, dword [eax + 0x1bec]
dec dword [eax + 0xe0]
mov eax, dword [0x1034ef14]
lea ecx, [eax*8]
sub ecx, eax
mov eax, dword [0x10223ca0]
cmp byte [eax + ecx*8 + 0x34], 0
je 0x100da01c
movups xmm0, xmmword [str.zZ_VVVZ_eSK_M2_D]
lea esi, [eax + 0x38]
xor ebx, ebx
mov ax, word [0x101ee374]
lea esi, [esi + ecx*8]
mov word [esp + 0x74], ax
mov al, byte [0x101ee376]
mov byte [esp + 0x76], al
movups xmmword [esp + 0x64], xmm0
cmp edi, 2
jl 0x100d9fc0
movaps xmm0, xmmword [0x101f7db0]
movaps xmm4, xmmword [0x101f7c30]
movaps xmm3, xmmword [0x101f7d90]
movaps xmm5, xmmword [0x101f7cd0]
movaps xmmword [esp + 0x40], xmm0
mov ecx, dword [esp + 0x40]
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
psrad xmm1, 1
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 [0x101f7d70]
packuswb xmm1, xmm1
movd xmm0, ecx
paddb xmm1, xmm0
movd xmm0, dword [esp + ebx + 0x64]
xorps xmm1, xmm0
movd xmm0, eax
pshufd xmm2, xmm0, 0
movd dword [esp + ebx + 0x64], xmm1
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
psrad xmm1, 1
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 [0x101f7d70]
packuswb xmm1, xmm1
movd xmm0, ecx
paddb xmm1, xmm0
movd xmm0, dword [esp + ebx + 0x68]
xorps xmm1, xmm0
movd dword [esp + ebx + 0x68], xmm1
add ebx, 8
cmp ebx, 0x10
jl 0x100d9ec1
cmp ebx, 0x13
jge 0x100d9fe7
nop dword [eax]
mov eax, 0x94f2095
mov cl, bl
imul ebx
sar edx, 1
mov eax, edx
shr eax, 0x1f
add eax, edx
movsx eax, al
imul eax, eax, 0x37
sub cl, al
add cl, 0x32
xor byte [esp + ebx + 0x64], cl
inc ebx
cmp ebx, 0x13
jl 0x100d9fc0
push 0
push 0x101eb404
lea eax, [esp + 0x28]
mov dword [esp + 0x28], 0x64
push eax
lea eax, [esp + 0x28]
mov dword [esp + 0x28], 0
push eax
push esi
mov edx, 4
lea ecx, [esp + 0x78]
call fcn.1016fbe0
mov eax, dword [0x10223ca0]
movq xmm0, qword [0x101ee2b8]
lea esi, [eax + 0xef8]
mov ax, word [0x101ee2c0]
movq qword [esp + 0x28], xmm0
mov word [esp + 0x30], ax
test ah, ah
je 0x100da06a
xor ebx, ebx
mov eax, 0x29e4129f
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, 0x37
sub cl, al
add cl, 0x32
xor byte [esp + ebx + 0x28], cl
inc ebx
cmp ebx, 0xa
jl 0x100da041
mov edx, esi
lea ecx, [esp + 0x28]
call fcn.1016c3b0
mov eax, dword [0x10223ca0]
cmp byte [eax + 0xef8], 0
je 0x100da10a
movq xmm0, qword [0x101ed774]
lea esi, [eax + 0xefc]
mov ax, word [0x101ed77c]
xor ebx, ebx
mov word [esp + 0x48], ax
mov al, byte [0x101ed77e]
movq qword [esp + 0x40], xmm0
mov byte [esp + 0x4a], al
mov eax, 0x29e4129f
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, 0x37
sub cl, al
add cl, 0x32
xor byte [esp + ebx + 0x40], cl
inc ebx
cmp ebx, 0xb
jl 0x100da0b1
push 0
push str._d_ms
lea eax, [esp + 0x28]
mov dword [esp + 0x28], 0xc8
push eax
lea eax, [esp + 0x28]
mov dword [esp + 0x28], 1
push eax
push esi
mov edx, 4
lea ecx, [esp + 0x54]
call fcn.1016fbe0
mov esi, dword [0x1034f0f0]
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 0x100da170
cmp dword [eax + 0x10], 1
jne 0x100da16b
cmp dword [eax + 4], 0
je 0x100da170
call fcn.100ca080
mov ecx, dword [esp + 0xac]
pop edi
pop esi
pop ebx
xor ecx, esp
call fcn.10199294
mov esp, ebp
pop ebp
ret
call fcn.1019e6c6
call fcn.1019e6c6
call fcn.1019e6c6
call fcn.1019e6c6
int3