Function at 0x100d8e80
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 [0x1020c0c0]
xor eax, esp
mov dword [esp + 0xa0], eax
push ebx
xor ebx, ebx
push esi
mov dword [esp + 0x1c], ebx
cmp dword [0x10229b50], 2
push edi
mov dword [esp + 0x1c], ebx
jne 0x100dcc40
mov eax, dword fs:[0x2c]
mov ecx, dword [0x1022b6ec]
mov ecx, dword [eax + ecx*4]
mov eax, dword [0x1051ee68]
mov dword [esp + 0x20], ecx
cmp eax, dword [ecx + 4]
jle 0x100d8f04
push 0x1051ee68
call fcn.101a0794
add esp, 4
cmp dword [0x1051ee68], 0xffffffff
jne 0x100d8f04
push 0x101ccd70
call fcn.101a0422
add esp, 4
push 0x1051ee68
call fcn.101a074a
add esp, 4
mov eax, dword [0x101f7ae8]
movq xmm0, qword [0x101f7ae0]
mov esi, dword [0x10229c78]
mov dword [esp + 0x30], eax
mov ax, word [0x101f7aec]
mov word [esp + 0x34], ax
mov al, byte [0x101f7aee]
mov byte [esp + 0x36], al
xor eax, eax
cmp dword [0x1022b6e0], 2
movq qword [esp + 0x28], xmm0
mov byte [esp + 0x1b], bl
mov dword [esp + 0x40], eax
lea ecx, [eax + 5]
lea edx, [eax + 0x1f]
jl 0x100d9058
movaps xmm2, xmmword [0x102025e0]
mov eax, 8
movaps xmm3, xmmword [0x10202b30]
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
movd xmm4, ecx
psrad xmm1, xmm4
movd xmm5, edx
movaps xmm0, xmm1
mov dword [esp + 0x40], eax
psrld xmm0, xmm5
paddd xmm0, xmm1
pmulld xmm0, xmmword [0x10202680]
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
movaps xmm2, xmmword [0x10202620]
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
pand xmm1, xmmword [0x10202710]
movd xmm0, dword [0x101f7ae0]
packuswb xmm1, xmm1
paddb xmm1, xmmword [str.2222222222222222777777777777777788888888888888889999999999999999]
pxor xmm1, xmm0
movaps xmm0, xmm2
movd dword [esp + 0x28], 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, xmm4
movaps xmm0, xmm1
psrld xmm0, xmm5
paddd xmm0, xmm1
pmulld xmm0, xmmword [0x10202680]
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
pand xmm1, xmmword [0x10202710]
movd xmm0, dword [esp + 0x2c]
packuswb xmm1, xmm1
paddb xmm1, xmmword [str.2222222222222222777777777777777788888888888888889999999999999999]
pxor xmm1, xmm0
movd dword [esp + 0x2c], xmm1
mov ebx, dword [esp + 0x40]
nop dword [eax]
mov eax, 0x8fb823ef
mov cl, bl
imul ebx
add edx, ebx
sar edx, 5
mov eax, edx
shr eax, 0x1f
add eax, edx
movsx eax, al
imul eax, eax, 0x39
sub cl, al
add cl, 0x32
xor byte [esp + ebx + 0x28], cl
inc ebx
cmp ebx, 0xf
jl 0x100d9060
mov edx, esi
lea ecx, [esp + 0x28]
call fcn.10172b50
movss xmm1, dword [0x1020244c]
xorps xmm0, xmm0
call fcn.10161e80
movq xmm0, qword [str.A__]
xor edx, edx
mov al, byte [0x101f8dcc]
movq qword [esp + 0x28], xmm0
mov byte [esp + 0x30], al
mov dword [esp + 0x40], edx
mov eax, 0x1f7047dd
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, 0x39
sub cl, al
add cl, 0x32
xor byte [esp + edx + 0x28], cl
inc edx
mov dword [esp + 0x40], edx
cmp edx, 9
jl 0x100d90c2
mov eax, dword [0x10453c48]
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 + 0x2c]
call fcn.10155bc0
mov edi, dword [esi + 4]
mov ecx, dword [esi]
mov dword [esp + 0x40], eax
cmp ecx, edi
jne 0x100d914c
inc ecx
test edi, edi
je 0x100d913a
mov eax, edi
cdq
sub eax, edx
sar eax, 1
add eax, edi
jmp 0x100d913f
mov eax, 8
cmp eax, ecx
cmovg ecx, eax
push ecx
mov ecx, esi
call fcn.100c0490
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 [0x101f7dbc]
inc dword [esi]
xor ebx, ebx
mov esi, dword [0x10229c78]
mov dword [esp + 0x40], eax
mov ax, word [0x101f7dc0]
mov word [esp + 0x44], ax
mov al, byte [0x101f7dc2]
mov byte [esp + 0x46], al
nop
mov eax, 0x1f7047dd
mov cl, bl
mul ebx
mov eax, ebx
sub eax, edx
shr eax, 1
add eax, edx
shr eax, 5
movsx eax, al
imul eax, eax, 0x39
sub cl, al
add cl, 0x32
xor byte [esp + ebx + 0x40], cl
inc ebx
cmp ebx, 7
jl 0x100d9190
push ecx
lea eax, [esp + 0x2c]
push eax
lea edx, [esi + 0xa2c]
lea ecx, [esp + 0x48]
call fcn.100c2320
mov ecx, dword [0x10453c48]
mov eax, dword [ecx + 0x1bec]
dec dword [eax + 0xe0]
mov ecx, dword [ecx + 0x1bec]
cmp byte [ecx + 0xab], 0
jne 0x100d9201
mov ecx, dword [ecx + 0x1dc]
neg ecx
sbb ecx, ecx
add ecx, 6
call fcn.10173470
movss xmm0, dword [0x102022f4]
call fcn.10161f40
movups xmm0, xmmword [str._RSPTXL]
mov edi, dword [0x1022b6e0]
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 0x100d93ca
cmp edi, 2
jl 0x100d9391
movaps xmm0, xmmword [str.2222222222222222777777777777777788888888888888889999999999999999]
mov eax, 5
movaps xmm4, xmmword [0x102025e0]
xor ecx, ecx
movaps xmm3, xmmword [0x10202b30]
movaps xmm6, xmmword [0x10202680]
movd xmm5, eax
mov eax, 0x1f
movaps xmmword [esp + 0x40], xmm0
mov edx, dword [esp + 0x40]
movd xmm7, eax
mov al, byte [esp + 0x1b]
mov byte [esp + 0x1b], al
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, xmm5
movaps xmm0, xmm1
psrld xmm0, xmm7
paddd xmm0, xmm1
pmulld xmm0, xmm6
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
pand xmm1, xmmword [0x10202710]
packuswb xmm1, xmm1
movd xmm0, edx
paddb xmm1, xmm0
movd xmm0, dword [esp + ecx + 0x64]
pxor xmm1, xmm0
movd xmm0, eax
pshufd xmm2, xmm0, 0
movd dword [esp + ecx + 0x64], 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, xmm5
movaps xmm0, xmm1
psrld xmm0, xmm7
paddd xmm0, xmm1
pmulld xmm0, xmm6
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
pand xmm1, xmmword [0x10202710]
packuswb xmm1, xmm1
movd xmm0, edx
paddb xmm1, xmm0
movd xmm0, dword [esp + ecx + 0x68]
pxor xmm1, xmm0
movd dword [esp + ecx + 0x68], xmm1
add ecx, 8
cmp ecx, 0x10
jl 0x100d9290
jmp 0x100d93ca
mov al, byte [esp + 0x1b]
xor ebx, ebx
mov byte [esp + 0x1b], al
nop dword [eax + eax]
mov eax, 0x8fb823ef
mov cl, bl
imul ebx
add edx, ebx
sar edx, 5
mov eax, edx
shr eax, 0x1f
add eax, edx
movsx eax, al
imul eax, eax, 0x39
sub cl, al
add cl, 0x32
xor byte [esp + ebx + 0x64], cl
inc ebx
cmp ebx, 0x10
jl 0x100d93a0
mov esi, dword [0x10453c48]
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.10155bc0
cmp dword [esi + 0x1c24], eax
jne 0x100d940c
mov dword [esi + 0x1c28], eax
cmp dword [esi + 0x1c5c], eax
jne 0x100d941b
mov byte [esi + 0x1c60], 1
push 0
push 0
lea ecx, [esp + 0x30]
mov edx, eax
push ecx
lea ecx, [esp + 0x70]
call fcn.1015c740
cmp dword [0x10229b50], 2
mov esi, 1
jne 0x100da1b0
cmp dword [0x10453a6c], 0
mov ecx, dword [0x10453c48]
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 [0x102021fc]
maxss xmm0, xmm1
movss dword [eax + 0xec], xmm1
movss dword [eax + 0x104], xmm0
jne 0x100d9498
call fcn.100d8c70
jmp 0x100d949d
call fcn.100d8d70
cmp byte [0x101f865b], 0
mov eax, dword [str.s_X5aXQYSCWW:]
mov dword [esp + 0x28], 0x42200000
mov dword [esp + 0x2c], 0x41f00000
mov dword [esp + 0x40], eax
je 0x100d9590
cmp edi, 2
jl 0x100d955c
movaps xmm3, xmmword [0x102025e0]
mov ecx, 5
movaps xmm2, xmm3
movaps xmm0, xmm3
punpckhdq xmm0, xmm3
pmuldq xmm0, xmmword [0x10202b30]
punpckldq xmm2, xmm3
pmuldq xmm2, xmmword [0x10202b30]
shufps xmm2, xmm0, 0xdd
movd xmm0, ecx
paddd xmm2, xmm3
psrad xmm2, xmm0
mov ecx, 0x1f
movaps xmm1, xmm2
movd xmm0, ecx
psrld xmm1, xmm0
paddd xmm1, xmm2
pmulld xmm1, xmmword [0x10202680]
psubd xmm3, xmm1
pshuflw xmm0, xmm3, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
pand xmm1, xmmword [0x10202710]
packuswb xmm1, xmm1
paddb xmm1, xmmword [str.2222222222222222777777777777777788888888888888889999999999999999]
movd xmm0, eax
pxor xmm1, xmm0
movd dword [esp + 0x40], xmm1
jmp 0x100d9590
mov al, byte [esp + 0x1b]
xor ebx, ebx
mov byte [esp + 0x1b], al
mov eax, 0x8fb823ef
mov cl, bl
imul ebx
add edx, ebx
sar edx, 5
mov eax, edx
shr eax, 0x1f
add eax, edx
movsx eax, al
imul eax, eax, 0x39
sub cl, al
add cl, 0x32
xor byte [esp + ebx + 0x40], cl
inc ebx
cmp ebx, 4
jl 0x100d9566
push 0
push 0
lea edx, [esp + 0x30]
lea ecx, [esp + 0x48]
call fcn.101712c0
mov esi, dword [0x10453c48]
xor edx, edx
mov ecx, dword [0x10453a6c]
test al, al
movss xmm1, dword [0x1020244c]
cmovne ecx, edx
mov eax, dword [esi + 0x1ce8]
mov dword [0x10453a6c], ecx
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.10161e80
mov ecx, dword [0x10229c84]
mov ecx, dword [ecx + 0x24]
call fcn.101615a0
cmp dword [0x10453a6c], 1
jne 0x100d9688
call fcn.100d8c70
jmp 0x100d968d
call fcn.100d8d70
mov ax, word [0x101e3fc8]
mov dword [esp + 0x28], 0x42480000
mov dword [esp + 0x2c], 0x41f00000
mov word [esp + 0x40], ax
test ah, ah
je 0x100d96d9
xor ebx, ebx
nop
mov eax, 0x1f7047dd
mov cl, bl
mul ebx
mov eax, ebx
sub eax, edx
shr eax, 1
add eax, edx
shr eax, 5
movsx eax, al
imul eax, eax, 0x39
sub cl, al
add cl, 0x32
xor byte [esp + ebx + 0x40], cl
inc ebx
cmp ebx, 2
jl 0x100d96b0
push 0
push 0
lea edx, [esp + 0x30]
lea ecx, [esp + 0x48]
call fcn.101712c0
mov esi, dword [0x10453c48]
test al, al
mov edi, dword [0x10453a6c]
mov eax, 1
cmovne edi, eax
movss xmm1, dword [0x1020244c]
mov dword [0x10453a6c], edi
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.10161e80
cmp edi, 2
jne 0x100d97c2
call fcn.100d8c70
jmp 0x100d97c7
call fcn.100d8d70
mov ax, word [0x101e3fa0]
mov dword [esp + 0x28], 0x42480000
mov dword [esp + 0x2c], 0x41f00000
mov word [esp + 0x40], ax
test ah, ah
je 0x100d9819
xor ebx, ebx
nop dword [eax + eax]
mov eax, 0x1f7047dd
mov cl, bl
mul ebx
mov eax, ebx
sub eax, edx
shr eax, 1
add eax, edx
shr eax, 5
movsx eax, al
imul eax, eax, 0x39
sub cl, al
add cl, 0x32
xor byte [esp + ebx + 0x40], cl
inc ebx
cmp ebx, 2
jl 0x100d97f0
push 0
push 0
lea edx, [esp + 0x30]
lea ecx, [esp + 0x48]
call fcn.101712c0
mov esi, dword [0x10453c48]
test al, al
mov edi, dword [0x10453a6c]
mov eax, 2
cmovne edi, eax
movss xmm1, dword [0x1020244c]
mov dword [0x10453a6c], edi
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.10161e80
cmp edi, 3
jne 0x100d9902
call fcn.100d8c70
jmp 0x100d9907
call fcn.100d8d70
mov ax, word [0x101e3df0]
mov dword [esp + 0x28], 0x42480000
mov dword [esp + 0x2c], 0x41f00000
mov word [esp + 0x40], ax
test ah, ah
je 0x100d9959
xor ebx, ebx
nop dword [eax + eax]
mov eax, 0x1f7047dd
mov cl, bl
mul ebx
mov eax, ebx
sub eax, edx
shr eax, 1
add eax, edx
shr eax, 5
movsx eax, al
imul eax, eax, 0x39
sub cl, al
add cl, 0x32
xor byte [esp + ebx + 0x40], cl
inc ebx
cmp ebx, 2
jl 0x100d9930
push 0
push 0
lea edx, [esp + 0x30]
lea ecx, [esp + 0x48]
call fcn.101712c0
mov esi, dword [0x10453c48]
test al, al
mov edi, dword [0x10453a6c]
mov ecx, 3
cmovne edi, ecx
movss xmm1, dword [0x1020244c]
mov dword [0x10453a6c], edi
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.10161e80
cmp edi, 4
jne 0x100d9a42
call fcn.100d8c70
jmp 0x100d9a47
call fcn.100d8d70
mov ax, word [0x101e3f68]
mov dword [esp + 0x28], 0x42480000
mov dword [esp + 0x2c], 0x41f00000
mov word [esp + 0x40], ax
test ah, ah
je 0x100d9a99
xor ebx, ebx
nop dword [eax + eax]
mov eax, 0x1f7047dd
mov cl, bl
mul ebx
mov eax, ebx
sub eax, edx
shr eax, 1
add eax, edx
shr eax, 5
movsx eax, al
imul eax, eax, 0x39
sub cl, al
add cl, 0x32
xor byte [esp + ebx + 0x40], cl
inc ebx
cmp ebx, 2
jl 0x100d9a70
push 0
push 0
lea edx, [esp + 0x30]
lea ecx, [esp + 0x48]
call fcn.101712c0
mov esi, dword [0x10453c48]
test al, al
mov edi, dword [0x10453a6c]
mov eax, 4
cmovne edi, eax
movss xmm1, dword [0x1020244c]
mov dword [0x10453a6c], edi
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.10161e80
cmp edi, 5
jne 0x100d9b82
call fcn.100d8c70
jmp 0x100d9b87
call fcn.100d8d70
mov ax, word [0x101e3efc]
mov dword [esp + 0x28], 0x42480000
mov dword [esp + 0x2c], 0x41f00000
mov word [esp + 0x40], ax
test ah, ah
je 0x100d9bd9
xor ebx, ebx
nop dword [eax + eax]
mov eax, 0x1f7047dd
mov cl, bl
mul ebx
mov eax, ebx
sub eax, edx
shr eax, 1
add eax, edx
shr eax, 5
movsx eax, al
imul eax, eax, 0x39
sub cl, al
add cl, 0x32
xor byte [esp + ebx + 0x40], cl
inc ebx
cmp ebx, 2
jl 0x100d9bb0
push 0
push 0
lea edx, [esp + 0x30]
lea ecx, [esp + 0x48]
call fcn.101712c0
mov esi, dword [0x10453c48]
test al, al
mov edi, dword [0x10453a6c]
mov eax, 5
cmovne edi, eax
movss xmm1, dword [0x1020244c]
mov dword [0x10453a6c], edi
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.10161e80
cmp edi, 6
jne 0x100d9cc2
call fcn.100d8c70
jmp 0x100d9cc7
call fcn.100d8d70
mov ax, word [0x101e3fc0]
mov dword [esp + 0x28], 0x42680000
mov dword [esp + 0x2c], 0x41f00000
mov word [esp + 0x40], ax
test ah, ah
je 0x100d9d19
xor ebx, ebx
nop dword [eax + eax]
mov eax, 0x1f7047dd
mov cl, bl
mul ebx
mov eax, ebx
sub eax, edx
shr eax, 1
add eax, edx
shr eax, 5
movsx eax, al
imul eax, eax, 0x39
sub cl, al
add cl, 0x32
xor byte [esp + ebx + 0x40], cl
inc ebx
cmp ebx, 2
jl 0x100d9cf0
push 0
push 0
lea edx, [esp + 0x30]
lea ecx, [esp + 0x48]
call fcn.101712c0
mov esi, dword [0x10453c48]
test al, al
mov edi, dword [0x10453a6c]
mov ecx, 6
cmovne edi, ecx
movss xmm1, dword [0x1020244c]
mov dword [0x10453a6c], edi
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.10161e80
cmp edi, 7
jne 0x100d9e02
call fcn.100d8c70
jmp 0x100d9e07
call fcn.100d8d70
mov ax, word [0x101e3ef4]
mov dword [esp + 0x28], 0x42700000
mov dword [esp + 0x2c], 0x41f00000
mov word [esp + 0x40], ax
test ah, ah
je 0x100d9e59
xor ebx, ebx
nop dword [eax + eax]
mov eax, 0x1f7047dd
mov cl, bl
mul ebx
mov eax, ebx
sub eax, edx
shr eax, 1
add eax, edx
shr eax, 5
movsx eax, al
imul eax, eax, 0x39
sub cl, al
add cl, 0x32
xor byte [esp + ebx + 0x40], cl
inc ebx
cmp ebx, 2
jl 0x100d9e30
push 0
push 0
lea edx, [esp + 0x30]
lea ecx, [esp + 0x48]
call fcn.101712c0
mov esi, dword [0x10453c48]
test al, al
mov edi, dword [0x10453a6c]
mov ecx, 7
cmovne edi, ecx
movss xmm1, dword [0x1020244c]
mov dword [0x10453a6c], edi
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.10161e80
cmp edi, 8
jne 0x100d9f42
call fcn.100d8c70
jmp 0x100d9f47
call fcn.100d8d70
mov ax, word [0x101e3f48]
mov dword [esp + 0x28], 0x42480000
mov dword [esp + 0x2c], 0x41f00000
mov word [esp + 0x40], ax
test ah, ah
je 0x100d9f99
xor ebx, ebx
nop dword [eax + eax]
mov eax, 0x1f7047dd
mov cl, bl
mul ebx
mov eax, ebx
sub eax, edx
shr eax, 1
add eax, edx
shr eax, 5
movsx eax, al
imul eax, eax, 0x39
sub cl, al
add cl, 0x32
xor byte [esp + ebx + 0x40], cl
inc ebx
cmp ebx, 2
jl 0x100d9f70
push 0
push 0
lea edx, [esp + 0x30]
lea ecx, [esp + 0x48]
call fcn.101712c0
mov esi, dword [0x10453c48]
test al, al
mov edi, dword [0x10453a6c]
mov eax, 8
cmovne edi, eax
movss xmm1, dword [0x1020244c]
mov dword [0x10453a6c], edi
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.10161e80
cmp edi, 9
jne 0x100da082
call fcn.100d8c70
jmp 0x100da087
call fcn.100d8d70
mov ax, word [0x101f1dac]
mov dword [esp + 0x28], 0x42480000
mov dword [esp + 0x2c], 0x41f00000
mov word [esp + 0x40], ax
test ah, ah
je 0x100da0d9
xor ebx, ebx
nop dword [eax + eax]
mov eax, 0x1f7047dd
mov cl, bl
mul ebx
mov eax, ebx
sub eax, edx
shr eax, 1
add eax, edx
shr eax, 5
movsx eax, al
imul eax, eax, 0x39
sub cl, al
add cl, 0x32
xor byte [esp + ebx + 0x40], cl
inc ebx
cmp ebx, 2
jl 0x100da0b0
push 0
push 0
lea edx, [esp + 0x30]
lea ecx, [esp + 0x48]
call fcn.101712c0
mov esi, dword [0x10453c48]
test al, al
mov ecx, dword [0x10453a6c]
mov edx, 9
cmovne ecx, edx
mov dword [0x10453a6c], ecx
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.10161650
mov esi, 1
call fcn.1015c940
mov ecx, dword [0x10453c48]
mov eax, dword [ecx + 0x1bec]
mov byte [eax + 0xa8], 1
mov eax, dword [ecx + 0x1bec]
mov eax, dword [eax + 0x1d0]
test eax, eax
je 0x100da1e9
cmp dword [eax + 0x10], 2
jne 0x100da1e4
cmp dword [eax + 4], 1
je 0x100da1f7
call fcn.100cc620
push 1
mov edx, 2
xor ecx, ecx
call fcn.100cbd10
movss xmm0, dword [0x10202388]
mov ecx, esi
call fcn.100cb950
movss xmm0, dword [0x1020233c]
call fcn.10161f40
mov eax, dword [str.aZXPXC8]
mov esi, dword [0x10229c78]
mov dword [esp + 0x40], eax
add esi, 2
mov ax, word [0x101f7af4]
xor ebx, ebx
mov word [esp + 0x44], ax
mov al, byte [0x101f7af6]
mov byte [esp + 0x46], al
nop dword [eax + eax]
mov eax, 0x1f7047dd
mov cl, bl
mul ebx
mov eax, ebx
sub eax, edx
shr eax, 1
add eax, edx
shr eax, 5
movsx eax, al
imul eax, eax, 0x39
sub cl, al
add cl, 0x32
xor byte [esp + ebx + 0x40], cl
inc ebx
cmp ebx, 7
jl 0x100da240
mov edx, esi
lea ecx, [esp + 0x40]
call fcn.10172b50
mov eax, dword [0x101f8d20]
movq xmm0, qword [str.tA_PXST_]
mov dl, byte [esp + 0x1b]
mov esi, dword [0x10229c78]
mov edi, dword [0x1022b6e0]
mov dword [esp + 0x30], eax
mov ax, word [0x101f8d24]
movq qword [esp + 0x28], xmm0
mov word [esp + 0x34], ax
mov byte [esp + 0x1b], dl
test ah, ah
je 0x100da40c
xor eax, eax
mov byte [esp + 0x1b], dl
mov dword [esp + 0x40], eax
cmp edi, 2
jl 0x100da3de
movaps xmm2, xmmword [0x102025e0]
mov eax, 5
movaps xmm4, xmmword [0x10202b30]
movaps xmm1, xmm2
punpckldq xmm1, xmm2
movaps xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm4
pmuldq xmm1, xmm4
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm2
movd xmm5, eax
psrad xmm1, xmm5
mov eax, 0x1f
mov byte [esp + 0x1b], dl
movaps xmm0, xmm1
movd xmm6, eax
mov eax, dword [str.2222222222222222777777777777777788888888888888889999999999999999]
psrld xmm0, xmm6
paddd xmm0, xmm1
pmulld xmm0, xmmword [0x10202680]
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
movaps xmm2, xmmword [0x10202620]
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
pand xmm1, xmmword [0x10202710]
packuswb xmm1, xmm1
movd xmm0, eax
paddb xmm1, xmm0
movd xmm0, dword [str.tA_PXST_]
pxor xmm1, xmm0
movaps xmm0, xmm2
movd dword [esp + 0x28], xmm1
movaps xmm1, xmm2
punpckldq xmm1, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm4
pmuldq xmm1, xmm4
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm2
psrad xmm1, xmm5
movaps xmm0, xmm1
psrld xmm0, xmm6
paddd xmm0, xmm1
pmulld xmm0, xmmword [0x10202680]
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
pand xmm1, xmmword [0x10202710]
movd xmm0, eax
mov eax, 8
packuswb xmm1, xmm1
paddb xmm1, xmm0
mov dword [esp + 0x40], eax
movd xmm0, dword [esp + 0x2c]
pxor xmm1, xmm0
movd dword [esp + 0x2c], xmm1
mov ebx, dword [esp + 0x40]
mov eax, 0x8fb823ef
mov cl, bl
imul ebx
add edx, ebx
sar edx, 5
mov eax, edx
shr eax, 0x1f
add eax, edx
movsx eax, al
imul eax, eax, 0x39
sub cl, al
add cl, 0x32
xor byte [esp + ebx + 0x28], cl
inc ebx
cmp ebx, 0xe
jl 0x100da3e2
lea edx, [esi + 3]
lea ecx, [esp + 0x28]
call fcn.10172b50
mov ax, word [0x101f8c08]
movq xmm0, qword [0x101f8c00]
mov esi, dword [0x10229c78]
movq qword [esp + 0x28], xmm0
mov word [esp + 0x30], ax
test ah, ah
je 0x100da469
xor ebx, ebx
nop dword [eax]
mov eax, 0x1f7047dd
mov cl, bl
mul ebx
mov eax, ebx
sub eax, edx
shr eax, 1
add eax, edx
shr eax, 5
movsx eax, al
imul eax, eax, 0x39
sub cl, al
add cl, 0x32
xor byte [esp + ebx + 0x28], cl
inc ebx
cmp ebx, 0xa
jl 0x100da440
lea edx, [esi + 5]
lea ecx, [esp + 0x28]
call fcn.10172b50
mov ax, word [0x101f7fc4]
mov esi, dword [0x10229c78]
movq xmm0, qword [0x101f7fbc]
add esi, 0xc
mov word [esp + 0x30], ax
xor ebx, ebx
mov al, byte [0x101f7fc6]
mov byte [esp + 0x32], al
movq qword [esp + 0x28], xmm0
mov eax, 0x1f7047dd
mov cl, bl
mul ebx
mov eax, ebx
sub eax, edx
shr eax, 1
add eax, edx
shr eax, 5
movsx eax, al
imul eax, eax, 0x39
sub cl, al
add cl, 0x32
xor byte [esp + ebx + 0x28], cl
inc ebx
cmp ebx, 0xb
jl 0x100da4a2
mov edx, esi
lea ecx, [esp + 0x28]
call fcn.10172b50
mov eax, dword [0x10453a6c]
movq xmm0, qword [0x101f7ab0]
mov ebx, dword [esp + 0x1c]
movq qword [esp + 0x28], xmm0
lea ecx, [eax*8]
sub ecx, eax
mov eax, dword [0x10229c78]
lea esi, [eax + ecx*8]
mov ax, word [0x101f7ab8]
mov word [esp + 0x30], ax
test ah, ah
je 0x100da544
mov al, byte [esp + 0x1b]
xor ebx, ebx
mov byte [esp + 0x1b], al
mov eax, 0x1f7047dd
mov cl, bl
mul ebx
mov eax, ebx
sub eax, edx
shr eax, 1
add eax, edx
shr eax, 5
movsx eax, al
imul eax, eax, 0x39
sub cl, al
add cl, 0x32
xor byte [esp + ebx + 0x28], cl
inc ebx
cmp ebx, 0xa
jl 0x100da517
mov ebx, dword [esp + 0x1c]
lea edx, [esi + 0x21]
lea ecx, [esp + 0x28]
call fcn.10172b50
mov ecx, dword [esp + 0x20]
mov eax, dword [0x1051ee44]
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 0x100da5b1
push 0x1051ee44
call fcn.101a0794
add esp, 4
cmp dword [0x1051ee44], 0xffffffff
jne 0x100da5b1
push 0x101ccd10
call fcn.101a0422
add esp, 4
push 0x1051ee44
call fcn.101a074a
add esp, 4
mov ecx, dword [0x10229c78]
xor al, al
mov byte [esp + 0x27], al
mov esi, 0x10229af0
mov eax, dword [0x10453a6c]
movups xmm0, xmmword [0x101f8220]
lea edx, [eax*8]
sub edx, eax
movups xmmword [esp + 0x28], xmm0
mov al, byte [ecx + edx*8 + 0x24]
and al, 1
mov byte [0x10453a68], al
mov eax, dword [ecx + edx*8 + 0x24]
shr eax, 1
and al, 1
mov byte [0x10453a69], al
mov eax, dword [ecx + edx*8 + 0x24]
shr eax, 2
and al, 1
mov byte [0x10453a6a], al
mov eax, dword [ecx + edx*8 + 0x24]
shr eax, 3
and al, 1
cmp dword [0x10229b04], 0x10
mov byte [0x10453a6b], al
cmovae esi, dword [0x10229af0]
cmp byte [0x101f8233], 0
mov eax, dword [0x101f8230]
mov dword [esp + 0x38], eax
je 0x100da7c4
xor edx, edx
mov dword [esp + 0x40], edx
cmp edi, 2
jl 0x100da790
movaps xmm0, xmmword [str.2222222222222222777777777777777788888888888888889999999999999999]
mov eax, 5
movaps xmm4, xmmword [0x102025e0]
movaps xmm3, xmmword [0x10202b30]
movaps xmm6, xmmword [0x10202680]
movd xmm5, eax
mov eax, 0x1f
movaps xmmword [esp + 0x40], xmm0
mov ecx, dword [esp + 0x40]
movd xmm7, eax
nop word [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
paddd xmm1, xmm2
psrad xmm1, xmm5
movaps xmm0, xmm1
psrld xmm0, xmm7
paddd xmm0, xmm1
pmulld xmm0, xmm6
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
pand xmm1, xmmword [0x10202710]
packuswb xmm1, xmm1
movd xmm0, ecx
paddb xmm1, xmm0
movd xmm0, dword [esp + edx + 0x28]
pxor xmm1, xmm0
movd xmm0, eax
pshufd xmm2, xmm0, 0
movd dword [esp + edx + 0x28], 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, xmm5
movaps xmm0, xmm1
psrld xmm0, xmm7
paddd xmm0, xmm1
pmulld xmm0, xmm6
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
pand xmm1, xmmword [0x10202710]
packuswb xmm1, xmm1
movd xmm0, ecx
paddb xmm1, xmm0
movd xmm0, dword [esp + edx + 0x2c]
pxor xmm1, xmm0
movd dword [esp + edx + 0x2c], xmm1
add edx, 8
cmp edx, 0x10
jl 0x100da680
mov dword [esp + 0x40], edx
cmp edx, 0x14
jge 0x100da7c4
nop dword [eax + eax]
mov eax, 0x8fb823ef
imul edx
add edx, dword [esp + 0x40]
sar edx, 5
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [esp + 0x40]
movsx eax, al
mov cl, dl
imul eax, eax, 0x39
sub cl, al
add cl, 0x32
xor byte [esp + edx + 0x28], cl
inc edx
mov dword [esp + 0x40], edx
cmp edx, 0x14
jl 0x100da790
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]
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x100da7f0
sub ecx, edx
lea eax, [esp + 0x28]
push ecx
push eax
lea ecx, [esp + 0x84]
call fcn.10027e90
cmp dword [esp + 0x90], 0x10
lea ecx, [esp + 0x7c]
push 1
cmovae ecx, dword [esp + 0x80]
mov edx, esi
push 0
call fcn.101736f0
mov ecx, dword [esp + 0x90]
mov byte [esp + 0x40], al
cmp ecx, 0x10
jb 0x100da86b
mov edx, dword [esp + 0x7c]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x100da85d
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100dcc55
push ecx
push edx
call fcn.101a043c
mov al, byte [esp + 0x48]
add esp, 8
test al, al
je 0x100da900
push 0
push 0x101d9e4f
mov ecx, 0x10229af0
call fcn.10022c30
xor esi, esi
mov dword [esp + 0x28], esi
mov dword [esp + 0x2c], esi
nop
mov dl, byte [esi + 0x10453a68]
lea eax, [esp + 0x28]
mov ecx, dword [esp + esi*4 + 0x64]
push eax
push 1
call fcn.10181fe0
test al, al
je 0x100da8ba
cmp byte [esi + 0x10453a68], 0
sete al
mov byte [esi + 0x10453a68], al
inc esi
cmp esi, 4
jb 0x100da890
mov esi, dword [0x10453c48]
mov eax, dword [esi + 0x1bec]
cmp dword [esi + 0x1d54], eax
jne 0x100da8e4
mov dword [esi + 0x1e58], eax
mov dword [esi + 0x1e5c], 2
test dword [eax + 8], 0x1000000
je 0x100da8f4
mov byte [esi + 0x1b9e], 1
call fcn.101610e0
mov byte [esi + 0x1b9e], 0
xor esi, esi
cmp byte [esp + 0x27], 0
mov eax, 0x202c
jne 0x100da929
push 0
push 0x101d9e4f
mov ecx, 0x10229af0
call fcn.10022c30
mov byte [esp + 0x27], 1
mov eax, 0x202c
cmp byte [esi + 0x10453a68], 0
je 0x100dab0a
cmp dword [0x10229b00], 0
xorps xmm0, xmm0
mov edx, dword [esp + esi*4 + 0x64]
je 0x100da9b9
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.10020840
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 0x100da9f8
mov ecx, edx
mov dword [esp + 0x38], 0
or ebx, 4
mov dword [esp + 0x3c], 0
mov dword [esp + 0x1c], ebx
movups xmmword [esp + 0x28], xmm0
lea edi, [ecx + 1]
nop word [eax + eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x100da9e0
sub ecx, edi
push ecx
push edx
lea ecx, [esp + 0x30]
call fcn.10027e90
lea eax, [esp + 0x28]
push eax
mov ecx, 0x10229af0
call fcn.100208b0
test bl, 4
je 0x100daa45
mov ecx, dword [esp + 0x3c]
and ebx, 0xfffffffb
mov dword [esp + 0x1c], ebx
cmp ecx, 0x10
jb 0x100daa45
mov edx, dword [esp + 0x28]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x100daa3b
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100dcc55
push ecx
push edx
call fcn.101a043c
add esp, 8
test bl, 2
je 0x100daa87
mov ecx, dword [esp + 0x54]
and ebx, 0xfffffffd
mov dword [esp + 0x1c], ebx
cmp ecx, 0x10
jb 0x100daa87
mov edx, dword [esp + 0x40]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x100daa7d
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100dcc55
push ecx
push edx
call fcn.101a043c
add esp, 8
test bl, 1
je 0x100daaed
mov ecx, dword [esp + 0xa8]
and ebx, 0xfffffffe
mov dword [esp + 0x1c], ebx
cmp ecx, 0x10
jb 0x100daacf
mov edx, dword [esp + 0x94]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x100daac5
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100dcc55
push ecx
push edx
call fcn.101a043c
add esp, 8
mov dword [esp + 0xa4], 0
mov dword [esp + 0xa8], 0xf
mov byte [esp + 0x94], 0
mov eax, dword [0x10453a6c]
mov ecx, dword [0x10229c78]
lea edx, [eax*8]
sub edx, eax
mov eax, dword [ecx + edx*8 + 0x24]
bts eax, esi
jmp 0x100dab25
mov eax, dword [0x10453a6c]
mov ecx, dword [0x10229c78]
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 0x100da902
movq xmm0, qword [str.fVXPFR_R:]
xor ebx, ebx
mov al, byte [0x101f9394]
mov esi, dword [0x10229c78]
movq qword [esp + 0x28], xmm0
mov byte [esp + 0x30], al
mov eax, 0x1f7047dd
mov cl, bl
mul ebx
mov eax, ebx
sub eax, edx
shr eax, 1
add eax, edx
shr eax, 5
movsx eax, al
imul eax, eax, 0x39
sub cl, al
add cl, 0x32
xor byte [esp + ebx + 0x28], cl
inc ebx
cmp ebx, 9
jl 0x100dab52
lea edx, [esi + 0xe9c]
lea ecx, [esp + 0x28]
call fcn.10172b50
movq xmm0, qword [str.y__SSUWM:]
xor edx, edx
mov al, byte [0x101f895c]
mov esi, dword [0x10229c78]
movq qword [esp + 0x28], xmm0
mov byte [esp + 0x30], al
mov dword [esp + 0x40], edx
nop dword [eax]
mov eax, 0x1f7047dd
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, 0x39
sub cl, al
add cl, 0x32
xor byte [esp + edx + 0x28], cl
inc edx
mov dword [esp + 0x40], edx
cmp edx, 9
jl 0x100dabb0
lea edx, [esi + 1]
lea ecx, [esp + 0x28]
call fcn.10172b50
mov eax, dword [0x101f8e0c]
xor edx, edx
cmp dword [0x1022b6e0], 2
movups xmm0, xmmword [0x101f8dfc]
mov ch, byte [esp + 0x1b]
mov dword [esp + 0x74], eax
mov al, byte [0x101f8e10]
movups xmmword [esp + 0x64], xmm0
mov byte [esp + 0x78], al
mov dword [esp + 0x40], edx
jl 0x100dad70
movaps xmm0, xmmword [str.2222222222222222777777777777777788888888888888889999999999999999]
mov eax, 5
movaps xmm4, xmmword [0x102025e0]
movaps xmm3, xmmword [0x10202b30]
movaps xmm6, xmmword [0x10202680]
movd xmm5, eax
mov eax, 0x1f
movaps xmmword [esp + 0x40], xmm0
mov esi, dword [esp + 0x40]
mov byte [esp + 0x1b], ch
movd xmm7, eax
nop
movd xmm0, edx
lea eax, [edx + 4]
pshufd xmm2, xmm0, 0
paddd xmm2, xmm4
movaps xmm1, xmm2
movaps xmm0, xmm2
punpckhdq xmm0, xmm2
punpckldq xmm1, xmm2
pmuldq xmm0, xmm3
pmuldq xmm1, xmm3
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm2
psrad xmm1, xmm5
movaps xmm0, xmm1
psrld xmm0, xmm7
paddd xmm0, xmm1
pmulld xmm0, xmm6
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
pand xmm1, xmmword [0x10202710]
packuswb xmm1, xmm1
movd xmm0, esi
paddb xmm1, xmm0
movd xmm0, dword [esp + edx + 0x64]
pxor xmm1, xmm0
movd xmm0, eax
pshufd xmm2, xmm0, 0
movd dword [esp + edx + 0x64], 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, xmm5
movaps xmm0, xmm1
psrld xmm0, xmm7
paddd xmm0, xmm1
pmulld xmm0, xmm6
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
pand xmm1, xmmword [0x10202710]
packuswb xmm1, xmm1
movd xmm0, esi
paddb xmm1, xmm0
movd xmm0, dword [esp + edx + 0x68]
pxor xmm1, xmm0
movd dword [esp + edx + 0x68], xmm1
add edx, 8
cmp edx, 0x10
jl 0x100dac60
mov dword [esp + 0x40], edx
cmp edx, 0x15
jl 0x100dad70
mov byte [esp + 0x1b], ch
jmp 0x100dada4
mov eax, 0x8fb823ef
imul edx
add edx, dword [esp + 0x40]
sar edx, 5
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [esp + 0x40]
movsx eax, al
mov cl, dl
imul eax, eax, 0x39
sub cl, al
add cl, 0x32
xor byte [esp + edx + 0x64], cl
inc edx
mov dword [esp + 0x40], edx
cmp edx, 0x15
jl 0x100dad70
mov edi, dword [0x10229c78]
mov al, byte [0x101f8898]
add edi, 8
movq xmm0, qword [str.bA_ZDL_:]
xor ebx, ebx
mov dword [esp + 0x40], edi
mov byte [esp + 0x30], al
movq qword [esp + 0x28], xmm0
nop word [eax + eax]
mov eax, 0x1f7047dd
mov cl, bl
mul ebx
mov eax, ebx
sub eax, edx
shr eax, 1
add eax, edx
shr eax, 5
movsx eax, al
imul eax, eax, 0x39
sub cl, al
add cl, 0x32
xor byte [esp + ebx + 0x28], cl
inc ebx
cmp ebx, 9
jl 0x100dadd0
xor esi, esi
lea edx, [esp + 0x64]
cmp byte [esp + 0x64], 0
je 0x100dae26
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 0x100dae15
sub ecx, edi
inc edx
add edx, ecx
inc esi
cmp byte [edx], al
jne 0x100dae10
mov edx, dword [esp + 0x40]
lea eax, [esp + 0x64]
push 1
push 0xffffffffffffffff
push esi
push eax
push 0x101745a0
lea ecx, [esp + 0x3c]
call fcn.10174600
mov eax, dword [0x10453a6c]
mov esi, 0x102296d8
mov ecx, dword [0x10229c78]
movq xmm0, qword [str.zZ_WYO_J:]
movq qword [esp + 0x28], xmm0
lea edx, [eax*8]
sub edx, eax
mov al, byte [ecx + edx*8 + 0x2c]
and al, 1
mov byte [0x10453ad8], al
mov eax, dword [ecx + edx*8 + 0x2c]
shr eax, 1
and al, 1
mov byte [0x10453ad9], al
mov eax, dword [ecx + edx*8 + 0x2c]
shr eax, 2
and al, 1
mov byte [0x10453ada], al
mov eax, dword [ecx + edx*8 + 0x2c]
shr eax, 3
and al, 1
mov byte [0x10453adb], al
mov eax, dword [ecx + edx*8 + 0x2c]
shr eax, 4
and al, 1
mov byte [0x10453adc], al
mov eax, dword [ecx + edx*8 + 0x2c]
shr eax, 5
and al, 1
mov byte [0x10453add], al
mov eax, dword [ecx + edx*8 + 0x2c]
shr eax, 6
and al, 1
mov byte [0x10453ade], al
mov eax, dword [ecx + edx*8 + 0x2c]
shr eax, 7
and al, 1
mov byte [0x10453adf], al
mov eax, dword [ecx + edx*8 + 0x2c]
shr eax, 8
and al, 1
cmp dword [0x102296ec], 0x10
mov byte [0x10453ae0], al
mov al, byte [0x101f8d08]
mov byte [esp + 0x30], al
jb 0x100daefb
mov esi, dword [0x102296d8]
xor ebx, ebx
nop dword [eax]
mov eax, 0x1f7047dd
mov cl, bl
mul ebx
mov eax, ebx
sub eax, edx
shr eax, 1
add eax, edx
shr eax, 5
movsx eax, al
imul eax, eax, 0x39
sub cl, al
add cl, 0x32
xor byte [esp + ebx + 0x28], cl
inc ebx
cmp ebx, 9
jl 0x100daf00
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 0x100daf52
sub ecx, edx
lea eax, [esp + 0x28]
push ecx
push eax
lea ecx, [esp + 0x84]
call fcn.10027e90
cmp dword [esp + 0x90], 0x10
lea ecx, [esp + 0x7c]
push 1
cmovae ecx, dword [esp + 0x80]
mov edx, esi
push 0
call fcn.101736f0
mov ecx, dword [esp + 0x90]
mov byte [esp + 0x40], al
cmp ecx, 0x10
jb 0x100dafcd
mov edx, dword [esp + 0x7c]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x100dafbf
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100dcc5a
push ecx
push edx
call fcn.101a043c
mov al, byte [esp + 0x48]
add esp, 8
test al, al
je 0x100db073
push 0
push 0x101d9e4f
mov ecx, 0x102296d8
call fcn.10022c30
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 + 0x10453ad8]
lea eax, [esp + 0x28]
mov ecx, dword [esi*4 + 0x101f7b4c]
push eax
push 1
call fcn.10181fe0
test al, al
je 0x100db02d
cmp byte [esi + 0x10453ad8], 0
sete al
mov byte [esi + 0x10453ad8], al
inc esi
cmp esi, 9
jb 0x100db000
mov esi, dword [0x10453c48]
mov eax, dword [esi + 0x1bec]
cmp dword [esi + 0x1d54], eax
jne 0x100db057
mov dword [esi + 0x1e58], eax
mov dword [esi + 0x1e5c], 2
test dword [eax + 8], 0x1000000
je 0x100db067
mov byte [esi + 0x1b9e], 1
call fcn.101610e0
mov byte [esi + 0x1b9e], 0
xor esi, esi
cmp byte [esp + 0x1b], 0
jne 0x100db092
push 0
push 0x101d9e4f
mov ecx, 0x102296d8
call fcn.10022c30
mov byte [esp + 0x1b], 1
cmp byte [esi + 0x10453ad8], 0
je 0x100db258
cmp dword [0x102296e8], 0
xorps xmm0, xmm0
mov edx, dword [esi*4 + 0x101f7b4c]
je 0x100db123
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.10020840
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 0x100db158
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]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x100db140
sub ecx, edi
push ecx
push edx
lea ecx, [esp + 0x6c]
call fcn.10027e90
lea eax, [esp + 0x64]
push eax
mov ecx, 0x102296d8
call fcn.100208b0
test bl, 0x20
je 0x100db1a1
mov ecx, dword [esp + 0x78]
and ebx, 0xffffffdf
cmp ecx, 0x10
jb 0x100db1a1
mov edx, dword [esp + 0x64]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x100db197
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100dcc55
push ecx
push edx
call fcn.101a043c
add esp, 8
test bl, 0x10
je 0x100db1df
mov ecx, dword [esp + 0x3c]
and ebx, 0xffffffef
cmp ecx, 0x10
jb 0x100db1df
mov edx, dword [esp + 0x28]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x100db1d5
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100dcc55
push ecx
push edx
call fcn.101a043c
add esp, 8
test bl, 8
je 0x100db23b
mov ecx, dword [esp + 0x90]
and ebx, 0xfffffff7
cmp ecx, 0x10
jb 0x100db220
mov edx, dword [esp + 0x7c]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x100db216
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100dcc55
push ecx
push edx
call fcn.101a043c
add esp, 8
mov dword [esp + 0x8c], 0
mov dword [esp + 0x90], 0xf
mov byte [esp + 0x7c], 0
mov eax, dword [0x10453a6c]
mov ecx, dword [0x10229c78]
lea edx, [eax*8]
sub edx, eax
mov eax, dword [ecx + edx*8 + 0x2c]
bts eax, esi
jmp 0x100db273
mov eax, dword [0x10453a6c]
mov ecx, dword [0x10229c78]
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 0x100db075
mov ax, word [0x101f95d8]
xor ebx, ebx
movq xmm0, qword [str.tFVS]
mov esi, dword [0x10229c78]
mov word [esp + 0x48], ax
mov al, byte [0x101f95da]
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, 0x1f7047dd
mov cl, bl
mul ebx
mov eax, ebx
sub eax, edx
shr eax, 1
add eax, edx
shr eax, 5
movsx eax, al
imul eax, eax, 0x39
sub cl, al
add cl, 0x32
xor byte [esp + ebx + 0x40], cl
inc ebx
cmp ebx, 0xb
jl 0x100db2c0
push ecx
lea eax, [esp + 0x2c]
push eax
lea edx, [esi + 0xa74]
lea ecx, [esp + 0x48]
call fcn.100c2320
movq xmm0, qword [0x101f7b40]
xor ebx, ebx
mov al, byte [0x101f7b48]
movq qword [esp + 0x28], xmm0
mov byte [esp + 0x30], al
mov eax, 0x1f7047dd
mov cl, bl
mul ebx
mov eax, ebx
sub eax, edx
shr eax, 1
add eax, edx
shr eax, 5
movsx eax, al
imul eax, eax, 0x39
sub cl, al
add cl, 0x32
xor byte [esp + ebx + 0x28], cl
inc ebx
cmp ebx, 9
jl 0x100db317
lea eax, [esp + 0x28]
push eax
call fcn.10170b50
mov ax, word [0x101f8620]
add esp, 4
movq xmm0, qword [0x101f8618]
movq qword [esp + 0x40], xmm0
mov word [esp + 0x48], ax
test ah, ah
je 0x100db399
xor ebx, ebx
nop dword [eax]
mov eax, 0x1f7047dd
mov cl, bl
mul ebx
mov eax, ebx
sub eax, edx
shr eax, 1
add eax, edx
shr eax, 5
movsx eax, al
imul eax, eax, 0x39
sub cl, al
add cl, 0x32
xor byte [esp + ebx + 0x40], cl
inc ebx
cmp ebx, 0xa
jl 0x100db370
mov eax, dword [0x10453c48]
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.10155bc0
mov edi, dword [esi + 4]
mov dword [esp + 0x20], eax
cmp ebx, edi
jne 0x100db3f0
lea ecx, [ebx + 1]
test edi, edi
je 0x100db3de
mov eax, edi
cdq
sub eax, edx
sar eax, 1
add eax, edi
jmp 0x100db3e3
mov eax, 8
cmp eax, ecx
cmovg ecx, eax
push ecx
mov ecx, esi
call fcn.100c0490
mov ecx, dword [esi]
mov eax, dword [esi + 8]
mov edx, dword [esp + 0x20]
movq xmm0, qword [0x101f8f6c]
mov dword [esp + 0x28], 0x42c80000
mov dword [eax + ecx*4], edx
mov ax, word [0x101f8f74]
inc dword [esi]
xor ebx, ebx
mov esi, dword [0x10229c78]
mov word [esp + 0x48], ax
mov al, byte [0x101f8f76]
mov dword [esp + 0x2c], 0
movq qword [esp + 0x40], xmm0
mov byte [esp + 0x4a], al
nop dword [eax + eax]
mov eax, 0x1f7047dd
mov cl, bl
mul ebx
mov eax, ebx
sub eax, edx
shr eax, 1
add eax, edx
shr eax, 5
movsx eax, al
imul eax, eax, 0x39
sub cl, al
add cl, 0x32
xor byte [esp + ebx + 0x40], cl
inc ebx
cmp ebx, 0xb
jl 0x100db440
push ecx
lea eax, [esp + 0x2c]
push eax
lea edx, [esi + 0xe54]
lea ecx, [esp + 0x48]
call fcn.100c2320
mov ecx, dword [0x10453c48]
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.10155bc0
mov edi, dword [esi + 4]
mov dword [esp + 0x20], eax
cmp ebx, edi
jne 0x100db4e0
lea ecx, [ebx + 1]
test edi, edi
je 0x100db4ce
mov eax, edi
cdq
sub eax, edx
sar eax, 1
add eax, edi
jmp 0x100db4d3
mov eax, 8
cmp eax, ecx
cmovg ecx, eax
push ecx
mov ecx, esi
call fcn.100c0490
mov ecx, dword [esi]
mov eax, dword [esi + 8]
mov edx, dword [esp + 0x20]
movq xmm0, qword [str.zZPPE_WMI_]
mov dword [esp + 0x28], 0x42c80000
mov dword [eax + ecx*4], edx
mov ax, word [0x101f927c]
inc dword [esi]
mov esi, dword [0x10229c78]
mov dword [esp + 0x2c], 0
movq qword [esp + 0x40], xmm0
mov word [esp + 0x48], ax
test ah, ah
je 0x100db54c
xor ebx, ebx
mov eax, 0x1f7047dd
mov cl, bl
mul ebx
mov eax, ebx
sub eax, edx
shr eax, 1
add eax, edx
shr eax, 5
movsx eax, al
imul eax, eax, 0x39
sub cl, al
add cl, 0x32
xor byte [esp + ebx + 0x40], cl
inc ebx
cmp ebx, 0xa
jl 0x100db523
push ecx
lea eax, [esp + 0x2c]
push eax
lea edx, [esi + 0xe78]
lea ecx, [esp + 0x48]
call fcn.100c2320
mov eax, dword [0x10453c48]
mov eax, dword [eax + 0x1bec]
dec dword [eax + 0xe0]
call fcn.100cc340
mov eax, dword [0x10453a6c]
movups xmm0, xmmword [0x101f88bc]
lea ecx, [eax*8]
sub ecx, eax
mov eax, dword [0x10229c78]
movups xmmword [esp + 0x64], xmm0
psrldq xmm0, 0xf
lea esi, [eax + ecx*8]
movd eax, xmm0
test al, al
je 0x100db71d
xor ebx, ebx
cmp dword [0x1022b6e0], 2
jl 0x100db6f3
movaps xmm0, xmmword [str.2222222222222222777777777777777788888888888888889999999999999999]
mov eax, 5
movaps xmm4, xmmword [0x102025e0]
xor ecx, ecx
movaps xmm3, xmmword [0x10202b30]
movaps xmm6, xmmword [0x10202680]
movd xmm5, eax
mov eax, 0x1f
movaps xmmword [esp + 0x40], xmm0
mov edx, dword [esp + 0x40]
movd xmm7, 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, xmm5
movaps xmm0, xmm1
psrld xmm0, xmm7
paddd xmm0, xmm1
pmulld xmm0, xmm6
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
pand xmm1, xmmword [0x10202710]
packuswb xmm1, xmm1
movd xmm0, edx
paddb xmm1, xmm0
movd xmm0, dword [esp + ecx + 0x64]
pxor xmm1, xmm0
movd xmm0, eax
pshufd xmm2, xmm0, 0
movd dword [esp + ecx + 0x64], 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, xmm5
movaps xmm0, xmm1
psrld xmm0, xmm7
paddd xmm0, xmm1
pmulld xmm0, xmm6
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
pand xmm1, xmmword [0x10202710]
packuswb xmm1, xmm1
movd xmm0, edx
paddb xmm1, xmm0
movd xmm0, dword [esp + ecx + 0x68]
pxor xmm1, xmm0
movd dword [esp + ecx + 0x68], xmm1
add ecx, 8
cmp ecx, 0x10
jl 0x100db5f2
jmp 0x100db71d
mov eax, 0x8fb823ef
mov cl, bl
imul ebx
add edx, ebx
sar edx, 5
mov eax, edx
shr eax, 0x1f
add eax, edx
movsx eax, al
imul eax, eax, 0x39
sub cl, al
add cl, 0x32
xor byte [esp + ebx + 0x64], cl
inc ebx
cmp ebx, 0x10
jl 0x100db6f3
lea edx, [esi + 0x20]
lea ecx, [esp + 0x64]
call fcn.10172b50
mov ebx, dword [0x10453c48]
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 0x100db771
inc ecx
test edi, edi
je 0x100db75b
mov eax, edi
cdq
sub eax, edx
sar eax, 1
add eax, edi
jmp 0x100db760
mov eax, 8
cmp eax, ecx
cmovg ecx, eax
push ecx
mov ecx, esi
call fcn.100c0490
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 [0x10229c78]
mov eax, dword [str.tB5aP_ES]
add esi, 0x10
cmp byte [0x101f8b4b], 0
mov edi, dword [0x1022b6e0]
mov dword [esp + 0x1c], eax
je 0x100db880
xor ebx, ebx
cmp edi, 2
jl 0x100db856
movaps xmm3, xmmword [0x102025e0]
mov ecx, 5
movaps xmm2, xmm3
movaps xmm0, xmm3
punpckhdq xmm0, xmm3
pmuldq xmm0, xmmword [0x10202b30]
punpckldq xmm2, xmm3
pmuldq xmm2, xmmword [0x10202b30]
shufps xmm2, xmm0, 0xdd
movd xmm0, ecx
paddd xmm2, xmm3
psrad xmm2, xmm0
mov ecx, 0x1f
movaps xmm1, xmm2
movd xmm0, ecx
psrld xmm1, xmm0
paddd xmm1, xmm2
pmulld xmm1, xmmword [0x10202680]
psubd xmm3, xmm1
pshuflw xmm0, xmm3, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
pand xmm1, xmmword [0x10202710]
packuswb xmm1, xmm1
paddb xmm1, xmmword [str.2222222222222222777777777777777788888888888888889999999999999999]
movd xmm0, eax
pxor xmm1, xmm0
movd dword [esp + 0x1c], xmm1
jmp 0x100db880
mov eax, 0x8fb823ef
mov cl, bl
imul ebx
add edx, ebx
sar edx, 5
mov eax, edx
shr eax, 0x1f
add eax, edx
movsx eax, al
imul eax, eax, 0x39
sub cl, al
add cl, 0x32
xor byte [esp + ebx + 0x1c], cl
inc ebx
cmp ebx, 4
jl 0x100db856
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.10176340
mov eax, dword [0x10453a6c]
movq xmm0, qword [str.zZ_VVVZ__]
movq qword [esp + 0x28], xmm0
lea esi, [eax*8]
sub esi, eax
mov eax, dword [0x10229c78]
add eax, 0x30
lea esi, [eax + esi*8]
mov ax, word [0x101f9640]
mov word [esp + 0x30], ax
test ah, ah
je 0x100db919
xor ebx, ebx
nop dword [eax + eax]
mov eax, 0x1f7047dd
mov cl, bl
mul ebx
mov eax, ebx
sub eax, edx
shr eax, 1
add eax, edx
shr eax, 5
movsx eax, al
imul eax, eax, 0x39
sub cl, al
add cl, 0x32
xor byte [esp + ebx + 0x28], cl
inc ebx
cmp ebx, 0xa
jl 0x100db8f0
push 0
push 0x101f5cdc
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.10176340
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 [0x10453a6c]
mov edx, 8
lea ecx, [eax*8]
sub ecx, eax
mov eax, dword [0x10229c78]
lea eax, [eax + ecx*8]
mov ecx, str.Accuracy_boost
add eax, 0x50
push eax
call fcn.10176340
mov eax, dword [0x10453a6c]
movups xmm0, xmmword [0x101f915c]
mov esi, dword [0x10229c78]
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 0x100dbb3b
xor ebx, ebx
cmp edi, 2
jl 0x100dbb11
movaps xmm0, xmmword [str.2222222222222222777777777777777788888888888888889999999999999999]
mov eax, 5
movaps xmm4, xmmword [0x102025e0]
xor ecx, ecx
movaps xmm3, xmmword [0x10202b30]
movaps xmm6, xmmword [0x10202680]
movd xmm5, eax
mov eax, 0x1f
movaps xmmword [esp + 0x40], xmm0
mov edx, dword [esp + 0x40]
movd xmm7, eax
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
paddd xmm1, xmm2
psrad xmm1, xmm5
movaps xmm0, xmm1
psrld xmm0, xmm7
paddd xmm0, xmm1
pmulld xmm0, xmm6
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
pand xmm1, xmmword [0x10202710]
packuswb xmm1, xmm1
movd xmm0, edx
paddb xmm1, xmm0
movd xmm0, dword [esp + ecx + 0x64]
pxor xmm1, xmm0
movd xmm0, eax
pshufd xmm2, xmm0, 0
movd dword [esp + ecx + 0x64], 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, xmm5
movaps xmm0, xmm1
psrld xmm0, xmm7
paddd xmm0, xmm1
pmulld xmm0, xmm6
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
pand xmm1, xmmword [0x10202710]
packuswb xmm1, xmm1
movd xmm0, edx
paddb xmm1, xmm0
movd xmm0, dword [esp + ecx + 0x68]
pxor xmm1, xmm0
movd dword [esp + ecx + 0x68], xmm1
add ecx, 8
cmp ecx, 0x10
jl 0x100dba10
jmp 0x100dbb3b
mov eax, 0x8fb823ef
mov cl, bl
imul ebx
add edx, ebx
sar edx, 5
mov eax, edx
shr eax, 0x1f
add eax, edx
movsx eax, al
imul eax, eax, 0x39
sub cl, al
add cl, 0x32
xor byte [esp + ebx + 0x64], cl
inc ebx
cmp ebx, 0x10
jl 0x100dbb11
push 0
push 0x101f5cdc
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.10176340
mov eax, dword [0x10453a6c]
movups xmm0, xmmword [0x101f86a8]
lea esi, [eax*8]
sub esi, eax
mov eax, dword [0x10229c78]
add eax, 0x40
movups xmmword [esp + 0x64], xmm0
psrldq xmm0, 0xf
lea esi, [eax + esi*8]
movd eax, xmm0
test al, al
je 0x100dbd1b
xor ebx, ebx
cmp edi, 2
jl 0x100dbcf1
movaps xmm0, xmmword [str.2222222222222222777777777777777788888888888888889999999999999999]
mov eax, 5
movaps xmm4, xmmword [0x102025e0]
xor ecx, ecx
movaps xmm3, xmmword [0x10202b30]
movaps xmm6, xmmword [0x10202680]
movd xmm5, eax
mov eax, 0x1f
movaps xmmword [esp + 0x40], xmm0
mov edx, dword [esp + 0x40]
movd xmm7, eax
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, xmm5
movaps xmm0, xmm1
psrld xmm0, xmm7
paddd xmm0, xmm1
pmulld xmm0, xmm6
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
pand xmm1, xmmword [0x10202710]
packuswb xmm1, xmm1
movd xmm0, edx
paddb xmm1, xmm0
movd xmm0, dword [esp + ecx + 0x64]
pxor xmm1, xmm0
movd xmm0, eax
pshufd xmm2, xmm0, 0
movd dword [esp + ecx + 0x64], 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, xmm5
movaps xmm0, xmm1
psrld xmm0, xmm7
paddd xmm0, xmm1
pmulld xmm0, xmm6
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
pand xmm1, xmmword [0x10202710]
packuswb xmm1, xmm1
movd xmm0, edx
paddb xmm1, xmm0
movd xmm0, dword [esp + ecx + 0x68]
pxor xmm1, xmm0
movd dword [esp + ecx + 0x68], xmm1
add ecx, 8
cmp ecx, 0x10
jl 0x100dbbf0
jmp 0x100dbd1b
mov eax, 0x8fb823ef
mov cl, bl
imul ebx
add edx, ebx
sar edx, 5
mov eax, edx
shr eax, 0x1f
add eax, edx
movsx eax, al
imul eax, eax, 0x39
sub cl, al
add cl, 0x32
xor byte [esp + ebx + 0x64], cl
inc ebx
cmp ebx, 0x10
jl 0x100dbcf1
push 0
push 0x101f5cdc
lea eax, [esp + 0x28]
mov dword [esp + 0x28], 0x64
push eax
lea eax, [esp + 0x28]
mov dword [esp + 0x28], 0
push eax
mov edi, 4
lea ecx, [esp + 0x74]
push esi
mov edx, edi
call fcn.10176340
mov eax, dword [0x10453a6c]
mov esi, dword [0x10229c78]
movq xmm0, qword [0x101f9724]
add esi, 0x44
movq qword [esp + 0x28], xmm0
lea ecx, [eax*8]
sub ecx, eax
mov ax, word [0x101f972c]
mov word [esp + 0x30], ax
xor ebx, ebx
mov al, byte [0x101f972e]
mov byte [esp + 0x32], al
lea esi, [esi + ecx*8]
nop dword [eax + eax]
mov eax, 0x1f7047dd
mov cl, bl
mul ebx
mov eax, ebx
sub eax, edx
shr eax, 1
add eax, edx
shr eax, 5
movsx eax, al
imul eax, eax, 0x39
sub cl, al
add cl, 0x32
xor byte [esp + ebx + 0x28], cl
inc ebx
cmp ebx, 0xb
jl 0x100dbd90
push 0
push 0x101f5cdc
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, edi
lea ecx, [esp + 0x3c]
call fcn.10176340
mov edi, dword [0x10453a6c]
lea edx, [esp + 0x20]
mov esi, dword [0x10229c78]
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 [0x10453c48]
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.10155bc0
mov ebx, dword [esi + 4]
mov ecx, dword [esi]
mov dword [esp + 0x20], eax
cmp ecx, ebx
jne 0x100dbe8b
inc ecx
test ebx, ebx
je 0x100dbe73
mov eax, ebx
cdq
sub eax, edx
sar eax, 1
add eax, ebx
jmp 0x100dbe78
mov eax, 8
cmp eax, ecx
cmovg ecx, eax
push ecx
mov ecx, esi
call fcn.100c0490
mov edi, dword [0x10453a6c]
mov ecx, dword [esi]
mov eax, dword [esi + 8]
mov edx, dword [esp + 0x20]
movups xmm0, xmmword [0x101f7ce0]
mov dword [eax + ecx*4], edx
lea ecx, [edi*8]
inc dword [esi]
sub ecx, edi
mov eax, dword [0x10229c78]
mov edi, dword [0x1022b6e0]
movups xmmword [esp + 0x64], xmm0
psrldq xmm0, 0xf
lea esi, [eax + ecx*8]
movd eax, xmm0
test al, al
je 0x100dc03c
xor ebx, ebx
cmp edi, 2
jl 0x100dc012
movaps xmm0, xmmword [str.2222222222222222777777777777777788888888888888889999999999999999]
mov eax, 5
movaps xmm4, xmmword [0x102025e0]
xor ecx, ecx
movaps xmm3, xmmword [0x10202b30]
movaps xmm6, xmmword [0x10202680]
movd xmm5, eax
mov eax, 0x1f
movaps xmmword [esp + 0x40], xmm0
mov edx, dword [esp + 0x40]
movd xmm7, 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, xmm5
movaps xmm0, xmm1
psrld xmm0, xmm7
paddd xmm0, xmm1
pmulld xmm0, xmm6
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
pand xmm1, xmmword [0x10202710]
packuswb xmm1, xmm1
movd xmm0, edx
paddb xmm1, xmm0
movd xmm0, dword [esp + ecx + 0x64]
pxor xmm1, xmm0
movd xmm0, eax
pshufd xmm2, xmm0, 0
movd dword [esp + ecx + 0x64], 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, xmm5
movaps xmm0, xmm1
psrld xmm0, xmm7
paddd xmm0, xmm1
pmulld xmm0, xmm6
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
pand xmm1, xmmword [0x10202710]
packuswb xmm1, xmm1
movd xmm0, edx
paddb xmm1, xmm0
movd xmm0, dword [esp + ecx + 0x68]
pxor xmm1, xmm0
movd dword [esp + ecx + 0x68], xmm1
add ecx, 8
cmp ecx, 0x10
jl 0x100dbf11
jmp 0x100dc03c
mov eax, 0x8fb823ef
mov cl, bl
imul ebx
add edx, ebx
sar edx, 5
mov eax, edx
shr eax, 0x1f
add eax, edx
movsx eax, al
imul eax, eax, 0x39
sub cl, al
add cl, 0x32
xor byte [esp + ebx + 0x64], cl
inc ebx
cmp ebx, 0x10
jl 0x100dc012
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]
nop dword [eax + eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x100dc060
sub ecx, edx
lea eax, [esp + 0x64]
push ecx
push eax
lea ecx, [esp + 0x30]
call fcn.10027e90
cmp dword [esp + 0x3c], 0x10
lea ecx, [esp + 0x28]
lea edx, [esi + 0x35]
cmovae ecx, dword [esp + 0x28]
call fcn.10172b50
mov ecx, dword [esp + 0x3c]
cmp ecx, 0x10
jb 0x100dc0c4
mov edx, dword [esp + 0x28]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x100dc0ba
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100dcc5f
push ecx
push edx
call fcn.101a043c
add esp, 8
mov ecx, dword [0x10453c48]
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 0x100dc147
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 [0x101f8f8b], 0
mov eax, dword [str.yVM5_VYZ_R]
mov esi, dword [0x10229c78]
mov dword [esp + 0x28], 0x42c80000
mov dword [esp + 0x2c], 0
mov dword [esp + 0x1c], eax
je 0x100dc23a
xor ebx, ebx
cmp edi, 2
jl 0x100dc210
movaps xmm3, xmmword [0x102025e0]
mov ecx, 5
movaps xmm2, xmm3
movaps xmm0, xmm3
punpckhdq xmm0, xmm3
pmuldq xmm0, xmmword [0x10202b30]
punpckldq xmm2, xmm3
pmuldq xmm2, xmmword [0x10202b30]
shufps xmm2, xmm0, 0xdd
movd xmm0, ecx
paddd xmm2, xmm3
psrad xmm2, xmm0
mov ecx, 0x1f
movaps xmm1, xmm2
movd xmm0, ecx
psrld xmm1, xmm0
paddd xmm1, xmm2
pmulld xmm1, xmmword [0x10202680]
psubd xmm3, xmm1
pshuflw xmm0, xmm3, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
pand xmm1, xmmword [0x10202710]
packuswb xmm1, xmm1
paddb xmm1, xmmword [str.2222222222222222777777777777777788888888888888889999999999999999]
movd xmm0, eax
pxor xmm1, xmm0
movd dword [esp + 0x1c], xmm1
jmp 0x100dc23a
mov eax, 0x8fb823ef
mov cl, bl
imul ebx
add edx, ebx
sar edx, 5
mov eax, edx
shr eax, 0x1f
add eax, edx
movsx eax, al
imul eax, eax, 0x39
sub cl, al
add cl, 0x32
xor byte [esp + ebx + 0x1c], cl
inc ebx
cmp ebx, 4
jl 0x100dc210
push ecx
lea eax, [esp + 0x2c]
push eax
lea edx, [esi + 0xa50]
lea ecx, [esp + 0x24]
call fcn.100c2320
mov ebx, dword [0x10453c48]
mov edi, dword [0x10453a6c]
mov eax, dword [ebx + 0x1bec]
lea ecx, [edi*8]
sub ecx, edi
dec dword [eax + 0xe0]
mov eax, dword [0x10229c78]
cmp byte [eax + ecx*8 + 0x35], 0
je 0x100dc45c
movups xmm0, xmmword [0x101f7ce0]
lea esi, [eax + 0x48]
lea esi, [esi + ecx*8]
movups xmmword [esp + 0x64], xmm0
psrldq xmm0, 0xf
movd eax, xmm0
test al, al
je 0x100dc41b
xor ebx, ebx
cmp dword [0x1022b6e0], 2
jl 0x100dc3f1
movaps xmm0, xmmword [str.2222222222222222777777777777777788888888888888889999999999999999]
mov eax, 5
movaps xmm4, xmmword [0x102025e0]
xor ecx, ecx
movaps xmm3, xmmword [0x10202b30]
movaps xmm6, xmmword [0x10202680]
movd xmm5, eax
mov eax, 0x1f
movaps xmmword [esp + 0x40], xmm0
mov edx, dword [esp + 0x40]
movd xmm7, eax
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, xmm5
movaps xmm0, xmm1
psrld xmm0, xmm7
paddd xmm0, xmm1
pmulld xmm0, xmm6
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
pand xmm1, xmmword [0x10202710]
packuswb xmm1, xmm1
movd xmm0, edx
paddb xmm1, xmm0
movd xmm0, dword [esp + ecx + 0x64]
pxor xmm1, xmm0
movd xmm0, eax
pshufd xmm2, xmm0, 0
movd dword [esp + ecx + 0x64], 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, xmm5
movaps xmm0, xmm1
psrld xmm0, xmm7
paddd xmm0, xmm1
pmulld xmm0, xmm6
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
pand xmm1, xmmword [0x10202710]
packuswb xmm1, xmm1
movd xmm0, edx
paddb xmm1, xmm0
movd xmm0, dword [esp + ecx + 0x68]
pxor xmm1, xmm0
movd dword [esp + ecx + 0x68], xmm1
add ecx, 8
cmp ecx, 0x10
jl 0x100dc2f0
jmp 0x100dc41b
mov eax, 0x8fb823ef
mov cl, bl
imul ebx
add edx, ebx
sar edx, 5
mov eax, edx
shr eax, 0x1f
add eax, edx
movsx eax, al
imul eax, eax, 0x39
sub cl, al
add cl, 0x32
xor byte [esp + ebx + 0x64], cl
inc ebx
cmp ebx, 0x10
jl 0x100dc3f1
push 0
push 0x101f5cdc
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.10176340
mov eax, dword [0x10229c78]
mov edi, dword [0x10453a6c]
mov ebx, dword [0x10453c48]
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.10155bc0
mov ebx, dword [esi + 4]
mov ecx, dword [esi]
mov dword [esp + 0x20], eax
cmp ecx, ebx
jne 0x100dc4ed
inc ecx
test ebx, ebx
je 0x100dc4d5
mov eax, ebx
cdq
sub eax, edx
sar eax, 1
add eax, ebx
jmp 0x100dc4da
mov eax, 8
cmp eax, ecx
cmovg ecx, eax
push ecx
mov ecx, esi
call fcn.100c0490
mov edi, dword [0x10453a6c]
mov ecx, dword [esi]
xor ebx, ebx
mov eax, dword [esi + 8]
mov edx, dword [esp + 0x20]
movups xmm0, xmmword [str.zZ_VVVZ_eSK_M2_D]
mov dword [eax + ecx*4], edx
lea ecx, [edi*8]
inc dword [esi]
sub ecx, edi
mov eax, dword [0x10229c78]
mov edi, dword [0x1022b6e0]
movups xmmword [esp + 0x64], xmm0
lea esi, [eax + ecx*8]
mov ax, word [0x101f87e8]
mov word [esp + 0x74], ax
mov al, byte [0x101f87ea]
mov byte [esp + 0x76], al
cmp edi, 2
jl 0x100dc680
movaps xmm0, xmmword [str.2222222222222222777777777777777788888888888888889999999999999999]
mov eax, 5
movaps xmm4, xmmword [0x102025e0]
movaps xmm3, xmmword [0x10202b30]
movaps xmm6, xmmword [0x10202680]
movd xmm5, eax
mov eax, 0x1f
movaps xmmword [esp + 0x40], xmm0
mov ecx, dword [esp + 0x40]
movd xmm7, 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, xmm5
movaps xmm0, xmm1
psrld xmm0, xmm7
paddd xmm0, xmm1
pmulld xmm0, xmm6
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
pand xmm1, xmmword [0x10202710]
packuswb xmm1, xmm1
movd xmm0, ecx
paddb xmm1, xmm0
movd xmm0, dword [esp + ebx + 0x64]
pxor xmm1, xmm0
movd xmm0, eax
pshufd xmm2, xmm0, 0
movd dword [esp + ebx + 0x64], 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, xmm5
movaps xmm0, xmm1
psrld xmm0, xmm7
paddd xmm0, xmm1
pmulld xmm0, xmm6
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
pand xmm1, xmmword [0x10202710]
packuswb xmm1, xmm1
movd xmm0, ecx
paddb xmm1, xmm0
movd xmm0, dword [esp + ebx + 0x68]
pxor xmm1, xmm0
movd dword [esp + ebx + 0x68], xmm1
add ebx, 8
cmp ebx, 0x10
jl 0x100dc574
cmp ebx, 0x13
jge 0x100dc6aa
nop dword [eax + eax]
mov eax, 0x8fb823ef
mov cl, bl
imul ebx
add edx, ebx
sar edx, 5
mov eax, edx
shr eax, 0x1f
add eax, edx
movsx eax, al
imul eax, eax, 0x39
sub cl, al
add cl, 0x32
xor byte [esp + ebx + 0x64], cl
inc ebx
cmp ebx, 0x13
jl 0x100dc680
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]
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x100dc6d0
sub ecx, edx
lea eax, [esp + 0x64]
push ecx
push eax
lea ecx, [esp + 0x30]
call fcn.10027e90
cmp dword [esp + 0x3c], 0x10
lea ecx, [esp + 0x28]
lea edx, [esi + 0x34]
cmovae ecx, dword [esp + 0x28]
call fcn.10172b50
mov ecx, dword [esp + 0x3c]
cmp ecx, 0x10
jb 0x100dc734
mov edx, dword [esp + 0x28]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x100dc72a
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100dcc64
push ecx
push edx
call fcn.101a043c
add esp, 8
mov ecx, dword [0x10453c48]
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 0x100dc7b7
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 [0x101f8f8b], 0
mov eax, dword [str.yVM5_VYZ_R]
mov esi, dword [0x10229c78]
mov dword [esp + 0x28], 0x42c80000
mov dword [esp + 0x2c], 0
mov dword [esp + 0x1c], eax
je 0x100dc8aa
xor ebx, ebx
cmp edi, 2
jl 0x100dc880
movaps xmm3, xmmword [0x102025e0]
mov ecx, 5
movaps xmm2, xmm3
movaps xmm0, xmm3
punpckhdq xmm0, xmm3
pmuldq xmm0, xmmword [0x10202b30]
punpckldq xmm2, xmm3
pmuldq xmm2, xmmword [0x10202b30]
shufps xmm2, xmm0, 0xdd
movd xmm0, ecx
paddd xmm2, xmm3
psrad xmm2, xmm0
mov ecx, 0x1f
movaps xmm1, xmm2
movd xmm0, ecx
psrld xmm1, xmm0
paddd xmm1, xmm2
pmulld xmm1, xmmword [0x10202680]
psubd xmm3, xmm1
pshuflw xmm0, xmm3, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
pand xmm1, xmmword [0x10202710]
packuswb xmm1, xmm1
paddb xmm1, xmmword [str.2222222222222222777777777777777788888888888888889999999999999999]
movd xmm0, eax
pxor xmm1, xmm0
movd dword [esp + 0x1c], xmm1
jmp 0x100dc8aa
mov eax, 0x8fb823ef
mov cl, bl
imul ebx
add edx, ebx
sar edx, 5
mov eax, edx
shr eax, 0x1f
add eax, edx
movsx eax, al
imul eax, eax, 0x39
sub cl, al
add cl, 0x32
xor byte [esp + ebx + 0x1c], cl
inc ebx
cmp ebx, 4
jl 0x100dc880
push ecx
lea eax, [esp + 0x2c]
push eax
lea edx, [esi + 0xd10]
lea ecx, [esp + 0x24]
call fcn.100c2320
mov eax, dword [0x10453c48]
mov eax, dword [eax + 0x1bec]
dec dword [eax + 0xe0]
mov eax, dword [0x10453a6c]
lea ecx, [eax*8]
sub ecx, eax
mov eax, dword [0x10229c78]
cmp byte [eax + ecx*8 + 0x34], 0
je 0x100dcac7
movups xmm0, xmmword [str.zZ_VVVZ_eSK_M2_D]
lea esi, [eax + 0x38]
xor ebx, ebx
mov ax, word [0x101f87e8]
lea esi, [esi + ecx*8]
mov word [esp + 0x74], ax
mov al, byte [0x101f87ea]
mov byte [esp + 0x76], al
movups xmmword [esp + 0x64], xmm0
cmp edi, 2
jl 0x100dca64
movaps xmm0, xmmword [str.2222222222222222777777777777777788888888888888889999999999999999]
mov eax, 5
movaps xmm4, xmmword [0x102025e0]
movaps xmm3, xmmword [0x10202b30]
movaps xmm6, xmmword [0x10202680]
movd xmm5, eax
mov eax, 0x1f
movaps xmmword [esp + 0x40], xmm0
mov ecx, dword [esp + 0x40]
movd xmm7, eax
nop word [eax + 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, xmm5
movaps xmm0, xmm1
psrld xmm0, xmm7
paddd xmm0, xmm1
pmulld xmm0, xmm6
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
pand xmm1, xmmword [0x10202710]
packuswb xmm1, xmm1
movd xmm0, ecx
paddb xmm1, xmm0
movd xmm0, dword [esp + ebx + 0x64]
pxor xmm1, xmm0
movd xmm0, eax
pshufd xmm2, xmm0, 0
movd dword [esp + ebx + 0x64], 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, xmm5
movaps xmm0, xmm1
psrld xmm0, xmm7
paddd xmm0, xmm1
pmulld xmm0, xmm6
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
pand xmm1, xmmword [0x10202710]
packuswb xmm1, xmm1
movd xmm0, ecx
paddb xmm1, xmm0
movd xmm0, dword [esp + ebx + 0x68]
pxor xmm1, xmm0
movd dword [esp + ebx + 0x68], xmm1
add ebx, 8
cmp ebx, 0x10
jl 0x100dc960
cmp ebx, 0x13
jge 0x100dca8e
mov eax, 0x8fb823ef
mov cl, bl
imul ebx
add edx, ebx
sar edx, 5
mov eax, edx
shr eax, 0x1f
add eax, edx
movsx eax, al
imul eax, eax, 0x39
sub cl, al
add cl, 0x32
xor byte [esp + ebx + 0x64], cl
inc ebx
cmp ebx, 0x13
jl 0x100dca64
push 0
push 0x101f5cdc
lea eax, [esp + 0x28]
mov dword [esp + 0x28], 0x64
push eax
lea eax, [esp + 0x28]
mov dword [esp + 0x28], 0
push eax
mov edi, 4
lea ecx, [esp + 0x74]
push esi
mov edx, edi
call fcn.10176340
mov eax, dword [0x10229c78]
jmp 0x100dcacc
mov edi, 4
movq xmm0, qword [str.pRWBEYZQ_]
lea esi, [eax + 0xef8]
mov ax, word [0x101f3764]
movq qword [esp + 0x28], xmm0
mov word [esp + 0x30], ax
test ah, ah
je 0x100dcb1a
xor ebx, ebx
mov eax, 0x1f7047dd
mov cl, bl
mul ebx
mov eax, ebx
sub eax, edx
shr eax, 1
add eax, edx
shr eax, 5
movsx eax, al
imul eax, eax, 0x39
sub cl, al
add cl, 0x32
xor byte [esp + ebx + 0x28], cl
inc ebx
cmp ebx, 0xa
jl 0x100dcaf1
mov edx, esi
lea ecx, [esp + 0x28]
call fcn.10172b50
mov eax, dword [0x10229c78]
cmp byte [eax + 0xef8], 0
je 0x100dcbb7
movq xmm0, qword [str.fZYP]
lea esi, [eax + 0xefc]
mov ax, word [0x101f863c]
xor ebx, ebx
mov word [esp + 0x30], ax
mov al, byte [0x101f863e]
movq qword [esp + 0x28], xmm0
mov byte [esp + 0x32], al
mov eax, 0x1f7047dd
mov cl, bl
mul ebx
mov eax, ebx
sub eax, edx
shr eax, 1
add eax, edx
shr eax, 5
movsx eax, al
imul eax, eax, 0x39
sub cl, al
add cl, 0x32
xor byte [esp + ebx + 0x28], cl
inc ebx
cmp ebx, 0xb
jl 0x100dcb61
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, edi
lea ecx, [esp + 0x3c]
call fcn.10176340
push str.Optimization:
call fcn.10170b50
mov edx, dword [0x10229c78]
add esp, 4
mov ecx, str.Limit_scan
lea edx, [edx + 0x33ce]
call fcn.10172b50
mov esi, dword [0x10453c48]
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 0x100dcc40
cmp dword [eax + 0x10], 1
jne 0x100dcc3b
cmp dword [eax + 4], 0
je 0x100dcc40
call fcn.100cc620
mov ecx, dword [esp + 0xac]
pop edi
pop esi
pop ebx
xor ecx, esp
call fcn.101a0143
mov esp, ebp
pop ebp
ret
call fcn.101a56c6
call fcn.101a56c6
call fcn.101a56c6
call fcn.101a56c6
int3