Function at 0x100d7990
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 [0x102090c0]
xor eax, esp
mov dword [esp + 0xa0], eax
push ebx
xor ebx, ebx
push esi
mov dword [esp + 0x18], ebx
cmp dword [0x10226b80], 2
push edi
jne 0x100db520
mov eax, dword fs:[0x2c]
mov ecx, dword [0x1022867c]
mov ecx, dword [eax + ecx*4]
mov eax, dword [0x1051bdf4]
mov dword [esp + 0x20], ecx
cmp eax, dword [ecx + 4]
jle 0x100d7a10
push 0x1051bdf4
call fcn.1019bffa
add esp, 4
cmp dword [0x1051bdf4], 0xffffffff
jne 0x100d7a10
push 0x101c86c0
call fcn.1019bd43
add esp, 4
push 0x1051bdf4
call fcn.1019bfa6
add esp, 4
mov eax, dword [0x101f0c38]
xor edx, edx
cmp dword [0x10228670], 2
movq xmm0, qword [0x101f0c30]
mov esi, dword [0x10226ca8]
mov dword [esp + 0x30], eax
mov ax, word [0x101f0c3c]
mov word [esp + 0x34], ax
mov al, byte [0x101f0c3e]
mov byte [esp + 0x36], al
movq qword [esp + 0x28], xmm0
mov byte [esp + 0x1b], bl
mov dword [esp + 0x40], edx
jl 0x100d7b50
movaps xmm2, xmmword [0x101fadd0]
mov edx, 8
movaps xmm3, xmmword [0x101faf20]
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 [0x101fae60]
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
movaps xmm2, xmmword [0x101fae10]
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
andps xmm1, xmmword [0x101faf00]
movd xmm0, dword [0x101f0c30]
packuswb xmm1, xmm1
paddb xmm1, xmmword [0x101faf70]
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 [0x101fae60]
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
andps xmm1, xmmword [0x101faf00]
movd xmm0, dword [esp + 0x2c]
packuswb xmm1, xmm1
paddb xmm1, xmmword [0x101faf70]
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, 0x38
xor byte [esp + edx + 0x28], cl
inc edx
mov dword [esp + 0x40], edx
cmp edx, 0xf
jl 0x100d7b50
mov edx, esi
lea ecx, [esp + 0x28]
call fcn.1016ebb0
movss xmm1, dword [0x101fac3c]
xorps xmm0, xmm0
call fcn.1015db10
movq xmm0, qword [str.KTNS]
xor ebx, ebx
mov al, byte [0x101f1498]
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, 0x38
xor byte [esp + ebx + 0x28], cl
inc ebx
cmp ebx, 9
jl 0x100d7bb3
mov eax, dword [0x10450be0]
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.101519b0
mov edi, dword [esi + 4]
mov dword [esp + 0x40], eax
cmp ebx, edi
jne 0x100d7c33
lea ecx, [ebx + 1]
test edi, edi
je 0x100d7c21
mov eax, edi
cdq
sub eax, edx
sar eax, 1
add eax, edi
jmp 0x100d7c26
mov eax, 8
cmp eax, ecx
cmovg ecx, eax
push ecx
mov ecx, esi
call fcn.100bf360
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 [0x101f00bc]
inc dword [esi]
xor ebx, ebx
mov esi, dword [0x10226ca8]
mov dword [esp + 0x40], eax
mov ax, word [0x101f00c0]
mov word [esp + 0x44], ax
mov al, byte [0x101f00c2]
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, 0x38
xor byte [esp + ebx + 0x40], cl
inc ebx
cmp ebx, 7
jl 0x100d7c76
push ecx
lea eax, [esp + 0x2c]
push eax
lea edx, [esi + 0xa2c]
lea ecx, [esp + 0x48]
call fcn.100c11c0
mov ecx, dword [0x10450be0]
mov eax, dword [ecx + 0x1bec]
dec dword [eax + 0xe0]
mov ecx, dword [ecx + 0x1bec]
cmp byte [ecx + 0xab], 0
jne 0x100d7ce7
mov ecx, dword [ecx + 0x1dc]
neg ecx
sbb ecx, ecx
add ecx, 6
call fcn.1016f4d0
movss xmm0, dword [0x101faae4]
call fcn.1015dbd0
movups xmm0, xmmword [str.jX_RJ]
mov edi, dword [0x10228670]
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 0x100d7e87
mov al, byte [esp + 0x1b]
mov byte [esp + 0x1b], al
cmp edi, 2
jl 0x100d7e59
movaps xmm0, xmmword [0x101faf70]
xor ecx, ecx
movaps xmm4, xmmword [0x101fadd0]
movaps xmm3, xmmword [0x101faf20]
movaps xmm5, xmmword [0x101fae60]
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 [0x101faf00]
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 [0x101faf00]
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 0x100d7d60
jmp 0x100d7e87
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, 0x38
xor byte [esp + ebx + 0x64], cl
inc ebx
cmp ebx, 0x10
jl 0x100d7e60
mov esi, dword [0x10450be0]
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.101519b0
cmp dword [esi + 0x1c24], eax
jne 0x100d7ec9
mov dword [esi + 0x1c28], eax
cmp dword [esi + 0x1c5c], eax
jne 0x100d7ed8
mov byte [esi + 0x1c60], 1
push 0
push 0
lea ecx, [esp + 0x30]
mov edx, eax
push ecx
lea ecx, [esp + 0x70]
call fcn.101583c0
cmp dword [0x10226b80], 2
jne 0x100d8c33
cmp dword [0x10450a04], 0
mov ecx, dword [0x10450be0]
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 [0x101fa9ec]
maxss xmm0, xmm1
movss dword [eax + 0xec], xmm1
movss dword [eax + 0x104], xmm0
jne 0x100d7f50
call fcn.100d7730
jmp 0x100d7f55
call fcn.100d7830
cmp byte [0x101f04ef], 0
mov eax, dword [str.yUV_VUOOI_O___e4___8L]
mov dword [esp + 0x28], 0x42200000
mov dword [esp + 0x2c], 0x41f00000
mov dword [esp + 0x40], eax
je 0x100d802b
cmp edi, 2
jl 0x100d7ffa
movaps xmm3, xmmword [0x101fadd0]
movaps xmm2, xmm3
movaps xmm0, xmm3
punpckhdq xmm0, xmm3
pmuldq xmm0, xmmword [0x101faf20]
punpckldq xmm2, xmm3
pmuldq xmm2, xmmword [0x101faf20]
shufps xmm2, xmm0, 0xdd
psrad xmm2, 1
movaps xmm0, xmm2
psrld xmm0, 0x1f
paddd xmm0, xmm2
pmulld xmm0, xmmword [0x101fae60]
psubd xmm3, xmm0
pshuflw xmm0, xmm3, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
andps xmm1, xmmword [0x101faf00]
packuswb xmm1, xmm1
paddb xmm1, xmmword [0x101faf70]
movd xmm0, eax
xorps xmm1, xmm0
movd dword [esp + 0x40], xmm1
jmp 0x100d802b
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, 0x38
xor byte [esp + ebx + 0x40], cl
inc ebx
cmp ebx, 4
jl 0x100d8004
push 0
push 0
lea edx, [esp + 0x30]
lea ecx, [esp + 0x48]
call fcn.1016d310
test al, al
je 0x100d804a
mov dword [0x10450a04], 0
mov esi, dword [0x10450be0]
movss xmm1, dword [0x101fac3c]
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.1015db10
mov ecx, dword [0x10226cb4]
mov ecx, dword [ecx + 0x24]
call fcn.1015d220
cmp dword [0x10450a04], 1
jne 0x100d811e
call fcn.100d7730
jmp 0x100d8123
call fcn.100d7830
mov ax, word [0x101f111c]
mov dword [esp + 0x28], 0x42480000
mov dword [esp + 0x2c], 0x41f00000
mov word [esp + 0x40], ax
test ah, ah
je 0x100d816d
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, 0x38
xor byte [esp + ebx + 0x40], cl
inc ebx
cmp ebx, 2
jl 0x100d8144
push 0
push 0
lea edx, [esp + 0x30]
lea ecx, [esp + 0x48]
call fcn.1016d310
test al, al
je 0x100d818f
mov edi, 1
mov dword [0x10450a04], edi
jmp 0x100d8195
mov edi, dword [0x10450a04]
mov esi, dword [0x10450be0]
movss xmm1, dword [0x101fac3c]
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.1015db10
cmp edi, 2
jne 0x100d8257
call fcn.100d7730
jmp 0x100d825c
call fcn.100d7830
mov ax, word [0x101eff80]
mov dword [esp + 0x28], 0x42480000
mov dword [esp + 0x2c], 0x41f00000
mov word [esp + 0x40], ax
test ah, ah
je 0x100d82a9
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, 0x38
xor byte [esp + ebx + 0x40], cl
inc ebx
cmp ebx, 2
jl 0x100d8280
push 0
push 0
lea edx, [esp + 0x30]
lea ecx, [esp + 0x48]
call fcn.1016d310
test al, al
je 0x100d82cb
mov edi, 2
mov dword [0x10450a04], edi
jmp 0x100d82d1
mov edi, dword [0x10450a04]
mov esi, dword [0x10450be0]
movss xmm1, dword [0x101fac3c]
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.1015db10
cmp edi, 3
jne 0x100d8393
call fcn.100d7730
jmp 0x100d8398
call fcn.100d7830
mov ax, word [0x101f02d0]
mov dword [esp + 0x28], 0x42480000
mov dword [esp + 0x2c], 0x41f00000
mov word [esp + 0x40], ax
test ah, ah
je 0x100d83e9
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, 0x38
xor byte [esp + ebx + 0x40], cl
inc ebx
cmp ebx, 2
jl 0x100d83c0
push 0
push 0
lea edx, [esp + 0x30]
lea ecx, [esp + 0x48]
call fcn.1016d310
test al, al
je 0x100d840b
mov edi, 3
mov dword [0x10450a04], edi
jmp 0x100d8411
mov edi, dword [0x10450a04]
mov esi, dword [0x10450be0]
movss xmm1, dword [0x101fac3c]
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.1015db10
cmp edi, 4
jne 0x100d84d3
call fcn.100d7730
jmp 0x100d84d8
call fcn.100d7830
mov ax, word [0x101f00f8]
mov dword [esp + 0x28], 0x42480000
mov dword [esp + 0x2c], 0x41f00000
mov word [esp + 0x40], ax
test ah, ah
je 0x100d8529
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, 0x38
xor byte [esp + ebx + 0x40], cl
inc ebx
cmp ebx, 2
jl 0x100d8500
push 0
push 0
lea edx, [esp + 0x30]
lea ecx, [esp + 0x48]
call fcn.1016d310
test al, al
je 0x100d854b
mov edi, 4
mov dword [0x10450a04], edi
jmp 0x100d8551
mov edi, dword [0x10450a04]
mov esi, dword [0x10450be0]
movss xmm1, dword [0x101fac3c]
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.1015db10
cmp edi, 5
jne 0x100d8613
call fcn.100d7730
jmp 0x100d8618
call fcn.100d7830
mov ax, word [0x101f0424]
mov dword [esp + 0x28], 0x42480000
mov dword [esp + 0x2c], 0x41f00000
mov word [esp + 0x40], ax
test ah, ah
je 0x100d8669
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, 0x38
xor byte [esp + ebx + 0x40], cl
inc ebx
cmp ebx, 2
jl 0x100d8640
push 0
push 0
lea edx, [esp + 0x30]
lea ecx, [esp + 0x48]
call fcn.1016d310
test al, al
je 0x100d868b
mov edi, 5
mov dword [0x10450a04], edi
jmp 0x100d8691
mov edi, dword [0x10450a04]
mov esi, dword [0x10450be0]
movss xmm1, dword [0x101fac3c]
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.1015db10
cmp edi, 6
jne 0x100d8753
call fcn.100d7730
jmp 0x100d8758
call fcn.100d7830
mov ax, word [0x101f1e14]
mov dword [esp + 0x28], 0x42680000
mov dword [esp + 0x2c], 0x41f00000
mov word [esp + 0x40], ax
test ah, ah
je 0x100d87a9
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, 0x38
xor byte [esp + ebx + 0x40], cl
inc ebx
cmp ebx, 2
jl 0x100d8780
push 0
push 0
lea edx, [esp + 0x30]
lea ecx, [esp + 0x48]
call fcn.1016d310
test al, al
je 0x100d87cb
mov edi, 6
mov dword [0x10450a04], edi
jmp 0x100d87d1
mov edi, dword [0x10450a04]
mov esi, dword [0x10450be0]
movss xmm1, dword [0x101fac3c]
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.1015db10
cmp edi, 7
jne 0x100d8893
call fcn.100d7730
jmp 0x100d8898
call fcn.100d7830
mov ax, word [0x101f1a04]
mov dword [esp + 0x28], 0x42700000
mov dword [esp + 0x2c], 0x41f00000
mov word [esp + 0x40], ax
test ah, ah
je 0x100d88e9
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, 0x38
xor byte [esp + ebx + 0x40], cl
inc ebx
cmp ebx, 2
jl 0x100d88c0
push 0
push 0
lea edx, [esp + 0x30]
lea ecx, [esp + 0x48]
call fcn.1016d310
test al, al
je 0x100d890b
mov edi, 7
mov dword [0x10450a04], edi
jmp 0x100d8911
mov edi, dword [0x10450a04]
mov esi, dword [0x10450be0]
movss xmm1, dword [0x101fac3c]
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.1015db10
cmp edi, 8
jne 0x100d89d3
call fcn.100d7730
jmp 0x100d89d8
call fcn.100d7830
mov ax, word [0x101efe7c]
mov dword [esp + 0x28], 0x42480000
mov dword [esp + 0x2c], 0x41f00000
mov word [esp + 0x40], ax
test ah, ah
je 0x100d8a29
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, 0x38
xor byte [esp + ebx + 0x40], cl
inc ebx
cmp ebx, 2
jl 0x100d8a00
push 0
push 0
lea edx, [esp + 0x30]
lea ecx, [esp + 0x48]
call fcn.1016d310
test al, al
je 0x100d8a4b
mov edi, 8
mov dword [0x10450a04], edi
jmp 0x100d8a51
mov edi, dword [0x10450a04]
mov esi, dword [0x10450be0]
movss xmm1, dword [0x101fac3c]
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.1015db10
cmp edi, 9
jne 0x100d8b13
call fcn.100d7730
jmp 0x100d8b18
call fcn.100d7830
mov ax, word [0x101f1d24]
mov dword [esp + 0x28], 0x42480000
mov dword [esp + 0x2c], 0x41f00000
mov word [esp + 0x40], ax
test ah, ah
je 0x100d8b69
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, 0x38
xor byte [esp + ebx + 0x40], cl
inc ebx
cmp ebx, 2
jl 0x100d8b40
push 0
push 0
lea edx, [esp + 0x30]
lea ecx, [esp + 0x48]
call fcn.1016d310
test al, al
je 0x100d8b88
mov dword [0x10450a04], 9
mov esi, dword [0x10450be0]
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.1015d2d0
call fcn.101585c0
mov ecx, dword [0x10450be0]
mov eax, dword [ecx + 0x1bec]
mov byte [eax + 0xa8], 1
mov eax, dword [ecx + 0x1bec]
mov eax, dword [eax + 0x1d0]
test eax, eax
je 0x100d8c6c
cmp dword [eax + 0x10], 2
jne 0x100d8c67
cmp dword [eax + 4], 1
je 0x100d8c7a
call fcn.100cb4a0
push 1
mov edx, 2
xor ecx, ecx
call fcn.100cabc0
movss xmm0, dword [0x101fab78]
mov ecx, 1
call fcn.100ca7f0
movss xmm0, dword [0x101fab2c]
call fcn.1015dbd0
mov eax, dword [str.kPVRI_]
mov esi, dword [0x10226ca8]
mov dword [esp + 0x40], eax
add esi, 2
mov ax, word [0x101f194c]
xor ebx, ebx
mov word [esp + 0x44], ax
mov al, byte [0x101f194e]
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, 0x38
xor byte [esp + ebx + 0x40], cl
inc ebx
cmp ebx, 7
jl 0x100d8cc1
mov edx, esi
lea ecx, [esp + 0x40]
call fcn.1016ebb0
mov eax, dword [0x101f086c]
movq xmm0, qword [0x101f0864]
mov dl, byte [esp + 0x1b]
mov esi, dword [0x10226ca8]
mov edi, dword [0x10228670]
mov dword [esp + 0x30], eax
mov ax, word [0x101f0870]
movq qword [esp + 0x28], xmm0
mov word [esp + 0x34], ax
mov byte [esp + 0x1b], dl
test ah, ah
je 0x100d8e77
xor eax, eax
mov byte [esp + 0x1b], dl
mov dword [esp + 0x40], eax
cmp edi, 2
jl 0x100d8e45
movaps xmm2, xmmword [0x101fadd0]
movaps xmm4, xmmword [0x101faf20]
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 [0x101faf70]
psrad xmm1, 1
mov byte [esp + 0x1b], dl
movaps xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmmword [0x101fae60]
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
movaps xmm2, xmmword [0x101fae10]
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
andps xmm1, xmmword [0x101faf00]
packuswb xmm1, xmm1
movd xmm0, eax
paddb xmm1, xmm0
movd xmm0, dword [0x101f0864]
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 [0x101fae60]
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
andps xmm1, xmmword [0x101faf00]
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, 0x38
xor byte [esp + ebx + 0x28], cl
inc ebx
cmp ebx, 0xe
jl 0x100d8e50
lea edx, [esi + 3]
lea ecx, [esp + 0x28]
call fcn.1016ebb0
mov ax, word [0x101f0984]
movq xmm0, qword [0x101f097c]
mov esi, dword [0x10226ca8]
movq qword [esp + 0x28], xmm0
mov word [esp + 0x30], ax
test ah, ah
je 0x100d8ed9
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, 0x38
xor byte [esp + ebx + 0x28], cl
inc ebx
cmp ebx, 0xa
jl 0x100d8eb0
lea edx, [esi + 5]
lea ecx, [esp + 0x28]
call fcn.1016ebb0
mov ax, word [0x101f0da8]
mov esi, dword [0x10226ca8]
movq xmm0, qword [0x101f0da0]
add esi, 0xc
mov word [esp + 0x30], ax
xor ebx, ebx
mov al, byte [0x101f0daa]
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, 0x38
xor byte [esp + ebx + 0x28], cl
inc ebx
cmp ebx, 0xb
jl 0x100d8f12
mov edx, esi
lea ecx, [esp + 0x28]
call fcn.1016ebb0
mov eax, dword [0x10450a04]
movq xmm0, qword [0x101f1104]
mov ebx, dword [esp + 0x1c]
movq qword [esp + 0x28], xmm0
lea ecx, [eax*8]
sub ecx, eax
mov eax, dword [0x10226ca8]
lea esi, [eax + ecx*8]
mov ax, word [0x101f110c]
mov word [esp + 0x30], ax
test ah, ah
je 0x100d8fb4
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, 0x38
xor byte [esp + ebx + 0x28], cl
inc ebx
cmp ebx, 0xa
jl 0x100d8f87
mov ebx, dword [esp + 0x1c]
lea edx, [esi + 0x21]
lea ecx, [esp + 0x28]
call fcn.1016ebb0
mov ecx, dword [esp + 0x20]
mov eax, dword [0x1051bdd0]
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 0x100d9021
push 0x1051bdd0
call fcn.1019bffa
add esp, 4
cmp dword [0x1051bdd0], 0xffffffff
jne 0x100d9021
push 0x101c8660
call fcn.1019bd43
add esp, 4
push 0x1051bdd0
call fcn.1019bfa6
add esp, 4
mov ecx, dword [0x10226ca8]
xor al, al
mov byte [esp + 0x27], al
mov esi, 0x10226b38
mov eax, dword [0x10450a04]
movups xmm0, xmmword [0x101f0104]
lea edx, [eax*8]
sub edx, eax
movups xmmword [esp + 0x28], xmm0
mov al, byte [ecx + edx*8 + 0x24]
and al, 1
mov byte [0x10450a00], al
mov eax, dword [ecx + edx*8 + 0x24]
shr eax, 1
and al, 1
mov byte [0x10450a01], al
mov eax, dword [ecx + edx*8 + 0x24]
shr eax, 2
and al, 1
mov byte [0x10450a02], al
mov eax, dword [ecx + edx*8 + 0x24]
shr eax, 3
and al, 1
cmp dword [0x10226b4c], 0xf
mov byte [0x10450a03], al
cmova esi, dword [0x10226b38]
cmp byte [0x101f0117], 0
mov eax, dword [0x101f0114]
mov dword [esp + 0x38], eax
je 0x100d920f
xor edx, edx
mov dword [esp + 0x40], edx
cmp edi, 2
jl 0x100d91e0
movaps xmm0, xmmword [0x101faf70]
movaps xmm4, xmmword [0x101fadd0]
movaps xmm3, xmmword [0x101faf20]
movaps xmm5, xmmword [0x101fae60]
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 [0x101faf00]
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 [0x101faf00]
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 0x100d90e0
mov dword [esp + 0x40], edx
cmp edx, 0x14
jge 0x100d920f
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, 0x38
xor byte [esp + edx + 0x28], cl
inc edx
mov dword [esp + 0x40], edx
cmp edx, 0x14
jl 0x100d91e0
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 0x100d9234
sub ecx, edx
lea eax, [esp + 0x28]
push ecx
push eax
lea ecx, [esp + 0x84]
call fcn.10027a80
cmp dword [esp + 0x90], 0xf
lea ecx, [esp + 0x7c]
push 1
cmova ecx, dword [esp + 0x80]
mov edx, esi
push 0
call fcn.1016f750
mov ecx, dword [esp + 0x90]
mov byte [esp + 0x40], al
cmp ecx, 0xf
jbe 0x100d92af
mov edx, dword [esp + 0x7c]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x100d92a1
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100db535
push ecx
push edx
call fcn.1019bd5d
mov al, byte [esp + 0x48]
add esp, 8
test al, al
je 0x100d9342
push 0
push 0x101d250e
mov ecx, 0x10226b38
call fcn.10022e90
xor esi, esi
mov dword [esp + 0x28], esi
mov dword [esp + 0x2c], esi
mov dl, byte [esi + 0x10450a00]
lea eax, [esp + 0x28]
mov ecx, dword [esp + esi*4 + 0x64]
push eax
push 1
call fcn.1017e0d0
test al, al
je 0x100d92fc
cmp byte [esi + 0x10450a00], 0
sete al
mov byte [esi + 0x10450a00], al
inc esi
cmp esi, 4
jb 0x100d92d2
mov esi, dword [0x10450be0]
mov eax, dword [esi + 0x1bec]
cmp dword [esi + 0x1d54], eax
jne 0x100d9326
mov dword [esi + 0x1e58], eax
mov dword [esi + 0x1e5c], 2
test dword [eax + 8], 0x1000000
je 0x100d9336
mov byte [esi + 0x1b9e], 1
call fcn.1015cd60
mov byte [esi + 0x1b9e], 0
xor esi, esi
cmp byte [esp + 0x27], 0
mov eax, 0x202c
jne 0x100d936b
push 0
push 0x101d250e
mov ecx, 0x10226b38
call fcn.10022e90
mov byte [esp + 0x27], 1
mov eax, 0x202c
cmp byte [esi + 0x10450a00], 0
je 0x100d9542
cmp dword [0x10226b48], 0
xorps xmm0, xmm0
mov edx, dword [esp + esi*4 + 0x64]
je 0x100d93f7
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.100209e0
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 0x100d9430
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 0x100d9418
sub ecx, edi
push ecx
push edx
lea ecx, [esp + 0x30]
call fcn.10027a80
lea eax, [esp + 0x28]
push eax
mov ecx, 0x10226b38
call fcn.10020a50
test bl, 4
je 0x100d947d
and ebx, 0xfffffffb
mov dword [esp + 0x1c], ebx
mov ecx, dword [esp + 0x3c]
cmp ecx, 0xf
jbe 0x100d947d
mov edx, dword [esp + 0x28]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x100d9473
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100db535
push ecx
push edx
call fcn.1019bd5d
add esp, 8
test bl, 2
je 0x100d94bf
and ebx, 0xfffffffd
mov dword [esp + 0x1c], ebx
mov ecx, dword [esp + 0x54]
cmp ecx, 0xf
jbe 0x100d94bf
mov edx, dword [esp + 0x40]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x100d94b5
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100db535
push ecx
push edx
call fcn.1019bd5d
add esp, 8
test bl, 1
je 0x100d9525
and ebx, 0xfffffffe
mov dword [esp + 0x1c], ebx
mov ecx, dword [esp + 0xa8]
cmp ecx, 0xf
jbe 0x100d9507
mov edx, dword [esp + 0x94]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x100d94fd
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100db535
push ecx
push edx
call fcn.1019bd5d
add esp, 8
mov dword [esp + 0xa4], 0
mov dword [esp + 0xa8], 0xf
mov byte [esp + 0x94], 0
mov eax, dword [0x10450a04]
mov ecx, dword [0x10226ca8]
lea edx, [eax*8]
sub edx, eax
mov eax, dword [ecx + edx*8 + 0x24]
bts eax, esi
jmp 0x100d955d
mov eax, dword [0x10450a04]
mov ecx, dword [0x10226ca8]
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 0x100d9344
movq xmm0, qword [str.lVLX_T_]
xor ebx, ebx
mov al, byte [0x101f1d30]
mov esi, dword [0x10226ca8]
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, 0x38
xor byte [esp + ebx + 0x28], cl
inc ebx
cmp ebx, 9
jl 0x100d9590
lea edx, [esi + 0xe9c]
lea ecx, [esp + 0x28]
call fcn.1016ebb0
movq xmm0, qword [str.sWS_Y_QK_]
xor edx, edx
mov al, byte [0x101f1e88]
mov esi, dword [0x10226ca8]
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, 0x38
xor byte [esp + edx + 0x28], cl
inc edx
mov dword [esp + 0x40], edx
cmp edx, 9
jl 0x100d95f0
lea edx, [esi + 1]
lea ecx, [esp + 0x28]
call fcn.1016ebb0
mov eax, dword [0x101f11f8]
xor edx, edx
cmp dword [0x10228670], 2
movups xmm0, xmmword [str.p_WHU__26_G]
mov ch, byte [esp + 0x1b]
mov dword [esp + 0x74], eax
mov al, byte [0x101f11fc]
movups xmmword [esp + 0x64], xmm0
mov byte [esp + 0x78], al
mov dword [esp + 0x40], edx
jl 0x100d9796
movaps xmm0, xmmword [0x101faf70]
movaps xmm4, xmmword [0x101fadd0]
movaps xmm3, xmmword [0x101faf20]
movaps xmm5, xmmword [0x101fae60]
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 [0x101faf00]
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 [0x101faf00]
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 0x100d9690
mov dword [esp + 0x40], edx
cmp edx, 0x15
jl 0x100d9796
mov byte [esp + 0x1b], ch
jmp 0x100d97c5
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, 0x38
xor byte [esp + edx + 0x64], cl
inc edx
mov dword [esp + 0x40], edx
cmp edx, 0x15
jl 0x100d9796
mov edi, dword [0x10226ca8]
mov al, byte [0x101f1700]
add edi, 8
movq xmm0, qword [str.hKSTNTJF_]
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, 0x38
xor byte [esp + ebx + 0x28], cl
inc ebx
cmp ebx, 9
jl 0x100d97f0
xor esi, esi
lea edx, [esp + 0x64]
cmp byte [esp + 0x64], 0
je 0x100d9846
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 0x100d9835
sub ecx, edi
inc edx
add edx, ecx
inc esi
cmp byte [edx], al
jne 0x100d9830
mov edx, dword [esp + 0x40]
lea eax, [esp + 0x64]
push 1
push 0xffffffffffffffff
push esi
push eax
push 0x101705f0
lea ecx, [esp + 0x3c]
call fcn.10170650
mov eax, dword [0x10450a04]
mov esi, 0x10226708
mov ecx, dword [0x10226ca8]
movq xmm0, qword [str.pPNYSE_L_]
movq qword [esp + 0x28], xmm0
lea edx, [eax*8]
sub edx, eax
mov al, byte [ecx + edx*8 + 0x2c]
and al, 1
mov byte [0x10450a70], al
mov eax, dword [ecx + edx*8 + 0x2c]
shr eax, 1
and al, 1
mov byte [0x10450a71], al
mov eax, dword [ecx + edx*8 + 0x2c]
shr eax, 2
and al, 1
mov byte [0x10450a72], al
mov eax, dword [ecx + edx*8 + 0x2c]
shr eax, 3
and al, 1
mov byte [0x10450a73], al
mov eax, dword [ecx + edx*8 + 0x2c]
shr eax, 4
and al, 1
mov byte [0x10450a74], al
mov eax, dword [ecx + edx*8 + 0x2c]
shr eax, 5
and al, 1
mov byte [0x10450a75], al
mov eax, dword [ecx + edx*8 + 0x2c]
shr eax, 6
and al, 1
mov byte [0x10450a76], al
mov eax, dword [ecx + edx*8 + 0x2c]
shr eax, 7
and al, 1
mov byte [0x10450a77], al
mov eax, dword [ecx + edx*8 + 0x2c]
shr eax, 8
and al, 1
cmp dword [0x1022671c], 0xf
mov byte [0x10450a78], al
mov al, byte [0x101f13cc]
mov byte [esp + 0x30], al
jbe 0x100d991b
mov esi, dword [0x10226708]
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, 0x38
xor byte [esp + ebx + 0x28], cl
inc ebx
cmp ebx, 9
jl 0x100d9920
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 0x100d9972
sub ecx, edx
lea eax, [esp + 0x28]
push ecx
push eax
lea ecx, [esp + 0x84]
call fcn.10027a80
cmp dword [esp + 0x90], 0xf
lea ecx, [esp + 0x7c]
push 1
cmova ecx, dword [esp + 0x80]
mov edx, esi
push 0
call fcn.1016f750
mov ecx, dword [esp + 0x90]
mov byte [esp + 0x40], al
cmp ecx, 0xf
jbe 0x100d99ed
mov edx, dword [esp + 0x7c]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x100d99df
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100db53a
push ecx
push edx
call fcn.1019bd5d
mov al, byte [esp + 0x48]
add esp, 8
test al, al
je 0x100d9a93
push 0
push 0x101d250e
mov ecx, 0x10226708
call fcn.10022e90
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 + 0x10450a70]
lea eax, [esp + 0x28]
mov ecx, dword [esi*4 + 0x101f02d4]
push eax
push 1
call fcn.1017e0d0
test al, al
je 0x100d9a4d
cmp byte [esi + 0x10450a70], 0
sete al
mov byte [esi + 0x10450a70], al
inc esi
cmp esi, 9
jb 0x100d9a20
mov esi, dword [0x10450be0]
mov eax, dword [esi + 0x1bec]
cmp dword [esi + 0x1d54], eax
jne 0x100d9a77
mov dword [esi + 0x1e58], eax
mov dword [esi + 0x1e5c], 2
test dword [eax + 8], 0x1000000
je 0x100d9a87
mov byte [esi + 0x1b9e], 1
call fcn.1015cd60
mov byte [esi + 0x1b9e], 0
xor esi, esi
cmp byte [esp + 0x1b], 0
jne 0x100d9ab2
push 0
push 0x101d250e
mov ecx, 0x10226708
call fcn.10022e90
mov byte [esp + 0x1b], 1
cmp byte [esi + 0x10450a70], 0
je 0x100d9c78
cmp dword [0x10226718], 0
xorps xmm0, xmm0
mov edx, dword [esi*4 + 0x101f02d4]
je 0x100d9b3f
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.100209e0
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 0x100d9b78
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 0x100d9b60
sub ecx, edi
push ecx
push edx
lea ecx, [esp + 0x6c]
call fcn.10027a80
lea eax, [esp + 0x64]
push eax
mov ecx, 0x10226708
call fcn.10020a50
test bl, 0x20
je 0x100d9bc1
mov ecx, dword [esp + 0x78]
and ebx, 0xffffffdf
cmp ecx, 0xf
jbe 0x100d9bc1
mov edx, dword [esp + 0x64]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x100d9bb7
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100db535
push ecx
push edx
call fcn.1019bd5d
add esp, 8
test bl, 0x10
je 0x100d9bff
mov ecx, dword [esp + 0x3c]
and ebx, 0xffffffef
cmp ecx, 0xf
jbe 0x100d9bff
mov edx, dword [esp + 0x28]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x100d9bf5
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100db535
push ecx
push edx
call fcn.1019bd5d
add esp, 8
test bl, 8
je 0x100d9c5b
mov ecx, dword [esp + 0x90]
and ebx, 0xfffffff7
cmp ecx, 0xf
jbe 0x100d9c40
mov edx, dword [esp + 0x7c]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x100d9c36
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100db535
push ecx
push edx
call fcn.1019bd5d
add esp, 8
mov dword [esp + 0x8c], 0
mov dword [esp + 0x90], 0xf
mov byte [esp + 0x7c], 0
mov eax, dword [0x10450a04]
mov ecx, dword [0x10226ca8]
lea edx, [eax*8]
sub edx, eax
mov eax, dword [ecx + edx*8 + 0x2c]
bts eax, esi
jmp 0x100d9c93
mov eax, dword [0x10450a04]
mov ecx, dword [0x10226ca8]
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 0x100d9a95
mov ax, word [0x101f0fa4]
xor ebx, ebx
movq xmm0, qword [str.VHXY]
mov esi, dword [0x10226ca8]
mov word [esp + 0x48], ax
mov al, byte [0x101f0fa6]
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, 0x38
xor byte [esp + ebx + 0x40], cl
inc ebx
cmp ebx, 0xb
jl 0x100d9ce0
push ecx
lea eax, [esp + 0x2c]
push eax
lea edx, [esi + 0xa74]
lea ecx, [esp + 0x48]
call fcn.100c11c0
movq xmm0, qword [0x101f1988]
xor ebx, ebx
mov al, byte [0x101f1990]
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, 0x38
xor byte [esp + ebx + 0x28], cl
inc ebx
cmp ebx, 9
jl 0x100d9d37
lea eax, [esp + 0x28]
push eax
call fcn.1016cb90
mov ax, word [0x101f17c0]
add esp, 4
movq xmm0, qword [str.VOYPXJ0A]
movq qword [esp + 0x40], xmm0
mov word [esp + 0x48], ax
test ah, ah
je 0x100d9db9
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, 0x38
xor byte [esp + ebx + 0x40], cl
inc ebx
cmp ebx, 0xa
jl 0x100d9d90
mov eax, dword [0x10450be0]
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.101519b0
mov edi, dword [esi + 4]
mov dword [esp + 0x20], eax
cmp ebx, edi
jne 0x100d9e10
lea ecx, [ebx + 1]
test edi, edi
je 0x100d9dfe
mov eax, edi
cdq
sub eax, edx
sar eax, 1
add eax, edi
jmp 0x100d9e03
mov eax, 8
cmp eax, ecx
cmovg ecx, eax
push ecx
mov ecx, esi
call fcn.100bf360
mov ecx, dword [esi]
mov eax, dword [esi + 8]
mov edx, dword [esp + 0x20]
movq xmm0, qword [str.VOYPX]
mov dword [esp + 0x28], 0x42c80000
mov dword [eax + ecx*4], edx
mov ax, word [0x101f0f20]
inc dword [esi]
xor ebx, ebx
mov esi, dword [0x10226ca8]
mov word [esp + 0x48], ax
mov al, byte [0x101f0f22]
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, 0x38
xor byte [esp + ebx + 0x40], cl
inc ebx
cmp ebx, 0xb
jl 0x100d9e60
push ecx
lea eax, [esp + 0x2c]
push eax
lea edx, [esi + 0xe54]
lea ecx, [esp + 0x48]
call fcn.100c11c0
mov ecx, dword [0x10450be0]
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.101519b0
mov edi, dword [esi + 4]
mov dword [esp + 0x20], eax
cmp ebx, edi
jne 0x100d9f00
lea ecx, [ebx + 1]
test edi, edi
je 0x100d9eee
mov eax, edi
cdq
sub eax, edx
sar eax, 1
add eax, edi
jmp 0x100d9ef3
mov eax, 8
cmp eax, ecx
cmovg ecx, eax
push ecx
mov ecx, esi
call fcn.100bf360
mov ecx, dword [esi]
mov eax, dword [esi + 8]
mov edx, dword [esp + 0x20]
movq xmm0, qword [str.pPOUQK3A]
mov dword [esp + 0x28], 0x42c80000
mov dword [eax + ecx*4], edx
mov ax, word [0x101f0cf4]
inc dword [esi]
mov esi, dword [0x10226ca8]
mov dword [esp + 0x2c], 0
movq qword [esp + 0x40], xmm0
mov word [esp + 0x48], ax
test ah, ah
je 0x100d9f6c
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, 0x38
xor byte [esp + ebx + 0x40], cl
inc ebx
cmp ebx, 0xa
jl 0x100d9f43
push ecx
lea eax, [esp + 0x2c]
push eax
lea edx, [esi + 0xe78]
lea ecx, [esp + 0x48]
call fcn.100c11c0
mov eax, dword [0x10450be0]
mov eax, dword [eax + 0x1bec]
dec dword [eax + 0xe0]
call fcn.100cb1c0
mov eax, dword [0x10450a04]
movups xmm0, xmmword [0x101eff98]
lea ecx, [eax*8]
sub ecx, eax
mov eax, dword [0x10226ca8]
movups xmmword [esp + 0x64], xmm0
psrldq xmm0, 0xf
lea esi, [eax + ecx*8]
movd eax, xmm0
test al, al
je 0x100da127
xor ebx, ebx
cmp dword [0x10228670], 2
jl 0x100da100
movaps xmm0, xmmword [0x101faf70]
xor ecx, ecx
movaps xmm4, xmmword [0x101fadd0]
movaps xmm3, xmmword [0x101faf20]
movaps xmm5, xmmword [0x101fae60]
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 [0x101faf00]
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 [0x101faf00]
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 0x100da000
jmp 0x100da127
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, 0x38
xor byte [esp + ebx + 0x64], cl
inc ebx
cmp ebx, 0x10
jl 0x100da100
lea edx, [esi + 0x20]
lea ecx, [esp + 0x64]
call fcn.1016ebb0
mov ebx, dword [0x10450be0]
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 0x100da17b
inc ecx
test edi, edi
je 0x100da165
mov eax, edi
cdq
sub eax, edx
sar eax, 1
add eax, edi
jmp 0x100da16a
mov eax, 8
cmp eax, ecx
cmovg ecx, eax
push ecx
mov ecx, esi
call fcn.100bf360
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 [0x10226ca8]
mov eax, dword [str.VL_kQUL]
add esi, 0x10
cmp byte [0x101f0b1b], 0
mov edi, dword [0x10228670]
mov dword [esp + 0x1c], eax
je 0x100da26d
xor ebx, ebx
cmp edi, 2
jl 0x100da246
movaps xmm3, xmmword [0x101fadd0]
movaps xmm2, xmm3
movaps xmm0, xmm3
punpckhdq xmm0, xmm3
pmuldq xmm0, xmmword [0x101faf20]
punpckldq xmm2, xmm3
pmuldq xmm2, xmmword [0x101faf20]
shufps xmm2, xmm0, 0xdd
psrad xmm2, 1
movaps xmm0, xmm2
psrld xmm0, 0x1f
paddd xmm0, xmm2
pmulld xmm0, xmmword [0x101fae60]
psubd xmm3, xmm0
pshuflw xmm0, xmm3, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
andps xmm1, xmmword [0x101faf00]
packuswb xmm1, xmm1
paddb xmm1, xmmword [0x101faf70]
movd xmm0, eax
xorps xmm1, xmm0
movd dword [esp + 0x1c], xmm1
jmp 0x100da26d
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, 0x38
xor byte [esp + ebx + 0x1c], cl
inc ebx
cmp ebx, 4
jl 0x100da246
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.101723d0
mov eax, dword [0x10450a04]
movq xmm0, qword [0x101f09a4]
movq qword [esp + 0x28], xmm0
lea esi, [eax*8]
sub esi, eax
mov eax, dword [0x10226ca8]
add eax, 0x30
lea esi, [eax + esi*8]
mov ax, word [0x101f09ac]
mov word [esp + 0x30], ax
test ah, ah
je 0x100da2fe
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, 0x38
xor byte [esp + ebx + 0x28], cl
inc ebx
cmp ebx, 0xa
jl 0x100da2d5
push 0
push 0x101ee34c
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.101723d0
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 [0x10450a04]
mov edx, 8
lea ecx, [eax*8]
sub ecx, eax
mov eax, dword [0x10226ca8]
lea eax, [eax + ecx*8]
mov ecx, str.Accuracy_boost
add eax, 0x50
push eax
call fcn.101723d0
mov eax, dword [0x10450a04]
movups xmm0, xmmword [0x101f0060]
mov esi, dword [0x10226ca8]
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 0x100da507
xor ebx, ebx
cmp edi, 2
jl 0x100da4e0
movaps xmm0, xmmword [0x101faf70]
xor ecx, ecx
movaps xmm4, xmmword [0x101fadd0]
movaps xmm3, xmmword [0x101faf20]
movaps xmm5, xmmword [0x101fae60]
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 [0x101faf00]
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 [0x101faf00]
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 0x100da3e1
jmp 0x100da507
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, 0x38
xor byte [esp + ebx + 0x64], cl
inc ebx
cmp ebx, 0x10
jl 0x100da4e0
push 0
push 0x101ee34c
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.101723d0
mov eax, dword [0x10450a04]
movups xmm0, xmmword [str.uLVOUMQV.5b___GkM_ZQ]
lea esi, [eax*8]
sub esi, eax
mov eax, dword [0x10226ca8]
add eax, 0x40
movups xmmword [esp + 0x64], xmm0
psrldq xmm0, 0xf
lea esi, [eax + esi*8]
movd eax, xmm0
test al, al
je 0x100da6c7
xor ebx, ebx
cmp edi, 2
jl 0x100da6a0
movaps xmm0, xmmword [0x101faf70]
xor ecx, ecx
movaps xmm4, xmmword [0x101fadd0]
movaps xmm3, xmmword [0x101faf20]
movaps xmm5, xmmword [0x101fae60]
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 [0x101faf00]
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 [0x101faf00]
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 0x100da5a0
jmp 0x100da6c7
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, 0x38
xor byte [esp + ebx + 0x64], cl
inc ebx
cmp ebx, 0x10
jl 0x100da6a0
push 0
push 0x101ee34c
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.101723d0
mov eax, dword [0x10450a04]
mov esi, dword [0x10226ca8]
movq xmm0, qword [str.uPTeXS_B]
add esi, 0x44
movq qword [esp + 0x28], xmm0
lea ecx, [eax*8]
sub ecx, eax
mov ax, word [0x101f0ec8]
mov word [esp + 0x30], ax
xor ebx, ebx
mov al, byte [0x101f0eca]
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, 0x38
xor byte [esp + ebx + 0x28], cl
inc ebx
cmp ebx, 0xb
jl 0x100da735
push 0
push 0x101ee34c
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.101723d0
mov edi, dword [0x10450a04]
lea edx, [esp + 0x20]
mov esi, dword [0x10226ca8]
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 [0x10450be0]
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.101519b0
mov ebx, dword [esi + 4]
mov ecx, dword [esi]
mov dword [esp + 0x20], eax
cmp ecx, ebx
jne 0x100da833
inc ecx
test ebx, ebx
je 0x100da81b
mov eax, ebx
cdq
sub eax, edx
sar eax, 1
add eax, ebx
jmp 0x100da820
mov eax, 8
cmp eax, ecx
cmovg ecx, eax
push ecx
mov ecx, esi
call fcn.100bf360
mov edi, dword [0x10450a04]
mov ecx, dword [esi]
mov eax, dword [esi + 8]
mov edx, dword [esp + 0x20]
movups xmm0, xmmword [str.XWZ_X]
mov dword [eax + ecx*4], edx
lea ecx, [edi*8]
inc dword [esi]
sub ecx, edi
mov eax, dword [0x10226ca8]
mov edi, dword [0x10228670]
movups xmmword [esp + 0x64], xmm0
psrldq xmm0, 0xf
lea esi, [eax + ecx*8]
movd eax, xmm0
test al, al
je 0x100da9d7
xor ebx, ebx
cmp edi, 2
jl 0x100da9b0
movaps xmm0, xmmword [0x101faf70]
xor ecx, ecx
movaps xmm4, xmmword [0x101fadd0]
movaps xmm3, xmmword [0x101faf20]
movaps xmm5, xmmword [0x101fae60]
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 [0x101faf00]
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 [0x101faf00]
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 0x100da8b0
jmp 0x100da9d7
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, 0x38
xor byte [esp + ebx + 0x64], cl
inc ebx
cmp ebx, 0x10
jl 0x100da9b0
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 0x100da9f6
sub ecx, edx
lea eax, [esp + 0x64]
push ecx
push eax
lea ecx, [esp + 0x30]
call fcn.10027a80
cmp dword [esp + 0x3c], 0xf
lea ecx, [esp + 0x28]
lea edx, [esi + 0x35]
cmova ecx, dword [esp + 0x28]
call fcn.1016ebb0
mov ecx, dword [esp + 0x3c]
cmp ecx, 0xf
jbe 0x100daa5a
mov edx, dword [esp + 0x28]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x100daa50
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100db53f
push ecx
push edx
call fcn.1019bd5d
add esp, 8
mov ecx, dword [0x10450be0]
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 0x100daadd
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 [0x101f098f], 0
mov eax, dword [0x101f098c]
mov esi, dword [0x10226ca8]
mov dword [esp + 0x28], 0x42c80000
mov dword [esp + 0x2c], 0
mov dword [esp + 0x1c], eax
je 0x100dabb7
xor ebx, ebx
cmp edi, 2
jl 0x100dab90
movaps xmm3, xmmword [0x101fadd0]
movaps xmm2, xmm3
movaps xmm0, xmm3
punpckhdq xmm0, xmm3
pmuldq xmm0, xmmword [0x101faf20]
punpckldq xmm2, xmm3
pmuldq xmm2, xmmword [0x101faf20]
shufps xmm2, xmm0, 0xdd
psrad xmm2, 1
movaps xmm0, xmm2
psrld xmm0, 0x1f
paddd xmm0, xmm2
pmulld xmm0, xmmword [0x101fae60]
psubd xmm3, xmm0
pshuflw xmm0, xmm3, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
andps xmm1, xmmword [0x101faf00]
packuswb xmm1, xmm1
paddb xmm1, xmmword [0x101faf70]
movd xmm0, eax
xorps xmm1, xmm0
movd dword [esp + 0x1c], xmm1
jmp 0x100dabb7
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, 0x38
xor byte [esp + ebx + 0x1c], cl
inc ebx
cmp ebx, 4
jl 0x100dab90
push ecx
lea eax, [esp + 0x2c]
push eax
lea edx, [esi + 0xa50]
lea ecx, [esp + 0x24]
call fcn.100c11c0
mov ebx, dword [0x10450be0]
mov edi, dword [0x10450a04]
mov eax, dword [ebx + 0x1bec]
lea ecx, [edi*8]
sub ecx, edi
dec dword [eax + 0xe0]
mov eax, dword [0x10226ca8]
cmp byte [eax + ecx*8 + 0x35], 0
je 0x100dadc8
movups xmm0, xmmword [str.XWZ_X]
lea esi, [eax + 0x48]
lea esi, [esi + ecx*8]
movups xmmword [esp + 0x64], xmm0
psrldq xmm0, 0xf
movd eax, xmm0
test al, al
je 0x100dad87
xor ebx, ebx
cmp dword [0x10228670], 2
jl 0x100dad60
movaps xmm0, xmmword [0x101faf70]
xor ecx, ecx
movaps xmm4, xmmword [0x101fadd0]
movaps xmm3, xmmword [0x101faf20]
movaps xmm5, xmmword [0x101fae60]
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 [0x101faf00]
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 [0x101faf00]
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 0x100dac60
jmp 0x100dad87
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, 0x38
xor byte [esp + ebx + 0x64], cl
inc ebx
cmp ebx, 0x10
jl 0x100dad60
push 0
push 0x101ee34c
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.101723d0
mov eax, dword [0x10226ca8]
mov edi, dword [0x10450a04]
mov ebx, dword [0x10450be0]
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.101519b0
mov ebx, dword [esi + 4]
mov ecx, dword [esi]
mov dword [esp + 0x20], eax
cmp ecx, ebx
jne 0x100dae59
inc ecx
test ebx, ebx
je 0x100dae41
mov eax, ebx
cdq
sub eax, edx
sar eax, 1
add eax, ebx
jmp 0x100dae46
mov eax, 8
cmp eax, ecx
cmovg ecx, eax
push ecx
mov ecx, esi
call fcn.100bf360
mov edi, dword [0x10450a04]
mov ecx, dword [esi]
xor ebx, ebx
mov eax, dword [esi + 8]
mov edx, dword [esp + 0x20]
movups xmm0, xmmword [str.pPNXTP_a_5_74.__J]
mov dword [eax + ecx*4], edx
lea ecx, [edi*8]
inc dword [esi]
sub ecx, edi
mov eax, dword [0x10226ca8]
mov edi, dword [0x10228670]
movups xmmword [esp + 0x64], xmm0
lea esi, [eax + ecx*8]
mov ax, word [0x101f0e14]
mov word [esp + 0x74], ax
mov al, byte [0x101f0e16]
mov byte [esp + 0x76], al
cmp edi, 2
jl 0x100dafd0
movaps xmm0, xmmword [0x101faf70]
movaps xmm4, xmmword [0x101fadd0]
movaps xmm3, xmmword [0x101faf20]
movaps xmm5, xmmword [0x101fae60]
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 [0x101faf00]
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 [0x101faf00]
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 0x100daed0
cmp ebx, 0x13
jge 0x100daff7
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, 0x38
xor byte [esp + ebx + 0x64], cl
inc ebx
cmp ebx, 0x13
jl 0x100dafd0
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 0x100db016
sub ecx, edx
lea eax, [esp + 0x64]
push ecx
push eax
lea ecx, [esp + 0x30]
call fcn.10027a80
cmp dword [esp + 0x3c], 0xf
lea ecx, [esp + 0x28]
lea edx, [esi + 0x34]
cmova ecx, dword [esp + 0x28]
call fcn.1016ebb0
mov ecx, dword [esp + 0x3c]
cmp ecx, 0xf
jbe 0x100db07a
mov edx, dword [esp + 0x28]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x100db070
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100db544
push ecx
push edx
call fcn.1019bd5d
add esp, 8
mov ecx, dword [0x10450be0]
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 0x100db0fd
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 [0x101f098f], 0
mov eax, dword [0x101f098c]
mov esi, dword [0x10226ca8]
mov dword [esp + 0x28], 0x42c80000
mov dword [esp + 0x2c], 0
mov dword [esp + 0x1c], eax
je 0x100db1d7
xor ebx, ebx
cmp edi, 2
jl 0x100db1b0
movaps xmm3, xmmword [0x101fadd0]
movaps xmm2, xmm3
movaps xmm0, xmm3
punpckhdq xmm0, xmm3
pmuldq xmm0, xmmword [0x101faf20]
punpckldq xmm2, xmm3
pmuldq xmm2, xmmword [0x101faf20]
shufps xmm2, xmm0, 0xdd
psrad xmm2, 1
movaps xmm0, xmm2
psrld xmm0, 0x1f
paddd xmm0, xmm2
pmulld xmm0, xmmword [0x101fae60]
psubd xmm3, xmm0
pshuflw xmm0, xmm3, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
andps xmm1, xmmword [0x101faf00]
packuswb xmm1, xmm1
paddb xmm1, xmmword [0x101faf70]
movd xmm0, eax
xorps xmm1, xmm0
movd dword [esp + 0x1c], xmm1
jmp 0x100db1d7
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, 0x38
xor byte [esp + ebx + 0x1c], cl
inc ebx
cmp ebx, 4
jl 0x100db1b0
push ecx
lea eax, [esp + 0x2c]
push eax
lea edx, [esi + 0xd10]
lea ecx, [esp + 0x24]
call fcn.100c11c0
mov eax, dword [0x10450be0]
mov eax, dword [eax + 0x1bec]
dec dword [eax + 0xe0]
mov eax, dword [0x10450a04]
lea ecx, [eax*8]
sub ecx, eax
mov eax, dword [0x10226ca8]
cmp byte [eax + ecx*8 + 0x34], 0
je 0x100db3cc
movups xmm0, xmmword [str.pPNXTP_a_5_74.__J]
lea esi, [eax + 0x38]
xor ebx, ebx
mov ax, word [0x101f0e14]
lea esi, [esi + ecx*8]
mov word [esp + 0x74], ax
mov al, byte [0x101f0e16]
mov byte [esp + 0x76], al
movups xmmword [esp + 0x64], xmm0
cmp edi, 2
jl 0x100db370
movaps xmm0, xmmword [0x101faf70]
movaps xmm4, xmmword [0x101fadd0]
movaps xmm3, xmmword [0x101faf20]
movaps xmm5, xmmword [0x101fae60]
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 [0x101faf00]
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 [0x101faf00]
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 0x100db271
cmp ebx, 0x13
jge 0x100db397
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, 0x38
xor byte [esp + ebx + 0x64], cl
inc ebx
cmp ebx, 0x13
jl 0x100db370
push 0
push 0x101ee34c
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.101723d0
mov eax, dword [0x10226ca8]
movq xmm0, qword [str.zXYPHO_A]
lea esi, [eax + 0xef8]
mov ax, word [0x101f0c68]
movq qword [esp + 0x28], xmm0
mov word [esp + 0x30], ax
test ah, ah
je 0x100db41a
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, 0x38
xor byte [esp + ebx + 0x28], cl
inc ebx
cmp ebx, 0xa
jl 0x100db3f1
mov edx, esi
lea ecx, [esp + 0x28]
call fcn.1016ebb0
mov eax, dword [0x10226ca8]
cmp byte [eax + 0xef8], 0
je 0x100db4ba
movq xmm0, qword [str.lPW]
lea esi, [eax + 0xefc]
mov ax, word [0x101f0dc4]
xor ebx, ebx
mov word [esp + 0x48], ax
mov al, byte [0x101f0dc6]
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, 0x38
xor byte [esp + ebx + 0x40], cl
inc ebx
cmp ebx, 0xb
jl 0x100db461
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.101723d0
mov esi, dword [0x10450be0]
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 0x100db520
cmp dword [eax + 0x10], 1
jne 0x100db51b
cmp dword [eax + 4], 0
je 0x100db520
call fcn.100cb4a0
mov ecx, dword [esp + 0xac]
pop edi
pop esi
pop ebx
xor ecx, esp
call fcn.1019ba64
mov esp, ebp
pop ebp
ret
call fcn.101a0e96
call fcn.101a0e96
call fcn.101a0e96
call fcn.101a0e96
int3