Function at 0x100cc8b0
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 [0x101f80c0]
xor eax, esp
mov dword [esp + 0xa0], eax
push ebx
xor ebx, ebx
push esi
mov dword [esp + 0x18], ebx
cmp dword [0x102132e0], 2
push edi
jne 0x100d0371
mov eax, dword fs:[0x2c]
mov ecx, dword [0x1021451c]
mov ecx, dword [eax + ecx*4]
mov eax, dword [0x103dafc0]
mov dword [esp + 0x20], ecx
cmp eax, dword [ecx + 4]
jle 0x100cc930
push 0x103dafc0
call fcn.1018e03f
add esp, 4
cmp dword [0x103dafc0], 0xffffffff
jne 0x100cc930
push 0x101ba060
call fcn.1018dd88
add esp, 4
push 0x103dafc0
call fcn.1018dfee
add esp, 4
mov eax, dword [0x101e036c]
xor edx, edx
cmp dword [0x10214510], 2
movq xmm0, qword [0x101e0364]
mov esi, dword [0x10213408]
mov dword [esp + 0x30], eax
mov ax, word [0x101e0370]
mov word [esp + 0x34], ax
mov al, byte [0x101e0372]
mov byte [esp + 0x36], al
movq qword [esp + 0x28], xmm0
mov byte [esp + 0x1b], bl
mov dword [esp + 0x40], edx
jl 0x100cca70
movaps xmm2, xmmword [0x101ea800]
mov edx, 8
movaps xmm3, xmmword [0x101eabd0]
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 [0x101ea890]
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
movaps xmm2, xmmword [0x101ea840]
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
andps xmm1, xmmword [0x101ea930]
movd xmm0, dword [0x101e0364]
packuswb xmm1, xmm1
paddb xmm1, xmmword [str.44444444444444447777777777777777]
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 [0x101ea890]
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
andps xmm1, xmmword [0x101ea930]
movd xmm0, dword [esp + 0x2c]
packuswb xmm1, xmm1
paddb xmm1, xmmword [str.44444444444444447777777777777777]
xorps xmm1, xmm0
movd dword [esp + 0x2c], xmm1
nop
mov eax, 0x4d4873ed
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, 0x35
sub cl, al
add cl, 0x34
xor byte [esp + edx + 0x28], cl
inc edx
mov dword [esp + 0x40], edx
cmp edx, 0xf
jl 0x100cca70
mov edx, esi
lea ecx, [esp + 0x28]
call fcn.10161d10
movss xmm1, dword [0x101ea68c]
xorps xmm0, xmm0
call fcn.10151580
movq xmm0, qword [str.GXB_]
xor ebx, ebx
mov al, byte [0x101e0c4c]
movq qword [esp + 0x28], xmm0
mov byte [esp + 0x30], al
mov eax, 0x3521cfb3
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, 0x35
sub cl, al
add cl, 0x34
xor byte [esp + ebx + 0x28], cl
inc ebx
cmp ebx, 9
jl 0x100ccad4
mov eax, dword [0x103d7bec]
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.10145f10
mov edi, dword [esi + 4]
mov dword [esp + 0x40], eax
cmp ebx, edi
jne 0x100ccb54
lea ecx, [ebx + 1]
test edi, edi
je 0x100ccb42
mov eax, edi
cdq
sub eax, edx
sar eax, 1
add eax, edi
jmp 0x100ccb47
mov eax, 8
cmp eax, ecx
cmovg ecx, eax
push ecx
mov ecx, esi
call fcn.100b43c0
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 [0x101e035c]
inc dword [esi]
xor ebx, ebx
mov esi, dword [0x10213408]
mov dword [esp + 0x40], eax
mov ax, word [0x101e0360]
mov word [esp + 0x44], ax
mov al, byte [0x101e0362]
mov byte [esp + 0x46], al
mov eax, 0x3521cfb3
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, 0x35
sub cl, al
add cl, 0x34
xor byte [esp + ebx + 0x40], cl
inc ebx
cmp ebx, 7
jl 0x100ccb97
push ecx
lea eax, [esp + 0x2c]
push eax
lea edx, [esi + 0x998]
lea ecx, [esp + 0x48]
call fcn.100b61f0
mov ecx, dword [0x103d7bec]
mov eax, dword [ecx + 0x1bdc]
dec dword [eax + 0xc0]
mov ecx, dword [ecx + 0x1bdc]
cmp byte [ecx + 0x8f], 0
jne 0x100ccc08
mov ecx, dword [ecx + 0x1a4]
neg ecx
sbb ecx, ecx
add ecx, 6
call fcn.10162670
movss xmm0, dword [0x101ea534]
call fcn.10151640
movups xmm0, xmmword [str.fTQRZVNeKX_O__1CpLXVUPYeOQO_A]
mov edi, dword [0x10214510]
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 0x100ccda8
mov al, byte [esp + 0x1b]
mov byte [esp + 0x1b], al
cmp edi, 2
jl 0x100ccd79
movaps xmm0, xmmword [str.44444444444444447777777777777777]
xor ecx, ecx
movaps xmm4, xmmword [0x101ea800]
movaps xmm3, xmmword [0x101eabd0]
movaps xmm5, xmmword [0x101ea890]
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 [0x101ea930]
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 [0x101ea930]
packuswb xmm1, xmm1
movd xmm0, edx
paddb xmm1, xmm0
movd xmm0, dword [esp + ecx + 0x68]
xorps xmm1, xmm0
movd dword [esp + ecx + 0x68], xmm1
add ecx, 8
cmp ecx, 0x10
jl 0x100ccc80
jmp 0x100ccda8
xor ebx, ebx
nop dword [eax + eax]
mov eax, 0x4d4873ed
mov cl, bl
imul ebx
sar edx, 4
mov eax, edx
shr eax, 0x1f
add eax, edx
movsx eax, al
imul eax, eax, 0x35
sub cl, al
add cl, 0x34
xor byte [esp + ebx + 0x64], cl
inc ebx
cmp ebx, 0x10
jl 0x100ccd80
mov esi, dword [0x103d7bec]
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.10145f10
cmp dword [esi + 0x1c10], eax
jne 0x100ccdea
mov dword [esi + 0x1c14], eax
cmp dword [esi + 0x1c4c], eax
jne 0x100ccdf9
mov byte [esi + 0x1c50], 1
push 0
push 0
lea ecx, [esp + 0x30]
mov edx, eax
push ecx
lea ecx, [esp + 0x70]
call fcn.1014be40
cmp dword [0x102132e0], 2
jne 0x100cdb53
cmp dword [0x103d7a7c], 0
mov ecx, dword [0x103d7bec]
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 [0x101ea444]
maxss xmm0, xmm1
movss dword [eax + 0xcc], xmm1
movss dword [eax + 0xe4], xmm0
jne 0x100cce71
call fcn.100cc650
jmp 0x100cce76
call fcn.100cc750
cmp byte [0x101e10a3], 0
mov eax, dword [0x101e10a0]
mov dword [esp + 0x28], 0x42200000
mov dword [esp + 0x2c], 0x41f00000
mov dword [esp + 0x40], eax
je 0x100ccf4d
cmp edi, 2
jl 0x100ccf1b
movaps xmm3, xmmword [0x101ea800]
movaps xmm2, xmm3
movaps xmm0, xmm3
punpckhdq xmm0, xmm3
pmuldq xmm0, xmmword [0x101eabd0]
punpckldq xmm2, xmm3
pmuldq xmm2, xmmword [0x101eabd0]
shufps xmm2, xmm0, 0xdd
psrad xmm2, 4
movaps xmm0, xmm2
psrld xmm0, 0x1f
paddd xmm0, xmm2
pmulld xmm0, xmmword [0x101ea890]
psubd xmm3, xmm0
pshuflw xmm0, xmm3, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
andps xmm1, xmmword [0x101ea930]
packuswb xmm1, xmm1
paddb xmm1, xmmword [str.44444444444444447777777777777777]
movd xmm0, eax
xorps xmm1, xmm0
movd dword [esp + 0x40], xmm1
jmp 0x100ccf4d
mov al, byte [esp + 0x1b]
xor ebx, ebx
mov byte [esp + 0x1b], al
mov eax, 0x4d4873ed
mov cl, bl
imul ebx
sar edx, 4
mov eax, edx
shr eax, 0x1f
add eax, edx
movsx eax, al
imul eax, eax, 0x35
sub cl, al
add cl, 0x34
xor byte [esp + ebx + 0x40], cl
inc ebx
cmp ebx, 4
jl 0x100ccf25
push 0
push 0
lea edx, [esp + 0x30]
lea ecx, [esp + 0x48]
call fcn.10160470
test al, al
je 0x100ccf6c
mov dword [0x103d7a7c], 0
mov esi, dword [0x103d7bec]
movss xmm1, dword [0x101ea68c]
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.10151580
mov ecx, dword [0x10213414]
mov ecx, dword [ecx + 0x24]
call fcn.10150c90
cmp dword [0x103d7a7c], 1
jne 0x100cd040
call fcn.100cc650
jmp 0x100cd045
call fcn.100cc750
mov ax, word [0x101cd43c]
mov dword [esp + 0x28], 0x42480000
mov dword [esp + 0x2c], 0x41f00000
mov word [esp + 0x40], ax
test ah, ah
je 0x100cd08f
xor ebx, ebx
mov eax, 0x3521cfb3
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, 0x35
sub cl, al
add cl, 0x34
xor byte [esp + ebx + 0x40], cl
inc ebx
cmp ebx, 2
jl 0x100cd066
push 0
push 0
lea edx, [esp + 0x30]
lea ecx, [esp + 0x48]
call fcn.10160470
test al, al
je 0x100cd0b1
mov edi, 1
mov dword [0x103d7a7c], edi
jmp 0x100cd0b7
mov edi, dword [0x103d7a7c]
mov esi, dword [0x103d7bec]
movss xmm1, dword [0x101ea68c]
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.10151580
cmp edi, 2
jne 0x100cd179
call fcn.100cc650
jmp 0x100cd17e
call fcn.100cc750
mov ax, word [0x101cd2f8]
mov dword [esp + 0x28], 0x42480000
mov dword [esp + 0x2c], 0x41f00000
mov word [esp + 0x40], ax
test ah, ah
je 0x100cd1c9
xor ebx, ebx
nop
mov eax, 0x3521cfb3
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, 0x35
sub cl, al
add cl, 0x34
xor byte [esp + ebx + 0x40], cl
inc ebx
cmp ebx, 2
jl 0x100cd1a0
push 0
push 0
lea edx, [esp + 0x30]
lea ecx, [esp + 0x48]
call fcn.10160470
test al, al
je 0x100cd1eb
mov edi, 2
mov dword [0x103d7a7c], edi
jmp 0x100cd1f1
mov edi, dword [0x103d7a7c]
mov esi, dword [0x103d7bec]
movss xmm1, dword [0x101ea68c]
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.10151580
cmp edi, 3
jne 0x100cd2b3
call fcn.100cc650
jmp 0x100cd2b8
call fcn.100cc750
mov ax, word [0x101cd378]
mov dword [esp + 0x28], 0x42480000
mov dword [esp + 0x2c], 0x41f00000
mov word [esp + 0x40], ax
test ah, ah
je 0x100cd309
xor ebx, ebx
nop dword [eax]
mov eax, 0x3521cfb3
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, 0x35
sub cl, al
add cl, 0x34
xor byte [esp + ebx + 0x40], cl
inc ebx
cmp ebx, 2
jl 0x100cd2e0
push 0
push 0
lea edx, [esp + 0x30]
lea ecx, [esp + 0x48]
call fcn.10160470
test al, al
je 0x100cd32b
mov edi, 3
mov dword [0x103d7a7c], edi
jmp 0x100cd331
mov edi, dword [0x103d7a7c]
mov esi, dword [0x103d7bec]
movss xmm1, dword [0x101ea68c]
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.10151580
cmp edi, 4
jne 0x100cd3f3
call fcn.100cc650
jmp 0x100cd3f8
call fcn.100cc750
mov ax, word [0x101cd4a4]
mov dword [esp + 0x28], 0x42480000
mov dword [esp + 0x2c], 0x41f00000
mov word [esp + 0x40], ax
test ah, ah
je 0x100cd449
xor ebx, ebx
nop dword [eax]
mov eax, 0x3521cfb3
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, 0x35
sub cl, al
add cl, 0x34
xor byte [esp + ebx + 0x40], cl
inc ebx
cmp ebx, 2
jl 0x100cd420
push 0
push 0
lea edx, [esp + 0x30]
lea ecx, [esp + 0x48]
call fcn.10160470
test al, al
je 0x100cd46b
mov edi, 4
mov dword [0x103d7a7c], edi
jmp 0x100cd471
mov edi, dword [0x103d7a7c]
mov esi, dword [0x103d7bec]
movss xmm1, dword [0x101ea68c]
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.10151580
cmp edi, 5
jne 0x100cd533
call fcn.100cc650
jmp 0x100cd538
call fcn.100cc750
mov ax, word [0x101cd430]
mov dword [esp + 0x28], 0x42480000
mov dword [esp + 0x2c], 0x41f00000
mov word [esp + 0x40], ax
test ah, ah
je 0x100cd589
xor ebx, ebx
nop dword [eax]
mov eax, 0x3521cfb3
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, 0x35
sub cl, al
add cl, 0x34
xor byte [esp + ebx + 0x40], cl
inc ebx
cmp ebx, 2
jl 0x100cd560
push 0
push 0
lea edx, [esp + 0x30]
lea ecx, [esp + 0x48]
call fcn.10160470
test al, al
je 0x100cd5ab
mov edi, 5
mov dword [0x103d7a7c], edi
jmp 0x100cd5b1
mov edi, dword [0x103d7a7c]
mov esi, dword [0x103d7bec]
movss xmm1, dword [0x101ea68c]
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.10151580
cmp edi, 6
jne 0x100cd673
call fcn.100cc650
jmp 0x100cd678
call fcn.100cc750
mov ax, word [0x101cd4e4]
mov dword [esp + 0x28], 0x42680000
mov dword [esp + 0x2c], 0x41f00000
mov word [esp + 0x40], ax
test ah, ah
je 0x100cd6c9
xor ebx, ebx
nop dword [eax]
mov eax, 0x3521cfb3
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, 0x35
sub cl, al
add cl, 0x34
xor byte [esp + ebx + 0x40], cl
inc ebx
cmp ebx, 2
jl 0x100cd6a0
push 0
push 0
lea edx, [esp + 0x30]
lea ecx, [esp + 0x48]
call fcn.10160470
test al, al
je 0x100cd6eb
mov edi, 6
mov dword [0x103d7a7c], edi
jmp 0x100cd6f1
mov edi, dword [0x103d7a7c]
mov esi, dword [0x103d7bec]
movss xmm1, dword [0x101ea68c]
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.10151580
cmp edi, 7
jne 0x100cd7b3
call fcn.100cc650
jmp 0x100cd7b8
call fcn.100cc750
mov ax, word [0x101cd360]
mov dword [esp + 0x28], 0x42700000
mov dword [esp + 0x2c], 0x41f00000
mov word [esp + 0x40], ax
test ah, ah
je 0x100cd809
xor ebx, ebx
nop dword [eax]
mov eax, 0x3521cfb3
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, 0x35
sub cl, al
add cl, 0x34
xor byte [esp + ebx + 0x40], cl
inc ebx
cmp ebx, 2
jl 0x100cd7e0
push 0
push 0
lea edx, [esp + 0x30]
lea ecx, [esp + 0x48]
call fcn.10160470
test al, al
je 0x100cd82b
mov edi, 7
mov dword [0x103d7a7c], edi
jmp 0x100cd831
mov edi, dword [0x103d7a7c]
mov esi, dword [0x103d7bec]
movss xmm1, dword [0x101ea68c]
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.10151580
cmp edi, 8
jne 0x100cd8f3
call fcn.100cc650
jmp 0x100cd8f8
call fcn.100cc750
mov ax, word [0x101cd438]
mov dword [esp + 0x28], 0x42480000
mov dword [esp + 0x2c], 0x41f00000
mov word [esp + 0x40], ax
test ah, ah
je 0x100cd949
xor ebx, ebx
nop dword [eax]
mov eax, 0x3521cfb3
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, 0x35
sub cl, al
add cl, 0x34
xor byte [esp + ebx + 0x40], cl
inc ebx
cmp ebx, 2
jl 0x100cd920
push 0
push 0
lea edx, [esp + 0x30]
lea ecx, [esp + 0x48]
call fcn.10160470
test al, al
je 0x100cd96b
mov edi, 8
mov dword [0x103d7a7c], edi
jmp 0x100cd971
mov edi, dword [0x103d7a7c]
mov esi, dword [0x103d7bec]
movss xmm1, dword [0x101ea68c]
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.10151580
cmp edi, 9
jne 0x100cda33
call fcn.100cc650
jmp 0x100cda38
call fcn.100cc750
mov ax, word [0x101cd314]
mov dword [esp + 0x28], 0x42480000
mov dword [esp + 0x2c], 0x41f00000
mov word [esp + 0x40], ax
test ah, ah
je 0x100cda89
xor ebx, ebx
nop dword [eax]
mov eax, 0x3521cfb3
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, 0x35
sub cl, al
add cl, 0x34
xor byte [esp + ebx + 0x40], cl
inc ebx
cmp ebx, 2
jl 0x100cda60
push 0
push 0
lea edx, [esp + 0x30]
lea ecx, [esp + 0x48]
call fcn.10160470
test al, al
je 0x100cdaa8
mov dword [0x103d7a7c], 9
mov esi, dword [0x103d7bec]
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.10150d40
call fcn.1014c040
mov ecx, dword [0x103d7bec]
mov eax, dword [ecx + 0x1bdc]
mov byte [eax + 0x8c], 1
mov eax, dword [ecx + 0x1bdc]
mov eax, dword [eax + 0x198]
test eax, eax
je 0x100cdb8c
cmp dword [eax + 0x10], 2
jne 0x100cdb87
cmp dword [eax + 4], 1
je 0x100cdb9a
call fcn.100c04b0
push 1
mov edx, 2
xor ecx, ecx
call fcn.100bfbd0
movss xmm0, dword [0x101ea5c4]
mov ecx, 1
call fcn.100bf800
movss xmm0, dword [0x101ea578]
call fcn.10151640
mov eax, dword [str.gZRVM:]
mov esi, dword [0x10213408]
mov dword [esp + 0x40], eax
add esi, 2
mov ax, word [0x101e012c]
xor ebx, ebx
mov word [esp + 0x44], ax
mov al, byte [0x101e012e]
mov byte [esp + 0x46], al
mov eax, 0x3521cfb3
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, 0x35
sub cl, al
add cl, 0x34
xor byte [esp + ebx + 0x40], cl
inc ebx
cmp ebx, 7
jl 0x100cdbe1
mov edx, esi
lea ecx, [esp + 0x40]
call fcn.10161d10
mov eax, dword [0x101dfed8]
movq xmm0, qword [str.rG_RV_VB]
mov dl, byte [esp + 0x1b]
mov esi, dword [0x10213408]
mov edi, dword [0x10214510]
mov dword [esp + 0x30], eax
mov ax, word [0x101dfedc]
movq qword [esp + 0x28], xmm0
mov word [esp + 0x34], ax
mov byte [esp + 0x1b], dl
test ah, ah
je 0x100cdd98
xor eax, eax
mov byte [esp + 0x1b], dl
mov dword [esp + 0x40], eax
cmp edi, 2
jl 0x100cdd65
movaps xmm2, xmmword [0x101ea800]
movaps xmm4, xmmword [0x101eabd0]
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.44444444444444447777777777777777]
psrad xmm1, 4
mov byte [esp + 0x1b], dl
movaps xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmmword [0x101ea890]
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
movaps xmm2, xmmword [0x101ea840]
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
andps xmm1, xmmword [0x101ea930]
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 [0x101ea890]
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
andps xmm1, xmmword [0x101ea930]
movd xmm0, eax
mov eax, 8
packuswb xmm1, xmm1
paddb xmm1, xmm0
mov dword [esp + 0x40], eax
movd xmm0, dword [esp + 0x2c]
xorps xmm1, xmm0
movd dword [esp + 0x2c], xmm1
mov ebx, dword [esp + 0x40]
nop dword [eax]
mov eax, 0x4d4873ed
mov cl, bl
imul ebx
sar edx, 4
mov eax, edx
shr eax, 0x1f
add eax, edx
movsx eax, al
imul eax, eax, 0x35
sub cl, al
add cl, 0x34
xor byte [esp + ebx + 0x28], cl
inc ebx
cmp ebx, 0xe
jl 0x100cdd70
lea edx, [esi + 3]
lea ecx, [esp + 0x28]
call fcn.10161d10
mov ax, word [0x101e142c]
movq xmm0, qword [0x101e1424]
mov esi, dword [0x10213408]
movq qword [esp + 0x28], xmm0
mov word [esp + 0x30], ax
test ah, ah
je 0x100cddf9
xor ebx, ebx
nop dword [eax]
mov eax, 0x3521cfb3
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, 0x35
sub cl, al
add cl, 0x34
xor byte [esp + ebx + 0x28], cl
inc ebx
cmp ebx, 0xa
jl 0x100cddd0
lea edx, [esi + 4]
lea ecx, [esp + 0x28]
call fcn.10161d10
mov ax, word [0x101e0ee0]
mov esi, dword [0x10213408]
movq xmm0, qword [0x101e0ed8]
add esi, 0xc
mov word [esp + 0x30], ax
xor ebx, ebx
mov al, byte [0x101e0ee2]
mov byte [esp + 0x32], al
movq qword [esp + 0x28], xmm0
mov eax, 0x3521cfb3
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, 0x35
sub cl, al
add cl, 0x34
xor byte [esp + ebx + 0x28], cl
inc ebx
cmp ebx, 0xb
jl 0x100cde32
mov edx, esi
lea ecx, [esp + 0x28]
call fcn.10161d10
imul esi, dword [0x103d7a7c], 0x2c
mov ax, word [0x101e0db4]
movq xmm0, qword [0x101e0dac]
mov ebx, dword [esp + 0x1c]
movq qword [esp + 0x28], xmm0
add esi, dword [0x10213408]
mov word [esp + 0x30], ax
test ah, ah
je 0x100cdecd
mov al, byte [esp + 0x1b]
xor ebx, ebx
mov byte [esp + 0x1b], al
nop
mov eax, 0x3521cfb3
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, 0x35
sub cl, al
add cl, 0x34
xor byte [esp + ebx + 0x28], cl
inc ebx
cmp ebx, 0xa
jl 0x100cdea0
mov ebx, dword [esp + 0x1c]
lea edx, [esi + 0x15]
lea ecx, [esp + 0x28]
call fcn.10161d10
mov ecx, dword [esp + 0x20]
mov eax, dword [0x103daf9c]
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 0x100cdf3a
push 0x103daf9c
call fcn.1018e03f
add esp, 4
cmp dword [0x103daf9c], 0xffffffff
jne 0x100cdf3a
push 0x101ba000
call fcn.1018dd88
add esp, 4
push 0x103daf9c
call fcn.1018dfee
add esp, 4
imul edx, dword [0x103d7a7c], 0x2c
xor al, al
mov ecx, dword [0x10213408]
mov esi, 0x10213298
mov byte [esp + 0x27], al
movups xmm0, xmmword [0x101e1a24]
movups xmmword [esp + 0x28], xmm0
mov al, byte [edx + ecx + 0x18]
and al, 1
mov byte [0x103d7a78], al
mov eax, dword [edx + ecx + 0x18]
shr eax, 1
and al, 1
mov byte [0x103d7a79], al
mov eax, dword [edx + ecx + 0x18]
shr eax, 2
and al, 1
mov byte [0x103d7a7a], al
mov eax, dword [edx + ecx + 0x18]
shr eax, 3
and al, 1
cmp dword [0x102132ac], 0xf
mov byte [0x103d7a7b], al
cmova esi, dword [0x10213298]
cmp byte [0x101e1a37], 0
mov eax, dword [0x101e1a34]
mov dword [esp + 0x38], eax
je 0x100ce120
xor edx, edx
mov dword [esp + 0x40], edx
cmp edi, 2
jl 0x100ce0f0
movaps xmm0, xmmword [str.44444444444444447777777777777777]
movaps xmm4, xmmword [0x101ea800]
movaps xmm3, xmmword [0x101eabd0]
movaps xmm5, xmmword [0x101ea890]
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 [0x101ea930]
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 [0x101ea930]
packuswb xmm1, xmm1
movd xmm0, ecx
paddb xmm1, xmm0
movd xmm0, dword [esp + edx + 0x2c]
xorps xmm1, xmm0
movd dword [esp + edx + 0x2c], xmm1
add edx, 8
cmp edx, 0x10
jl 0x100cdff0
mov dword [esp + 0x40], edx
cmp edx, 0x14
jge 0x100ce120
mov eax, 0x4d4873ed
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, 0x35
sub cl, al
add cl, 0x34
xor byte [esp + edx + 0x28], cl
inc edx
mov dword [esp + 0x40], edx
cmp edx, 0x14
jl 0x100ce0f0
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 0x100ce145
sub ecx, edx
lea eax, [esp + 0x28]
push ecx
push eax
lea ecx, [esp + 0x84]
call fcn.10026920
cmp dword [esp + 0x90], 0xf
lea ecx, [esp + 0x7c]
push 1
cmova ecx, dword [esp + 0x80]
mov edx, esi
push 0
call fcn.101628f0
mov ecx, dword [esp + 0x90]
mov byte [esp + 0x40], al
cmp ecx, 0xf
jbe 0x100ce1c0
mov edx, dword [esp + 0x7c]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x100ce1b2
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100d0386
push ecx
push edx
call fcn.1018dda2
mov al, byte [esp + 0x48]
add esp, 8
test al, al
je 0x100ce260
push 0
push 0x101c346e
mov ecx, 0x10213298
call fcn.10021e60
xor esi, esi
mov dword [esp + 0x28], esi
mov dword [esp + 0x2c], esi
nop dword [eax]
nop word [eax + eax]
mov dl, byte [esi + 0x103d7a78]
lea eax, [esp + 0x28]
mov ecx, dword [esp + esi*4 + 0x64]
push eax
push 1
call fcn.10170ce0
test al, al
je 0x100ce21a
cmp byte [esi + 0x103d7a78], 0
sete al
mov byte [esi + 0x103d7a78], al
inc esi
cmp esi, 4
jb 0x100ce1f0
mov esi, dword [0x103d7bec]
mov eax, dword [esi + 0x1bdc]
cmp dword [esi + 0x1d44], eax
jne 0x100ce244
mov dword [esi + 0x1e48], eax
mov dword [esi + 0x1e4c], 2
test dword [eax + 8], 0x1000000
je 0x100ce254
mov byte [esi + 0x1b8e], 1
call fcn.101507d0
mov byte [esi + 0x1b8e], 0
xor esi, esi
cmp byte [esp + 0x27], 0
mov eax, 0x202c
jne 0x100ce289
push 0
push 0x101c346e
mov ecx, 0x10213298
call fcn.10021e60
mov byte [esp + 0x27], 1
mov eax, 0x202c
cmp byte [esi + 0x103d7a78], 0
je 0x100ce459
cmp dword [0x102132a8], 0
xorps xmm0, xmm0
mov edx, dword [esp + esi*4 + 0x64]
je 0x100ce315
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.1001fa90
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 0x100ce34e
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 0x100ce336
sub ecx, edi
push ecx
push edx
lea ecx, [esp + 0x30]
call fcn.10026920
lea eax, [esp + 0x28]
push eax
mov ecx, 0x10213298
call fcn.1001fb00
test bl, 4
je 0x100ce39b
and ebx, 0xfffffffb
mov dword [esp + 0x1c], ebx
mov ecx, dword [esp + 0x3c]
cmp ecx, 0xf
jbe 0x100ce39b
mov edx, dword [esp + 0x28]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x100ce391
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100d0386
push ecx
push edx
call fcn.1018dda2
add esp, 8
test bl, 2
je 0x100ce3dd
and ebx, 0xfffffffd
mov dword [esp + 0x1c], ebx
mov ecx, dword [esp + 0x54]
cmp ecx, 0xf
jbe 0x100ce3dd
mov edx, dword [esp + 0x40]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x100ce3d3
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100d0386
push ecx
push edx
call fcn.1018dda2
add esp, 8
test bl, 1
je 0x100ce443
and ebx, 0xfffffffe
mov dword [esp + 0x1c], ebx
mov ecx, dword [esp + 0xa8]
cmp ecx, 0xf
jbe 0x100ce425
mov edx, dword [esp + 0x94]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x100ce41b
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100d0386
push ecx
push edx
call fcn.1018dda2
add esp, 8
mov dword [esp + 0xa4], 0
mov dword [esp + 0xa8], 0xf
mov byte [esp + 0x94], 0
imul edx, dword [0x103d7a7c], 0x2c
mov ecx, dword [0x10213408]
mov eax, dword [edx + ecx + 0x18]
bts eax, esi
jmp 0x100ce46d
imul edx, dword [0x103d7a7c], 0x2c
mov ecx, dword [0x10213408]
mov eax, dword [edx + ecx + 0x18]
btr eax, esi
inc esi
mov dword [edx + ecx + 0x18], eax
cmp esi, 4
jb 0x100ce262
movq xmm0, qword [0x101e0bb8]
xor ebx, ebx
mov al, byte [0x101e0bc0]
mov esi, dword [0x10213408]
movq qword [esp + 0x28], xmm0
mov byte [esp + 0x30], al
nop word [eax + eax]
mov eax, 0x3521cfb3
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, 0x35
sub cl, al
add cl, 0x34
xor byte [esp + ebx + 0x28], cl
inc ebx
cmp ebx, 9
jl 0x100ce4a0
lea edx, [esi + 0xddc]
lea ecx, [esp + 0x28]
call fcn.10161d10
movq xmm0, qword [0x101e0da0]
xor edx, edx
mov al, byte [0x101e0da8]
mov esi, dword [0x10213408]
movq qword [esp + 0x28], xmm0
mov byte [esp + 0x30], al
mov dword [esp + 0x40], edx
nop dword [eax + eax]
mov eax, 0x3521cfb3
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, 0x35
sub cl, al
add cl, 0x34
xor byte [esp + edx + 0x28], cl
inc edx
mov dword [esp + 0x40], edx
cmp edx, 9
jl 0x100ce500
lea edx, [esi + 1]
lea ecx, [esp + 0x28]
call fcn.10161d10
mov eax, dword [0x101dfe48]
xor edx, edx
cmp dword [0x10214510], 2
movups xmm0, xmmword [0x101dfe38]
mov ch, byte [esp + 0x1b]
mov dword [esp + 0x74], eax
mov al, byte [0x101dfe4c]
movups xmmword [esp + 0x64], xmm0
mov byte [esp + 0x78], al
mov dword [esp + 0x40], edx
jl 0x100ce6a6
movaps xmm0, xmmword [str.44444444444444447777777777777777]
movaps xmm4, xmmword [0x101ea800]
movaps xmm3, xmmword [0x101eabd0]
movaps xmm5, xmmword [0x101ea890]
movaps xmmword [esp + 0x40], xmm0
mov esi, dword [esp + 0x40]
mov byte [esp + 0x1b], ch
nop dword [eax]
movd xmm0, edx
lea eax, [edx + 4]
pshufd xmm2, xmm0, 0
paddd xmm2, xmm4
movaps xmm1, xmm2
movaps xmm0, xmm2
punpckhdq xmm0, xmm2
punpckldq xmm1, xmm2
pmuldq xmm0, xmm3
pmuldq xmm1, xmm3
shufps xmm1, xmm0, 0xdd
psrad xmm1, 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 [0x101ea930]
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 [0x101ea930]
packuswb xmm1, xmm1
movd xmm0, esi
paddb xmm1, xmm0
movd xmm0, dword [esp + edx + 0x68]
xorps xmm1, xmm0
movd dword [esp + edx + 0x68], xmm1
add edx, 8
cmp edx, 0x10
jl 0x100ce5a0
mov dword [esp + 0x40], edx
cmp edx, 0x15
jl 0x100ce6a6
mov byte [esp + 0x1b], ch
jmp 0x100ce6d6
mov eax, 0x4d4873ed
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, 0x35
sub cl, al
add cl, 0x34
xor byte [esp + edx + 0x64], cl
inc edx
mov dword [esp + 0x40], edx
cmp edx, 0x15
jl 0x100ce6a6
mov edi, dword [0x10213408]
mov al, byte [0x101e0e80]
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 dword [eax]
mov eax, 0x3521cfb3
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, 0x35
sub cl, al
add cl, 0x34
xor byte [esp + ebx + 0x28], cl
inc ebx
cmp ebx, 9
jl 0x100ce700
xor esi, esi
lea edx, [esp + 0x64]
cmp byte [esp + 0x64], 0
je 0x100ce756
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 0x100ce745
sub ecx, edi
inc edx
add edx, ecx
inc esi
cmp byte [edx], al
jne 0x100ce740
mov edx, dword [esp + 0x40]
lea eax, [esp + 0x64]
push 1
push 0xffffffffffffffff
push esi
push eax
push 0x10163790
lea ecx, [esp + 0x3c]
call fcn.101637f0
imul edx, dword [0x103d7a7c], 0x2c
mov esi, 0x10212e68
mov ecx, dword [0x10213408]
movq xmm0, qword [str.BUWA_H_]
movq qword [esp + 0x28], xmm0
mov al, byte [edx + ecx + 0x20]
and al, 1
mov byte [0x103d7ae8], al
mov eax, dword [edx + ecx + 0x20]
shr eax, 1
and al, 1
mov byte [0x103d7ae9], al
mov eax, dword [edx + ecx + 0x20]
shr eax, 2
and al, 1
mov byte [0x103d7aea], al
mov eax, dword [edx + ecx + 0x20]
shr eax, 3
and al, 1
mov byte [0x103d7aeb], al
mov eax, dword [edx + ecx + 0x20]
shr eax, 4
and al, 1
mov byte [0x103d7aec], al
mov eax, dword [edx + ecx + 0x20]
shr eax, 5
and al, 1
mov byte [0x103d7aed], al
mov eax, dword [edx + ecx + 0x20]
shr eax, 6
and al, 1
mov byte [0x103d7aee], al
mov eax, dword [edx + ecx + 0x20]
shr eax, 7
and al, 1
mov byte [0x103d7aef], al
mov eax, dword [edx + ecx + 0x20]
shr eax, 8
and al, 1
cmp dword [0x10212e7c], 0xf
mov byte [0x103d7af0], al
mov al, byte [0x101e1040]
mov byte [esp + 0x30], al
jbe 0x100ce824
mov esi, dword [0x10212e68]
xor ebx, ebx
mov eax, 0x3521cfb3
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, 0x35
sub cl, al
add cl, 0x34
xor byte [esp + ebx + 0x28], cl
inc ebx
cmp ebx, 9
jl 0x100ce826
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 0x100ce878
sub ecx, edx
lea eax, [esp + 0x28]
push ecx
push eax
lea ecx, [esp + 0x84]
call fcn.10026920
cmp dword [esp + 0x90], 0xf
lea ecx, [esp + 0x7c]
push 1
cmova ecx, dword [esp + 0x80]
mov edx, esi
push 0
call fcn.101628f0
mov ecx, dword [esp + 0x90]
mov byte [esp + 0x40], al
cmp ecx, 0xf
jbe 0x100ce8f3
mov edx, dword [esp + 0x7c]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x100ce8e5
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100d038b
push ecx
push edx
call fcn.1018dda2
mov al, byte [esp + 0x48]
add esp, 8
test al, al
je 0x100ce993
push 0
push 0x101c346e
mov ecx, 0x10212e68
call fcn.10021e60
mov al, byte [esp + 0x1b]
xor esi, esi
mov dword [esp + 0x28], esi
mov dword [esp + 0x2c], esi
mov byte [esp + 0x1b], al
nop
mov dl, byte [esi + 0x103d7ae8]
lea eax, [esp + 0x28]
mov ecx, dword [esi*4 + 0x101e00e0]
push eax
push 1
call fcn.10170ce0
test al, al
je 0x100ce94d
cmp byte [esi + 0x103d7ae8], 0
sete al
mov byte [esi + 0x103d7ae8], al
inc esi
cmp esi, 9
jb 0x100ce920
mov esi, dword [0x103d7bec]
mov eax, dword [esi + 0x1bdc]
cmp dword [esi + 0x1d44], eax
jne 0x100ce977
mov dword [esi + 0x1e48], eax
mov dword [esi + 0x1e4c], 2
test dword [eax + 8], 0x1000000
je 0x100ce987
mov byte [esi + 0x1b8e], 1
call fcn.101507d0
mov byte [esi + 0x1b8e], 0
xor esi, esi
cmp byte [esp + 0x1b], 0
jne 0x100ce9b2
push 0
push 0x101c346e
mov ecx, 0x10212e68
call fcn.10021e60
mov byte [esp + 0x1b], 1
cmp byte [esi + 0x103d7ae8], 0
je 0x100ceb71
cmp dword [0x10212e78], 0
xorps xmm0, xmm0
mov edx, dword [esi*4 + 0x101e00e0]
je 0x100cea3f
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.1001fa90
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 0x100cea78
mov ecx, edx
mov dword [esp + 0x74], 0
or ebx, 0x20
mov dword [esp + 0x78], 0
movups xmmword [esp + 0x64], xmm0
lea edi, [ecx + 1]
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x100cea60
sub ecx, edi
push ecx
push edx
lea ecx, [esp + 0x6c]
call fcn.10026920
lea eax, [esp + 0x64]
push eax
mov ecx, 0x10212e68
call fcn.1001fb00
test bl, 0x20
je 0x100ceac1
mov ecx, dword [esp + 0x78]
and ebx, 0xffffffdf
cmp ecx, 0xf
jbe 0x100ceac1
mov edx, dword [esp + 0x64]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x100ceab7
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100d0386
push ecx
push edx
call fcn.1018dda2
add esp, 8
test bl, 0x10
je 0x100ceaff
mov ecx, dword [esp + 0x3c]
and ebx, 0xffffffef
cmp ecx, 0xf
jbe 0x100ceaff
mov edx, dword [esp + 0x28]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x100ceaf5
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100d0386
push ecx
push edx
call fcn.1018dda2
add esp, 8
test bl, 8
je 0x100ceb5b
mov ecx, dword [esp + 0x90]
and ebx, 0xfffffff7
cmp ecx, 0xf
jbe 0x100ceb40
mov edx, dword [esp + 0x7c]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x100ceb36
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100d0386
push ecx
push edx
call fcn.1018dda2
add esp, 8
mov dword [esp + 0x8c], 0
mov dword [esp + 0x90], 0xf
mov byte [esp + 0x7c], 0
imul edx, dword [0x103d7a7c], 0x2c
mov ecx, dword [0x10213408]
mov eax, dword [edx + ecx + 0x20]
bts eax, esi
jmp 0x100ceb85
imul edx, dword [0x103d7a7c], 0x2c
mov ecx, dword [0x10213408]
mov eax, dword [edx + ecx + 0x20]
btr eax, esi
inc esi
mov dword [edx + ecx + 0x20], eax
cmp esi, 9
jb 0x100ce995
mov ax, word [0x101e0e74]
xor ebx, ebx
movq xmm0, qword [str.rZDT_]
mov esi, dword [0x10213408]
mov word [esp + 0x48], ax
mov al, byte [0x101e0e76]
mov dword [esp + 0x28], 0x42c80000
mov dword [esp + 0x2c], 0
movq qword [esp + 0x40], xmm0
mov byte [esp + 0x4a], al
nop dword [eax]
mov eax, 0x3521cfb3
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, 0x35
sub cl, al
add cl, 0x34
xor byte [esp + ebx + 0x40], cl
inc ebx
cmp ebx, 0xb
jl 0x100cebd0
push ecx
lea eax, [esp + 0x2c]
push eax
lea edx, [esi + 0x9e0]
lea ecx, [esp + 0x48]
call fcn.100b61f0
movq xmm0, qword [str.qMF_WPNH_]
xor ebx, ebx
mov al, byte [0x101e1cf0]
movq qword [esp + 0x28], xmm0
mov byte [esp + 0x30], al
mov eax, 0x3521cfb3
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, 0x35
sub cl, al
add cl, 0x34
xor byte [esp + ebx + 0x28], cl
inc ebx
cmp ebx, 9
jl 0x100cec27
lea eax, [esp + 0x28]
push eax
call fcn.1015fcf0
mov ax, word [0x101dfd74]
add esp, 4
movq xmm0, qword [str.pZCUTNZL]
movq qword [esp + 0x40], xmm0
mov word [esp + 0x48], ax
test ah, ah
je 0x100ceca9
xor ebx, ebx
nop dword [eax]
mov eax, 0x3521cfb3
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, 0x35
sub cl, al
add cl, 0x34
xor byte [esp + ebx + 0x40], cl
inc ebx
cmp ebx, 0xa
jl 0x100cec80
mov eax, dword [0x103d7bec]
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.10145f10
mov edi, dword [esi + 4]
mov dword [esp + 0x20], eax
cmp ebx, edi
jne 0x100ced00
lea ecx, [ebx + 1]
test edi, edi
je 0x100cecee
mov eax, edi
cdq
sub eax, edx
sar eax, 1
add eax, edi
jmp 0x100cecf3
mov eax, 8
cmp eax, ecx
cmovg ecx, eax
push ecx
mov ecx, esi
call fcn.100b43c0
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 [0x101dfd74]
inc dword [esi]
mov esi, dword [0x10213408]
mov dword [esp + 0x2c], 0
movq qword [esp + 0x40], xmm0
mov word [esp + 0x48], ax
test ah, ah
je 0x100ced6c
xor ebx, ebx
mov eax, 0x3521cfb3
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, 0x35
sub cl, al
add cl, 0x34
xor byte [esp + ebx + 0x40], cl
inc ebx
cmp ebx, 0xa
jl 0x100ced43
push ecx
lea eax, [esp + 0x2c]
push eax
lea edx, [esi + 0xd94]
lea ecx, [esp + 0x48]
call fcn.100b61f0
mov ecx, dword [0x103d7bec]
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.10145f10
mov edi, dword [esi + 4]
mov dword [esp + 0x20], eax
cmp ebx, edi
jne 0x100cede3
lea ecx, [ebx + 1]
test edi, edi
je 0x100cedd1
mov eax, edi
cdq
sub eax, edx
sar eax, 1
add eax, edi
jmp 0x100cedd6
mov eax, 8
cmp eax, ecx
cmovg ecx, eax
push ecx
mov ecx, esi
call fcn.100b43c0
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 [0x101dfd98]
inc dword [esi]
mov esi, dword [0x10213408]
mov dword [esp + 0x2c], 0
movq qword [esp + 0x40], xmm0
mov word [esp + 0x48], ax
test ah, ah
je 0x100cee4f
xor ebx, ebx
mov eax, 0x3521cfb3
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, 0x35
sub cl, al
add cl, 0x34
xor byte [esp + ebx + 0x40], cl
inc ebx
cmp ebx, 0xa
jl 0x100cee26
push ecx
lea eax, [esp + 0x2c]
push eax
lea edx, [esi + 0xdb8]
lea ecx, [esp + 0x48]
call fcn.100b61f0
mov eax, dword [0x103d7bec]
mov eax, dword [eax + 0x1bdc]
dec dword [eax + 0xc0]
call fcn.100c01d0
movups xmm0, xmmword [0x101e05b4]
imul esi, dword [0x103d7a7c], 0x2c
movups xmmword [esp + 0x64], xmm0
psrldq xmm0, 0xf
movd eax, xmm0
add esi, dword [0x10213408]
test al, al
je 0x100cf008
xor ebx, ebx
cmp dword [0x10214510], 2
jl 0x100cefe0
movaps xmm0, xmmword [str.44444444444444447777777777777777]
xor ecx, ecx
movaps xmm4, xmmword [0x101ea800]
movaps xmm3, xmmword [0x101eabd0]
movaps xmm5, xmmword [0x101ea890]
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 [0x101ea930]
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 [0x101ea930]
packuswb xmm1, xmm1
movd xmm0, edx
paddb xmm1, xmm0
movd xmm0, dword [esp + ecx + 0x68]
xorps xmm1, xmm0
movd dword [esp + ecx + 0x68], xmm1
add ecx, 8
cmp ecx, 0x10
jl 0x100ceee0
jmp 0x100cf008
mov eax, 0x4d4873ed
mov cl, bl
imul ebx
sar edx, 4
mov eax, edx
shr eax, 0x1f
add eax, edx
movsx eax, al
imul eax, eax, 0x35
sub cl, al
add cl, 0x34
xor byte [esp + ebx + 0x64], cl
inc ebx
cmp ebx, 0x10
jl 0x100cefe0
lea edx, [esi + 0x14]
lea ecx, [esp + 0x64]
call fcn.10161d10
mov ebx, dword [0x103d7bec]
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 0x100cf05c
inc ecx
test edi, edi
je 0x100cf046
mov eax, edi
cdq
sub eax, edx
sar eax, 1
add eax, edi
jmp 0x100cf04b
mov eax, 8
cmp eax, ecx
cmovg ecx, eax
push ecx
mov ecx, esi
call fcn.100b43c0
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 [0x10213408]
mov eax, dword [str.rZ_7cPWGWWI_REEhUXB_rT_R]
add esi, 0x10
cmp byte [0x101e0e17], 0
mov edi, dword [0x10214510]
mov dword [esp + 0x1c], eax
je 0x100cf14f
xor ebx, ebx
cmp edi, 2
jl 0x100cf127
movaps xmm3, xmmword [0x101ea800]
movaps xmm2, xmm3
movaps xmm0, xmm3
punpckhdq xmm0, xmm3
pmuldq xmm0, xmmword [0x101eabd0]
punpckldq xmm2, xmm3
pmuldq xmm2, xmmword [0x101eabd0]
shufps xmm2, xmm0, 0xdd
psrad xmm2, 4
movaps xmm0, xmm2
psrld xmm0, 0x1f
paddd xmm0, xmm2
pmulld xmm0, xmmword [0x101ea890]
psubd xmm3, xmm0
pshuflw xmm0, xmm3, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
andps xmm1, xmmword [0x101ea930]
packuswb xmm1, xmm1
paddb xmm1, xmmword [str.44444444444444447777777777777777]
movd xmm0, eax
xorps xmm1, xmm0
movd dword [esp + 0x1c], xmm1
jmp 0x100cf14f
mov eax, 0x4d4873ed
mov cl, bl
imul ebx
sar edx, 4
mov eax, edx
shr eax, 0x1f
add eax, edx
movsx eax, al
imul eax, eax, 0x35
sub cl, al
add cl, 0x34
xor byte [esp + ebx + 0x1c], cl
inc ebx
cmp ebx, 4
jl 0x100cf127
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.10165570
imul ecx, dword [0x103d7a7c], 0x2c
mov esi, dword [0x10213408]
mov ax, word [0x101e0d9c]
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 0x100cf1d9
xor ebx, ebx
mov eax, 0x3521cfb3
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, 0x35
sub cl, al
add cl, 0x34
xor byte [esp + ebx + 0x28], cl
inc ebx
cmp ebx, 0xa
jl 0x100cf1b0
push 0
push 0x101de34c
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.10165570
movups xmm0, xmmword [str.y_ZCQIURRI]
mov esi, dword [0x10213408]
imul ecx, dword [0x103d7a7c], 0x2c
add esi, 0x30
movups xmmword [esp + 0x64], xmm0
psrldq xmm0, 0xf
movd eax, xmm0
add esi, ecx
test al, al
je 0x100cf398
xor ebx, ebx
cmp edi, 2
jl 0x100cf370
movaps xmm0, xmmword [str.44444444444444447777777777777777]
xor ecx, ecx
movaps xmm4, xmmword [0x101ea800]
movaps xmm3, xmmword [0x101eabd0]
movaps xmm5, xmmword [0x101ea890]
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 [0x101ea930]
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 [0x101ea930]
packuswb xmm1, xmm1
movd xmm0, edx
paddb xmm1, xmm0
movd xmm0, dword [esp + ecx + 0x68]
xorps xmm1, xmm0
movd dword [esp + ecx + 0x68], xmm1
add ecx, 8
cmp ecx, 0x10
jl 0x100cf270
jmp 0x100cf398
mov eax, 0x4d4873ed
mov cl, bl
imul ebx
sar edx, 4
mov eax, edx
shr eax, 0x1f
add eax, edx
movsx eax, al
imul eax, eax, 0x35
sub cl, al
add cl, 0x34
xor byte [esp + ebx + 0x64], cl
inc ebx
cmp ebx, 0x10
jl 0x100cf370
push 0
push 0x101de34c
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.10165570
movups xmm0, xmmword [0x101e1808]
mov esi, dword [0x10213408]
imul ecx, dword [0x103d7a7c], 0x2c
add esi, 0x34
movups xmmword [esp + 0x64], xmm0
psrldq xmm0, 0xf
movd eax, xmm0
add esi, ecx
test al, al
je 0x100cf558
xor ebx, ebx
cmp edi, 2
jl 0x100cf530
movaps xmm0, xmmword [str.44444444444444447777777777777777]
xor ecx, ecx
movaps xmm4, xmmword [0x101ea800]
movaps xmm3, xmmword [0x101eabd0]
movaps xmm5, xmmword [0x101ea890]
movaps xmmword [esp + 0x40], xmm0
mov edx, dword [esp + 0x40]
nop dword [eax]
movd xmm0, ecx
lea eax, [ecx + 4]
pshufd xmm2, xmm0, 0
paddd xmm2, xmm4
movaps xmm1, xmm2
movaps xmm0, xmm2
punpckhdq xmm0, xmm2
punpckldq xmm1, xmm2
pmuldq xmm0, xmm3
pmuldq xmm1, xmm3
shufps xmm1, xmm0, 0xdd
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 [0x101ea930]
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 [0x101ea930]
packuswb xmm1, xmm1
movd xmm0, edx
paddb xmm1, xmm0
movd xmm0, dword [esp + ecx + 0x68]
xorps xmm1, xmm0
movd dword [esp + ecx + 0x68], xmm1
add ecx, 8
cmp ecx, 0x10
jl 0x100cf430
jmp 0x100cf558
mov eax, 0x4d4873ed
mov cl, bl
imul ebx
sar edx, 4
mov eax, edx
shr eax, 0x1f
add eax, edx
movsx eax, al
imul eax, eax, 0x35
sub cl, al
add cl, 0x34
xor byte [esp + ebx + 0x64], cl
inc ebx
cmp ebx, 0x10
jl 0x100cf530
push 0
push 0x101de34c
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.10165570
imul ecx, dword [0x103d7a7c], 0x2c
mov ax, word [0x101e07f0]
mov esi, dword [0x10213408]
movq xmm0, qword [0x101e07e8]
add esi, 0x38
mov word [esp + 0x30], ax
mov al, byte [0x101e07f2]
add esi, ecx
movq qword [esp + 0x28], xmm0
xor ebx, ebx
mov byte [esp + 0x32], al
nop
mov eax, 0x3521cfb3
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, 0x35
sub cl, al
add cl, 0x34
xor byte [esp + ebx + 0x28], cl
inc ebx
cmp ebx, 0xb
jl 0x100cf5c0
push 0
push 0x101de34c
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.10165570
mov ebx, dword [0x103d7a7c]
lea edx, [esp + 0x20]
mov esi, dword [0x10213408]
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 [0x103d7bec]
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.10145f10
mov edi, dword [esi + 4]
mov ecx, dword [esi]
mov dword [esp + 0x20], eax
cmp ecx, edi
jne 0x100cf6b7
inc ecx
test edi, edi
je 0x100cf69f
mov eax, edi
cdq
sub eax, edx
sar eax, 1
add eax, edi
jmp 0x100cf6a4
mov eax, 8
cmp eax, ecx
cmovg ecx, eax
push ecx
mov ecx, esi
call fcn.100b43c0
mov ebx, dword [0x103d7a7c]
mov ecx, dword [esi]
mov eax, dword [esi + 8]
movups xmm0, xmmword [0x101e06ec]
mov edx, dword [esp + 0x20]
mov dword [eax + ecx*4], edx
inc dword [esi]
mov edi, dword [0x10214510]
imul esi, ebx, 0x2c
movups xmmword [esp + 0x64], xmm0
psrldq xmm0, 0xf
movd eax, xmm0
add esi, dword [0x10213408]
test al, al
je 0x100cf848
xor ebx, ebx
cmp edi, 2
jl 0x100cf820
movaps xmm0, xmmword [str.44444444444444447777777777777777]
xor ecx, ecx
movaps xmm4, xmmword [0x101ea800]
movaps xmm3, xmmword [0x101eabd0]
movaps xmm5, xmmword [0x101ea890]
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 [0x101ea930]
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 [0x101ea930]
packuswb xmm1, xmm1
movd xmm0, edx
paddb xmm1, xmm0
movd xmm0, dword [esp + ecx + 0x68]
xorps xmm1, xmm0
movd dword [esp + ecx + 0x68], xmm1
add ecx, 8
cmp ecx, 0x10
jl 0x100cf723
jmp 0x100cf848
mov eax, 0x4d4873ed
mov cl, bl
imul ebx
sar edx, 4
mov eax, edx
shr eax, 0x1f
add eax, edx
movsx eax, al
imul eax, eax, 0x35
sub cl, al
add cl, 0x34
xor byte [esp + ebx + 0x64], cl
inc ebx
cmp ebx, 0x10
jl 0x100cf820
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 0x100cf867
sub ecx, edx
lea eax, [esp + 0x64]
push ecx
push eax
lea ecx, [esp + 0x30]
call fcn.10026920
cmp dword [esp + 0x3c], 0xf
lea ecx, [esp + 0x28]
lea edx, [esi + 0x29]
cmova ecx, dword [esp + 0x28]
call fcn.10161d10
mov ecx, dword [esp + 0x3c]
cmp ecx, 0xf
jbe 0x100cf8cb
mov edx, dword [esp + 0x28]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x100cf8c1
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100d0390
push ecx
push edx
call fcn.1018dda2
add esp, 8
mov ecx, dword [0x103d7bec]
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 0x100cf94e
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 [0x101e0e3b], 0
mov eax, dword [0x101e0e38]
mov esi, dword [0x10213408]
mov dword [esp + 0x28], 0x42c80000
mov dword [esp + 0x2c], 0
mov dword [esp + 0x1c], eax
je 0x100cfa28
xor ebx, ebx
cmp edi, 2
jl 0x100cfa00
movaps xmm3, xmmword [0x101ea800]
movaps xmm2, xmm3
movaps xmm0, xmm3
punpckhdq xmm0, xmm3
pmuldq xmm0, xmmword [0x101eabd0]
punpckldq xmm2, xmm3
pmuldq xmm2, xmmword [0x101eabd0]
shufps xmm2, xmm0, 0xdd
psrad xmm2, 4
movaps xmm0, xmm2
psrld xmm0, 0x1f
paddd xmm0, xmm2
pmulld xmm0, xmmword [0x101ea890]
psubd xmm3, xmm0
pshuflw xmm0, xmm3, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
andps xmm1, xmmword [0x101ea930]
packuswb xmm1, xmm1
paddb xmm1, xmmword [str.44444444444444447777777777777777]
movd xmm0, eax
xorps xmm1, xmm0
movd dword [esp + 0x1c], xmm1
jmp 0x100cfa28
mov eax, 0x4d4873ed
mov cl, bl
imul ebx
sar edx, 4
mov eax, edx
shr eax, 0x1f
add eax, edx
movsx eax, al
imul eax, eax, 0x35
sub cl, al
add cl, 0x34
xor byte [esp + ebx + 0x1c], cl
inc ebx
cmp ebx, 4
jl 0x100cfa00
push ecx
lea eax, [esp + 0x2c]
push eax
lea edx, [esi + 0x9bc]
lea ecx, [esp + 0x24]
call fcn.100b61f0
mov ebx, dword [0x103d7bec]
mov edi, dword [0x103d7a7c]
imul ecx, edi, 0x2c
mov eax, dword [ebx + 0x1bdc]
dec dword [eax + 0xc0]
mov eax, dword [0x10213408]
cmp byte [ecx + eax + 0x29], 0
je 0x100cfc29
movups xmm0, xmmword [0x101e06ec]
lea esi, [eax + 0x3c]
add esi, ecx
movups xmmword [esp + 0x64], xmm0
psrldq xmm0, 0xf
movd eax, xmm0
test al, al
je 0x100cfbe8
xor ebx, ebx
cmp dword [0x10214510], 2
jl 0x100cfbc0
movaps xmm0, xmmword [str.44444444444444447777777777777777]
xor ecx, ecx
movaps xmm4, xmmword [0x101ea800]
movaps xmm3, xmmword [0x101eabd0]
movaps xmm5, xmmword [0x101ea890]
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 [0x101ea930]
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 [0x101ea930]
packuswb xmm1, xmm1
movd xmm0, edx
paddb xmm1, xmm0
movd xmm0, dword [esp + ecx + 0x68]
xorps xmm1, xmm0
movd dword [esp + ecx + 0x68], xmm1
add ecx, 8
cmp ecx, 0x10
jl 0x100cfac0
jmp 0x100cfbe8
mov eax, 0x4d4873ed
mov cl, bl
imul ebx
sar edx, 4
mov eax, edx
shr eax, 0x1f
add eax, edx
movsx eax, al
imul eax, eax, 0x35
sub cl, al
add cl, 0x34
xor byte [esp + ebx + 0x64], cl
inc ebx
cmp ebx, 0x10
jl 0x100cfbc0
push 0
push 0x101de34c
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.10165570
mov eax, dword [0x10213408]
mov edi, dword [0x103d7a7c]
mov ebx, dword [0x103d7bec]
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.10145f10
mov ebx, dword [esi + 4]
mov ecx, dword [esi]
mov dword [esp + 0x20], eax
cmp ecx, ebx
jne 0x100cfcb3
inc ecx
test ebx, ebx
je 0x100cfc9b
mov eax, ebx
cdq
sub eax, edx
sar eax, 1
add eax, ebx
jmp 0x100cfca0
mov eax, 8
cmp eax, ecx
cmovg ecx, eax
push ecx
mov ecx, esi
call fcn.100b43c0
mov edi, dword [0x103d7a7c]
mov ecx, dword [esi]
xor ebx, ebx
mov eax, dword [esi + 8]
mov edx, dword [esp + 0x20]
movups xmm0, xmmword [0x101e100c]
mov dword [eax + ecx*4], edx
inc dword [esi]
mov ax, word [0x101e101c]
imul esi, edi, 0x2c
mov edi, dword [0x10214510]
mov word [esp + 0x74], ax
mov al, byte [0x101e101e]
movups xmmword [esp + 0x64], xmm0
add esi, dword [0x10213408]
mov byte [esp + 0x76], al
cmp edi, 2
jl 0x100cfe20
movaps xmm0, xmmword [str.44444444444444447777777777777777]
movaps xmm4, xmmword [0x101ea800]
movaps xmm3, xmmword [0x101eabd0]
movaps xmm5, xmmword [0x101ea890]
movaps xmmword [esp + 0x40], xmm0
mov ecx, dword [esp + 0x40]
movd xmm0, ebx
lea eax, [ebx + 4]
pshufd xmm2, xmm0, 0
paddd xmm2, xmm4
movaps xmm1, xmm2
movaps xmm0, xmm2
punpckhdq xmm0, xmm2
punpckldq xmm1, xmm2
pmuldq xmm0, xmm3
pmuldq xmm1, xmm3
shufps xmm1, xmm0, 0xdd
psrad xmm1, 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 [0x101ea930]
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 [0x101ea930]
packuswb xmm1, xmm1
movd xmm0, ecx
paddb xmm1, xmm0
movd xmm0, dword [esp + ebx + 0x68]
xorps xmm1, xmm0
movd dword [esp + ebx + 0x68], xmm1
add ebx, 8
cmp ebx, 0x10
jl 0x100cfd20
cmp ebx, 0x13
jge 0x100cfe48
nop dword [eax]
mov eax, 0x4d4873ed
mov cl, bl
imul ebx
sar edx, 4
mov eax, edx
shr eax, 0x1f
add eax, edx
movsx eax, al
imul eax, eax, 0x35
sub cl, al
add cl, 0x34
xor byte [esp + ebx + 0x64], cl
inc ebx
cmp ebx, 0x13
jl 0x100cfe20
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 0x100cfe67
sub ecx, edx
lea eax, [esp + 0x64]
push ecx
push eax
lea ecx, [esp + 0x30]
call fcn.10026920
cmp dword [esp + 0x3c], 0xf
lea ecx, [esp + 0x28]
lea edx, [esi + 0x28]
cmova ecx, dword [esp + 0x28]
call fcn.10161d10
mov ecx, dword [esp + 0x3c]
cmp ecx, 0xf
jbe 0x100cfecb
mov edx, dword [esp + 0x28]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x100cfec1
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100d0395
push ecx
push edx
call fcn.1018dda2
add esp, 8
mov ecx, dword [0x103d7bec]
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 0x100cff4e
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 [0x101e0e3b], 0
mov eax, dword [0x101e0e38]
mov esi, dword [0x10213408]
mov dword [esp + 0x28], 0x42c80000
mov dword [esp + 0x2c], 0
mov dword [esp + 0x1c], eax
je 0x100d0028
xor ebx, ebx
cmp edi, 2
jl 0x100d0000
movaps xmm3, xmmword [0x101ea800]
movaps xmm2, xmm3
movaps xmm0, xmm3
punpckhdq xmm0, xmm3
pmuldq xmm0, xmmword [0x101eabd0]
punpckldq xmm2, xmm3
pmuldq xmm2, xmmword [0x101eabd0]
shufps xmm2, xmm0, 0xdd
psrad xmm2, 4
movaps xmm0, xmm2
psrld xmm0, 0x1f
paddd xmm0, xmm2
pmulld xmm0, xmmword [0x101ea890]
psubd xmm3, xmm0
pshuflw xmm0, xmm3, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
andps xmm1, xmmword [0x101ea930]
packuswb xmm1, xmm1
paddb xmm1, xmmword [str.44444444444444447777777777777777]
movd xmm0, eax
xorps xmm1, xmm0
movd dword [esp + 0x1c], xmm1
jmp 0x100d0028
mov eax, 0x4d4873ed
mov cl, bl
imul ebx
sar edx, 4
mov eax, edx
shr eax, 0x1f
add eax, edx
movsx eax, al
imul eax, eax, 0x35
sub cl, al
add cl, 0x34
xor byte [esp + ebx + 0x1c], cl
inc ebx
cmp ebx, 4
jl 0x100d0000
push ecx
lea eax, [esp + 0x2c]
push eax
lea edx, [esi + 0xc50]
lea ecx, [esp + 0x24]
call fcn.100b61f0
mov eax, dword [0x103d7bec]
imul ecx, dword [0x103d7a7c], 0x2c
mov eax, dword [eax + 0x1bdc]
dec dword [eax + 0xc0]
mov eax, dword [0x10213408]
cmp byte [ecx + eax + 0x28], 0
je 0x100d021d
movups xmm0, xmmword [0x101e100c]
lea esi, [eax + 0x2c]
xor ebx, ebx
mov ax, word [0x101e101c]
add esi, ecx
mov word [esp + 0x74], ax
mov al, byte [0x101e101e]
mov byte [esp + 0x76], al
movups xmmword [esp + 0x64], xmm0
cmp edi, 2
jl 0x100d01c0
movaps xmm0, xmmword [str.44444444444444447777777777777777]
movaps xmm4, xmmword [0x101ea800]
movaps xmm3, xmmword [0x101eabd0]
movaps xmm5, xmmword [0x101ea890]
movaps xmmword [esp + 0x40], xmm0
mov ecx, dword [esp + 0x40]
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
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 [0x101ea930]
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 [0x101ea930]
packuswb xmm1, xmm1
movd xmm0, ecx
paddb xmm1, xmm0
movd xmm0, dword [esp + ebx + 0x68]
xorps xmm1, xmm0
movd dword [esp + ebx + 0x68], xmm1
add ebx, 8
cmp ebx, 0x10
jl 0x100d00c0
cmp ebx, 0x13
jge 0x100d01e8
nop dword [eax]
mov eax, 0x4d4873ed
mov cl, bl
imul ebx
sar edx, 4
mov eax, edx
shr eax, 0x1f
add eax, edx
movsx eax, al
imul eax, eax, 0x35
sub cl, al
add cl, 0x34
xor byte [esp + ebx + 0x64], cl
inc ebx
cmp ebx, 0x13
jl 0x100d01c0
push 0
push 0x101de34c
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.10165570
mov eax, dword [0x10213408]
movq xmm0, qword [str.vTULK_XW]
lea esi, [eax + 0xe28]
mov ax, word [0x101dc0dc]
movq qword [esp + 0x28], xmm0
mov word [esp + 0x30], ax
test ah, ah
je 0x100d026b
xor ebx, ebx
mov eax, 0x3521cfb3
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, 0x35
sub cl, al
add cl, 0x34
xor byte [esp + ebx + 0x28], cl
inc ebx
cmp ebx, 0xa
jl 0x100d0242
mov edx, esi
lea ecx, [esp + 0x28]
call fcn.10161d10
mov eax, dword [0x10213408]
cmp byte [eax + 0xe28], 0
je 0x100d030b
movq xmm0, qword [str.__R]
lea esi, [eax + 0xe2c]
mov ax, word [0x101e080c]
xor ebx, ebx
mov word [esp + 0x48], ax
mov al, byte [0x101e080e]
movq qword [esp + 0x40], xmm0
mov byte [esp + 0x4a], al
mov eax, 0x3521cfb3
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, 0x35
sub cl, al
add cl, 0x34
xor byte [esp + ebx + 0x40], cl
inc ebx
cmp ebx, 0xb
jl 0x100d02b2
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.10165570
mov esi, dword [0x103d7bec]
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 0x100d0371
cmp dword [eax + 0x10], 1
jne 0x100d036c
cmp dword [eax + 4], 0
je 0x100d0371
call fcn.100c04b0
mov ecx, dword [esp + 0xac]
pop edi
pop esi
pop ebx
xor ecx, esp
call fcn.1018daa9
mov esp, ebp
pop ebp
ret
call fcn.10192ed6
call fcn.10192ed6
call fcn.10192ed6
call fcn.10192ed6
int3