Function at 0x100cc920
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 [0x101f90c0]
xor eax, esp
mov dword [esp + 0xa0], eax
push ebx
xor ebx, ebx
push esi
mov dword [esp + 0x18], ebx
cmp dword [0x102142e0], 2
push edi
jne 0x100d02ed
mov eax, dword fs:[0x2c]
mov ecx, dword [0x1021551c]
mov ecx, dword [eax + ecx*4]
mov eax, dword [0x103dbfc0]
mov dword [esp + 0x20], ecx
cmp eax, dword [ecx + 4]
jle 0x100cc9a0
push 0x103dbfc0
call fcn.1018e65d
add esp, 4
cmp dword [0x103dbfc0], 0xffffffff
jne 0x100cc9a0
push 0x101ba670
call fcn.1018e3a9
add esp, 4
push 0x103dbfc0
call fcn.1018e60c
add esp, 4
mov eax, dword [0x101e2448]
xor edx, edx
cmp dword [0x10215510], 2
movq xmm0, qword [0x101e2440]
mov esi, dword [0x10214408]
mov dword [esp + 0x30], eax
mov ax, word [0x101e244c]
mov word [esp + 0x34], ax
mov al, byte [0x101e244e]
mov byte [esp + 0x36], al
movq qword [esp + 0x28], xmm0
mov byte [esp + 0x1b], bl
mov dword [esp + 0x40], edx
jl 0x100ccae0
movaps xmm2, xmmword [0x101eb880]
mov edx, 8
movaps xmm3, xmmword [0x101ebc30]
movaps xmm1, xmm2
punpckldq xmm1, xmm2
movaps xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm3
pmuldq xmm1, xmm3
shufps xmm1, xmm0, 0xdd
psrad xmm1, 4
mov dword [esp + 0x40], edx
movaps xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmmword [0x101eb8e0]
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
movaps xmm2, xmmword [0x101eb8c0]
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
andps xmm1, xmmword [0x101eb990]
movd xmm0, dword [0x101e2440]
packuswb xmm1, xmm1
paddb xmm1, xmmword [str.4444444444444444]
xorps xmm1, xmm0
movaps xmm0, xmm2
movd dword [esp + 0x28], xmm1
movaps xmm1, xmm2
punpckldq xmm1, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm3
pmuldq xmm1, xmm3
shufps xmm1, xmm0, 0xdd
psrad xmm1, 4
movaps xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmmword [0x101eb8e0]
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
andps xmm1, xmmword [0x101eb990]
movd xmm0, dword [esp + 0x2c]
packuswb xmm1, xmm1
paddb xmm1, xmmword [str.4444444444444444]
xorps xmm1, xmm0
movd dword [esp + 0x2c], xmm1
nop
mov eax, 0x5397829d
imul edx
sar edx, 4
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [esp + 0x40]
movsx eax, al
mov cl, dl
imul eax, eax, 0x31
sub cl, al
add cl, 0x34
xor byte [esp + edx + 0x28], cl
inc edx
mov dword [esp + 0x40], edx
cmp edx, 0xf
jl 0x100ccae0
mov edx, esi
lea ecx, [esp + 0x28]
call fcn.10161e40
movss xmm1, dword [0x101eb704]
xorps xmm0, xmm0
call fcn.10150d30
movq xmm0, qword [str.GXB_]
xor ebx, ebx
mov al, byte [0x101e13d0]
movq qword [esp + 0x28], xmm0
mov byte [esp + 0x30], al
mov eax, 0x5397829d
mov cl, bl
mul ebx
shr edx, 4
movsx eax, dl
imul eax, eax, 0x31
sub cl, al
add cl, 0x34
xor byte [esp + ebx + 0x28], cl
inc ebx
cmp ebx, 9
jl 0x100ccb44
mov eax, dword [0x103d8bec]
lea ecx, [esp + 0x28]
xor edx, edx
mov esi, dword [eax + 0x1bdc]
mov eax, dword [esi + 0xc8]
add esi, 0xc0
mov ebx, dword [esi]
push dword [eax + ebx*4 - 4]
call fcn.10144c10
mov edi, dword [esi + 4]
mov dword [esp + 0x40], eax
cmp ebx, edi
jne 0x100ccbbc
lea ecx, [ebx + 1]
test edi, edi
je 0x100ccbaa
mov eax, edi
cdq
sub eax, edx
sar eax, 1
add eax, edi
jmp 0x100ccbaf
mov eax, 8
cmp eax, ecx
cmovg ecx, eax
push ecx
mov ecx, esi
call fcn.100b4620
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 [0x101e1c40]
inc dword [esi]
xor ebx, ebx
mov esi, dword [0x10214408]
mov dword [esp + 0x40], eax
mov ax, word [0x101e1c44]
mov word [esp + 0x44], ax
mov al, byte [0x101e1c46]
mov byte [esp + 0x46], al
nop
mov eax, 0x5397829d
mov cl, bl
mul ebx
shr edx, 4
movsx eax, dl
imul eax, eax, 0x31
sub cl, al
add cl, 0x34
xor byte [esp + ebx + 0x40], cl
inc ebx
cmp ebx, 7
jl 0x100ccc00
push ecx
lea eax, [esp + 0x2c]
push eax
lea edx, [esi + 0x998]
lea ecx, [esp + 0x48]
call fcn.100b64a0
mov ecx, dword [0x103d8bec]
mov eax, dword [ecx + 0x1bdc]
dec dword [eax + 0xc0]
mov ecx, dword [ecx + 0x1bdc]
cmp byte [ecx + 0x8f], 0
jne 0x100ccc69
mov ecx, dword [ecx + 0x1a4]
neg ecx
sbb ecx, ecx
add ecx, 6
call fcn.10162810
movss xmm0, dword [0x101eb5ac]
call fcn.10150df0
movups xmm0, xmmword [str.fTQRZVNeKX_O__1CcPWGWWI_PW_LQ]
mov edi, dword [0x10215510]
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 0x100cce18
mov al, byte [esp + 0x1b]
mov byte [esp + 0x1b], al
cmp edi, 2
jl 0x100ccde7
movaps xmm0, xmmword [str.4444444444444444]
lea esi, [esp + 0x68]
movaps xmm4, xmmword [0x101eb880]
xor ecx, ecx
movaps xmm3, xmmword [0x101ebc30]
movaps xmm5, xmmword [0x101eb8e0]
movaps xmmword [esp + 0x40], xmm0
mov edx, dword [esp + 0x40]
nop word [eax + eax]
movd xmm0, ecx
lea eax, [ecx + 4]
pshufd xmm2, xmm0, 0
paddd xmm2, xmm4
movaps xmm1, xmm2
movaps xmm0, xmm2
punpckhdq xmm0, xmm2
punpckldq xmm1, xmm2
pmuldq xmm0, xmm3
pmuldq xmm1, xmm3
shufps xmm1, xmm0, 0xdd
psrad xmm1, 4
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 [0x101eb990]
packuswb xmm1, xmm1
movd xmm0, edx
paddb xmm1, xmm0
movd xmm0, dword [esp + ecx + 0x64]
xorps xmm1, xmm0
movd xmm0, eax
pshufd xmm2, xmm0, 0
movd dword [esp + ecx + 0x64], xmm1
paddd xmm2, xmm4
movaps xmm1, xmm2
movaps xmm0, xmm2
punpckhdq xmm0, xmm2
punpckldq xmm1, xmm2
pmuldq xmm0, xmm3
pmuldq xmm1, xmm3
shufps xmm1, xmm0, 0xdd
psrad xmm1, 4
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 [0x101eb990]
packuswb xmm1, xmm1
movd xmm0, edx
paddb xmm1, xmm0
movd xmm0, dword [esi + ecx]
xorps xmm1, xmm0
movd dword [esi + ecx], xmm1
add ecx, 8
cmp ecx, 0x10
jl 0x100cccf0
jmp 0x100cce18
xor ebx, ebx
nop dword [eax]
mov eax, 0x5397829d
mov cl, bl
imul ebx
sar edx, 4
mov eax, edx
shr eax, 0x1f
add eax, edx
movsx eax, al
imul eax, eax, 0x31
sub cl, al
add cl, 0x34
xor byte [esp + ebx + 0x64], cl
inc ebx
cmp ebx, 0x10
jl 0x100ccdf0
mov esi, dword [0x103d8bec]
xor edx, edx
mov eax, dword [esi + 0x1bdc]
mov byte [eax + 0x8c], 1
mov eax, dword [esi + 0x1bdc]
mov ecx, dword [eax + 0xc0]
mov eax, dword [eax + 0xc8]
push dword [eax + ecx*4 - 4]
lea ecx, [esp + 0x68]
call fcn.10144c10
cmp dword [esi + 0x1c10], eax
jne 0x100cce5a
mov dword [esi + 0x1c14], eax
cmp dword [esi + 0x1c4c], eax
jne 0x100cce69
mov byte [esi + 0x1c50], 1
push 0
push 0
lea ecx, [esp + 0x30]
mov edx, eax
push ecx
lea ecx, [esp + 0x70]
call fcn.1014b5f0
cmp dword [0x102142e0], 2
jne 0x100cdb51
cmp dword [0x103d8a7c], 0
mov ecx, dword [0x103d8bec]
mov eax, dword [ecx + 0x1bdc]
mov byte [eax + 0x8c], 1
mov eax, dword [ecx + 0x1bdc]
movss xmm1, dword [eax + 0xc]
subss xmm1, dword [eax + 0x58]
movss xmm0, dword [eax + 0xe4]
addss xmm1, dword [0x101eb4bc]
maxss xmm0, xmm1
movss dword [eax + 0xcc], xmm1
movss dword [eax + 0xe4], xmm0
jne 0x100ccee1
call fcn.100cc6b0
jmp 0x100ccee6
call fcn.100cc7b0
cmp byte [0x101e1963], 0
mov eax, dword [str.uYZ7B]
mov dword [esp + 0x28], 0x42200000
mov dword [esp + 0x2c], 0x41f00000
mov dword [esp + 0x40], eax
je 0x100ccfbd
cmp edi, 2
jl 0x100ccf8b
movaps xmm3, xmmword [0x101eb880]
movaps xmm2, xmm3
movaps xmm0, xmm3
punpckhdq xmm0, xmm3
pmuldq xmm0, xmmword [0x101ebc30]
punpckldq xmm2, xmm3
pmuldq xmm2, xmmword [0x101ebc30]
shufps xmm2, xmm0, 0xdd
psrad xmm2, 4
movaps xmm0, xmm2
psrld xmm0, 0x1f
paddd xmm0, xmm2
pmulld xmm0, xmmword [0x101eb8e0]
psubd xmm3, xmm0
pshuflw xmm0, xmm3, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
andps xmm1, xmmword [0x101eb990]
packuswb xmm1, xmm1
paddb xmm1, xmmword [str.4444444444444444]
movd xmm0, eax
xorps xmm1, xmm0
movd dword [esp + 0x40], xmm1
jmp 0x100ccfbd
mov al, byte [esp + 0x1b]
xor ebx, ebx
mov byte [esp + 0x1b], al
mov eax, 0x5397829d
mov cl, bl
imul ebx
sar edx, 4
mov eax, edx
shr eax, 0x1f
add eax, edx
movsx eax, al
imul eax, eax, 0x31
sub cl, al
add cl, 0x34
xor byte [esp + ebx + 0x40], cl
inc ebx
cmp ebx, 4
jl 0x100ccf95
push 0
push 0
lea edx, [esp + 0x30]
lea ecx, [esp + 0x48]
call fcn.10160590
test al, al
je 0x100ccfdc
mov dword [0x103d8a7c], 0
mov esi, dword [0x103d8bec]
movss xmm1, dword [0x101eb704]
mov eax, dword [esi + 0x1cd8]
mov ecx, dword [esi + 0x1ce0]
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 + 0x1cd8]
mov eax, dword [esi + 0x1cd8]
mov ecx, dword [esi + 0x1ce0]
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 + 0x1cd8]
mov eax, dword [esi + 0x1cd8]
mov ecx, dword [esi + 0x1ce0]
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 + 0x1cd8]
mov eax, dword [esi + 0x1cd8]
mov ecx, dword [esi + 0x1ce0]
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 + 0x1cd8]
xorps xmm0, xmm0
call fcn.10150d30
mov ecx, dword [0x10214414]
mov ecx, dword [ecx + 0x24]
call fcn.10150440
cmp dword [0x103d8a7c], 1
jne 0x100cd0b0
call fcn.100cc6b0
jmp 0x100cd0b5
call fcn.100cc7b0
mov ax, word [0x101ce420]
mov dword [esp + 0x28], 0x42480000
mov dword [esp + 0x2c], 0x41f00000
mov word [esp + 0x40], ax
test ah, ah
je 0x100cd0f7
xor ebx, ebx
mov eax, 0x5397829d
mov cl, bl
mul ebx
shr edx, 4
movsx eax, dl
imul eax, eax, 0x31
sub cl, al
add cl, 0x34
xor byte [esp + ebx + 0x40], cl
inc ebx
cmp ebx, 2
jl 0x100cd0d6
push 0
push 0
lea edx, [esp + 0x30]
lea ecx, [esp + 0x48]
call fcn.10160590
test al, al
je 0x100cd119
mov edi, 1
mov dword [0x103d8a7c], edi
jmp 0x100cd11f
mov edi, dword [0x103d8a7c]
mov esi, dword [0x103d8bec]
movss xmm1, dword [0x101eb704]
mov eax, dword [esi + 0x1cd8]
mov ecx, dword [esi + 0x1ce0]
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 + 0x1cd8]
mov eax, dword [esi + 0x1cd8]
mov ecx, dword [esi + 0x1ce0]
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 + 0x1cd8]
mov eax, dword [esi + 0x1cd8]
mov ecx, dword [esi + 0x1ce0]
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 + 0x1cd8]
mov eax, dword [esi + 0x1cd8]
mov ecx, dword [esi + 0x1ce0]
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 + 0x1cd8]
xorps xmm0, xmm0
call fcn.10150d30
cmp edi, 2
jne 0x100cd1e1
call fcn.100cc6b0
jmp 0x100cd1e6
call fcn.100cc7b0
mov ax, word [0x101ce4bc]
mov dword [esp + 0x28], 0x42480000
mov dword [esp + 0x2c], 0x41f00000
mov word [esp + 0x40], ax
test ah, ah
je 0x100cd228
xor ebx, ebx
mov eax, 0x5397829d
mov cl, bl
mul ebx
shr edx, 4
movsx eax, dl
imul eax, eax, 0x31
sub cl, al
add cl, 0x34
xor byte [esp + ebx + 0x40], cl
inc ebx
cmp ebx, 2
jl 0x100cd207
push 0
push 0
lea edx, [esp + 0x30]
lea ecx, [esp + 0x48]
call fcn.10160590
test al, al
je 0x100cd24a
mov edi, 2
mov dword [0x103d8a7c], edi
jmp 0x100cd250
mov edi, dword [0x103d8a7c]
mov esi, dword [0x103d8bec]
movss xmm1, dword [0x101eb704]
mov eax, dword [esi + 0x1cd8]
mov ecx, dword [esi + 0x1ce0]
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 + 0x1cd8]
mov eax, dword [esi + 0x1cd8]
mov ecx, dword [esi + 0x1ce0]
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 + 0x1cd8]
mov eax, dword [esi + 0x1cd8]
mov ecx, dword [esi + 0x1ce0]
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 + 0x1cd8]
mov eax, dword [esi + 0x1cd8]
mov ecx, dword [esi + 0x1ce0]
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 + 0x1cd8]
xorps xmm0, xmm0
call fcn.10150d30
cmp edi, 3
jne 0x100cd312
call fcn.100cc6b0
jmp 0x100cd317
call fcn.100cc7b0
mov ax, word [0x101ce508]
mov dword [esp + 0x28], 0x42480000
mov dword [esp + 0x2c], 0x41f00000
mov word [esp + 0x40], ax
test ah, ah
je 0x100cd361
xor ebx, ebx
nop dword [eax + eax]
mov eax, 0x5397829d
mov cl, bl
mul ebx
shr edx, 4
movsx eax, dl
imul eax, eax, 0x31
sub cl, al
add cl, 0x34
xor byte [esp + ebx + 0x40], cl
inc ebx
cmp ebx, 2
jl 0x100cd340
push 0
push 0
lea edx, [esp + 0x30]
lea ecx, [esp + 0x48]
call fcn.10160590
test al, al
je 0x100cd383
mov edi, 3
mov dword [0x103d8a7c], edi
jmp 0x100cd389
mov edi, dword [0x103d8a7c]
mov esi, dword [0x103d8bec]
movss xmm1, dword [0x101eb704]
mov eax, dword [esi + 0x1cd8]
mov ecx, dword [esi + 0x1ce0]
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 + 0x1cd8]
mov eax, dword [esi + 0x1cd8]
mov ecx, dword [esi + 0x1ce0]
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 + 0x1cd8]
mov eax, dword [esi + 0x1cd8]
mov ecx, dword [esi + 0x1ce0]
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 + 0x1cd8]
mov eax, dword [esi + 0x1cd8]
mov ecx, dword [esi + 0x1ce0]
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 + 0x1cd8]
xorps xmm0, xmm0
call fcn.10150d30
cmp edi, 4
jne 0x100cd44b
call fcn.100cc6b0
jmp 0x100cd450
call fcn.100cc7b0
mov ax, word [0x101ce528]
mov dword [esp + 0x28], 0x42480000
mov dword [esp + 0x2c], 0x41f00000
mov word [esp + 0x40], ax
test ah, ah
je 0x100cd492
xor ebx, ebx
mov eax, 0x5397829d
mov cl, bl
mul ebx
shr edx, 4
movsx eax, dl
imul eax, eax, 0x31
sub cl, al
add cl, 0x34
xor byte [esp + ebx + 0x40], cl
inc ebx
cmp ebx, 2
jl 0x100cd471
push 0
push 0
lea edx, [esp + 0x30]
lea ecx, [esp + 0x48]
call fcn.10160590
test al, al
je 0x100cd4b4
mov edi, 4
mov dword [0x103d8a7c], edi
jmp 0x100cd4ba
mov edi, dword [0x103d8a7c]
mov esi, dword [0x103d8bec]
movss xmm1, dword [0x101eb704]
mov eax, dword [esi + 0x1cd8]
mov ecx, dword [esi + 0x1ce0]
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 + 0x1cd8]
mov eax, dword [esi + 0x1cd8]
mov ecx, dword [esi + 0x1ce0]
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 + 0x1cd8]
mov eax, dword [esi + 0x1cd8]
mov ecx, dword [esi + 0x1ce0]
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 + 0x1cd8]
mov eax, dword [esi + 0x1cd8]
mov ecx, dword [esi + 0x1ce0]
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 + 0x1cd8]
xorps xmm0, xmm0
call fcn.10150d30
cmp edi, 5
jne 0x100cd57c
call fcn.100cc6b0
jmp 0x100cd581
call fcn.100cc7b0
mov ax, word [0x101ce36c]
mov dword [esp + 0x28], 0x42480000
mov dword [esp + 0x2c], 0x41f00000
mov word [esp + 0x40], ax
test ah, ah
je 0x100cd5c3
xor ebx, ebx
mov eax, 0x5397829d
mov cl, bl
mul ebx
shr edx, 4
movsx eax, dl
imul eax, eax, 0x31
sub cl, al
add cl, 0x34
xor byte [esp + ebx + 0x40], cl
inc ebx
cmp ebx, 2
jl 0x100cd5a2
push 0
push 0
lea edx, [esp + 0x30]
lea ecx, [esp + 0x48]
call fcn.10160590
test al, al
je 0x100cd5e5
mov edi, 5
mov dword [0x103d8a7c], edi
jmp 0x100cd5eb
mov edi, dword [0x103d8a7c]
mov esi, dword [0x103d8bec]
movss xmm1, dword [0x101eb704]
mov eax, dword [esi + 0x1cd8]
mov ecx, dword [esi + 0x1ce0]
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 + 0x1cd8]
mov eax, dword [esi + 0x1cd8]
mov ecx, dword [esi + 0x1ce0]
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 + 0x1cd8]
mov eax, dword [esi + 0x1cd8]
mov ecx, dword [esi + 0x1ce0]
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 + 0x1cd8]
mov eax, dword [esi + 0x1cd8]
mov ecx, dword [esi + 0x1ce0]
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 + 0x1cd8]
xorps xmm0, xmm0
call fcn.10150d30
cmp edi, 6
jne 0x100cd6ad
call fcn.100cc6b0
jmp 0x100cd6b2
call fcn.100cc7b0
mov ax, word [0x101ce33c]
mov dword [esp + 0x28], 0x42680000
mov dword [esp + 0x2c], 0x41f00000
mov word [esp + 0x40], ax
test ah, ah
je 0x100cd6f4
xor ebx, ebx
mov eax, 0x5397829d
mov cl, bl
mul ebx
shr edx, 4
movsx eax, dl
imul eax, eax, 0x31
sub cl, al
add cl, 0x34
xor byte [esp + ebx + 0x40], cl
inc ebx
cmp ebx, 2
jl 0x100cd6d3
push 0
push 0
lea edx, [esp + 0x30]
lea ecx, [esp + 0x48]
call fcn.10160590
test al, al
je 0x100cd716
mov edi, 6
mov dword [0x103d8a7c], edi
jmp 0x100cd71c
mov edi, dword [0x103d8a7c]
mov esi, dword [0x103d8bec]
movss xmm1, dword [0x101eb704]
mov eax, dword [esi + 0x1cd8]
mov ecx, dword [esi + 0x1ce0]
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 + 0x1cd8]
mov eax, dword [esi + 0x1cd8]
mov ecx, dword [esi + 0x1ce0]
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 + 0x1cd8]
mov eax, dword [esi + 0x1cd8]
mov ecx, dword [esi + 0x1ce0]
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 + 0x1cd8]
mov eax, dword [esi + 0x1cd8]
mov ecx, dword [esi + 0x1ce0]
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 + 0x1cd8]
xorps xmm0, xmm0
call fcn.10150d30
cmp edi, 7
jne 0x100cd7de
call fcn.100cc6b0
jmp 0x100cd7e3
call fcn.100cc7b0
mov ax, word [0x101ce504]
mov dword [esp + 0x28], 0x42700000
mov dword [esp + 0x2c], 0x41f00000
mov word [esp + 0x40], ax
test ah, ah
je 0x100cd825
xor ebx, ebx
mov eax, 0x5397829d
mov cl, bl
mul ebx
shr edx, 4
movsx eax, dl
imul eax, eax, 0x31
sub cl, al
add cl, 0x34
xor byte [esp + ebx + 0x40], cl
inc ebx
cmp ebx, 2
jl 0x100cd804
push 0
push 0
lea edx, [esp + 0x30]
lea ecx, [esp + 0x48]
call fcn.10160590
test al, al
je 0x100cd847
mov edi, 7
mov dword [0x103d8a7c], edi
jmp 0x100cd84d
mov edi, dword [0x103d8a7c]
mov esi, dword [0x103d8bec]
movss xmm1, dword [0x101eb704]
mov eax, dword [esi + 0x1cd8]
mov ecx, dword [esi + 0x1ce0]
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 + 0x1cd8]
mov eax, dword [esi + 0x1cd8]
mov ecx, dword [esi + 0x1ce0]
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 + 0x1cd8]
mov eax, dword [esi + 0x1cd8]
mov ecx, dword [esi + 0x1ce0]
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 + 0x1cd8]
mov eax, dword [esi + 0x1cd8]
mov ecx, dword [esi + 0x1ce0]
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 + 0x1cd8]
xorps xmm0, xmm0
call fcn.10150d30
cmp edi, 8
jne 0x100cd90f
call fcn.100cc6b0
jmp 0x100cd914
call fcn.100cc7b0
mov ax, word [0x101ce4a8]
mov dword [esp + 0x28], 0x42480000
mov dword [esp + 0x2c], 0x41f00000
mov word [esp + 0x40], ax
test ah, ah
je 0x100cd956
xor ebx, ebx
mov eax, 0x5397829d
mov cl, bl
mul ebx
shr edx, 4
movsx eax, dl
imul eax, eax, 0x31
sub cl, al
add cl, 0x34
xor byte [esp + ebx + 0x40], cl
inc ebx
cmp ebx, 2
jl 0x100cd935
push 0
push 0
lea edx, [esp + 0x30]
lea ecx, [esp + 0x48]
call fcn.10160590
test al, al
je 0x100cd978
mov edi, 8
mov dword [0x103d8a7c], edi
jmp 0x100cd97e
mov edi, dword [0x103d8a7c]
mov esi, dword [0x103d8bec]
movss xmm1, dword [0x101eb704]
mov eax, dword [esi + 0x1cd8]
mov ecx, dword [esi + 0x1ce0]
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 + 0x1cd8]
mov eax, dword [esi + 0x1cd8]
mov ecx, dword [esi + 0x1ce0]
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 + 0x1cd8]
mov eax, dword [esi + 0x1cd8]
mov ecx, dword [esi + 0x1ce0]
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 + 0x1cd8]
mov eax, dword [esi + 0x1cd8]
xorps xmm0, xmm0
mov ecx, dword [esi + 0x1ce0]
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 + 0x1cd8]
call fcn.10150d30
cmp edi, 9
jne 0x100cda40
call fcn.100cc6b0
jmp 0x100cda45
call fcn.100cc7b0
mov ax, word [0x101ce4f8]
mov dword [esp + 0x28], 0x42480000
mov dword [esp + 0x2c], 0x41f00000
mov word [esp + 0x40], ax
test ah, ah
je 0x100cda87
xor ebx, ebx
mov eax, 0x5397829d
mov cl, bl
mul ebx
shr edx, 4
movsx eax, dl
imul eax, eax, 0x31
sub cl, al
add cl, 0x34
xor byte [esp + ebx + 0x40], cl
inc ebx
cmp ebx, 2
jl 0x100cda66
push 0
push 0
lea edx, [esp + 0x30]
lea ecx, [esp + 0x48]
call fcn.10160590
test al, al
je 0x100cdaa6
mov dword [0x103d8a7c], 9
mov esi, dword [0x103d8bec]
mov eax, dword [esi + 0x1cd8]
mov ecx, dword [esi + 0x1ce0]
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 + 0x1cd8]
mov eax, dword [esi + 0x1cd8]
mov ecx, dword [esi + 0x1ce0]
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 + 0x1cd8]
mov eax, dword [esi + 0x1cd8]
mov ecx, dword [esi + 0x1ce0]
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 + 0x1cd8]
mov eax, dword [esi + 0x1cd8]
mov ecx, dword [esi + 0x1ce0]
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 + 0x1cd8]
call fcn.101504f0
call fcn.1014b7f0
mov ecx, dword [0x103d8bec]
mov eax, dword [ecx + 0x1bdc]
mov byte [eax + 0x8c], 1
mov eax, dword [ecx + 0x1bdc]
mov eax, dword [eax + 0x198]
test eax, eax
je 0x100cdb8a
cmp dword [eax + 0x10], 2
jne 0x100cdb85
cmp dword [eax + 4], 1
je 0x100cdb98
call fcn.100c06f0
push 1
mov edx, 2
xor ecx, ecx
call fcn.100bfe20
movss xmm0, dword [0x101eb63c]
mov ecx, 1
call fcn.100bfa50
movss xmm0, dword [0x101eb5f0]
call fcn.10150df0
mov eax, dword [str.gZRVM:]
mov esi, dword [0x10214408]
mov dword [esp + 0x40], eax
add esi, 2
mov ax, word [0x101e1078]
xor ebx, ebx
mov word [esp + 0x44], ax
mov al, byte [0x101e107a]
mov byte [esp + 0x46], al
nop
mov eax, 0x5397829d
mov cl, bl
mul ebx
shr edx, 4
movsx eax, dl
imul eax, eax, 0x31
sub cl, al
add cl, 0x34
xor byte [esp + ebx + 0x40], cl
inc ebx
cmp ebx, 7
jl 0x100cdbe0
mov edx, esi
lea ecx, [esp + 0x40]
call fcn.10161e40
mov eax, dword [0x101e10d0]
movq xmm0, qword [str.rG_RV_VB]
mov dl, byte [esp + 0x1b]
mov esi, dword [0x10214408]
mov edi, dword [0x10215510]
mov dword [esp + 0x30], eax
mov ax, word [0x101e10d4]
movq qword [esp + 0x28], xmm0
mov word [esp + 0x34], ax
mov byte [esp + 0x1b], dl
test ah, ah
je 0x100cdd88
xor eax, eax
mov byte [esp + 0x1b], dl
mov dword [esp + 0x40], eax
cmp edi, 2
jl 0x100cdd5c
movaps xmm2, xmmword [0x101eb880]
movaps xmm4, xmmword [0x101ebc30]
movaps xmm1, xmm2
punpckldq xmm1, xmm2
movaps xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm4
pmuldq xmm1, xmm4
shufps xmm1, xmm0, 0xdd
mov eax, dword [str.4444444444444444]
psrad xmm1, 4
mov byte [esp + 0x1b], dl
movaps xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmmword [0x101eb8e0]
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
movaps xmm2, xmmword [0x101eb8c0]
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
andps xmm1, xmmword [0x101eb990]
packuswb xmm1, xmm1
movd xmm0, eax
paddb xmm1, xmm0
movd xmm0, dword [str.rG_RV_VB]
xorps xmm1, xmm0
movaps xmm0, xmm2
movd dword [esp + 0x28], xmm1
movaps xmm1, xmm2
punpckhdq xmm0, xmm2
punpckldq xmm1, xmm2
pmuldq xmm0, xmm4
pmuldq xmm1, xmm4
shufps xmm1, xmm0, 0xdd
psrad xmm1, 4
movaps xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmmword [0x101eb8e0]
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
andps xmm1, xmmword [0x101eb990]
movd xmm0, eax
mov eax, 8
packuswb xmm1, xmm1
paddb xmm1, xmm0
mov dword [esp + 0x40], eax
movd xmm0, dword [esp + 0x2c]
xorps xmm1, xmm0
movd dword [esp + 0x2c], xmm1
mov ebx, dword [esp + 0x40]
mov eax, 0x5397829d
mov cl, bl
imul ebx
sar edx, 4
mov eax, edx
shr eax, 0x1f
add eax, edx
movsx eax, al
imul eax, eax, 0x31
sub cl, al
add cl, 0x34
xor byte [esp + ebx + 0x28], cl
inc ebx
cmp ebx, 0xe
jl 0x100cdd60
lea edx, [esi + 3]
lea ecx, [esp + 0x28]
call fcn.10161e40
mov ax, word [0x101e2da8]
movq xmm0, qword [str.u_BX]
mov esi, dword [0x10214408]
movq qword [esp + 0x28], xmm0
mov word [esp + 0x30], ax
test ah, ah
je 0x100cdde1
xor ebx, ebx
nop dword [eax]
mov eax, 0x5397829d
mov cl, bl
mul ebx
shr edx, 4
movsx eax, dl
imul eax, eax, 0x31
sub cl, al
add cl, 0x34
xor byte [esp + ebx + 0x28], cl
inc ebx
cmp ebx, 0xa
jl 0x100cddc0
lea edx, [esi + 4]
lea ecx, [esp + 0x28]
call fcn.10161e40
mov ax, word [0x101e1aac]
mov esi, dword [0x10214408]
movq xmm0, qword [0x101e1aa4]
add esi, 0xc
mov word [esp + 0x30], ax
xor ebx, ebx
mov al, byte [0x101e1aae]
mov byte [esp + 0x32], al
movq qword [esp + 0x28], xmm0
nop word [eax + eax]
mov eax, 0x5397829d
mov cl, bl
mul ebx
shr edx, 4
movsx eax, dl
imul eax, eax, 0x31
sub cl, al
add cl, 0x34
xor byte [esp + ebx + 0x28], cl
inc ebx
cmp ebx, 0xb
jl 0x100cde20
mov edx, esi
lea ecx, [esp + 0x28]
call fcn.10161e40
imul esi, dword [0x103d8a7c], 0x2c
mov ax, word [0x101e2900]
movq xmm0, qword [0x101e28f8]
mov ebx, dword [esp + 0x1c]
movq qword [esp + 0x28], xmm0
add esi, dword [0x10214408]
mov word [esp + 0x30], ax
test ah, ah
je 0x100cdea9
mov al, byte [esp + 0x1b]
xor ebx, ebx
mov byte [esp + 0x1b], al
mov eax, 0x5397829d
mov cl, bl
mul ebx
shr edx, 4
movsx eax, dl
imul eax, eax, 0x31
sub cl, al
add cl, 0x34
xor byte [esp + ebx + 0x28], cl
inc ebx
cmp ebx, 0xa
jl 0x100cde84
mov ebx, dword [esp + 0x1c]
lea edx, [esi + 0x15]
lea ecx, [esp + 0x28]
call fcn.10161e40
mov ecx, dword [esp + 0x20]
mov eax, dword [0x103dbf9c]
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 0x100cdf16
push 0x103dbf9c
call fcn.1018e65d
add esp, 4
cmp dword [0x103dbf9c], 0xffffffff
jne 0x100cdf16
push 0x101ba610
call fcn.1018e3a9
add esp, 4
push 0x103dbf9c
call fcn.1018e60c
add esp, 4
imul edx, dword [0x103d8a7c], 0x2c
xor al, al
mov ecx, dword [0x10214408]
mov esi, 0x10214280
mov byte [esp + 0x27], al
movups xmm0, xmmword [0x101e2c44]
movups xmmword [esp + 0x28], xmm0
mov al, byte [edx + ecx + 0x18]
and al, 1
mov byte [0x103d8a78], al
mov eax, dword [edx + ecx + 0x18]
shr eax, 1
and al, 1
mov byte [0x103d8a79], al
mov eax, dword [edx + ecx + 0x18]
shr eax, 2
and al, 1
mov byte [0x103d8a7a], al
mov eax, dword [edx + ecx + 0x18]
shr eax, 3
and al, 1
cmp dword [0x10214294], 0xf
mov byte [0x103d8a7b], al
cmova esi, dword [0x10214280]
cmp byte [0x101e2c57], 0
mov eax, dword [0x101e2c54]
mov dword [esp + 0x38], eax
je 0x100ce100
xor edx, edx
mov dword [esp + 0x40], edx
cmp edi, 2
jl 0x100ce0d0
movaps xmm0, xmmword [str.4444444444444444]
lea edi, [esp + 0x2c]
movaps xmm4, xmmword [0x101eb880]
movaps xmm3, xmmword [0x101ebc30]
movaps xmm5, xmmword [0x101eb8e0]
movaps xmmword [esp + 0x40], xmm0
mov ecx, dword [esp + 0x40]
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
psrad xmm1, 4
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 [0x101eb990]
packuswb xmm1, xmm1
movd xmm0, ecx
paddb xmm1, xmm0
movd xmm0, dword [esp + edx + 0x28]
xorps xmm1, xmm0
movd xmm0, eax
pshufd xmm2, xmm0, 0
movd dword [esp + edx + 0x28], xmm1
paddd xmm2, xmm4
movaps xmm1, xmm2
movaps xmm0, xmm2
punpckhdq xmm0, xmm2
punpckldq xmm1, xmm2
pmuldq xmm0, xmm3
pmuldq xmm1, xmm3
shufps xmm1, xmm0, 0xdd
psrad xmm1, 4
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 [0x101eb990]
packuswb xmm1, xmm1
movd xmm0, ecx
paddb xmm1, xmm0
movd xmm0, dword [edi + edx]
xorps xmm1, xmm0
movd dword [edi + edx], xmm1
add edx, 8
cmp edx, 0x10
jl 0x100cdfd0
mov dword [esp + 0x40], edx
cmp edx, 0x14
jge 0x100ce100
nop
mov eax, 0x5397829d
imul edx
sar edx, 4
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [esp + 0x40]
movsx eax, al
mov cl, dl
imul eax, eax, 0x31
sub cl, al
add cl, 0x34
xor byte [esp + edx + 0x28], cl
inc edx
mov dword [esp + 0x40], edx
cmp edx, 0x14
jl 0x100ce0d0
xorps xmm0, xmm0
mov dword [esp + 0x8c], 0
lea ecx, [esp + 0x28]
mov dword [esp + 0x90], 0
movups xmmword [esp + 0x7c], xmm0
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x100ce125
sub ecx, edx
lea eax, [esp + 0x28]
push ecx
push eax
lea ecx, [esp + 0x84]
call fcn.10026930
cmp dword [esp + 0x90], 0xf
lea ecx, [esp + 0x7c]
push 1
cmova ecx, dword [esp + 0x80]
mov edx, esi
push 0
call fcn.10162a90
mov ecx, dword [esp + 0x90]
mov byte [esp + 0x40], al
cmp ecx, 0xf
jbe 0x100ce1a0
mov edx, dword [esp + 0x7c]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x100ce192
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100d0302
push ecx
push edx
call fcn.1018e3c3
mov al, byte [esp + 0x48]
add esp, 8
test al, al
je 0x100ce240
push 0
push 0x101c448e
mov ecx, 0x10214280
call fcn.10021d40
xor esi, esi
mov dword [esp + 0x28], esi
mov dword [esp + 0x2c], esi
nop dword [eax]
nop word [eax + eax]
mov dl, byte [esi + 0x103d8a78]
lea eax, [esp + 0x28]
mov ecx, dword [esp + esi*4 + 0x64]
push eax
push 1
call fcn.10170f00
test al, al
je 0x100ce1fa
cmp byte [esi + 0x103d8a78], 0
sete al
mov byte [esi + 0x103d8a78], al
inc esi
cmp esi, 4
jb 0x100ce1d0
mov esi, dword [0x103d8bec]
mov eax, dword [esi + 0x1bdc]
cmp dword [esi + 0x1d44], eax
jne 0x100ce224
mov dword [esi + 0x1e48], eax
mov dword [esi + 0x1e4c], 2
test dword [eax + 8], 0x1000000
je 0x100ce234
mov byte [esi + 0x1b8e], 1
call fcn.1014ff80
mov byte [esi + 0x1b8e], 0
xor esi, esi
cmp byte [esp + 0x27], 0
mov eax, 0x202c
jne 0x100ce269
push 0
push 0x101c448e
mov ecx, 0x10214280
call fcn.10021d40
mov byte [esp + 0x27], 1
mov eax, 0x202c
cmp byte [esi + 0x103d8a78], 0
je 0x100ce439
cmp dword [0x10214290], 0
xorps xmm0, xmm0
mov edx, dword [esp + esi*4 + 0x64]
je 0x100ce2f5
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.1001f970
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 0x100ce32e
mov ecx, edx
or ebx, 4
mov dword [esp + 0x1c], ebx
movups xmmword [esp + 0x28], xmm0
mov dword [esp + 0x38], 0
mov dword [esp + 0x3c], 0
lea edi, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x100ce316
sub ecx, edi
push ecx
push edx
lea ecx, [esp + 0x30]
call fcn.10026930
lea eax, [esp + 0x28]
push eax
mov ecx, 0x10214280
call fcn.1001f9e0
test bl, 4
je 0x100ce37b
and ebx, 0xfffffffb
mov dword [esp + 0x1c], ebx
mov ecx, dword [esp + 0x3c]
cmp ecx, 0xf
jbe 0x100ce37b
mov edx, dword [esp + 0x28]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x100ce371
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100d0302
push ecx
push edx
call fcn.1018e3c3
add esp, 8
test bl, 2
je 0x100ce3bd
and ebx, 0xfffffffd
mov dword [esp + 0x1c], ebx
mov ecx, dword [esp + 0x54]
cmp ecx, 0xf
jbe 0x100ce3bd
mov edx, dword [esp + 0x40]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x100ce3b3
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100d0302
push ecx
push edx
call fcn.1018e3c3
add esp, 8
test bl, 1
je 0x100ce423
and ebx, 0xfffffffe
mov dword [esp + 0x1c], ebx
mov ecx, dword [esp + 0xa8]
cmp ecx, 0xf
jbe 0x100ce405
mov edx, dword [esp + 0x94]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x100ce3fb
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100d0302
push ecx
push edx
call fcn.1018e3c3
add esp, 8
mov dword [esp + 0xa4], 0
mov dword [esp + 0xa8], 0xf
mov byte [esp + 0x94], 0
imul edx, dword [0x103d8a7c], 0x2c
mov ecx, dword [0x10214408]
mov eax, dword [edx + ecx + 0x18]
bts eax, esi
jmp 0x100ce44d
imul edx, dword [0x103d8a7c], 0x2c
mov ecx, dword [0x10214408]
mov eax, dword [edx + ecx + 0x18]
btr eax, esi
inc esi
mov dword [edx + ecx + 0x18], eax
cmp esi, 4
jb 0x100ce242
movq xmm0, qword [str._PZRH_P_]
xor ebx, ebx
mov al, byte [0x101e1150]
mov esi, dword [0x10214408]
movq qword [esp + 0x28], xmm0
mov byte [esp + 0x30], al
nop word [eax + eax]
mov eax, 0x5397829d
mov cl, bl
mul ebx
shr edx, 4
movsx eax, dl
imul eax, eax, 0x31
sub cl, al
add cl, 0x34
xor byte [esp + ebx + 0x28], cl
inc ebx
cmp ebx, 9
jl 0x100ce480
lea edx, [esi + 0xddc]
lea ecx, [esp + 0x28]
call fcn.10161e40
movq xmm0, qword [0x101e2ab0]
xor edx, edx
mov al, byte [0x101e2ab8]
mov esi, dword [0x10214408]
movq qword [esp + 0x28], xmm0
mov byte [esp + 0x30], al
mov dword [esp + 0x40], edx
mov eax, 0x5397829d
mul edx
shr edx, 4
movsx eax, dl
mov edx, dword [esp + 0x40]
mov cl, dl
imul eax, eax, 0x31
sub cl, al
add cl, 0x34
xor byte [esp + edx + 0x28], cl
inc edx
mov dword [esp + 0x40], edx
cmp edx, 9
jl 0x100ce4d3
lea edx, [esi + 1]
lea ecx, [esp + 0x28]
call fcn.10161e40
mov eax, dword [0x101e2620]
xor edx, edx
cmp dword [0x10215510], 2
movups xmm0, xmmword [str.PW_LQ:]
mov ch, byte [esp + 0x1b]
mov dword [esp + 0x74], eax
mov al, byte [0x101e2624]
movups xmmword [esp + 0x64], xmm0
mov byte [esp + 0x78], al
mov dword [esp + 0x40], edx
jl 0x100ce674
movaps xmm0, xmmword [str.4444444444444444]
lea edi, [esp + 0x68]
movaps xmm4, xmmword [0x101eb880]
movaps xmm3, xmmword [0x101ebc30]
movaps xmm5, xmmword [0x101eb8e0]
movaps xmmword [esp + 0x40], xmm0
mov esi, dword [esp + 0x40]
mov byte [esp + 0x1b], ch
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
psrad xmm1, 4
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 [0x101eb990]
packuswb xmm1, xmm1
movd xmm0, esi
paddb xmm1, xmm0
movd xmm0, dword [esp + edx + 0x64]
xorps xmm1, xmm0
movd xmm0, eax
pshufd xmm2, xmm0, 0
movd dword [esp + edx + 0x64], xmm1
paddd xmm2, xmm4
movaps xmm1, xmm2
movaps xmm0, xmm2
punpckhdq xmm0, xmm2
punpckldq xmm1, xmm2
pmuldq xmm0, xmm3
pmuldq xmm1, xmm3
shufps xmm1, xmm0, 0xdd
psrad xmm1, 4
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 [0x101eb990]
packuswb xmm1, xmm1
movd xmm0, esi
paddb xmm1, xmm0
movd xmm0, dword [edi + edx]
xorps xmm1, xmm0
movd dword [edi + edx], xmm1
add edx, 8
cmp edx, 0x10
jl 0x100ce570
mov dword [esp + 0x40], edx
cmp edx, 0x15
jl 0x100ce674
mov byte [esp + 0x1b], ch
jmp 0x100ce6a4
mov eax, 0x5397829d
imul edx
sar edx, 4
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [esp + 0x40]
movsx eax, al
mov cl, dl
imul eax, eax, 0x31
sub cl, al
add cl, 0x34
xor byte [esp + edx + 0x64], cl
inc edx
mov dword [esp + 0x40], edx
cmp edx, 0x15
jl 0x100ce674
mov edi, dword [0x10214408]
mov al, byte [0x101e1808]
add edi, 8
movq xmm0, qword [str.dG_XJPNB_]
xor ebx, ebx
mov dword [esp + 0x40], edi
mov byte [esp + 0x30], al
movq qword [esp + 0x28], xmm0
nop word [eax + eax]
mov eax, 0x5397829d
mov cl, bl
mul ebx
shr edx, 4
movsx eax, dl
imul eax, eax, 0x31
sub cl, al
add cl, 0x34
xor byte [esp + ebx + 0x28], cl
inc ebx
cmp ebx, 9
jl 0x100ce6d0
xor esi, esi
lea edx, [esp + 0x64]
cmp byte [esp + 0x64], 0
je 0x100ce721
mov dword [esp + 0x40], edi
mov byte [esp + 0x1b], ch
mov ecx, edx
lea edi, [ecx + 1]
nop dword [eax + eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x100ce710
sub ecx, edi
inc edx
add edx, ecx
inc esi
cmp byte [edx], al
jne 0x100ce706
mov edx, dword [esp + 0x40]
lea eax, [esp + 0x64]
push 1
push 0xffffffffffffffff
push esi
push eax
push 0x10163930
lea ecx, [esp + 0x3c]
call fcn.10163990
imul edx, dword [0x103d8a7c], 0x2c
mov esi, 0x10213e68
mov ecx, dword [0x10214408]
movq xmm0, qword [str.BUWA_H_]
movq qword [esp + 0x28], xmm0
mov al, byte [edx + ecx + 0x20]
and al, 1
mov byte [0x103d8ae8], al
mov eax, dword [edx + ecx + 0x20]
shr eax, 1
and al, 1
mov byte [0x103d8ae9], al
mov eax, dword [edx + ecx + 0x20]
shr eax, 2
and al, 1
mov byte [0x103d8aea], al
mov eax, dword [edx + ecx + 0x20]
shr eax, 3
and al, 1
mov byte [0x103d8aeb], al
mov eax, dword [edx + ecx + 0x20]
shr eax, 4
and al, 1
mov byte [0x103d8aec], al
mov eax, dword [edx + ecx + 0x20]
shr eax, 5
and al, 1
mov byte [0x103d8aed], al
mov eax, dword [edx + ecx + 0x20]
shr eax, 6
and al, 1
mov byte [0x103d8aee], al
mov eax, dword [edx + ecx + 0x20]
shr eax, 7
and al, 1
mov byte [0x103d8aef], al
mov eax, dword [edx + ecx + 0x20]
shr eax, 8
and al, 1
cmp dword [0x10213e7c], 0xf
mov byte [0x103d8af0], al
mov al, byte [0x101e0ea4]
mov byte [esp + 0x30], al
jbe 0x100ce7ef
mov esi, dword [0x10213e68]
xor ebx, ebx
mov eax, 0x5397829d
mov cl, bl
mul ebx
shr edx, 4
movsx eax, dl
imul eax, eax, 0x31
sub cl, al
add cl, 0x34
xor byte [esp + ebx + 0x28], cl
inc ebx
cmp ebx, 9
jl 0x100ce7f1
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]
nop dword [eax + eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x100ce840
sub ecx, edx
lea eax, [esp + 0x28]
push ecx
push eax
lea ecx, [esp + 0x84]
call fcn.10026930
cmp dword [esp + 0x90], 0xf
lea ecx, [esp + 0x7c]
push 1
cmova ecx, dword [esp + 0x80]
mov edx, esi
push 0
call fcn.10162a90
mov ecx, dword [esp + 0x90]
mov byte [esp + 0x40], al
cmp ecx, 0xf
jbe 0x100ce8bb
mov edx, dword [esp + 0x7c]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x100ce8ad
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100d0307
push ecx
push edx
call fcn.1018e3c3
mov al, byte [esp + 0x48]
add esp, 8
test al, al
je 0x100ce959
push 0
push 0x101c448e
mov ecx, 0x10213e68
call fcn.10021d40
mov al, byte [esp + 0x1b]
xor esi, esi
mov dword [esp + 0x28], esi
mov dword [esp + 0x2c], esi
mov byte [esp + 0x1b], al
mov dl, byte [esi + 0x103d8ae8]
lea eax, [esp + 0x28]
mov ecx, dword [esi*4 + 0x101e10e4]
push eax
push 1
call fcn.10170f00
test al, al
je 0x100ce913
cmp byte [esi + 0x103d8ae8], 0
sete al
mov byte [esi + 0x103d8ae8], al
inc esi
cmp esi, 9
jb 0x100ce8e6
mov esi, dword [0x103d8bec]
mov eax, dword [esi + 0x1bdc]
cmp dword [esi + 0x1d44], eax
jne 0x100ce93d
mov dword [esi + 0x1e48], eax
mov dword [esi + 0x1e4c], 2
test dword [eax + 8], 0x1000000
je 0x100ce94d
mov byte [esi + 0x1b8e], 1
call fcn.1014ff80
mov byte [esi + 0x1b8e], 0
xor esi, esi
nop dword [eax + eax]
cmp byte [esp + 0x1b], 0
jne 0x100ce97d
push 0
push 0x101c448e
mov ecx, 0x10213e68
call fcn.10021d40
mov byte [esp + 0x1b], 1
cmp byte [esi + 0x103d8ae8], 0
je 0x100ceb38
cmp dword [0x10213e78], 0
xorps xmm0, xmm0
mov edx, dword [esi*4 + 0x101e10e4]
je 0x100cea0a
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.1001f970
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 0x100cea3f
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 0x100cea27
sub ecx, edi
push ecx
push edx
lea ecx, [esp + 0x6c]
call fcn.10026930
lea eax, [esp + 0x64]
push eax
mov ecx, 0x10213e68
call fcn.1001f9e0
test bl, 0x20
je 0x100cea88
mov ecx, dword [esp + 0x78]
and ebx, 0xffffffdf
cmp ecx, 0xf
jbe 0x100cea88
mov edx, dword [esp + 0x64]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x100cea7e
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100d0302
push ecx
push edx
call fcn.1018e3c3
add esp, 8
test bl, 0x10
je 0x100ceac6
mov ecx, dword [esp + 0x3c]
and ebx, 0xffffffef
cmp ecx, 0xf
jbe 0x100ceac6
mov edx, dword [esp + 0x28]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x100ceabc
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100d0302
push ecx
push edx
call fcn.1018e3c3
add esp, 8
test bl, 8
je 0x100ceb22
mov ecx, dword [esp + 0x90]
and ebx, 0xfffffff7
cmp ecx, 0xf
jbe 0x100ceb07
mov edx, dword [esp + 0x7c]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x100ceafd
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100d0302
push ecx
push edx
call fcn.1018e3c3
add esp, 8
mov dword [esp + 0x8c], 0
mov dword [esp + 0x90], 0xf
mov byte [esp + 0x7c], 0
imul edx, dword [0x103d8a7c], 0x2c
mov ecx, dword [0x10214408]
mov eax, dword [edx + ecx + 0x20]
bts eax, esi
jmp 0x100ceb4c
imul edx, dword [0x103d8a7c], 0x2c
mov ecx, dword [0x10214408]
mov eax, dword [edx + ecx + 0x20]
btr eax, esi
inc esi
mov dword [edx + ecx + 0x20], eax
cmp esi, 9
jb 0x100ce960
mov ax, word [0x101e1ecc]
xor ebx, ebx
movq xmm0, qword [str.rZDT_]
mov esi, dword [0x10214408]
mov word [esp + 0x48], ax
mov al, byte [0x101e1ece]
mov dword [esp + 0x28], 0x42c80000
mov dword [esp + 0x2c], 0
movq qword [esp + 0x40], xmm0
mov byte [esp + 0x4a], al
mov eax, 0x5397829d
mov cl, bl
mul ebx
shr edx, 4
movsx eax, dl
imul eax, eax, 0x31
sub cl, al
add cl, 0x34
xor byte [esp + ebx + 0x40], cl
inc ebx
cmp ebx, 0xb
jl 0x100ceb94
push ecx
lea eax, [esp + 0x2c]
push eax
lea edx, [esi + 0x9e0]
lea ecx, [esp + 0x48]
call fcn.100b64a0
movq xmm0, qword [str.qMF_WPNH_]
xor ebx, ebx
mov al, byte [0x101e17c0]
movq qword [esp + 0x28], xmm0
mov byte [esp + 0x30], al
mov eax, 0x5397829d
mov cl, bl
mul ebx
shr edx, 4
movsx eax, dl
imul eax, eax, 0x31
sub cl, al
add cl, 0x34
xor byte [esp + ebx + 0x28], cl
inc ebx
cmp ebx, 9
jl 0x100cebe3
lea eax, [esp + 0x28]
push eax
call fcn.1015fe10
mov ax, word [0x101e1c00]
add esp, 4
movq xmm0, qword [str.pZCUTNZL]
movq qword [esp + 0x40], xmm0
mov word [esp + 0x48], ax
test ah, ah
je 0x100cec51
xor ebx, ebx
mov eax, 0x5397829d
mov cl, bl
mul ebx
shr edx, 4
movsx eax, dl
imul eax, eax, 0x31
sub cl, al
add cl, 0x34
xor byte [esp + ebx + 0x40], cl
inc ebx
cmp ebx, 0xa
jl 0x100cec30
mov eax, dword [0x103d8bec]
lea ecx, [esp + 0x40]
xor edx, edx
mov esi, dword [eax + 0x1bdc]
mov eax, dword [esi + 0xc8]
add esi, 0xc0
mov ebx, dword [esi]
push dword [eax + ebx*4 - 4]
call fcn.10144c10
mov edi, dword [esi + 4]
mov dword [esp + 0x20], eax
cmp ebx, edi
jne 0x100ceca8
lea ecx, [ebx + 1]
test edi, edi
je 0x100cec96
mov eax, edi
cdq
sub eax, edx
sar eax, 1
add eax, edi
jmp 0x100cec9b
mov eax, 8
cmp eax, ecx
cmovg ecx, eax
push ecx
mov ecx, esi
call fcn.100b4620
mov ecx, dword [esi]
mov eax, dword [esi + 8]
mov edx, dword [esp + 0x20]
movq xmm0, qword [str.pZCUTNZL]
mov dword [esp + 0x28], 0x42c80000
mov dword [eax + ecx*4], edx
mov ax, word [0x101e1c00]
inc dword [esi]
mov esi, dword [0x10214408]
mov dword [esp + 0x2c], 0
movq qword [esp + 0x40], xmm0
mov word [esp + 0x48], ax
test ah, ah
je 0x100ced11
xor ebx, ebx
nop dword [eax + eax]
mov eax, 0x5397829d
mov cl, bl
mul ebx
shr edx, 4
movsx eax, dl
imul eax, eax, 0x31
sub cl, al
add cl, 0x34
xor byte [esp + ebx + 0x40], cl
inc ebx
cmp ebx, 0xa
jl 0x100cecf0
push ecx
lea eax, [esp + 0x2c]
push eax
lea edx, [esi + 0xd94]
lea ecx, [esp + 0x48]
call fcn.100b64a0
mov ecx, dword [0x103d8bec]
xor edx, edx
mov eax, dword [ecx + 0x1bdc]
dec dword [eax + 0xc0]
mov esi, dword [ecx + 0x1bdc]
mov ecx, str.Hideshots
add esi, 0xc0
mov eax, dword [esi + 8]
mov ebx, dword [esi]
push dword [eax + ebx*4 - 4]
call fcn.10144c10
mov edi, dword [esi + 4]
mov dword [esp + 0x20], eax
cmp ebx, edi
jne 0x100ced88
lea ecx, [ebx + 1]
test edi, edi
je 0x100ced76
mov eax, edi
cdq
sub eax, edx
sar eax, 1
add eax, edi
jmp 0x100ced7b
mov eax, 8
cmp eax, ecx
cmovg ecx, eax
push ecx
mov ecx, esi
call fcn.100b4620
mov ecx, dword [esi]
mov eax, dword [esi + 8]
mov edx, dword [esp + 0x20]
movq xmm0, qword [str.RRKQUOO]
mov dword [esp + 0x28], 0x42c80000
mov dword [eax + ecx*4], edx
mov ax, word [0x101e11e4]
inc dword [esi]
mov esi, dword [0x10214408]
mov dword [esp + 0x2c], 0
movq qword [esp + 0x40], xmm0
mov word [esp + 0x48], ax
test ah, ah
je 0x100cedf1
xor ebx, ebx
nop dword [eax + eax]
mov eax, 0x5397829d
mov cl, bl
mul ebx
shr edx, 4
movsx eax, dl
imul eax, eax, 0x31
sub cl, al
add cl, 0x34
xor byte [esp + ebx + 0x40], cl
inc ebx
cmp ebx, 0xa
jl 0x100cedd0
push ecx
lea eax, [esp + 0x2c]
push eax
lea edx, [esi + 0xdb8]
lea ecx, [esp + 0x48]
call fcn.100b64a0
mov eax, dword [0x103d8bec]
mov eax, dword [eax + 0x1bdc]
dec dword [eax + 0xc0]
call fcn.100c0410
movups xmm0, xmmword [0x101e0dc4]
imul esi, dword [0x103d8a7c], 0x2c
movups xmmword [esp + 0x64], xmm0
psrldq xmm0, 0xf
movd eax, xmm0
add esi, dword [0x10214408]
test al, al
je 0x100cef9f
xor ebx, ebx
cmp dword [0x10215510], 2
jl 0x100cef77
movaps xmm0, xmmword [str.4444444444444444]
lea edi, [esp + 0x68]
movaps xmm4, xmmword [0x101eb880]
xor ecx, ecx
movaps xmm3, xmmword [0x101ebc30]
movaps xmm5, xmmword [0x101eb8e0]
movaps xmmword [esp + 0x40], xmm0
mov edx, dword [esp + 0x40]
movd xmm0, ecx
lea eax, [ecx + 4]
pshufd xmm2, xmm0, 0
paddd xmm2, xmm4
movaps xmm1, xmm2
movaps xmm0, xmm2
punpckhdq xmm0, xmm2
punpckldq xmm1, xmm2
pmuldq xmm0, xmm3
pmuldq xmm1, xmm3
shufps xmm1, xmm0, 0xdd
psrad xmm1, 4
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 [0x101eb990]
packuswb xmm1, xmm1
movd xmm0, edx
paddb xmm1, xmm0
movd xmm0, dword [esp + ecx + 0x64]
xorps xmm1, xmm0
movd xmm0, eax
pshufd xmm2, xmm0, 0
movd dword [esp + ecx + 0x64], xmm1
paddd xmm2, xmm4
movaps xmm1, xmm2
movaps xmm0, xmm2
punpckhdq xmm0, xmm2
punpckldq xmm1, xmm2
pmuldq xmm0, xmm3
pmuldq xmm1, xmm3
shufps xmm1, xmm0, 0xdd
psrad xmm1, 4
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 [0x101eb990]
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 0x100cee80
jmp 0x100cef9f
mov eax, 0x5397829d
mov cl, bl
imul ebx
sar edx, 4
mov eax, edx
shr eax, 0x1f
add eax, edx
movsx eax, al
imul eax, eax, 0x31
sub cl, al
add cl, 0x34
xor byte [esp + ebx + 0x64], cl
inc ebx
cmp ebx, 0x10
jl 0x100cef77
lea edx, [esi + 0x14]
lea ecx, [esp + 0x64]
call fcn.10161e40
mov ebx, dword [0x103d8bec]
mov eax, dword [ebx + 0x1bdc]
mov edi, dword [eax + 0x1c4]
lea esi, [eax + 0x1c0]
mov ecx, dword [esi]
mov dword [esp + 0x1c], eax
cmp ecx, edi
jne 0x100ceff3
inc ecx
test edi, edi
je 0x100cefdd
mov eax, edi
cdq
sub eax, edx
sar eax, 1
add eax, edi
jmp 0x100cefe2
mov eax, 8
cmp eax, ecx
cmovg ecx, eax
push ecx
mov ecx, esi
call fcn.100b4620
mov eax, dword [esp + 0x1c]
mov edx, dword [esi]
mov ecx, dword [esi + 8]
mov eax, dword [eax + 0x1b8]
mov dword [ecx + edx*4], eax
mov eax, dword [esp + 0x1c]
inc dword [esi]
mov dword [eax + 0x1b8], 0x43480000
and dword [ebx + 0x1cc4], 0xfffffffe
mov esi, dword [0x10214408]
mov eax, dword [str.rZ_7fP_RYU]
add esi, 0x10
cmp byte [0x101e1a93], 0
mov edi, dword [0x10215510]
mov dword [esp + 0x1c], eax
je 0x100cf0e8
xor ebx, ebx
cmp edi, 2
jl 0x100cf0c0
movaps xmm3, xmmword [0x101eb880]
movaps xmm2, xmm3
movaps xmm0, xmm3
punpckhdq xmm0, xmm3
pmuldq xmm0, xmmword [0x101ebc30]
punpckldq xmm2, xmm3
pmuldq xmm2, xmmword [0x101ebc30]
shufps xmm2, xmm0, 0xdd
psrad xmm2, 4
movaps xmm0, xmm2
psrld xmm0, 0x1f
paddd xmm0, xmm2
pmulld xmm0, xmmword [0x101eb8e0]
psubd xmm3, xmm0
pshuflw xmm0, xmm3, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
andps xmm1, xmmword [0x101eb990]
packuswb xmm1, xmm1
paddb xmm1, xmmword [str.4444444444444444]
movd xmm0, eax
xorps xmm1, xmm0
movd dword [esp + 0x1c], xmm1
jmp 0x100cf0e8
mov eax, 0x5397829d
mov cl, bl
imul ebx
sar edx, 4
mov eax, edx
shr eax, 0x1f
add eax, edx
movsx eax, al
imul eax, eax, 0x31
sub cl, al
add cl, 0x34
xor byte [esp + ebx + 0x1c], cl
inc ebx
cmp ebx, 4
jl 0x100cf0c0
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.10165710
imul ecx, dword [0x103d8a7c], 0x2c
mov esi, dword [0x10214408]
mov ax, word [0x101e2300]
add esi, 0x24
movq xmm0, qword [str.BTPXTXY]
movq qword [esp + 0x28], xmm0
add esi, ecx
mov word [esp + 0x30], ax
test ah, ah
je 0x100cf171
xor ebx, ebx
nop dword [eax]
mov eax, 0x5397829d
mov cl, bl
mul ebx
shr edx, 4
movsx eax, dl
imul eax, eax, 0x31
sub cl, al
add cl, 0x34
xor byte [esp + ebx + 0x28], cl
inc ebx
cmp ebx, 0xa
jl 0x100cf150
push 0
push 0x101df374
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.10165710
movups xmm0, xmmword [0x101e2714]
mov esi, dword [0x10214408]
imul ecx, dword [0x103d8a7c], 0x2c
add esi, 0x30
movups xmmword [esp + 0x64], xmm0
psrldq xmm0, 0xf
movd eax, xmm0
add esi, ecx
test al, al
je 0x100cf32f
xor ebx, ebx
cmp edi, 2
jl 0x100cf307
movaps xmm0, xmmword [str.4444444444444444]
lea ebx, [esp + 0x68]
movaps xmm4, xmmword [0x101eb880]
xor ecx, ecx
movaps xmm3, xmmword [0x101ebc30]
movaps xmm5, xmmword [0x101eb8e0]
movaps xmmword [esp + 0x40], xmm0
mov edx, dword [esp + 0x40]
nop word [eax + eax]
movd xmm0, ecx
lea eax, [ecx + 4]
pshufd xmm2, xmm0, 0
paddd xmm2, xmm4
movaps xmm1, xmm2
movaps xmm0, xmm2
punpckhdq xmm0, xmm2
punpckldq xmm1, xmm2
pmuldq xmm0, xmm3
pmuldq xmm1, xmm3
shufps xmm1, xmm0, 0xdd
psrad xmm1, 4
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 [0x101eb990]
packuswb xmm1, xmm1
movd xmm0, edx
paddb xmm1, xmm0
movd xmm0, dword [esp + ecx + 0x64]
xorps xmm1, xmm0
movd xmm0, eax
pshufd xmm2, xmm0, 0
movd dword [esp + ecx + 0x64], xmm1
paddd xmm2, xmm4
movaps xmm1, xmm2
movaps xmm0, xmm2
punpckhdq xmm0, xmm2
punpckldq xmm1, xmm2
pmuldq xmm0, xmm3
pmuldq xmm1, xmm3
shufps xmm1, xmm0, 0xdd
psrad xmm1, 4
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 [0x101eb990]
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 0x100cf210
jmp 0x100cf32f
mov eax, 0x5397829d
mov cl, bl
imul ebx
sar edx, 4
mov eax, edx
shr eax, 0x1f
add eax, edx
movsx eax, al
imul eax, eax, 0x31
sub cl, al
add cl, 0x34
xor byte [esp + ebx + 0x64], cl
inc ebx
cmp ebx, 0x10
jl 0x100cf307
push 0
push 0x101df374
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.10165710
movups xmm0, xmmword [str.y_ZCQIURRI]
mov esi, dword [0x10214408]
imul ecx, dword [0x103d8a7c], 0x2c
add esi, 0x34
movups xmmword [esp + 0x64], xmm0
psrldq xmm0, 0xf
movd eax, xmm0
add esi, ecx
test al, al
je 0x100cf4e8
xor ebx, ebx
cmp edi, 2
jl 0x100cf4c0
movaps xmm0, xmmword [str.4444444444444444]
lea edi, [esp + 0x68]
movaps xmm4, xmmword [0x101eb880]
xor ecx, ecx
movaps xmm3, xmmword [0x101ebc30]
movaps xmm5, xmmword [0x101eb8e0]
movaps xmmword [esp + 0x40], xmm0
mov edx, dword [esp + 0x40]
movd xmm0, ecx
lea eax, [ecx + 4]
pshufd xmm2, xmm0, 0
paddd xmm2, xmm4
movaps xmm1, xmm2
movaps xmm0, xmm2
punpckhdq xmm0, xmm2
punpckldq xmm1, xmm2
pmuldq xmm0, xmm3
pmuldq xmm1, xmm3
shufps xmm1, xmm0, 0xdd
psrad xmm1, 4
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 [0x101eb990]
packuswb xmm1, xmm1
movd xmm0, edx
paddb xmm1, xmm0
movd xmm0, dword [esp + ecx + 0x64]
xorps xmm1, xmm0
movd xmm0, eax
pshufd xmm2, xmm0, 0
movd dword [esp + ecx + 0x64], xmm1
paddd xmm2, xmm4
movaps xmm1, xmm2
movaps xmm0, xmm2
punpckhdq xmm0, xmm2
punpckldq xmm1, xmm2
pmuldq xmm0, xmm3
pmuldq xmm1, xmm3
shufps xmm1, xmm0, 0xdd
psrad xmm1, 4
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 [0x101eb990]
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 0x100cf3c4
jmp 0x100cf4e8
mov eax, 0x5397829d
mov cl, bl
imul ebx
sar edx, 4
mov eax, edx
shr eax, 0x1f
add eax, edx
movsx eax, al
imul eax, eax, 0x31
sub cl, al
add cl, 0x34
xor byte [esp + ebx + 0x64], cl
inc ebx
cmp ebx, 0x10
jl 0x100cf4c0
push 0
push 0x101df374
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.10165710
imul ecx, dword [0x103d8a7c], 0x2c
mov ax, word [0x101e1b18]
mov esi, dword [0x10214408]
movq xmm0, qword [0x101e1b10]
add esi, 0x38
mov word [esp + 0x30], ax
mov al, byte [0x101e1b1a]
add esi, ecx
movq qword [esp + 0x28], xmm0
xor ebx, ebx
mov byte [esp + 0x32], al
nop
mov eax, 0x5397829d
mov cl, bl
mul ebx
shr edx, 4
movsx eax, dl
imul eax, eax, 0x31
sub cl, al
add cl, 0x34
xor byte [esp + ebx + 0x28], cl
inc ebx
cmp ebx, 0xb
jl 0x100cf550
push 0
push 0x101df374
lea eax, [esp + 0x28]
mov dword [esp + 0x28], 0x6e
push eax
lea eax, [esp + 0x28]
mov dword [esp + 0x28], 0
push eax
push esi
mov edx, 4
lea ecx, [esp + 0x3c]
call fcn.10165710
mov ebx, dword [0x103d8a7c]
lea edx, [esp + 0x20]
mov esi, dword [0x10214408]
lea eax, [esp + 0x1c]
imul ecx, ebx, 0x2c
add esi, 0x38
add esi, ecx
mov dword [esp + 0x1c], 0xfa
mov dword [esp + 0x20], 0
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 [0x103d8bec]
mov esi, dword [eax + 0x1bdc]
mov eax, dword [esi + 0xc8]
add esi, 0xc0
mov ecx, dword [esi]
push dword [eax + ecx*4 - 4]
mov ecx, str.Damage_override_Key
call fcn.10144c10
mov edi, dword [esi + 4]
mov ecx, dword [esi]
mov dword [esp + 0x20], eax
cmp ecx, edi
jne 0x100cf63f
inc ecx
test edi, edi
je 0x100cf627
mov eax, edi
cdq
sub eax, edx
sar eax, 1
add eax, edi
jmp 0x100cf62c
mov eax, 8
cmp eax, ecx
cmovg ecx, eax
push ecx
mov ecx, esi
call fcn.100b4620
mov ebx, dword [0x103d8a7c]
mov ecx, dword [esi]
mov eax, dword [esi + 8]
movups xmm0, xmmword [str.pT_V__]
mov edx, dword [esp + 0x20]
mov dword [eax + ecx*4], edx
inc dword [esi]
mov edi, dword [0x10215510]
imul esi, ebx, 0x2c
movups xmmword [esp + 0x64], xmm0
psrldq xmm0, 0xf
movd eax, xmm0
add esi, dword [0x10214408]
test al, al
je 0x100cf7cf
xor ebx, ebx
cmp edi, 2
jl 0x100cf7a7
movaps xmm0, xmmword [str.4444444444444444]
lea ebx, [esp + 0x68]
movaps xmm4, xmmword [0x101eb880]
xor ecx, ecx
movaps xmm3, xmmword [0x101ebc30]
movaps xmm5, xmmword [0x101eb8e0]
movaps xmmword [esp + 0x40], xmm0
mov edx, dword [esp + 0x40]
nop
movd xmm0, ecx
lea eax, [ecx + 4]
pshufd xmm2, xmm0, 0
paddd xmm2, xmm4
movaps xmm1, xmm2
movaps xmm0, xmm2
punpckhdq xmm0, xmm2
punpckldq xmm1, xmm2
pmuldq xmm0, xmm3
pmuldq xmm1, xmm3
shufps xmm1, xmm0, 0xdd
psrad xmm1, 4
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 [0x101eb990]
packuswb xmm1, xmm1
movd xmm0, edx
paddb xmm1, xmm0
movd xmm0, dword [esp + ecx + 0x64]
xorps xmm1, xmm0
movd xmm0, eax
pshufd xmm2, xmm0, 0
movd dword [esp + ecx + 0x64], xmm1
paddd xmm2, xmm4
movaps xmm1, xmm2
movaps xmm0, xmm2
punpckhdq xmm0, xmm2
punpckldq xmm1, xmm2
pmuldq xmm0, xmm3
pmuldq xmm1, xmm3
shufps xmm1, xmm0, 0xdd
psrad xmm1, 4
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 [0x101eb990]
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 0x100cf6b0
jmp 0x100cf7cf
mov eax, 0x5397829d
mov cl, bl
imul ebx
sar edx, 4
mov eax, edx
shr eax, 0x1f
add eax, edx
movsx eax, al
imul eax, eax, 0x31
sub cl, al
add cl, 0x34
xor byte [esp + ebx + 0x64], cl
inc ebx
cmp ebx, 0x10
jl 0x100cf7a7
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
mov al, byte [ecx]
inc ecx
test al, al
jne 0x100cf7f0
sub ecx, edx
lea eax, [esp + 0x64]
push ecx
push eax
lea ecx, [esp + 0x30]
call fcn.10026930
cmp dword [esp + 0x3c], 0xf
lea ecx, [esp + 0x28]
lea edx, [esi + 0x29]
cmova ecx, dword [esp + 0x28]
call fcn.10161e40
mov ecx, dword [esp + 0x3c]
cmp ecx, 0xf
jbe 0x100cf854
mov edx, dword [esp + 0x28]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x100cf84a
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100d030c
push ecx
push edx
call fcn.1018e3c3
add esp, 8
mov ecx, dword [0x103d8bec]
mov dword [esp + 0x38], 0
mov dword [esp + 0x3c], 0xf
mov byte [esp + 0x28], 0
mov eax, dword [ecx + 0x1bdc]
mov byte [eax + 0x8c], 1
mov edx, dword [ecx + 0x1bdc]
cmp byte [edx + 0x8f], 0
jne 0x100cf8d7
movss xmm1, dword [ecx + 0x15a8]
addss xmm1, dword [edx + 0xd4]
movss xmm0, dword [edx + 0xd8]
movss dword [edx + 0xcc], xmm1
movss dword [edx + 0xd0], xmm0
mov eax, dword [edx + 0xfc]
mov ecx, dword [edx + 0x100]
mov dword [edx + 0xf4], eax
mov eax, dword [edx + 0x108]
mov dword [edx + 0xf8], ecx
mov dword [edx + 0x104], eax
cmp byte [0x101e166f], 0
mov eax, dword [0x101e166c]
mov esi, dword [0x10214408]
mov dword [esp + 0x28], 0x42c80000
mov dword [esp + 0x2c], 0
mov dword [esp + 0x1c], eax
je 0x100cf9ac
xor ebx, ebx
cmp edi, 2
jl 0x100cf984
movaps xmm3, xmmword [0x101eb880]
movaps xmm2, xmm3
movaps xmm0, xmm3
punpckhdq xmm0, xmm3
pmuldq xmm0, xmmword [0x101ebc30]
punpckldq xmm2, xmm3
pmuldq xmm2, xmmword [0x101ebc30]
shufps xmm2, xmm0, 0xdd
psrad xmm2, 4
movaps xmm0, xmm2
psrld xmm0, 0x1f
paddd xmm0, xmm2
pmulld xmm0, xmmword [0x101eb8e0]
psubd xmm3, xmm0
pshuflw xmm0, xmm3, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
andps xmm1, xmmword [0x101eb990]
packuswb xmm1, xmm1
paddb xmm1, xmmword [str.4444444444444444]
movd xmm0, eax
xorps xmm1, xmm0
movd dword [esp + 0x1c], xmm1
jmp 0x100cf9ac
mov eax, 0x5397829d
mov cl, bl
imul ebx
sar edx, 4
mov eax, edx
shr eax, 0x1f
add eax, edx
movsx eax, al
imul eax, eax, 0x31
sub cl, al
add cl, 0x34
xor byte [esp + ebx + 0x1c], cl
inc ebx
cmp ebx, 4
jl 0x100cf984
push ecx
lea eax, [esp + 0x2c]
push eax
lea edx, [esi + 0x9bc]
lea ecx, [esp + 0x24]
call fcn.100b64a0
mov ebx, dword [0x103d8bec]
mov edi, dword [0x103d8a7c]
imul ecx, edi, 0x2c
mov eax, dword [ebx + 0x1bdc]
dec dword [eax + 0xc0]
mov eax, dword [0x10214408]
cmp byte [ecx + eax + 0x29], 0
je 0x100cfbb0
movups xmm0, xmmword [str.pT_V__]
lea esi, [eax + 0x3c]
add esi, ecx
movups xmmword [esp + 0x64], xmm0
psrldq xmm0, 0xf
movd eax, xmm0
test al, al
je 0x100cfb6f
xor ebx, ebx
cmp dword [0x10215510], 2
jl 0x100cfb47
movaps xmm0, xmmword [str.4444444444444444]
lea edi, [esp + 0x68]
movaps xmm4, xmmword [0x101eb880]
xor ecx, ecx
movaps xmm3, xmmword [0x101ebc30]
movaps xmm5, xmmword [0x101eb8e0]
movaps xmmword [esp + 0x40], xmm0
mov edx, dword [esp + 0x40]
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
psrad xmm1, 4
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 [0x101eb990]
packuswb xmm1, xmm1
movd xmm0, edx
paddb xmm1, xmm0
movd xmm0, dword [esp + ecx + 0x64]
xorps xmm1, xmm0
movd xmm0, eax
pshufd xmm2, xmm0, 0
movd dword [esp + ecx + 0x64], xmm1
paddd xmm2, xmm4
movaps xmm1, xmm2
movaps xmm0, xmm2
punpckhdq xmm0, xmm2
punpckldq xmm1, xmm2
pmuldq xmm0, xmm3
pmuldq xmm1, xmm3
shufps xmm1, xmm0, 0xdd
psrad xmm1, 4
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 [0x101eb990]
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 0x100cfa50
jmp 0x100cfb6f
mov eax, 0x5397829d
mov cl, bl
imul ebx
sar edx, 4
mov eax, edx
shr eax, 0x1f
add eax, edx
movsx eax, al
imul eax, eax, 0x31
sub cl, al
add cl, 0x34
xor byte [esp + ebx + 0x64], cl
inc ebx
cmp ebx, 0x10
jl 0x100cfb47
push 0
push 0x101df374
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.10165710
mov eax, dword [0x10214408]
mov edi, dword [0x103d8a7c]
mov ebx, dword [0x103d8bec]
imul ecx, edi, 0x2c
lea esi, [eax + 0x3c]
add esi, ecx
mov dword [esp + 0x40], 0xfa
lea edx, [esp + 0x20]
mov dword [esp + 0x20], 0
lea eax, [esp + 0x40]
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 esi, dword [ebx + 0x1bdc]
add esi, 0xc0
mov ecx, dword [esi]
mov eax, dword [esi + 8]
push dword [eax + ecx*4 - 4]
mov ecx, str.adms
call fcn.10144c10
mov ebx, dword [esi + 4]
mov ecx, dword [esi]
mov dword [esp + 0x20], eax
cmp ecx, ebx
jne 0x100cfc3a
inc ecx
test ebx, ebx
je 0x100cfc22
mov eax, ebx
cdq
sub eax, edx
sar eax, 1
add eax, ebx
jmp 0x100cfc27
mov eax, 8
cmp eax, ecx
cmovg ecx, eax
push ecx
mov ecx, esi
call fcn.100b4620
mov edi, dword [0x103d8a7c]
mov ecx, dword [esi]
xor ebx, ebx
mov eax, dword [esi + 8]
mov edx, dword [esp + 0x20]
movups xmm0, xmmword [0x101e10b4]
mov dword [eax + ecx*4], edx
inc dword [esi]
mov ax, word [0x101e10c4]
imul esi, edi, 0x2c
mov edi, dword [0x10215510]
mov word [esp + 0x74], ax
mov al, byte [0x101e10c6]
movups xmmword [esp + 0x64], xmm0
add esi, dword [0x10214408]
mov byte [esp + 0x76], al
cmp edi, 2
jl 0x100cfdb0
movaps xmm0, xmmword [str.4444444444444444]
lea edx, [esp + 0x68]
movaps xmm4, xmmword [0x101eb880]
movaps xmm3, xmmword [0x101ebc30]
movaps xmm5, xmmword [0x101eb8e0]
movaps xmmword [esp + 0x40], xmm0
mov ecx, dword [esp + 0x40]
nop dword [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
psrad xmm1, 4
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 [0x101eb990]
packuswb xmm1, xmm1
movd xmm0, ecx
paddb xmm1, xmm0
movd xmm0, dword [esp + ebx + 0x64]
xorps xmm1, xmm0
movd xmm0, eax
pshufd xmm2, xmm0, 0
movd dword [esp + ebx + 0x64], xmm1
paddd xmm2, xmm4
movaps xmm1, xmm2
movaps xmm0, xmm2
punpckhdq xmm0, xmm2
punpckldq xmm1, xmm2
pmuldq xmm0, xmm3
pmuldq xmm1, xmm3
shufps xmm1, xmm0, 0xdd
psrad xmm1, 4
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 [0x101eb990]
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 0x100cfcb0
cmp ebx, 0x13
jge 0x100cfdd8
nop word [eax + eax]
mov eax, 0x5397829d
mov cl, bl
imul ebx
sar edx, 4
mov eax, edx
shr eax, 0x1f
add eax, edx
movsx eax, al
imul eax, eax, 0x31
sub cl, al
add cl, 0x34
xor byte [esp + ebx + 0x64], cl
inc ebx
cmp ebx, 0x13
jl 0x100cfdb0
xorps xmm0, xmm0
mov dword [esp + 0x38], 0
lea ecx, [esp + 0x64]
mov dword [esp + 0x3c], 0
movups xmmword [esp + 0x28], xmm0
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x100cfdf7
sub ecx, edx
lea eax, [esp + 0x64]
push ecx
push eax
lea ecx, [esp + 0x30]
call fcn.10026930
cmp dword [esp + 0x3c], 0xf
lea ecx, [esp + 0x28]
lea edx, [esi + 0x28]
cmova ecx, dword [esp + 0x28]
call fcn.10161e40
mov ecx, dword [esp + 0x3c]
cmp ecx, 0xf
jbe 0x100cfe5b
mov edx, dword [esp + 0x28]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x100cfe51
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100d0311
push ecx
push edx
call fcn.1018e3c3
add esp, 8
mov ecx, dword [0x103d8bec]
mov dword [esp + 0x38], 0
mov dword [esp + 0x3c], 0xf
mov byte [esp + 0x28], 0
mov eax, dword [ecx + 0x1bdc]
mov byte [eax + 0x8c], 1
mov edx, dword [ecx + 0x1bdc]
cmp byte [edx + 0x8f], 0
jne 0x100cfede
movss xmm1, dword [ecx + 0x15a8]
addss xmm1, dword [edx + 0xd4]
movss xmm0, dword [edx + 0xd8]
movss dword [edx + 0xcc], xmm1
movss dword [edx + 0xd0], xmm0
mov eax, dword [edx + 0xfc]
mov ecx, dword [edx + 0x100]
mov dword [edx + 0xf4], eax
mov eax, dword [edx + 0x108]
mov dword [edx + 0xf8], ecx
mov dword [edx + 0x104], eax
cmp byte [0x101e166f], 0
mov eax, dword [0x101e166c]
mov esi, dword [0x10214408]
mov dword [esp + 0x28], 0x42c80000
mov dword [esp + 0x2c], 0
mov dword [esp + 0x1c], eax
je 0x100cffb8
xor ebx, ebx
cmp edi, 2
jl 0x100cff90
movaps xmm3, xmmword [0x101eb880]
movaps xmm2, xmm3
movaps xmm0, xmm3
punpckhdq xmm0, xmm3
pmuldq xmm0, xmmword [0x101ebc30]
punpckldq xmm2, xmm3
pmuldq xmm2, xmmword [0x101ebc30]
shufps xmm2, xmm0, 0xdd
psrad xmm2, 4
movaps xmm0, xmm2
psrld xmm0, 0x1f
paddd xmm0, xmm2
pmulld xmm0, xmmword [0x101eb8e0]
psubd xmm3, xmm0
pshuflw xmm0, xmm3, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
andps xmm1, xmmword [0x101eb990]
packuswb xmm1, xmm1
paddb xmm1, xmmword [str.4444444444444444]
movd xmm0, eax
xorps xmm1, xmm0
movd dword [esp + 0x1c], xmm1
jmp 0x100cffb8
mov eax, 0x5397829d
mov cl, bl
imul ebx
sar edx, 4
mov eax, edx
shr eax, 0x1f
add eax, edx
movsx eax, al
imul eax, eax, 0x31
sub cl, al
add cl, 0x34
xor byte [esp + ebx + 0x1c], cl
inc ebx
cmp ebx, 4
jl 0x100cff90
push ecx
lea eax, [esp + 0x2c]
push eax
lea edx, [esi + 0xc50]
lea ecx, [esp + 0x24]
call fcn.100b64a0
mov eax, dword [0x103d8bec]
imul ecx, dword [0x103d8a7c], 0x2c
mov eax, dword [eax + 0x1bdc]
dec dword [eax + 0xc0]
mov eax, dword [0x10214408]
cmp byte [ecx + eax + 0x28], 0
je 0x100d01ad
movups xmm0, xmmword [0x101e10b4]
lea esi, [eax + 0x2c]
xor ebx, ebx
mov ax, word [0x101e10c4]
add esi, ecx
mov word [esp + 0x74], ax
mov al, byte [0x101e10c6]
mov byte [esp + 0x76], al
movups xmmword [esp + 0x64], xmm0
cmp edi, 2
jl 0x100d0150
movaps xmm0, xmmword [str.4444444444444444]
lea edx, [esp + 0x68]
movaps xmm4, xmmword [0x101eb880]
movaps xmm3, xmmword [0x101ebc30]
movaps xmm5, xmmword [0x101eb8e0]
movaps xmmword [esp + 0x40], xmm0
mov ecx, dword [esp + 0x40]
nop
movd xmm0, ebx
lea eax, [ebx + 4]
pshufd xmm2, xmm0, 0
paddd xmm2, xmm4
movaps xmm1, xmm2
movaps xmm0, xmm2
punpckhdq xmm0, xmm2
punpckldq xmm1, xmm2
pmuldq xmm0, xmm3
pmuldq xmm1, xmm3
shufps xmm1, xmm0, 0xdd
psrad xmm1, 4
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 [0x101eb990]
packuswb xmm1, xmm1
movd xmm0, ecx
paddb xmm1, xmm0
movd xmm0, dword [esp + ebx + 0x64]
xorps xmm1, xmm0
movd xmm0, eax
pshufd xmm2, xmm0, 0
movd dword [esp + ebx + 0x64], xmm1
paddd xmm2, xmm4
movaps xmm1, xmm2
movaps xmm0, xmm2
punpckhdq xmm0, xmm2
punpckldq xmm1, xmm2
pmuldq xmm0, xmm3
pmuldq xmm1, xmm3
shufps xmm1, xmm0, 0xdd
psrad xmm1, 4
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 [0x101eb990]
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 0x100d0050
cmp ebx, 0x13
jge 0x100d0178
nop word [eax + eax]
mov eax, 0x5397829d
mov cl, bl
imul ebx
sar edx, 4
mov eax, edx
shr eax, 0x1f
add eax, edx
movsx eax, al
imul eax, eax, 0x31
sub cl, al
add cl, 0x34
xor byte [esp + ebx + 0x64], cl
inc ebx
cmp ebx, 0x13
jl 0x100d0150
push 0
push 0x101df374
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.10165710
mov eax, dword [0x10214408]
movq xmm0, qword [str.vTULK_XW]
lea esi, [eax + 0xe28]
mov ax, word [0x101dcd8c]
movq qword [esp + 0x28], xmm0
mov word [esp + 0x30], ax
test ah, ah
je 0x100d01f3
xor ebx, ebx
mov eax, 0x5397829d
mov cl, bl
mul ebx
shr edx, 4
movsx eax, dl
imul eax, eax, 0x31
sub cl, al
add cl, 0x34
xor byte [esp + ebx + 0x28], cl
inc ebx
cmp ebx, 0xa
jl 0x100d01d2
mov edx, esi
lea ecx, [esp + 0x28]
call fcn.10161e40
mov eax, dword [0x10214408]
cmp byte [eax + 0xe28], 0
je 0x100d0287
movq xmm0, qword [0x101e1944]
lea esi, [eax + 0xe2c]
mov ax, word [0x101e194c]
xor ebx, ebx
mov word [esp + 0x48], ax
mov al, byte [0x101e194e]
movq qword [esp + 0x40], xmm0
mov byte [esp + 0x4a], al
mov eax, 0x5397829d
mov cl, bl
mul ebx
shr edx, 4
movsx eax, dl
imul eax, eax, 0x31
sub cl, al
add cl, 0x34
xor byte [esp + ebx + 0x40], cl
inc ebx
cmp ebx, 0xb
jl 0x100d0236
push 0
push str._d_ms
lea eax, [esp + 0x28]
mov dword [esp + 0x28], 0xc8
push eax
lea eax, [esp + 0x28]
mov dword [esp + 0x28], 1
push eax
push esi
mov edx, 4
lea ecx, [esp + 0x54]
call fcn.10165710
mov esi, dword [0x103d8bec]
mov eax, dword [esi + 0x1bdc]
mov byte [eax + 0x8c], 1
mov edx, dword [esi + 0x1bdc]
mov ecx, dword [edx + 0x1c0]
mov eax, dword [edx + 0x1c8]
mov eax, dword [eax + ecx*4 - 4]
mov dword [edx + 0x1b8], eax
lea eax, [ecx - 1]
mov dword [edx + 0x1c0], eax
mov eax, dword [esi + 0x1bdc]
mov byte [eax + 0x8c], 1
mov eax, dword [esi + 0x1bdc]
mov eax, dword [eax + 0x198]
test eax, eax
je 0x100d02ed
cmp dword [eax + 0x10], 1
jne 0x100d02e8
cmp dword [eax + 4], 0
je 0x100d02ed
call fcn.100c06f0
mov ecx, dword [esp + 0xac]
pop edi
pop esi
pop ebx
xor ecx, esp
call fcn.1018e0ca
mov esp, ebp
pop ebp
ret
call fcn.101934f6
call fcn.101934f6
call fcn.101934f6
call fcn.101934f6
int3