Function at 0x100db5a0
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff0
sub esp, 0xb4
mov eax, dword [0x1020f0c0]
xor eax, esp
mov dword [esp + 0xb0], eax
push ebx
xor ebx, ebx
push esi
mov dword [esp + 0x10], ebx
cmp dword [0x1022cb70], 2
push edi
jne 0x100dee21
mov eax, dword fs:[0x2c]
mov ecx, dword [0x1022e69c]
mov ecx, dword [eax + ecx*4]
mov eax, dword [0x10521e28]
mov dword [esp + 0x3c], ecx
cmp eax, dword [ecx + 4]
jle 0x100db620
push 0x10521e28
call fcn.101a22b8
add esp, 4
cmp dword [0x10521e28], 0xffffffff
jne 0x100db620
push 0x101ce990
call fcn.101a2004
add esp, 4
push 0x10521e28
call fcn.101a2267
add esp, 4
mov eax, dword [0x101f7ad8]
movq xmm0, qword [str.sYY_V]
mov esi, dword [0x1022ccc8]
mov dword [esp + 0x2c], eax
mov ax, word [0x101f7adc]
mov word [esp + 0x30], ax
mov al, byte [0x101f7ade]
mov byte [esp + 0x32], al
xor eax, eax
cmp dword [0x1022e690], 2
movq qword [esp + 0x24], xmm0
mov byte [esp + 0x13], bl
mov dword [esp + 0x1c], eax
jl 0x100db766
movaps xmm2, xmmword [0x10201400]
mov eax, 8
movaps xmm3, xmmword [0x10201840]
movaps xmm1, xmm2
punpckldq xmm1, xmm2
movaps xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm1, xmm3
pmuldq xmm0, xmm3
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm2
mov dword [esp + 0x1c], eax
psrad xmm1, 5
movaps xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmmword [0x10201490]
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
movaps xmm2, xmmword [0x10201440]
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
andps xmm1, xmmword [0x10201520]
movd xmm0, dword [str.sYY_V]
packuswb xmm1, xmm1
paddb xmm1, xmmword [0x10201550]
xorps xmm1, xmm0
movaps xmm0, xmm2
movd dword [esp + 0x24], xmm1
movaps xmm1, xmm2
punpckldq xmm1, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm1, xmm3
pmuldq xmm0, xmm3
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm2
psrad xmm1, 5
movaps xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmmword [0x10201490]
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
andps xmm1, xmmword [0x10201520]
movd xmm0, dword [esp + 0x28]
packuswb xmm1, xmm1
paddb xmm1, xmmword [0x10201550]
xorps xmm1, xmm0
movd dword [esp + 0x28], xmm1
mov ebx, dword [esp + 0x1c]
nop word [eax + eax]
mov eax, 0x92492493
imul ebx
add edx, ebx
sar edx, 5
mov eax, edx
shr eax, 0x1f
add eax, edx
mov cl, al
shl cl, 3
sub cl, al
mov al, bl
shl cl, 3
sub al, cl
add al, 0x36
xor byte [esp + ebx + 0x24], al
inc ebx
cmp ebx, 0xf
jl 0x100db770
mov edx, esi
lea ecx, [esp + 0x24]
call fcn.101748d0
movss xmm1, dword [0x10201264]
xorps xmm0, xmm0
call fcn.10163ff0
movq xmm0, qword [str.EZLQ]
xor ecx, ecx
mov al, byte [0x101f67c4]
movq qword [esp + 0x24], xmm0
mov byte [esp + 0x2c], al
mov dword [esp + 0x1c], ecx
mov eax, 0x24924925
mul ecx
mov eax, ecx
sub eax, edx
shr eax, 1
add eax, edx
shr eax, 5
mov cl, al
shl cl, 3
sub cl, al
mov al, byte [esp + 0x1c]
shl cl, 3
sub al, cl
mov ecx, dword [esp + 0x1c]
add al, 0x36
xor byte [esp + ecx + 0x24], al
inc ecx
mov dword [esp + 0x1c], ecx
cmp ecx, 9
jl 0x100db7d5
mov eax, dword [0x10456c08]
xor edx, edx
mov esi, dword [eax + 0x1bec]
mov eax, dword [esi + 0xe8]
add esi, 0xe0
mov ecx, dword [esi]
push dword [eax + ecx*4 - 4]
lea ecx, [esp + 0x28]
call fcn.10158960
mov edi, dword [esi + 4]
mov ecx, dword [esi]
mov dword [esp + 0x1c], eax
cmp ecx, edi
jne 0x100db862
inc ecx
test edi, edi
je 0x100db850
mov eax, edi
cdq
sub eax, edx
sar eax, 1
add eax, edi
jmp 0x100db855
mov eax, 8
cmp eax, ecx
cmovg ecx, eax
push ecx
mov ecx, esi
call fcn.100c2eb0
mov ecx, dword [esi]
mov eax, dword [esi + 8]
mov edx, dword [esp + 0x1c]
mov dword [esp + 0x24], 0x42c80000
mov dword [esp + 0x28], 0
mov dword [eax + ecx*4], edx
mov eax, dword [0x101f6ae0]
inc dword [esi]
xor ebx, ebx
mov esi, dword [0x1022ccc8]
mov dword [esp + 0x1c], eax
mov ax, word [0x101f6ae4]
mov word [esp + 0x20], ax
mov al, byte [0x101f6ae6]
mov byte [esp + 0x22], al
mov eax, 0x24924925
mul ebx
mov eax, ebx
sub eax, edx
shr eax, 1
add eax, edx
shr eax, 5
mov cl, al
shl cl, 3
sub cl, al
mov al, bl
shl cl, 3
sub al, cl
add al, 0x36
xor byte [esp + ebx + 0x1c], al
inc ebx
cmp ebx, 7
jl 0x100db8a5
push ecx
lea eax, [esp + 0x28]
push eax
lea edx, [esi + 0xa34]
lea ecx, [esp + 0x24]
call fcn.100c4d10
mov ecx, dword [0x10456c08]
mov eax, dword [ecx + 0x1bec]
dec dword [eax + 0xe0]
mov ecx, dword [ecx + 0x1bec]
cmp byte [ecx + 0xab], 0
jne 0x100db919
mov ecx, dword [ecx + 0x1dc]
neg ecx
sbb ecx, ecx
add ecx, 6
call fcn.101751f0
movss xmm0, dword [0x1020110c]
call fcn.101640b0
movups xmm0, xmmword [str.dV_XTH]
mov edi, dword [0x1022e690]
mov dword [esp + 0x24], 0x44160000
movups xmmword [esp + 0x48], xmm0
mov dword [esp + 0x28], 0x41f00000
psrldq xmm0, 0xf
movd eax, xmm0
test al, al
je 0x100dbace
mov al, byte [esp + 0x13]
mov byte [esp + 0x13], al
cmp edi, 2
jl 0x100dba9f
movaps xmm0, xmmword [0x10201550]
lea esi, [esp + 0x4c]
movaps xmm4, xmmword [0x10201400]
xor ecx, ecx
movaps xmm3, xmmword [0x10201840]
movaps xmm5, xmmword [0x10201490]
movaps xmmword [esp + 0x60], xmm0
mov edx, dword [esp + 0x60]
nop word [eax + eax]
movd xmm0, ecx
lea eax, [ecx + 4]
pshufd xmm2, xmm0, 0
paddd xmm2, xmm4
movaps xmm1, xmm2
movaps xmm0, xmm2
punpckhdq xmm0, xmm2
punpckldq xmm1, xmm2
pmuldq xmm0, xmm3
pmuldq xmm1, xmm3
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm2
psrad xmm1, 5
movaps xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm5
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
andps xmm1, xmmword [0x10201520]
packuswb xmm1, xmm1
movd xmm0, edx
paddb xmm1, xmm0
movd xmm0, dword [esp + ecx + 0x48]
xorps xmm1, xmm0
movd xmm0, eax
pshufd xmm2, xmm0, 0
movd dword [esp + ecx + 0x48], xmm1
paddd xmm2, xmm4
movaps xmm1, xmm2
movaps xmm0, xmm2
punpckldq xmm1, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm3
pmuldq xmm1, xmm3
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm2
psrad xmm1, 5
movaps xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm5
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
andps xmm1, xmmword [0x10201520]
packuswb xmm1, xmm1
movd xmm0, edx
paddb xmm1, xmm0
movd xmm0, dword [ecx + esi]
xorps xmm1, xmm0
movd dword [ecx + esi], xmm1
add ecx, 8
cmp ecx, 0x10
jl 0x100db9a0
jmp 0x100dbace
xor ebx, ebx
mov eax, 0x92492493
imul ebx
add edx, ebx
sar edx, 5
mov eax, edx
shr eax, 0x1f
add eax, edx
mov cl, al
shl cl, 3
sub cl, al
mov al, bl
shl cl, 3
sub al, cl
add al, 0x36
xor byte [esp + ebx + 0x48], al
inc ebx
cmp ebx, 0x10
jl 0x100dbaa1
mov esi, dword [0x10456c08]
xor edx, edx
mov eax, dword [esi + 0x1bec]
mov byte [eax + 0xa8], 1
mov eax, dword [esi + 0x1bec]
mov ecx, dword [eax + 0xe0]
mov eax, dword [eax + 0xe8]
push dword [eax + ecx*4 - 4]
lea ecx, [esp + 0x4c]
call fcn.10158960
cmp dword [esi + 0x1c24], eax
jne 0x100dbb10
mov dword [esi + 0x1c28], eax
cmp dword [esi + 0x1c5c], eax
jne 0x100dbb1f
mov byte [esi + 0x1c60], 1
push 0
push 0
lea ecx, [esp + 0x2c]
mov edx, eax
push ecx
lea ecx, [esp + 0x54]
call fcn.1015e8a0
cmp dword [0x1022cb70], 2
jne 0x100dc886
cmp dword [0x10456a20], 0
mov ecx, dword [0x10456c08]
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 [0x10201014]
maxss xmm0, xmm1
movss dword [eax + 0xec], xmm1
movss dword [eax + 0x104], xmm0
jne 0x100dbb97
call fcn.100db340
jmp 0x100dbb9c
call fcn.100db440
cmp byte [0x101f62df], 0
mov eax, dword [str.w_T9_V]
mov dword [esp + 0x24], 0x42200000
mov dword [esp + 0x28], 0x41f00000
mov dword [esp + 0x1c], eax
je 0x100dbc7d
cmp edi, 2
jl 0x100dbc45
movaps xmm3, xmmword [0x10201400]
movaps xmm2, xmm3
movaps xmm0, xmm3
punpckhdq xmm0, xmm3
pmuldq xmm0, xmmword [0x10201840]
punpckldq xmm2, xmm3
pmuldq xmm2, xmmword [0x10201840]
shufps xmm2, xmm0, 0xdd
paddd xmm2, xmm3
psrad xmm2, 5
movaps xmm0, xmm2
psrld xmm0, 0x1f
paddd xmm0, xmm2
pmulld xmm0, xmmword [0x10201490]
psubd xmm3, xmm0
pshuflw xmm0, xmm3, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
andps xmm1, xmmword [0x10201520]
packuswb xmm1, xmm1
paddb xmm1, xmmword [0x10201550]
movd xmm0, eax
xorps xmm1, xmm0
movd dword [esp + 0x1c], xmm1
jmp 0x100dbc7d
mov al, byte [esp + 0x13]
xor ebx, ebx
mov byte [esp + 0x13], al
nop
mov eax, 0x92492493
imul ebx
add edx, ebx
sar edx, 5
mov eax, edx
shr eax, 0x1f
add eax, edx
mov cl, al
shl cl, 3
sub cl, al
mov al, bl
shl cl, 3
sub al, cl
add al, 0x36
xor byte [esp + ebx + 0x1c], al
inc ebx
cmp ebx, 4
jl 0x100dbc50
push 0
push 0
lea edx, [esp + 0x2c]
lea ecx, [esp + 0x24]
call fcn.10173030
test al, al
je 0x100dbc9c
mov dword [0x10456a20], 0
mov esi, dword [0x10456c08]
movss xmm1, dword [0x10201264]
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.10163ff0
mov ecx, dword [0x1022ccd4]
mov ecx, dword [ecx + 0x24]
call fcn.10163700
cmp dword [0x10456a20], 1
jne 0x100dbd70
call fcn.100db340
jmp 0x100dbd75
call fcn.100db440
mov ax, word [0x101f6ff0]
mov dword [esp + 0x24], 0x42480000
mov dword [esp + 0x28], 0x41f00000
mov word [esp + 0x1c], ax
test ah, ah
je 0x100dbdc2
xor ebx, ebx
mov eax, 0x24924925
mul ebx
mov eax, ebx
sub eax, edx
shr eax, 1
add eax, edx
shr eax, 5
mov cl, al
shl cl, 3
sub cl, al
mov al, bl
shl cl, 3
sub al, cl
add al, 0x36
xor byte [esp + ebx + 0x1c], al
inc ebx
cmp ebx, 2
jl 0x100dbd96
push 0
push 0
lea edx, [esp + 0x2c]
lea ecx, [esp + 0x24]
call fcn.10173030
test al, al
je 0x100dbde4
mov edi, 1
mov dword [0x10456a20], edi
jmp 0x100dbdea
mov edi, dword [0x10456a20]
mov esi, dword [0x10456c08]
movss xmm1, dword [0x10201264]
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.10163ff0
cmp edi, 2
jne 0x100dbeac
call fcn.100db340
jmp 0x100dbeb1
call fcn.100db440
mov ax, word [0x101f7630]
mov dword [esp + 0x24], 0x42480000
mov dword [esp + 0x28], 0x41f00000
mov word [esp + 0x1c], ax
test ah, ah
je 0x100dbefe
xor ebx, ebx
mov eax, 0x24924925
mul ebx
mov eax, ebx
sub eax, edx
shr eax, 1
add eax, edx
shr eax, 5
mov cl, al
shl cl, 3
sub cl, al
mov al, bl
shl cl, 3
sub al, cl
add al, 0x36
xor byte [esp + ebx + 0x1c], al
inc ebx
cmp ebx, 2
jl 0x100dbed2
push 0
push 0
lea edx, [esp + 0x2c]
lea ecx, [esp + 0x24]
call fcn.10173030
test al, al
je 0x100dbf20
mov edi, 2
mov dword [0x10456a20], edi
jmp 0x100dbf26
mov edi, dword [0x10456a20]
mov esi, dword [0x10456c08]
movss xmm1, dword [0x10201264]
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.10163ff0
cmp edi, 3
jne 0x100dbfe8
call fcn.100db340
jmp 0x100dbfed
call fcn.100db440
mov ax, word [0x101f6640]
mov dword [esp + 0x24], 0x42480000
mov dword [esp + 0x28], 0x41f00000
mov word [esp + 0x1c], ax
test ah, ah
je 0x100dc03c
xor ebx, ebx
nop
mov eax, 0x24924925
mul ebx
mov eax, ebx
sub eax, edx
shr eax, 1
add eax, edx
shr eax, 5
mov cl, al
shl cl, 3
sub cl, al
mov al, bl
shl cl, 3
sub al, cl
add al, 0x36
xor byte [esp + ebx + 0x1c], al
inc ebx
cmp ebx, 2
jl 0x100dc010
push 0
push 0
lea edx, [esp + 0x2c]
lea ecx, [esp + 0x24]
call fcn.10173030
test al, al
je 0x100dc05e
mov edi, 3
mov dword [0x10456a20], edi
jmp 0x100dc064
mov edi, dword [0x10456a20]
mov esi, dword [0x10456c08]
movss xmm1, dword [0x10201264]
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.10163ff0
cmp edi, 4
jne 0x100dc126
call fcn.100db340
jmp 0x100dc12b
call fcn.100db440
mov ax, word [0x101f79b4]
mov dword [esp + 0x24], 0x42480000
mov dword [esp + 0x28], 0x41f00000
mov word [esp + 0x1c], ax
test ah, ah
je 0x100dc17c
xor ebx, ebx
nop dword [eax]
mov eax, 0x24924925
mul ebx
mov eax, ebx
sub eax, edx
shr eax, 1
add eax, edx
shr eax, 5
mov cl, al
shl cl, 3
sub cl, al
mov al, bl
shl cl, 3
sub al, cl
add al, 0x36
xor byte [esp + ebx + 0x1c], al
inc ebx
cmp ebx, 2
jl 0x100dc150
push 0
push 0
lea edx, [esp + 0x2c]
lea ecx, [esp + 0x24]
call fcn.10173030
test al, al
je 0x100dc19e
mov edi, 4
mov dword [0x10456a20], edi
jmp 0x100dc1a4
mov edi, dword [0x10456a20]
mov esi, dword [0x10456c08]
movss xmm1, dword [0x10201264]
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.10163ff0
cmp edi, 5
jne 0x100dc266
call fcn.100db340
jmp 0x100dc26b
call fcn.100db440
mov ax, word [0x101f6190]
mov dword [esp + 0x24], 0x42480000
mov dword [esp + 0x28], 0x41f00000
mov word [esp + 0x1c], ax
test ah, ah
je 0x100dc2bc
xor ebx, ebx
nop dword [eax]
mov eax, 0x24924925
mul ebx
mov eax, ebx
sub eax, edx
shr eax, 1
add eax, edx
shr eax, 5
mov cl, al
shl cl, 3
sub cl, al
mov al, bl
shl cl, 3
sub al, cl
add al, 0x36
xor byte [esp + ebx + 0x1c], al
inc ebx
cmp ebx, 2
jl 0x100dc290
push 0
push 0
lea edx, [esp + 0x2c]
lea ecx, [esp + 0x24]
call fcn.10173030
test al, al
je 0x100dc2de
mov edi, 5
mov dword [0x10456a20], edi
jmp 0x100dc2e4
mov edi, dword [0x10456a20]
mov esi, dword [0x10456c08]
movss xmm1, dword [0x10201264]
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.10163ff0
cmp edi, 6
jne 0x100dc3a6
call fcn.100db340
jmp 0x100dc3ab
call fcn.100db440
mov ax, word [0x101f6820]
mov dword [esp + 0x24], 0x42680000
mov dword [esp + 0x28], 0x41f00000
mov word [esp + 0x1c], ax
test ah, ah
je 0x100dc3fc
xor ebx, ebx
nop dword [eax]
mov eax, 0x24924925
mul ebx
mov eax, ebx
sub eax, edx
shr eax, 1
add eax, edx
shr eax, 5
mov cl, al
shl cl, 3
sub cl, al
mov al, bl
shl cl, 3
sub al, cl
add al, 0x36
xor byte [esp + ebx + 0x1c], al
inc ebx
cmp ebx, 2
jl 0x100dc3d0
push 0
push 0
lea edx, [esp + 0x2c]
lea ecx, [esp + 0x24]
call fcn.10173030
test al, al
je 0x100dc41e
mov edi, 6
mov dword [0x10456a20], edi
jmp 0x100dc424
mov edi, dword [0x10456a20]
mov esi, dword [0x10456c08]
movss xmm1, dword [0x10201264]
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.10163ff0
cmp edi, 7
jne 0x100dc4e6
call fcn.100db340
jmp 0x100dc4eb
call fcn.100db440
mov ax, word [0x101f7694]
mov dword [esp + 0x24], 0x42700000
mov dword [esp + 0x28], 0x41f00000
mov word [esp + 0x1c], ax
test ah, ah
je 0x100dc53c
xor ebx, ebx
nop dword [eax]
mov eax, 0x24924925
mul ebx
mov eax, ebx
sub eax, edx
shr eax, 1
add eax, edx
shr eax, 5
mov cl, al
shl cl, 3
sub cl, al
mov al, bl
shl cl, 3
sub al, cl
add al, 0x36
xor byte [esp + ebx + 0x1c], al
inc ebx
cmp ebx, 2
jl 0x100dc510
push 0
push 0
lea edx, [esp + 0x2c]
lea ecx, [esp + 0x24]
call fcn.10173030
test al, al
je 0x100dc55e
mov edi, 7
mov dword [0x10456a20], edi
jmp 0x100dc564
mov edi, dword [0x10456a20]
mov esi, dword [0x10456c08]
movss xmm1, dword [0x10201264]
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.10163ff0
cmp edi, 8
jne 0x100dc626
call fcn.100db340
jmp 0x100dc62b
call fcn.100db440
mov ax, word [0x101f7294]
mov dword [esp + 0x24], 0x42480000
mov dword [esp + 0x28], 0x41f00000
mov word [esp + 0x1c], ax
test ah, ah
je 0x100dc67c
xor ebx, ebx
nop dword [eax]
mov eax, 0x24924925
mul ebx
mov eax, ebx
sub eax, edx
shr eax, 1
add eax, edx
shr eax, 5
mov cl, al
shl cl, 3
sub cl, al
mov al, bl
shl cl, 3
sub al, cl
add al, 0x36
xor byte [esp + ebx + 0x1c], al
inc ebx
cmp ebx, 2
jl 0x100dc650
push 0
push 0
lea edx, [esp + 0x2c]
lea ecx, [esp + 0x24]
call fcn.10173030
test al, al
je 0x100dc69e
mov edi, 8
mov dword [0x10456a20], edi
jmp 0x100dc6a4
mov edi, dword [0x10456a20]
mov esi, dword [0x10456c08]
movss xmm1, dword [0x10201264]
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.10163ff0
cmp edi, 9
jne 0x100dc766
call fcn.100db340
jmp 0x100dc76b
call fcn.100db440
mov ax, word [0x101f6ee0]
mov dword [esp + 0x24], 0x42480000
mov dword [esp + 0x28], 0x41f00000
mov word [esp + 0x1c], ax
test ah, ah
je 0x100dc7bc
xor ebx, ebx
nop dword [eax]
mov eax, 0x24924925
mul ebx
mov eax, ebx
sub eax, edx
shr eax, 1
add eax, edx
shr eax, 5
mov cl, al
shl cl, 3
sub cl, al
mov al, bl
shl cl, 3
sub al, cl
add al, 0x36
xor byte [esp + ebx + 0x1c], al
inc ebx
cmp ebx, 2
jl 0x100dc790
push 0
push 0
lea edx, [esp + 0x2c]
lea ecx, [esp + 0x24]
call fcn.10173030
test al, al
je 0x100dc7db
mov dword [0x10456a20], 9
mov esi, dword [0x10456c08]
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.101637b0
call fcn.1015eaa0
mov ecx, dword [0x10456c08]
mov eax, dword [ecx + 0x1bec]
mov byte [eax + 0xa8], 1
mov eax, dword [ecx + 0x1bec]
mov eax, dword [eax + 0x1d0]
test eax, eax
je 0x100dc8bf
cmp dword [eax + 0x10], 2
jne 0x100dc8ba
cmp dword [eax + 4], 1
je 0x100dc8cd
call fcn.100cef70
push 1
mov edx, 2
xor ecx, ecx
call fcn.100ce6a0
movss xmm0, dword [0x102011a0]
mov ecx, 1
call fcn.100ce2d0
movss xmm0, dword [0x10201154]
call fcn.101640b0
mov eax, dword [0x101f6328]
mov esi, dword [0x1022ccc8]
mov dword [esp + 0x1c], eax
add esi, 2
mov ax, word [0x101f632c]
xor ebx, ebx
mov word [esp + 0x20], ax
mov al, byte [0x101f632e]
mov byte [esp + 0x22], al
mov eax, 0x24924925
mul ebx
mov eax, ebx
sub eax, edx
shr eax, 1
add eax, edx
shr eax, 5
mov cl, al
shl cl, 3
sub cl, al
mov al, bl
shl cl, 3
sub al, cl
add al, 0x36
xor byte [esp + ebx + 0x1c], al
inc ebx
cmp ebx, 7
jl 0x100dc914
mov edx, esi
lea ecx, [esp + 0x1c]
call fcn.101748d0
mov ax, word [0x101f7c3c]
movq xmm0, qword [str.wBLV]
mov esi, dword [0x1022ccc8]
movq qword [esp + 0x24], xmm0
mov word [esp + 0x2c], ax
test ah, ah
je 0x100dc9be
xor ebx, ebx
mov eax, 0x24924925
mul ebx
mov eax, ebx
sub eax, edx
shr eax, 1
add eax, edx
shr eax, 5
mov cl, al
shl cl, 3
sub cl, al
mov al, bl
shl cl, 3
sub al, cl
add al, 0x36
xor byte [esp + ebx + 0x24], al
inc ebx
cmp ebx, 0xa
jl 0x100dc970
lea edx, [esi + 5]
lea ecx, [esp + 0x24]
call fcn.101748d0
mov ax, word [0x101f7728]
mov word [esp + 0x2c], ax
mov al, byte [0x101f772a]
mov byte [esp + 0x2e], al
jmp 0x100dc9e6
lea edx, [esi + 5]
lea ecx, [esp + 0x24]
call fcn.101748d0
mov ax, word [0x101f7728]
mov word [esp + 0x2c], ax
mov al, byte [0x101f772a]
mov byte [esp + 0x2e], al
mov al, byte [esp + 0x13]
mov byte [esp + 0x13], al
mov esi, dword [0x1022ccc8]
movq xmm0, qword [0x101f7720]
add esi, 0xc
movq qword [esp + 0x24], xmm0
xor ebx, ebx
nop
mov eax, 0x24924925
mul ebx
mov eax, ebx
sub eax, edx
shr eax, 1
add eax, edx
shr eax, 5
mov cl, al
shl cl, 3
sub cl, al
mov al, bl
shl cl, 3
sub al, cl
add al, 0x36
xor byte [esp + ebx + 0x24], al
inc ebx
cmp ebx, 0xb
jl 0x100dca00
mov edx, esi
lea ecx, [esp + 0x24]
call fcn.101748d0
mov eax, dword [0x10456a20]
movq xmm0, qword [0x101f6a74]
mov ebx, dword [esp + 0x14]
movq qword [esp + 0x24], xmm0
lea ecx, [eax*8]
sub ecx, eax
mov eax, dword [0x1022ccc8]
lea esi, [eax + ecx*8]
mov ax, word [0x101f6a7c]
mov word [esp + 0x2c], ax
test ah, ah
je 0x100dcab0
mov al, byte [esp + 0x13]
xor ebx, ebx
mov byte [esp + 0x13], al
nop dword [eax + eax]
mov eax, 0x24924925
mul ebx
mov eax, ebx
sub eax, edx
shr eax, 1
add eax, edx
shr eax, 5
mov cl, al
shl cl, 3
sub cl, al
mov al, bl
shl cl, 3
sub al, cl
add al, 0x36
xor byte [esp + ebx + 0x24], al
inc ebx
cmp ebx, 0xa
jl 0x100dca80
mov ebx, dword [esp + 0x14]
lea edx, [esi + 0x29]
lea ecx, [esp + 0x24]
call fcn.101748d0
mov ecx, dword [esp + 0x3c]
mov eax, dword [0x10521e00]
mov dword [esp + 0x48], str.Force_accuracy
mov dword [esp + 0x4c], str.Between_shots
mov dword [esp + 0x50], str.Full_stop
mov dword [esp + 0x54], str.Duck
cmp eax, dword [ecx + 4]
jle 0x100dcb1d
push 0x10521e00
call fcn.101a22b8
add esp, 4
cmp dword [0x10521e00], 0xffffffff
jne 0x100dcb1d
push 0x101ce930
call fcn.101a2004
add esp, 4
push 0x10521e00
call fcn.101a2267
add esp, 4
mov ecx, dword [0x1022ccc8]
xor al, al
mov byte [esp + 0x1b], al
mov esi, 0x1022cb40
mov eax, dword [0x10456a20]
movups xmm0, xmmword [0x101f6d78]
lea edx, [eax*8]
sub edx, eax
movups xmmword [esp + 0x24], xmm0
mov al, byte [ecx + edx*8 + 0x2c]
and al, 1
mov byte [0x10456a1c], al
mov eax, dword [ecx + edx*8 + 0x2c]
shr eax, 1
and al, 1
mov byte [0x10456a1d], al
mov eax, dword [ecx + edx*8 + 0x2c]
shr eax, 2
and al, 1
mov byte [0x10456a1e], al
mov eax, dword [ecx + edx*8 + 0x2c]
shr eax, 3
and al, 1
cmp dword [0x1022cb54], 0xf
mov byte [0x10456a1f], al
cmova esi, dword [0x1022cb40]
cmp byte [0x101f6d8b], 0
mov eax, dword [0x101f6d88]
mov dword [esp + 0x34], eax
je 0x100dcd1d
xor ecx, ecx
cmp dword [0x1022e690], 2
mov dword [esp + 0x1c], ecx
jl 0x100dcce6
movaps xmm0, xmmword [0x10201550]
lea edi, [esp + 0x28]
movaps xmm4, xmmword [0x10201400]
movaps xmm3, xmmword [0x10201840]
movaps xmm5, xmmword [0x10201490]
movaps xmmword [esp + 0x60], xmm0
mov edx, dword [esp + 0x60]
nop dword [eax]
movd xmm0, ecx
lea eax, [ecx + 4]
pshufd xmm2, xmm0, 0
paddd xmm2, xmm4
movaps xmm1, xmm2
movaps xmm0, xmm2
punpckhdq xmm0, xmm2
punpckldq xmm1, xmm2
pmuldq xmm0, xmm3
pmuldq xmm1, xmm3
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm2
psrad xmm1, 5
movaps xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm5
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
andps xmm1, xmmword [0x10201520]
packuswb xmm1, xmm1
movd xmm0, edx
paddb xmm1, xmm0
movd xmm0, dword [esp + ecx + 0x24]
xorps xmm1, xmm0
movd xmm0, eax
pshufd xmm2, xmm0, 0
movd dword [esp + ecx + 0x24], xmm1
paddd xmm2, xmm4
movaps xmm1, xmm2
movaps xmm0, xmm2
punpckldq xmm1, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm3
pmuldq xmm1, xmm3
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm2
psrad xmm1, 5
movaps xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm5
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
andps xmm1, xmmword [0x10201520]
packuswb xmm1, xmm1
movd xmm0, edx
paddb xmm1, xmm0
movd xmm0, dword [edi + ecx]
xorps xmm1, xmm0
movd dword [edi + ecx], xmm1
add ecx, 8
cmp ecx, 0x10
jl 0x100dcbe0
mov dword [esp + 0x1c], ecx
cmp ecx, 0x14
jge 0x100dcd1d
mov eax, 0x92492493
imul ecx
add edx, ecx
sar edx, 5
mov eax, edx
shr eax, 0x1f
add eax, edx
mov cl, al
shl cl, 3
sub cl, al
mov al, byte [esp + 0x1c]
shl cl, 3
sub al, cl
mov ecx, dword [esp + 0x1c]
add al, 0x36
xor byte [esp + ecx + 0x24], al
inc ecx
mov dword [esp + 0x1c], ecx
cmp ecx, 0x14
jl 0x100dcce6
xorps xmm0, xmm0
mov dword [esp + 0x9c], 0
lea ecx, [esp + 0x24]
mov dword [esp + 0xa0], 0
movups xmmword [esp + 0x8c], xmm0
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x100dcd45
sub ecx, edx
lea eax, [esp + 0x24]
push ecx
push eax
lea ecx, [esp + 0x94]
call fcn.10028880
cmp dword [esp + 0xa0], 0xf
lea ecx, [esp + 0x8c]
push 1
cmova ecx, dword [esp + 0x90]
mov edx, esi
push 0
call fcn.10175470
mov ecx, dword [esp + 0xa0]
mov byte [esp + 0x1c], al
cmp ecx, 0xf
jbe 0x100dcdc6
mov edx, dword [esp + 0x8c]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x100dcdb8
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100dee36
push ecx
push edx
call fcn.101a201e
mov al, byte [esp + 0x24]
add esp, 8
test al, al
je 0x100dce60
push 0
push 0x101d84ee
mov ecx, 0x1022cb40
call fcn.10023b60
xor esi, esi
mov dword [esp + 0x24], esi
mov dword [esp + 0x28], esi
nop dword [eax]
mov dl, byte [esi + 0x10456a1c]
lea eax, [esp + 0x24]
mov ecx, dword [esp + esi*4 + 0x48]
push eax
push 1
call fcn.10183e50
test al, al
je 0x100dce1a
cmp byte [esi + 0x10456a1c], 0
sete al
mov byte [esi + 0x10456a1c], al
inc esi
cmp esi, 4
jb 0x100dcdf0
mov esi, dword [0x10456c08]
mov eax, dword [esi + 0x1bec]
cmp dword [esi + 0x1d54], eax
jne 0x100dce44
mov dword [esi + 0x1e58], eax
mov dword [esi + 0x1e5c], 2
test dword [eax + 8], 0x1000000
je 0x100dce54
mov byte [esi + 0x1b9e], 1
call fcn.10163240
mov byte [esi + 0x1b9e], 0
xor esi, esi
cmp byte [esp + 0x1b], 0
mov eax, 0x202c
jne 0x100dce89
push 0
push 0x101d84ee
mov ecx, 0x1022cb40
call fcn.10023b60
mov byte [esp + 0x1b], 1
mov eax, 0x202c
cmp byte [esi + 0x10456a1c], 0
je 0x100dd060
cmp dword [0x1022cb50], 0
xorps xmm0, xmm0
mov edx, dword [esp + esi*4 + 0x48]
je 0x100dcf15
or ebx, 1
mov dword [esp + 0xb4], 2
movups xmmword [esp + 0xa4], xmm0
or ebx, 2
mov dword [esp + 0xb8], 0xf
push edx
lea ecx, [esp + 0xa8]
mov word [esp + 0xa8], ax
mov byte [esp + 0xaa], 0
mov dword [esp + 0x18], ebx
call fcn.100216b0
movups xmm0, xmmword [eax]
movups xmmword [esp + 0x24], xmm0
movq xmm0, qword [eax + 0x10]
movq qword [esp + 0x34], xmm0
mov dword [eax + 0x10], 0
mov dword [eax + 0x14], 0xf
mov byte [eax], 0
lea eax, [esp + 0x24]
jmp 0x100dcf4e
mov ecx, edx
or ebx, 4
mov dword [esp + 0x14], ebx
movups xmmword [esp + 0x60], xmm0
mov dword [esp + 0x70], 0
mov dword [esp + 0x74], 0
lea edi, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x100dcf36
sub ecx, edi
push ecx
push edx
lea ecx, [esp + 0x68]
call fcn.10028880
lea eax, [esp + 0x60]
push eax
mov ecx, 0x1022cb40
call fcn.10021720
test bl, 4
je 0x100dcf9b
and ebx, 0xfffffffb
mov dword [esp + 0x14], ebx
mov ecx, dword [esp + 0x74]
cmp ecx, 0xf
jbe 0x100dcf9b
mov edx, dword [esp + 0x60]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x100dcf91
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100dee36
push ecx
push edx
call fcn.101a201e
add esp, 8
test bl, 2
je 0x100dcfdd
and ebx, 0xfffffffd
mov dword [esp + 0x14], ebx
mov ecx, dword [esp + 0x38]
cmp ecx, 0xf
jbe 0x100dcfdd
mov edx, dword [esp + 0x24]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x100dcfd3
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100dee36
push ecx
push edx
call fcn.101a201e
add esp, 8
test bl, 1
je 0x100dd043
and ebx, 0xfffffffe
mov dword [esp + 0x14], ebx
mov ecx, dword [esp + 0xb8]
cmp ecx, 0xf
jbe 0x100dd025
mov edx, dword [esp + 0xa4]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x100dd01b
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100dee36
push ecx
push edx
call fcn.101a201e
add esp, 8
mov dword [esp + 0xb4], 0
mov dword [esp + 0xb8], 0xf
mov byte [esp + 0xa4], 0
mov eax, dword [0x10456a20]
mov ecx, dword [0x1022ccc8]
lea edx, [eax*8]
sub edx, eax
mov eax, dword [ecx + edx*8 + 0x2c]
bts eax, esi
jmp 0x100dd07b
mov eax, dword [0x10456a20]
mov ecx, dword [0x1022ccc8]
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, 4
jb 0x100dce62
movq xmm0, qword [str.bRTJYV_]
xor ebx, ebx
mov al, byte [0x101f7b94]
mov esi, dword [0x1022ccc8]
movq qword [esp + 0x24], xmm0
mov byte [esp + 0x2c], al
nop dword [eax + eax]
mov eax, 0x24924925
mul ebx
mov eax, ebx
sub eax, edx
shr eax, 1
add eax, edx
shr eax, 5
mov cl, al
shl cl, 3
sub cl, al
mov al, bl
shl cl, 3
sub al, cl
add al, 0x36
xor byte [esp + ebx + 0x24], al
inc ebx
cmp ebx, 9
jl 0x100dd0b0
lea edx, [esi + 0xf2c]
lea ecx, [esp + 0x24]
call fcn.101748d0
movq xmm0, qword [0x101f62b4]
xor ecx, ecx
mov al, byte [0x101f62bc]
mov esi, dword [0x1022ccc8]
movq qword [esp + 0x24], xmm0
mov byte [esp + 0x2c], al
mov dword [esp + 0x1c], ecx
nop
mov eax, 0x24924925
mul ecx
mov eax, ecx
sub eax, edx
shr eax, 1
add eax, edx
shr eax, 5
mov cl, al
shl cl, 3
sub cl, al
mov al, byte [esp + 0x1c]
shl cl, 3
sub al, cl
mov ecx, dword [esp + 0x1c]
add al, 0x36
xor byte [esp + ecx + 0x24], al
inc ecx
mov dword [esp + 0x1c], ecx
cmp ecx, 9
jl 0x100dd110
lea edx, [esi + 1]
lea ecx, [esp + 0x24]
call fcn.101748d0
mov eax, dword [0x101f7a00]
xor ecx, ecx
cmp dword [0x1022e690], 2
movups xmm0, xmmword [0x101f79f0]
mov dword [esp + 0x58], eax
mov al, byte [0x101f7a04]
movups xmmword [esp + 0x48], xmm0
mov byte [esp + 0x5c], al
mov dword [esp + 0x1c], ecx
jl 0x100dd2c0
movaps xmm0, xmmword [0x10201550]
lea edi, [esp + 0x4c]
mov dl, byte [esp + 0x13]
movaps xmm4, xmmword [0x10201400]
movaps xmm3, xmmword [0x10201840]
movaps xmm5, xmmword [0x10201490]
movaps xmmword [esp + 0x60], xmm0
mov esi, dword [esp + 0x60]
mov byte [esp + 0x13], dl
movd xmm0, ecx
lea eax, [ecx + 4]
pshufd xmm2, xmm0, 0
paddd xmm2, xmm4
movaps xmm1, xmm2
movaps xmm0, xmm2
punpckhdq xmm0, xmm2
punpckldq xmm1, xmm2
pmuldq xmm0, xmm3
pmuldq xmm1, xmm3
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm2
psrad xmm1, 5
movaps xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm5
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
andps xmm1, xmmword [0x10201520]
packuswb xmm1, xmm1
movd xmm0, esi
paddb xmm1, xmm0
movd xmm0, dword [esp + ecx + 0x48]
xorps xmm1, xmm0
movd xmm0, eax
pshufd xmm2, xmm0, 0
movd dword [esp + ecx + 0x48], xmm1
paddd xmm2, xmm4
movaps xmm1, xmm2
movaps xmm0, xmm2
punpckldq xmm1, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm3
pmuldq xmm1, xmm3
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm2
psrad xmm1, 5
movaps xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm5
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
andps xmm1, xmmword [0x10201520]
packuswb xmm1, xmm1
movd xmm0, esi
paddb xmm1, xmm0
movd xmm0, dword [ecx + edi]
xorps xmm1, xmm0
movd dword [ecx + edi], xmm1
add ecx, 8
cmp ecx, 0x10
jl 0x100dd1b4
mov dword [esp + 0x1c], ecx
cmp ecx, 0x15
jl 0x100dd2c0
mov byte [esp + 0x13], dl
jmp 0x100dd2f7
mov eax, 0x92492493
imul ecx
add edx, ecx
sar edx, 5
mov eax, edx
shr eax, 0x1f
add eax, edx
mov cl, al
shl cl, 3
sub cl, al
mov al, byte [esp + 0x1c]
shl cl, 3
sub al, cl
mov ecx, dword [esp + 0x1c]
add al, 0x36
xor byte [esp + ecx + 0x48], al
inc ecx
mov dword [esp + 0x1c], ecx
cmp ecx, 0x15
jl 0x100dd2c0
mov edi, dword [0x1022ccc8]
mov al, byte [0x101f611c]
add edi, 8
movq xmm0, qword [str.fEQVHRHD_]
xor ebx, ebx
mov dword [esp + 0x1c], edi
mov byte [esp + 0x2c], al
movq qword [esp + 0x24], xmm0
nop dword [eax]
mov eax, 0x24924925
mul ebx
mov eax, ebx
sub eax, edx
shr eax, 1
add eax, edx
shr eax, 5
mov cl, al
shl cl, 3
sub cl, al
mov al, bl
shl cl, 3
sub al, cl
add al, 0x36
xor byte [esp + ebx + 0x24], al
inc ebx
cmp ebx, 9
jl 0x100dd320
xor esi, esi
lea edx, [esp + 0x48]
cmp byte [esp + 0x48], 0
je 0x100dd381
mov al, byte [esp + 0x13]
mov dword [esp + 0x1c], edi
mov byte [esp + 0x13], al
mov ecx, edx
lea edi, [ecx + 1]
nop word [eax + eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x100dd370
sub ecx, edi
inc edx
add edx, ecx
inc esi
cmp byte [edx], al
jne 0x100dd365
mov edx, dword [esp + 0x1c]
lea eax, [esp + 0x48]
push 1
push 0xffffffffffffffff
push esi
push eax
push 0x10176310
lea ecx, [esp + 0x38]
call fcn.10176370
mov eax, dword [0x10456a20]
mov esi, 0x1022c710
mov ecx, dword [0x1022ccc8]
movq xmm0, qword [str.L_UCYN_]
movq qword [esp + 0x24], xmm0
lea edx, [eax*8]
sub edx, eax
mov al, byte [ecx + edx*8 + 0x34]
and al, 1
mov byte [0x10456a94], al
mov eax, dword [ecx + edx*8 + 0x34]
shr eax, 1
and al, 1
mov byte [0x10456a95], al
mov eax, dword [ecx + edx*8 + 0x34]
shr eax, 2
and al, 1
mov byte [0x10456a96], al
mov eax, dword [ecx + edx*8 + 0x34]
shr eax, 3
and al, 1
mov byte [0x10456a97], al
mov eax, dword [ecx + edx*8 + 0x34]
shr eax, 4
and al, 1
mov byte [0x10456a98], al
mov eax, dword [ecx + edx*8 + 0x34]
shr eax, 5
and al, 1
mov byte [0x10456a99], al
mov eax, dword [ecx + edx*8 + 0x34]
shr eax, 6
and al, 1
mov byte [0x10456a9a], al
mov eax, dword [ecx + edx*8 + 0x34]
shr eax, 7
and al, 1
mov byte [0x10456a9b], al
mov eax, dword [ecx + edx*8 + 0x34]
shr eax, 8
and al, 1
cmp dword [0x1022c724], 0xf
mov byte [0x10456a9c], al
mov al, byte [0x101f6a14]
mov byte [esp + 0x2c], al
jbe 0x100dd456
mov esi, dword [0x1022c710]
xor ebx, ebx
nop dword [eax + eax]
mov eax, 0x24924925
mul ebx
mov eax, ebx
sub eax, edx
shr eax, 1
add eax, edx
shr eax, 5
mov cl, al
shl cl, 3
sub cl, al
mov al, bl
shl cl, 3
sub al, cl
add al, 0x36
xor byte [esp + ebx + 0x24], al
inc ebx
cmp ebx, 9
jl 0x100dd460
mov ebx, dword [esp + 0x14]
lea ecx, [esp + 0x24]
xorps xmm0, xmm0
mov dword [esp + 0x9c], 0
movups xmmword [esp + 0x8c], xmm0
mov dword [esp + 0xa0], 0
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x100dd4b8
sub ecx, edx
lea eax, [esp + 0x24]
push ecx
push eax
lea ecx, [esp + 0x94]
call fcn.10028880
cmp dword [esp + 0xa0], 0xf
lea ecx, [esp + 0x8c]
push 1
cmova ecx, dword [esp + 0x90]
mov edx, esi
push 0
call fcn.10175470
mov ecx, dword [esp + 0xa0]
mov byte [esp + 0x1c], al
cmp ecx, 0xf
jbe 0x100dd539
mov edx, dword [esp + 0x8c]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x100dd52b
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100dee3b
push ecx
push edx
call fcn.101a201e
mov al, byte [esp + 0x24]
add esp, 8
test al, al
je 0x100dd5d7
push 0
push 0x101d84ee
mov ecx, 0x1022c710
call fcn.10023b60
mov al, byte [esp + 0x13]
xor esi, esi
mov dword [esp + 0x24], esi
mov dword [esp + 0x28], esi
mov byte [esp + 0x13], al
mov dl, byte [esi + 0x10456a94]
lea eax, [esp + 0x24]
mov ecx, dword [esi*4 + 0x101f64d0]
push eax
push 1
call fcn.10183e50
test al, al
je 0x100dd591
cmp byte [esi + 0x10456a94], 0
sete al
mov byte [esi + 0x10456a94], al
inc esi
cmp esi, 9
jb 0x100dd564
mov esi, dword [0x10456c08]
mov eax, dword [esi + 0x1bec]
cmp dword [esi + 0x1d54], eax
jne 0x100dd5bb
mov dword [esi + 0x1e58], eax
mov dword [esi + 0x1e5c], 2
test dword [eax + 8], 0x1000000
je 0x100dd5cb
mov byte [esi + 0x1b9e], 1
call fcn.10163240
mov byte [esi + 0x1b9e], 0
xor esi, esi
nop dword [eax]
cmp byte [esp + 0x13], 0
jne 0x100dd5fd
push 0
push 0x101d84ee
mov ecx, 0x1022c710
call fcn.10023b60
mov byte [esp + 0x13], 1
cmp byte [esi + 0x10456a94], 0
je 0x100dd7ce
cmp dword [0x1022c720], 0
xorps xmm0, xmm0
mov edx, dword [esi*4 + 0x101f64d0]
je 0x100dd68d
or ebx, 8
mov dword [esp + 0x9c], 2
movups xmmword [esp + 0x8c], xmm0
mov eax, 0x202c
mov dword [esp + 0xa0], 0xf
push edx
lea ecx, [esp + 0x90]
mov word [esp + 0x90], ax
mov byte [esp + 0x92], 0
or ebx, 0x10
call fcn.100216b0
movups xmm0, xmmword [eax]
movups xmmword [esp + 0x60], xmm0
movq xmm0, qword [eax + 0x10]
movq qword [esp + 0x70], xmm0
mov dword [eax + 0x10], 0
mov dword [eax + 0x14], 0xf
mov byte [eax], 0
lea eax, [esp + 0x60]
jmp 0x100dd6c8
mov ecx, edx
mov dword [esp + 0x58], 0
or ebx, 0x20
mov dword [esp + 0x5c], 0
movups xmmword [esp + 0x48], xmm0
lea edi, [ecx + 1]
nop word [eax + eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x100dd6b0
sub ecx, edi
push ecx
push edx
lea ecx, [esp + 0x50]
call fcn.10028880
lea eax, [esp + 0x48]
push eax
mov ecx, 0x1022c710
call fcn.10021720
test bl, 0x20
je 0x100dd711
mov ecx, dword [esp + 0x5c]
and ebx, 0xffffffdf
cmp ecx, 0xf
jbe 0x100dd711
mov edx, dword [esp + 0x48]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x100dd707
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100dee36
push ecx
push edx
call fcn.101a201e
add esp, 8
test bl, 0x10
je 0x100dd74f
mov ecx, dword [esp + 0x74]
and ebx, 0xffffffef
cmp ecx, 0xf
jbe 0x100dd74f
mov edx, dword [esp + 0x60]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x100dd745
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100dee36
push ecx
push edx
call fcn.101a201e
add esp, 8
test bl, 8
je 0x100dd7b1
mov ecx, dword [esp + 0xa0]
and ebx, 0xfffffff7
cmp ecx, 0xf
jbe 0x100dd793
mov edx, dword [esp + 0x8c]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x100dd789
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100dee36
push ecx
push edx
call fcn.101a201e
add esp, 8
mov dword [esp + 0x9c], 0
mov dword [esp + 0xa0], 0xf
mov byte [esp + 0x8c], 0
mov eax, dword [0x10456a20]
mov ecx, dword [0x1022ccc8]
lea edx, [eax*8]
sub edx, eax
mov eax, dword [ecx + edx*8 + 0x34]
bts eax, esi
jmp 0x100dd7e9
mov eax, dword [0x10456a20]
mov ecx, dword [0x1022ccc8]
lea edx, [eax*8]
sub edx, eax
mov eax, dword [ecx + edx*8 + 0x34]
btr eax, esi
inc esi
mov dword [ecx + edx*8 + 0x34], eax
cmp esi, 9
jb 0x100dd5e0
movq xmm0, qword [0x101f7bc0]
xor ebx, ebx
mov al, byte [0x101f7bc8]
movq qword [esp + 0x24], xmm0
mov byte [esp + 0x2c], al
mov eax, 0x24924925
mul ebx
mov eax, ebx
sub eax, edx
shr eax, 1
add eax, edx
shr eax, 5
mov cl, al
shl cl, 3
sub cl, al
mov al, bl
shl cl, 3
sub al, cl
add al, 0x36
xor byte [esp + ebx + 0x24], al
inc ebx
cmp ebx, 9
jl 0x100dd810
lea eax, [esp + 0x24]
push eax
call fcn.101728b0
mov ax, word [0x101f714c]
add esp, 4
movq xmm0, qword [str.rXM_VHN_]
movq qword [esp + 0x3c], xmm0
mov word [esp + 0x44], ax
test ah, ah
je 0x100dd89c
xor ebx, ebx
nop dword [eax + eax]
mov eax, 0x24924925
mul ebx
mov eax, ebx
sub eax, edx
shr eax, 1
add eax, edx
shr eax, 5
mov cl, al
shl cl, 3
sub cl, al
mov al, bl
shl cl, 3
sub al, cl
add al, 0x36
xor byte [esp + ebx + 0x3c], al
inc ebx
cmp ebx, 0xa
jl 0x100dd870
mov eax, dword [0x10456c08]
lea ecx, [esp + 0x3c]
xor edx, edx
mov esi, dword [eax + 0x1bec]
mov eax, dword [esi + 0xe8]
add esi, 0xe0
mov ebx, dword [esi]
push dword [eax + ebx*4 - 4]
call fcn.10158960
mov edi, dword [esi + 4]
mov dword [esp + 0x3c], eax
cmp ebx, edi
jne 0x100dd8f3
lea ecx, [ebx + 1]
test edi, edi
je 0x100dd8e1
mov eax, edi
cdq
sub eax, edx
sar eax, 1
add eax, edi
jmp 0x100dd8e6
mov eax, 8
cmp eax, ecx
cmovg ecx, eax
push ecx
mov ecx, esi
call fcn.100c2eb0
mov ecx, dword [esi]
mov eax, dword [esi + 8]
mov edx, dword [esp + 0x3c]
movq xmm0, qword [0x101f6ef0]
mov dword [esp + 0x24], 0x42c80000
mov dword [eax + ecx*4], edx
mov ax, word [0x101f6ef8]
inc dword [esi]
xor ebx, ebx
mov esi, dword [0x1022ccc8]
mov word [esp + 0x44], ax
mov al, byte [0x101f6efa]
mov dword [esp + 0x28], 0
movq qword [esp + 0x3c], xmm0
mov byte [esp + 0x46], al
nop dword [eax + eax]
mov eax, 0x24924925
mul ebx
mov eax, ebx
sub eax, edx
shr eax, 1
add eax, edx
shr eax, 5
mov cl, al
shl cl, 3
sub cl, al
mov al, bl
shl cl, 3
sub al, cl
add al, 0x36
xor byte [esp + ebx + 0x3c], al
inc ebx
cmp ebx, 0xb
jl 0x100dd940
push ecx
lea eax, [esp + 0x28]
push eax
lea edx, [esi + 0xee4]
lea ecx, [esp + 0x44]
call fcn.100c4d10
mov ecx, dword [0x10456c08]
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.10158960
mov edi, dword [esi + 4]
mov dword [esp + 0x3c], eax
cmp ebx, edi
jne 0x100dd9e3
lea ecx, [ebx + 1]
test edi, edi
je 0x100dd9d1
mov eax, edi
cdq
sub eax, edx
sar eax, 1
add eax, edi
jmp 0x100dd9d6
mov eax, 8
cmp eax, ecx
cmovg ecx, eax
push ecx
mov ecx, esi
call fcn.100c2eb0
mov ecx, dword [esi]
mov eax, dword [esi + 8]
mov edx, dword [esp + 0x3c]
movq xmm0, qword [str.ISSIM_]
mov dword [esp + 0x24], 0x42c80000
mov dword [eax + ecx*4], edx
mov ax, word [0x101f6b04]
inc dword [esi]
mov esi, dword [0x1022ccc8]
mov dword [esp + 0x28], 0
movq qword [esp + 0x3c], xmm0
mov word [esp + 0x44], ax
test ah, ah
je 0x100dda52
xor ebx, ebx
mov eax, 0x24924925
mul ebx
mov eax, ebx
sub eax, edx
shr eax, 1
add eax, edx
shr eax, 5
mov cl, al
shl cl, 3
sub cl, al
mov al, bl
shl cl, 3
sub al, cl
add al, 0x36
xor byte [esp + ebx + 0x3c], al
inc ebx
cmp ebx, 0xa
jl 0x100dda26
push ecx
lea eax, [esp + 0x28]
push eax
lea edx, [esi + 0xf08]
lea ecx, [esp + 0x44]
call fcn.100c4d10
mov eax, dword [0x10456c08]
mov eax, dword [eax + 0x1bec]
dec dword [eax + 0xe0]
call fcn.100cec90
mov eax, dword [0x10456a20]
lea ecx, [eax*8]
sub ecx, eax
mov eax, dword [0x1022ccc8]
xor ebx, ebx
lea esi, [eax + ecx*8]
mov eax, dword [str.sYY_V_]
mov dword [esp + 0x3c], eax
mov ax, word [0x101f6668]
mov word [esp + 0x40], ax
mov al, byte [0x101f666a]
mov byte [esp + 0x42], al
mov eax, 0x24924925
mul ebx
mov eax, ebx
sub eax, edx
shr eax, 1
add eax, edx
shr eax, 5
mov cl, al
shl cl, 3
sub cl, al
mov al, bl
shl cl, 3
sub al, cl
add al, 0x36
xor byte [esp + ebx + 0x3c], al
inc ebx
cmp ebx, 7
jl 0x100ddab2
lea edx, [esi + 0x28]
lea ecx, [esp + 0x3c]
call fcn.101748d0
mov ebx, dword [0x10456c08]
mov eax, dword [ebx + 0x1bec]
mov edi, dword [eax + 0x1fc]
lea esi, [eax + 0x1f8]
mov ecx, dword [esi]
mov dword [esp + 0x14], eax
cmp ecx, edi
jne 0x100ddb32
inc ecx
test edi, edi
je 0x100ddb1c
mov eax, edi
cdq
sub eax, edx
sar eax, 1
add eax, edi
jmp 0x100ddb21
mov eax, 8
cmp eax, ecx
cmovg ecx, eax
push ecx
mov ecx, esi
call fcn.100c2eb0
mov eax, dword [esp + 0x14]
mov edx, dword [esi]
mov ecx, dword [esi + 8]
mov eax, dword [eax + 0x1f0]
mov dword [ecx + edx*4], eax
mov eax, dword [esp + 0x14]
inc dword [esi]
mov dword [eax + 0x1f0], 0x43480000
and dword [ebx + 0x1cd4], 0xfffffffe
mov esi, dword [0x1022ccc8]
mov eax, dword [0x101f7290]
add esi, 0x10
cmp byte [0x101f7293], 0
mov edi, dword [0x1022e690]
mov dword [esp + 0x14], eax
je 0x100ddc2e
xor ebx, ebx
cmp edi, 2
jl 0x100ddc01
movaps xmm3, xmmword [0x10201400]
movaps xmm2, xmm3
movaps xmm0, xmm3
punpckhdq xmm0, xmm3
pmuldq xmm0, xmmword [0x10201840]
punpckldq xmm2, xmm3
pmuldq xmm2, xmmword [0x10201840]
shufps xmm2, xmm0, 0xdd
paddd xmm2, xmm3
psrad xmm2, 5
movaps xmm0, xmm2
psrld xmm0, 0x1f
paddd xmm0, xmm2
pmulld xmm0, xmmword [0x10201490]
psubd xmm3, xmm0
pshuflw xmm0, xmm3, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
andps xmm1, xmmword [0x10201520]
packuswb xmm1, xmm1
paddb xmm1, xmmword [0x10201550]
movd xmm0, eax
xorps xmm1, xmm0
movd dword [esp + 0x14], xmm1
jmp 0x100ddc2e
mov eax, 0x92492493
imul ebx
add edx, ebx
sar edx, 5
mov eax, edx
shr eax, 0x1f
add eax, edx
mov cl, al
shl cl, 3
sub cl, al
mov al, bl
shl cl, 3
sub al, cl
add al, 0x36
xor byte [esp + ebx + 0x14], al
inc ebx
cmp ebx, 4
jl 0x100ddc01
push 0x20
push str._.2f
lea eax, [esp + 0x44]
mov dword [esp + 0x24], 0
push eax
lea eax, [esp + 0x28]
mov dword [esp + 0x48], 0x437f0000
push eax
push esi
mov edx, 8
lea ecx, [esp + 0x28]
call fcn.101780f0
mov eax, dword [0x10456a20]
movq xmm0, qword [str.LZRZR__]
inc eax
movq qword [esp + 0x24], xmm0
lea ecx, [eax*8]
sub ecx, eax
mov eax, dword [0x1022ccc8]
lea esi, [eax + ecx*8]
mov ax, word [0x101f6c00]
mov word [esp + 0x2c], ax
test ah, ah
je 0x100ddcc0
xor ebx, ebx
mov eax, 0x24924925
mul ebx
mov eax, ebx
sub eax, edx
shr eax, 1
add eax, edx
shr eax, 5
mov cl, al
shl cl, 3
sub cl, al
mov al, bl
shl cl, 3
sub al, cl
add al, 0x36
xor byte [esp + ebx + 0x24], al
inc ebx
cmp ebx, 0xa
jl 0x100ddc94
push 0
push 0x101f4598
lea eax, [esp + 0x44]
mov dword [esp + 0x44], 0x64
push eax
lea eax, [esp + 0x20]
mov dword [esp + 0x20], 0
push eax
push esi
mov edx, 4
lea ecx, [esp + 0x38]
call fcn.101780f0
mov eax, dword [0x10456a20]
movups xmm0, xmmword [str.BTMSKSTPK____EdRUVLZPN_]
lea esi, [eax*8]
sub esi, eax
mov eax, dword [0x1022ccc8]
add eax, 0x48
movups xmmword [esp + 0x48], xmm0
psrldq xmm0, 0xf
lea esi, [eax + esi*8]
movd eax, xmm0
test al, al
je 0x100dde8d
xor ebx, ebx
cmp edi, 2
jl 0x100dde60
movaps xmm0, xmmword [0x10201550]
lea ebx, [esp + 0x4c]
movaps xmm4, xmmword [0x10201400]
xor ecx, ecx
movaps xmm3, xmmword [0x10201840]
movaps xmm5, xmmword [0x10201490]
movaps xmmword [esp + 0x60], xmm0
mov edx, dword [esp + 0x60]
nop dword [eax]
movd xmm0, ecx
lea eax, [ecx + 4]
pshufd xmm2, xmm0, 0
paddd xmm2, xmm4
movaps xmm1, xmm2
movaps xmm0, xmm2
punpckhdq xmm0, xmm2
punpckldq xmm1, xmm2
pmuldq xmm0, xmm3
pmuldq xmm1, xmm3
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm2
psrad xmm1, 5
movaps xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm5
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
andps xmm1, xmmword [0x10201520]
packuswb xmm1, xmm1
movd xmm0, edx
paddb xmm1, xmm0
movd xmm0, dword [esp + ecx + 0x48]
xorps xmm1, xmm0
movd xmm0, eax
pshufd xmm2, xmm0, 0
movd dword [esp + ecx + 0x48], xmm1
paddd xmm2, xmm4
movaps xmm1, xmm2
movaps xmm0, xmm2
punpckldq xmm1, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm3
pmuldq xmm1, xmm3
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm2
psrad xmm1, 5
movaps xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm5
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
andps xmm1, xmmword [0x10201520]
packuswb xmm1, xmm1
movd xmm0, edx
paddb xmm1, xmm0
movd xmm0, dword [ebx + ecx]
xorps xmm1, xmm0
movd dword [ebx + ecx], xmm1
add ecx, 8
cmp ecx, 0x10
jl 0x100ddd60
jmp 0x100dde8d
mov eax, 0x92492493
imul ebx
add edx, ebx
sar edx, 5
mov eax, edx
shr eax, 0x1f
add eax, edx
mov cl, al
shl cl, 3
sub cl, al
mov al, bl
shl cl, 3
sub al, cl
add al, 0x36
xor byte [esp + ebx + 0x48], al
inc ebx
cmp ebx, 0x10
jl 0x100dde60
push 0
push 0x101f4598
lea eax, [esp + 0x44]
mov dword [esp + 0x44], 0x64
push eax
lea eax, [esp + 0x20]
mov dword [esp + 0x20], 0
push eax
push esi
mov edx, 4
lea ecx, [esp + 0x5c]
call fcn.101780f0
mov eax, dword [0x10456a20]
movups xmm0, xmmword [str.BTMSKSTPK__EYQ__YSI_]
mov esi, dword [0x1022ccc8]
add esi, 0x4c
lea ecx, [eax*8]
sub ecx, eax
movups xmmword [esp + 0x48], xmm0
psrldq xmm0, 0xf
movd eax, xmm0
lea esi, [esi + ecx*8]
test al, al
je 0x100de05d
xor ebx, ebx
cmp edi, 2
jl 0x100de030
movaps xmm0, xmmword [0x10201550]
lea edi, [esp + 0x4c]
movaps xmm4, xmmword [0x10201400]
xor ecx, ecx
movaps xmm3, xmmword [0x10201840]
movaps xmm5, xmmword [0x10201490]
movaps xmmword [esp + 0x60], xmm0
mov edx, dword [esp + 0x60]
nop word [eax + eax]
movd xmm0, ecx
lea eax, [ecx + 4]
pshufd xmm2, xmm0, 0
paddd xmm2, xmm4
movaps xmm1, xmm2
movaps xmm0, xmm2
punpckhdq xmm0, xmm2
punpckldq xmm1, xmm2
pmuldq xmm0, xmm3
pmuldq xmm1, xmm3
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm2
psrad xmm1, 5
movaps xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm5
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
andps xmm1, xmmword [0x10201520]
packuswb xmm1, xmm1
movd xmm0, edx
paddb xmm1, xmm0
movd xmm0, dword [esp + ecx + 0x48]
xorps xmm1, xmm0
movd xmm0, eax
pshufd xmm2, xmm0, 0
movd dword [esp + ecx + 0x48], xmm1
paddd xmm2, xmm4
movaps xmm1, xmm2
movaps xmm0, xmm2
punpckldq xmm1, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm3
pmuldq xmm1, xmm3
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm2
psrad xmm1, 5
movaps xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm5
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
andps xmm1, xmmword [0x10201520]
packuswb xmm1, xmm1
movd xmm0, edx
paddb xmm1, xmm0
movd xmm0, dword [edi + ecx]
xorps xmm1, xmm0
movd dword [edi + ecx], xmm1
add ecx, 8
cmp ecx, 0x10
jl 0x100ddf30
jmp 0x100de05d
mov eax, 0x92492493
imul ebx
add edx, ebx
sar edx, 5
mov eax, edx
shr eax, 0x1f
add eax, edx
mov cl, al
shl cl, 3
sub cl, al
mov al, bl
shl cl, 3
sub al, cl
add al, 0x36
xor byte [esp + ebx + 0x48], al
inc ebx
cmp ebx, 0x10
jl 0x100de030
push 0
push 0x101f4598
lea eax, [esp + 0x44]
mov dword [esp + 0x44], 0x64
push eax
lea eax, [esp + 0x20]
mov dword [esp + 0x20], 0
push eax
push esi
mov edx, 4
lea ecx, [esp + 0x5c]
call fcn.101780f0
mov eax, dword [0x10456a20]
movq xmm0, qword [0x101f6998]
movq qword [esp + 0x24], xmm0
lea esi, [eax*8]
sub esi, eax
mov eax, dword [0x1022ccc8]
add eax, 0x50
xor ebx, ebx
lea esi, [eax + esi*8]
mov ax, word [0x101f69a0]
mov word [esp + 0x2c], ax
mov al, byte [0x101f69a2]
mov byte [esp + 0x2e], al
nop word [eax + eax]
mov eax, 0x24924925
mul ebx
mov eax, ebx
sub eax, edx
shr eax, 1
add eax, edx
shr eax, 5
mov cl, al
shl cl, 3
sub cl, al
mov al, bl
shl cl, 3
sub al, cl
add al, 0x36
xor byte [esp + ebx + 0x24], al
inc ebx
cmp ebx, 0xb
jl 0x100de0d0
push 0
push 0x101f4598
lea eax, [esp + 0x44]
mov dword [esp + 0x44], 0x82
push eax
lea eax, [esp + 0x20]
mov dword [esp + 0x20], 0
push eax
push esi
mov edx, 4
lea ecx, [esp + 0x38]
call fcn.101780f0
mov edi, dword [0x10456a20]
lea edx, [esp + 0x3c]
mov eax, dword [0x1022ccc8]
add eax, 0x50
mov dword [esp + 0x14], 0xfa
mov dword [esp + 0x3c], 0
lea ecx, [edi*8]
sub ecx, edi
lea esi, [eax + ecx*8]
mov ecx, dword [esi]
lea eax, [esp + 0x14]
test ecx, ecx
cmovns edx, esi
cmp ecx, 0xfa
cmovle eax, edx
xor edx, edx
mov eax, dword [eax]
mov dword [esi], eax
mov eax, dword [0x10456c08]
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.10158960
mov ebx, dword [esi + 4]
mov ecx, dword [esi]
mov dword [esp + 0x3c], eax
cmp ecx, ebx
jne 0x100de1d0
inc ecx
test ebx, ebx
je 0x100de1b8
mov eax, ebx
cdq
sub eax, edx
sar eax, 1
add eax, ebx
jmp 0x100de1bd
mov eax, 8
cmp eax, ecx
cmovg ecx, eax
push ecx
mov ecx, esi
call fcn.100c2eb0
mov edi, dword [0x10456a20]
mov ecx, dword [esi]
mov eax, dword [esi + 8]
mov edx, dword [esp + 0x3c]
movups xmm0, xmmword [0x101f7c98]
mov dword [eax + ecx*4], edx
lea ecx, [edi*8]
inc dword [esi]
sub ecx, edi
mov eax, dword [0x1022ccc8]
mov edi, dword [0x1022e690]
movups xmmword [esp + 0x48], xmm0
psrldq xmm0, 0xf
lea esi, [eax + ecx*8]
movd eax, xmm0
test al, al
je 0x100de37d
xor ebx, ebx
cmp edi, 2
jl 0x100de350
movaps xmm0, xmmword [0x10201550]
lea ebx, [esp + 0x4c]
movaps xmm4, xmmword [0x10201400]
xor ecx, ecx
movaps xmm3, xmmword [0x10201840]
movaps xmm5, xmmword [0x10201490]
movaps xmmword [esp + 0x60], xmm0
mov edx, dword [esp + 0x60]
nop dword [eax + eax]
movd xmm0, ecx
lea eax, [ecx + 4]
pshufd xmm2, xmm0, 0
paddd xmm2, xmm4
movaps xmm1, xmm2
movaps xmm0, xmm2
punpckhdq xmm0, xmm2
punpckldq xmm1, xmm2
pmuldq xmm0, xmm3
pmuldq xmm1, xmm3
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm2
psrad xmm1, 5
movaps xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm5
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
andps xmm1, xmmword [0x10201520]
packuswb xmm1, xmm1
movd xmm0, edx
paddb xmm1, xmm0
movd xmm0, dword [esp + ecx + 0x48]
xorps xmm1, xmm0
movd xmm0, eax
pshufd xmm2, xmm0, 0
movd dword [esp + ecx + 0x48], xmm1
paddd xmm2, xmm4
movaps xmm1, xmm2
movaps xmm0, xmm2
punpckldq xmm1, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm3
pmuldq xmm1, xmm3
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm2
psrad xmm1, 5
movaps xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm5
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
andps xmm1, xmmword [0x10201520]
packuswb xmm1, xmm1
movd xmm0, edx
paddb xmm1, xmm0
movd xmm0, dword [ecx + ebx]
xorps xmm1, xmm0
movd dword [ecx + ebx], xmm1
add ecx, 8
cmp ecx, 0x10
jl 0x100de250
jmp 0x100de37d
mov eax, 0x92492493
imul ebx
add edx, ebx
sar edx, 5
mov eax, edx
shr eax, 0x1f
add eax, edx
mov cl, al
shl cl, 3
sub cl, al
mov al, bl
shl cl, 3
sub al, cl
add al, 0x36
xor byte [esp + ebx + 0x48], al
inc ebx
cmp ebx, 0x10
jl 0x100de350
xorps xmm0, xmm0
mov dword [esp + 0x34], 0
lea ecx, [esp + 0x48]
mov dword [esp + 0x38], 0
movups xmmword [esp + 0x24], xmm0
lea edx, [ecx + 1]
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x100de3a0
sub ecx, edx
lea eax, [esp + 0x48]
push ecx
push eax
lea ecx, [esp + 0x2c]
call fcn.10028880
cmp dword [esp + 0x38], 0xf
lea ecx, [esp + 0x24]
lea edx, [esi + 0x41]
cmova ecx, dword [esp + 0x24]
call fcn.101748d0
mov ecx, dword [esp + 0x38]
cmp ecx, 0xf
jbe 0x100de404
mov edx, dword [esp + 0x24]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x100de3fa
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100dee40
push ecx
push edx
call fcn.101a201e
add esp, 8
mov ecx, dword [0x10456c08]
mov dword [esp + 0x34], 0
mov dword [esp + 0x38], 0xf
mov byte [esp + 0x24], 0
mov eax, dword [ecx + 0x1bec]
mov byte [eax + 0xa8], 1
mov edx, dword [ecx + 0x1bec]
cmp byte [edx + 0xab], 0
jne 0x100de487
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 [0x101f622b], 0
mov eax, dword [str.RA9]
mov esi, dword [0x1022ccc8]
mov dword [esp + 0x24], 0x42c80000
mov dword [esp + 0x28], 0
mov dword [esp + 0x14], eax
je 0x100de56d
xor ebx, ebx
cmp edi, 2
jl 0x100de540
movaps xmm3, xmmword [0x10201400]
movaps xmm2, xmm3
movaps xmm0, xmm3
punpckhdq xmm0, xmm3
pmuldq xmm0, xmmword [0x10201840]
punpckldq xmm2, xmm3
pmuldq xmm2, xmmword [0x10201840]
shufps xmm2, xmm0, 0xdd
paddd xmm2, xmm3
psrad xmm2, 5
movaps xmm0, xmm2
psrld xmm0, 0x1f
paddd xmm0, xmm2
pmulld xmm0, xmmword [0x10201490]
psubd xmm3, xmm0
pshuflw xmm0, xmm3, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
andps xmm1, xmmword [0x10201520]
packuswb xmm1, xmm1
paddb xmm1, xmmword [0x10201550]
movd xmm0, eax
xorps xmm1, xmm0
movd dword [esp + 0x14], xmm1
jmp 0x100de56d
mov eax, 0x92492493
imul ebx
add edx, ebx
sar edx, 5
mov eax, edx
shr eax, 0x1f
add eax, edx
mov cl, al
shl cl, 3
sub cl, al
mov al, bl
shl cl, 3
sub al, cl
add al, 0x36
xor byte [esp + ebx + 0x14], al
inc ebx
cmp ebx, 4
jl 0x100de540
push ecx
lea eax, [esp + 0x28]
push eax
lea edx, [esi + 0xa58]
lea ecx, [esp + 0x1c]
call fcn.100c4d10
mov ebx, dword [0x10456c08]
mov edi, dword [0x10456a20]
mov eax, dword [ebx + 0x1bec]
lea ecx, [edi*8]
sub ecx, edi
dec dword [eax + 0xe0]
mov eax, dword [0x1022ccc8]
cmp byte [eax + ecx*8 + 0x41], 0
je 0x100de77e
movups xmm0, xmmword [0x101f7c98]
lea esi, [eax + 0x54]
lea esi, [esi + ecx*8]
movups xmmword [esp + 0x48], xmm0
psrldq xmm0, 0xf
movd eax, xmm0
test al, al
je 0x100de73d
xor ebx, ebx
cmp dword [0x1022e690], 2
jl 0x100de710
movaps xmm0, xmmword [0x10201550]
lea edi, [esp + 0x4c]
movaps xmm4, xmmword [0x10201400]
xor ecx, ecx
movaps xmm3, xmmword [0x10201840]
movaps xmm5, xmmword [0x10201490]
movaps xmmword [esp + 0x60], xmm0
mov edx, dword [esp + 0x60]
movd xmm0, ecx
lea eax, [ecx + 4]
pshufd xmm2, xmm0, 0
paddd xmm2, xmm4
movaps xmm1, xmm2
movaps xmm0, xmm2
punpckhdq xmm0, xmm2
punpckldq xmm1, xmm2
pmuldq xmm0, xmm3
pmuldq xmm1, xmm3
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm2
psrad xmm1, 5
movaps xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm5
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
andps xmm1, xmmword [0x10201520]
packuswb xmm1, xmm1
movd xmm0, edx
paddb xmm1, xmm0
movd xmm0, dword [esp + ecx + 0x48]
xorps xmm1, xmm0
movd xmm0, eax
pshufd xmm2, xmm0, 0
movd dword [esp + ecx + 0x48], xmm1
paddd xmm2, xmm4
movaps xmm1, xmm2
movaps xmm0, xmm2
punpckldq xmm1, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm3
pmuldq xmm1, xmm3
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm2
psrad xmm1, 5
movaps xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm5
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
andps xmm1, xmmword [0x10201520]
packuswb xmm1, xmm1
movd xmm0, edx
paddb xmm1, xmm0
movd xmm0, dword [edi + ecx]
xorps xmm1, xmm0
movd dword [edi + ecx], xmm1
add ecx, 8
cmp ecx, 0x10
jl 0x100de610
jmp 0x100de73d
mov eax, 0x92492493
imul ebx
add edx, ebx
sar edx, 5
mov eax, edx
shr eax, 0x1f
add eax, edx
mov cl, al
shl cl, 3
sub cl, al
mov al, bl
shl cl, 3
sub al, cl
add al, 0x36
xor byte [esp + ebx + 0x48], al
inc ebx
cmp ebx, 0x10
jl 0x100de710
push 0
push 0x101f4598
lea eax, [esp + 0x44]
mov dword [esp + 0x44], 0x6e
push eax
lea eax, [esp + 0x28]
mov dword [esp + 0x28], 0
push eax
push esi
mov edx, 4
lea ecx, [esp + 0x5c]
call fcn.101780f0
mov eax, dword [0x1022ccc8]
mov edi, dword [0x10456a20]
mov ebx, dword [0x10456c08]
lea ecx, [edi*8]
mov dword [esp + 0x1c], 0xfa
sub ecx, edi
mov dword [esp + 0x3c], 0
lea edx, [esp + 0x3c]
lea esi, [ecx*8 + 0x54]
mov ecx, dword [esi + eax]
add esi, eax
test ecx, ecx
lea eax, [esp + 0x1c]
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.10158960
mov ebx, dword [esi + 4]
mov ecx, dword [esi]
mov dword [esp + 0x3c], eax
cmp ecx, ebx
jne 0x100de813
inc ecx
test ebx, ebx
je 0x100de7fb
mov eax, ebx
cdq
sub eax, edx
sar eax, 1
add eax, ebx
jmp 0x100de800
mov eax, 8
cmp eax, ecx
cmovg ecx, eax
push ecx
mov ecx, esi
call fcn.100c2eb0
mov edi, dword [0x10456a20]
mov ecx, dword [esi]
xor ebx, ebx
mov eax, dword [esi + 8]
mov edx, dword [esp + 0x3c]
movups xmm0, xmmword [str.LZRZR_]
mov dword [eax + ecx*4], edx
lea ecx, [edi*8]
inc dword [esi]
sub ecx, edi
mov eax, dword [0x1022ccc8]
mov edi, dword [0x1022e690]
movups xmmword [esp + 0x48], xmm0
lea esi, [eax + ecx*8]
mov ax, word [0x101f6f68]
mov word [esp + 0x58], ax
mov al, byte [0x101f6f6a]
mov byte [esp + 0x5a], al
cmp edi, 2
jl 0x100de992
movaps xmm0, xmmword [0x10201550]
lea edx, [esp + 0x4c]
movaps xmm4, xmmword [0x10201400]
movaps xmm3, xmmword [0x10201840]
movaps xmm5, xmmword [0x10201490]
movaps xmmword [esp + 0x60], xmm0
mov ecx, dword [esp + 0x60]
nop dword [eax]
movd xmm0, ebx
lea eax, [ebx + 4]
pshufd xmm2, xmm0, 0
paddd xmm2, xmm4
movaps xmm1, xmm2
movaps xmm0, xmm2
punpckhdq xmm0, xmm2
punpckldq xmm1, xmm2
pmuldq xmm0, xmm3
pmuldq xmm1, xmm3
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm2
psrad xmm1, 5
movaps xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm5
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
andps xmm1, xmmword [0x10201520]
packuswb xmm1, xmm1
movd xmm0, ecx
paddb xmm1, xmm0
movd xmm0, dword [esp + ebx + 0x48]
xorps xmm1, xmm0
movd xmm0, eax
pshufd xmm2, xmm0, 0
movd dword [esp + ebx + 0x48], xmm1
paddd xmm2, xmm4
movaps xmm1, xmm2
movaps xmm0, xmm2
punpckldq xmm1, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm3
pmuldq xmm1, xmm3
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm2
psrad xmm1, 5
movaps xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm5
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
andps xmm1, xmmword [0x10201520]
packuswb xmm1, xmm1
movd xmm0, ecx
paddb xmm1, xmm0
movd xmm0, dword [ebx + edx]
xorps xmm1, xmm0
movd dword [ebx + edx], xmm1
add ebx, 8
cmp ebx, 0x10
jl 0x100de890
cmp ebx, 0x13
jge 0x100de9bf
mov eax, 0x92492493
imul ebx
add edx, ebx
sar edx, 5
mov eax, edx
shr eax, 0x1f
add eax, edx
mov cl, al
shl cl, 3
sub cl, al
mov al, bl
shl cl, 3
sub al, cl
add al, 0x36
xor byte [esp + ebx + 0x48], al
inc ebx
cmp ebx, 0x13
jl 0x100de992
xorps xmm0, xmm0
mov dword [esp + 0x34], 0
lea ecx, [esp + 0x48]
mov dword [esp + 0x38], 0
movups xmmword [esp + 0x24], xmm0
lea edx, [ecx + 1]
nop
mov al, byte [ecx]
inc ecx
test al, al
jne 0x100de9e0
sub ecx, edx
lea eax, [esp + 0x48]
push ecx
push eax
lea ecx, [esp + 0x2c]
call fcn.10028880
cmp dword [esp + 0x38], 0xf
lea ecx, [esp + 0x24]
lea edx, [esi + 0x40]
cmova ecx, dword [esp + 0x24]
call fcn.101748d0
mov ecx, dword [esp + 0x38]
cmp ecx, 0xf
jbe 0x100dea44
mov edx, dword [esp + 0x24]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x100dea3a
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100dee45
push ecx
push edx
call fcn.101a201e
add esp, 8
mov ecx, dword [0x10456c08]
mov dword [esp + 0x34], 0
mov dword [esp + 0x38], 0xf
mov byte [esp + 0x24], 0
mov eax, dword [ecx + 0x1bec]
mov byte [eax + 0xa8], 1
mov edx, dword [ecx + 0x1bec]
cmp byte [edx + 0xab], 0
jne 0x100deac7
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 [0x101f622b], 0
mov eax, dword [str.RA9]
mov esi, dword [0x1022ccc8]
mov dword [esp + 0x24], 0x42c80000
mov dword [esp + 0x28], 0
mov dword [esp + 0x14], eax
je 0x100debad
xor ebx, ebx
cmp edi, 2
jl 0x100deb80
movaps xmm3, xmmword [0x10201400]
movaps xmm2, xmm3
movaps xmm0, xmm3
punpckhdq xmm0, xmm3
pmuldq xmm0, xmmword [0x10201840]
punpckldq xmm2, xmm3
pmuldq xmm2, xmmword [0x10201840]
shufps xmm2, xmm0, 0xdd
paddd xmm2, xmm3
psrad xmm2, 5
movaps xmm0, xmm2
psrld xmm0, 0x1f
paddd xmm0, xmm2
pmulld xmm0, xmmword [0x10201490]
psubd xmm3, xmm0
pshuflw xmm0, xmm3, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
andps xmm1, xmmword [0x10201520]
packuswb xmm1, xmm1
paddb xmm1, xmmword [0x10201550]
movd xmm0, eax
xorps xmm1, xmm0
movd dword [esp + 0x14], xmm1
jmp 0x100debad
mov eax, 0x92492493
imul ebx
add edx, ebx
sar edx, 5
mov eax, edx
shr eax, 0x1f
add eax, edx
mov cl, al
shl cl, 3
sub cl, al
mov al, bl
shl cl, 3
sub al, cl
add al, 0x36
xor byte [esp + ebx + 0x14], al
inc ebx
cmp ebx, 4
jl 0x100deb80
push ecx
lea eax, [esp + 0x28]
push eax
lea edx, [esi + 0xda0]
lea ecx, [esp + 0x1c]
call fcn.100c4d10
mov esi, dword [0x10456c08]
mov eax, dword [esi + 0x1bec]
dec dword [eax + 0xe0]
mov eax, dword [0x10456a20]
lea ecx, [eax*8]
sub ecx, eax
mov eax, dword [0x1022ccc8]
cmp byte [eax + ecx*8 + 0x40], 0
je 0x100dedb5
movups xmm0, xmmword [str.LZRZR_]
lea esi, [eax + 0x44]
xor ebx, ebx
mov ax, word [0x101f6f68]
lea esi, [esi + ecx*8]
mov word [esp + 0x58], ax
mov al, byte [0x101f6f6a]
mov byte [esp + 0x5a], al
movups xmmword [esp + 0x48], xmm0
cmp edi, 2
jl 0x100ded52
movaps xmm0, xmmword [0x10201550]
lea edx, [esp + 0x4c]
movaps xmm4, xmmword [0x10201400]
movaps xmm3, xmmword [0x10201840]
movaps xmm5, xmmword [0x10201490]
movaps xmmword [esp + 0x60], xmm0
mov ecx, dword [esp + 0x60]
nop dword [eax]
movd xmm0, ebx
lea eax, [ebx + 4]
pshufd xmm2, xmm0, 0
paddd xmm2, xmm4
movaps xmm1, xmm2
movaps xmm0, xmm2
punpckhdq xmm0, xmm2
punpckldq xmm1, xmm2
pmuldq xmm0, xmm3
pmuldq xmm1, xmm3
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm2
psrad xmm1, 5
movaps xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm5
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
andps xmm1, xmmword [0x10201520]
packuswb xmm1, xmm1
movd xmm0, ecx
paddb xmm1, xmm0
movd xmm0, dword [esp + ebx + 0x48]
xorps xmm1, xmm0
movd xmm0, eax
pshufd xmm2, xmm0, 0
movd dword [esp + ebx + 0x48], xmm1
paddd xmm2, xmm4
movaps xmm1, xmm2
movaps xmm0, xmm2
punpckldq xmm1, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm3
pmuldq xmm1, xmm3
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm2
psrad xmm1, 5
movaps xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm5
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
andps xmm1, xmmword [0x10201520]
packuswb xmm1, xmm1
movd xmm0, ecx
paddb xmm1, xmm0
movd xmm0, dword [edx + ebx]
xorps xmm1, xmm0
movd dword [edx + ebx], xmm1
add ebx, 8
cmp ebx, 0x10
jl 0x100dec50
cmp ebx, 0x13
jge 0x100ded7f
mov eax, 0x92492493
imul ebx
add edx, ebx
sar edx, 5
mov eax, edx
shr eax, 0x1f
add eax, edx
mov cl, al
shl cl, 3
sub cl, al
mov al, bl
shl cl, 3
sub al, cl
add al, 0x36
xor byte [esp + ebx + 0x48], al
inc ebx
cmp ebx, 0x13
jl 0x100ded52
push 0
push 0x101f4598
lea eax, [esp + 0x44]
mov dword [esp + 0x44], 0x64
push eax
lea eax, [esp + 0x28]
mov dword [esp + 0x28], 0
push eax
push esi
mov edx, 4
lea ecx, [esp + 0x5c]
call fcn.101780f0
mov esi, dword [0x10456c08]
mov eax, dword [esi + 0x1bec]
dec dword [eax + 0xe0]
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 0x100dee21
cmp dword [eax + 0x10], 1
jne 0x100dee1c
cmp dword [eax + 4], 0
je 0x100dee21
call fcn.100cef70
mov ecx, dword [esp + 0xbc]
pop edi
pop esi
pop ebx
xor ecx, esp
call fcn.101a1d25
mov esp, ebp
pop ebp
ret
call fcn.101a7156
call fcn.101a7156
call fcn.101a7156
call fcn.101a7156
int3