Function at 0x100ff410
Capabilities:
Allocate or change rwx memory
Create process on windows
Create thread
Encode data using xor
Execute shellcode via indirect call
Resolve function by parsing pe exports
Self delete
Spawn thread to rwx shellcode

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff0
sub esp, 0xb14
mov eax, dword [0x102090c0]
xor eax, esp
mov dword [esp + 0xb10], eax
mov ecx, dword [0x10450be0]
push ebx
xor ebx, ebx
push esi
mov eax, dword [ecx + 0x1bec]
push edi
mov dword [esp + 0x1c], ebx
mov byte [eax + 0xa8], 1
mov eax, dword [ecx + 0x1bec]
mov eax, dword [eax + 0x1d0]
test eax, eax
je 0x100ff467
cmp dword [eax + 0x10], 2
jne 0x100ff462
cmp dword [eax + 4], 1
je 0x100ff475
call fcn.100cb4a0
push 1
mov edx, 2
xor ecx, ecx
call fcn.100cabc0
movss xmm0, dword [0x101fab90]
mov ecx, 1
call fcn.100ca7f0
mov esi, dword [0x10226ca8]
xorps xmm1, xmm1
mov al, byte [0x101f0f4c]
add esi, 0x3348
movq xmm0, qword [str.uTN]
mov dword [esp + 0x18], ebx
xor ebx, ebx
mov byte [esp + 0x28c], al
movq qword [esp + 0x284], xmm0
mov dword [esp + 0x14], 0x42c80000
mov eax, 0x29e4129f
mov cl, bl
mul ebx
mov eax, ebx
sub eax, edx
shr eax, 1
add eax, edx
shr eax, 5
movsx eax, al
imul eax, eax, 0x37
sub cl, al
add cl, 0x38
xor byte [esp + ebx + 0x284], cl
inc ebx
cmp ebx, 9
jl 0x100ff4c1
lea eax, [esp + 0x14]
movaps xmm0, xmm1
push eax
mov edx, esi
lea ecx, [esp + 0x288]
call fcn.100d3b40
mov ecx, dword [0x10450be0]
mov eax, dword [ecx + 0x1bec]
mov byte [eax + 0xa8], 1
mov eax, dword [ecx + 0x1bec]
cmp byte [eax + 0xab], 0
jne 0x100ff565
movss xmm1, dword [ecx + 0x159c]
movss xmm0, dword [eax + 0x118]
addss xmm1, xmm1
addss xmm1, dword [ecx + 0x1988]
maxss xmm0, xmm1
movss dword [eax + 0x118], xmm0
movss xmm0, dword [eax + 0x124]
maxss xmm0, dword [ecx + 0x159c]
movss dword [eax + 0x124], xmm0
cmp byte [0x101f176b], 0
mov eax, dword [0x101f1764]
mov ecx, dword [0x101f1768]
mov edx, dword [0x10228670]
mov dword [esp + 0x1ac], eax
mov dword [esp + 0x1b0], ecx
je 0x100ff6ba
cmp edx, 2
jl 0x100ff689
movaps xmm2, xmmword [0x101fadd0]
movaps xmm3, xmmword [0x101faf20]
movaps xmm1, xmm2
punpckldq xmm1, xmm2
movaps xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm3
pmuldq xmm1, xmm3
shufps xmm1, xmm0, 0xdd
psrad xmm1, 1
movaps xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmmword [0x101fae60]
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
movaps xmm2, xmmword [0x101fae10]
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
andps xmm1, xmmword [0x101faf00]
packuswb xmm1, xmm1
paddb xmm1, xmmword [0x101faf70]
movd xmm0, eax
xorps xmm1, xmm0
movaps xmm0, xmm2
movd dword [esp + 0x1ac], xmm1
movaps xmm1, xmm2
punpckldq xmm1, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm3
pmuldq xmm1, xmm3
shufps xmm1, xmm0, 0xdd
psrad xmm1, 1
movaps xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmmword [0x101fae60]
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
andps xmm1, xmmword [0x101faf00]
packuswb xmm1, xmm1
paddb xmm1, xmmword [0x101faf70]
movd xmm0, ecx
xorps xmm1, xmm0
movd dword [esp + 0x1b0], xmm1
jmp 0x100ff6ba
xor ebx, ebx
nop dword [eax + eax]
mov eax, 0x94f2095
mov cl, bl
imul ebx
sar edx, 1
mov eax, edx
shr eax, 0x1f
add eax, edx
movsx eax, al
imul eax, eax, 0x37
sub cl, al
add cl, 0x38
xor byte [esp + ebx + 0x1ac], cl
inc ebx
cmp ebx, 8
jl 0x100ff690
lea eax, [esp + 0x1ac]
push eax
call fcn.1016cb90
movss xmm1, dword [0x101fac3c]
add esp, 4
xorps xmm0, xmm0
call fcn.1015db10
mov eax, dword [0x10450be0]
xor edx, edx
mov esi, dword [eax + 0x1bec]
mov eax, dword [esi + 0xe8]
add esi, 0xe0
mov ecx, dword [esi]
push dword [eax + ecx*4 - 4]
mov ecx, str.stop_using_hex_u_dirty_hoe__medusa.uno
call fcn.101519b0
mov edi, dword [esi + 4]
mov ecx, dword [esi]
mov dword [esp + 0x14], eax
cmp ecx, edi
jne 0x100ff732
inc ecx
test edi, edi
je 0x100ff720
mov eax, edi
cdq
sub eax, edx
sar eax, 1
add eax, edi
jmp 0x100ff725
mov eax, 8
cmp eax, ecx
cmovg ecx, eax
push ecx
mov ecx, esi
call fcn.100bf360
mov ecx, dword [esi]
mov eax, dword [esi + 8]
mov edx, dword [esp + 0x14]
push 1
push 0
mov dword [eax + ecx*4], edx
lea edx, [esp + 0x1c]
inc dword [esi]
mov ecx, 0x101ee2d4
mov dword [esp + 0x1c], 0
mov dword [esp + 0x20], 0
call fcn.1016d310
test al, al
je 0x100ff772
xor edx, edx
mov ecx, 0x101d250e
call fcn.1015e940
mov esi, dword [0x10450be0]
mov eax, dword [esi + 0x1d30]
cmp eax, dword [esi + 0x1d3c]
jg 0x100fff80
mov dword [esi + 0x1c74], 0
mov eax, dword [0x10450be0]
mov eax, dword [eax + 0x1bec]
dec dword [eax + 0xe0]
mov edi, dword [0x10228670]
mov ax, word [0x101f1dd8]
mov esi, dword [0x10226ca8]
movq xmm0, qword [str.jXZN]
add esi, 0x359f
mov word [esp + 0x11c], ax
xor ebx, ebx
mov al, byte [0x101f1dda]
movq qword [esp + 0x114], xmm0
mov byte [esp + 0x11e], al
mov eax, 0x29e4129f
mov cl, bl
mul ebx
mov eax, ebx
sub eax, edx
shr eax, 1
add eax, edx
shr eax, 5
movsx eax, al
imul eax, eax, 0x37
sub cl, al
add cl, 0x38
xor byte [esp + ebx + 0x114], cl
inc ebx
cmp ebx, 0xb
jl 0x100ff7e4
mov edx, esi
lea ecx, [esp + 0x114]
call fcn.1016ebb0
mov eax, dword [0x101f00a0]
xor edx, edx
movq xmm0, qword [str.kI_XHJP2a.71F]
mov esi, dword [0x10226ca8]
mov dword [esp + 0x3e0], eax
mov ax, word [0x101f00a4]
mov word [esp + 0x3e4], ax
mov al, byte [0x101f00a6]
movq qword [esp + 0x3d8], xmm0
mov byte [esp + 0x3e6], al
mov dword [esp + 0x40], edx
cmp edi, 2
jl 0x100ff970
movaps xmm2, xmmword [0x101fadd0]
mov edx, 8
movaps xmm4, xmmword [0x101faf20]
movaps xmm1, xmm2
punpckldq xmm1, xmm2
movaps xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm4
pmuldq xmm1, xmm4
shufps xmm1, xmm0, 0xdd
psrad xmm1, 1
mov eax, dword [0x101faf70]
movaps xmm0, xmm1
mov dword [esp + 0x40], edx
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmmword [0x101fae60]
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
movaps xmm2, xmmword [0x101fae10]
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
andps xmm1, xmmword [0x101faf00]
packuswb xmm1, xmm1
movd xmm0, eax
paddb xmm1, xmm0
movd xmm0, dword [str.kI_XHJP2a.71F]
xorps xmm1, xmm0
movaps xmm0, xmm2
movd dword [esp + 0x3d8], xmm1
movaps xmm1, xmm2
punpckhdq xmm0, xmm2
punpckldq xmm1, xmm2
pmuldq xmm0, xmm4
pmuldq xmm1, xmm4
shufps xmm1, xmm0, 0xdd
psrad xmm1, 1
movaps xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmmword [0x101fae60]
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
andps xmm1, xmmword [0x101faf00]
packuswb xmm1, xmm1
movd xmm0, eax
paddb xmm1, xmm0
movd xmm0, dword [esp + 0x3dc]
xorps xmm1, xmm0
movd dword [esp + 0x3dc], xmm1
nop
mov eax, 0x94f2095
imul edx
sar edx, 1
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [esp + 0x40]
movsx eax, al
mov cl, dl
imul eax, eax, 0x37
sub cl, al
add cl, 0x38
xor byte [esp + edx + 0x3d8], cl
inc edx
mov dword [esp + 0x40], edx
cmp edx, 0xf
jl 0x100ff970
lea edx, [esi + 0x365c]
lea ecx, [esp + 0x3d8]
call fcn.1016ebb0
movss xmm1, dword [0x101fac3c]
xorps xmm0, xmm0
call fcn.1015db10
mov eax, dword [0x101f0cb4]
movq xmm0, qword [str.sCYUSZL__00E]
mov esi, dword [0x10226ca8]
mov dword [esp + 0x2e0], eax
mov ax, word [0x101f0cb8]
movq qword [esp + 0x2d8], xmm0
mov word [esp + 0x2e4], ax
test ah, ah
je 0x100ffb3a
xor ebx, ebx
cmp edi, 2
jl 0x100ffb10
movaps xmm2, xmmword [0x101fadd0]
mov ebx, 8
movaps xmm4, xmmword [0x101faf20]
movaps xmm1, xmm2
punpckldq xmm1, xmm2
movaps xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm4
pmuldq xmm1, xmm4
shufps xmm1, xmm0, 0xdd
psrad xmm1, 1
mov eax, dword [0x101faf70]
movaps xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmmword [0x101fae60]
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
movaps xmm2, xmmword [0x101fae10]
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
andps xmm1, xmmword [0x101faf00]
packuswb xmm1, xmm1
movd xmm0, eax
paddb xmm1, xmm0
movd xmm0, dword [str.sCYUSZL__00E]
xorps xmm1, xmm0
movaps xmm0, xmm2
movd dword [esp + 0x2d8], xmm1
movaps xmm1, xmm2
punpckhdq xmm0, xmm2
punpckldq xmm1, xmm2
pmuldq xmm0, xmm4
pmuldq xmm1, xmm4
shufps xmm1, xmm0, 0xdd
psrad xmm1, 1
movaps xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmmword [0x101fae60]
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
andps xmm1, xmmword [0x101faf00]
packuswb xmm1, xmm1
movd xmm0, eax
paddb xmm1, xmm0
movd xmm0, dword [esp + 0x2dc]
xorps xmm1, xmm0
movd dword [esp + 0x2dc], xmm1
nop dword [eax + eax]
mov eax, 0x94f2095
mov cl, bl
imul ebx
sar edx, 1
mov eax, edx
shr eax, 0x1f
add eax, edx
movsx eax, al
imul eax, eax, 0x37
sub cl, al
add cl, 0x38
xor byte [esp + ebx + 0x2d8], cl
inc ebx
cmp ebx, 0xe
jl 0x100ffb10
lea edx, [esi + 0x3668]
lea ecx, [esp + 0x2d8]
call fcn.1016ebb0
mov ax, word [0x101f1a10]
mov esi, dword [0x10226ca8]
movq xmm0, qword [str.zVWY]
add esi, 0x36ad
mov word [esp + 0x204], ax
xor ebx, ebx
mov al, byte [0x101f1a12]
mov byte [esp + 0x206], al
movq qword [esp + 0x1fc], xmm0
mov eax, 0x29e4129f
mov cl, bl
mul ebx
mov eax, ebx
sub eax, edx
shr eax, 1
add eax, edx
shr eax, 5
movsx eax, al
imul eax, eax, 0x37
sub cl, al
add cl, 0x38
xor byte [esp + ebx + 0x1fc], cl
inc ebx
cmp ebx, 0xb
jl 0x100ffb85
mov edx, esi
lea ecx, [esp + 0x1fc]
call fcn.1016ebb0
movss xmm1, dword [0x101fac3c]
xorps xmm0, xmm0
call fcn.1015db10
mov eax, dword [0x101f1534]
movq xmm0, qword [str.pLHO]
mov esi, dword [0x10226ca8]
mov dword [esp + 0x3a8], eax
mov ax, word [0x101f1538]
mov word [esp + 0x3ac], ax
mov al, byte [0x101f153a]
mov byte [esp + 0x3ae], al
xor eax, eax
movq qword [esp + 0x3a0], xmm0
mov dword [esp + 0x10], eax
cmp edi, 2
jl 0x100ffd1f
movaps xmm2, xmmword [0x101fadd0]
movaps xmm4, xmmword [0x101faf20]
movaps xmm1, xmm2
punpckldq xmm1, xmm2
movaps xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm4
pmuldq xmm1, xmm4
shufps xmm1, xmm0, 0xdd
mov eax, dword [0x101faf70]
psrad xmm1, 1
movaps xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmmword [0x101fae60]
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
movaps xmm2, xmmword [0x101fae10]
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
andps xmm1, xmmword [0x101faf00]
packuswb xmm1, xmm1
movd xmm0, eax
paddb xmm1, xmm0
movd xmm0, dword [str.pLHO]
xorps xmm1, xmm0
movaps xmm0, xmm2
movd dword [esp + 0x3a0], xmm1
movaps xmm1, xmm2
punpckhdq xmm0, xmm2
punpckldq xmm1, xmm2
pmuldq xmm0, xmm4
pmuldq xmm1, xmm4
shufps xmm1, xmm0, 0xdd
psrad xmm1, 1
movaps xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmmword [0x101fae60]
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
andps xmm1, xmmword [0x101faf00]
movd xmm0, eax
mov eax, 8
packuswb xmm1, xmm1
paddb xmm1, xmm0
mov dword [esp + 0x10], eax
movd xmm0, dword [esp + 0x3a4]
xorps xmm1, xmm0
movd dword [esp + 0x3a4], xmm1
mov ebx, dword [esp + 0x10]
mov eax, 0x94f2095
mov cl, bl
imul ebx
sar edx, 1
mov eax, edx
shr eax, 0x1f
add eax, edx
movsx eax, al
imul eax, eax, 0x37
sub cl, al
add cl, 0x38
xor byte [esp + ebx + 0x3a0], cl
inc ebx
cmp ebx, 0xf
jl 0x100ffd23
push 0
push 0
push 0
lea eax, [esi + 0x36bf]
push eax
lea eax, [esi + 0x36ba]
push eax
lea eax, [esi + 0x36be]
push eax
push 0
lea edx, [esi + 0x36ae]
lea ecx, [esp + 0x3bc]
call fcn.100bf7e0
mov eax, dword [0x101f0afc]
movq xmm0, qword [str.O_UH]
mov esi, dword [0x10226ca8]
mov dword [esp + 0x330], eax
mov al, byte [0x101f0b00]
mov byte [esp + 0x334], al
xor eax, eax
movq qword [esp + 0x328], xmm0
mov dword [esp + 0x10], eax
cmp edi, 2
jl 0x100ffebe
movaps xmm2, xmmword [0x101fadd0]
movaps xmm4, xmmword [0x101faf20]
movaps xmm1, xmm2
punpckldq xmm1, xmm2
movaps xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm4
pmuldq xmm1, xmm4
shufps xmm1, xmm0, 0xdd
mov eax, dword [0x101faf70]
psrad xmm1, 1
movaps xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmmword [0x101fae60]
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
movaps xmm2, xmmword [0x101fae10]
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
andps xmm1, xmmword [0x101faf00]
packuswb xmm1, xmm1
movd xmm0, eax
paddb xmm1, xmm0
movd xmm0, dword [str.O_UH]
xorps xmm1, xmm0
movaps xmm0, xmm2
movd dword [esp + 0x328], xmm1
movaps xmm1, xmm2
punpckhdq xmm0, xmm2
punpckldq xmm1, xmm2
pmuldq xmm0, xmm4
pmuldq xmm1, xmm4
shufps xmm1, xmm0, 0xdd
psrad xmm1, 1
movaps xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmmword [0x101fae60]
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
andps xmm1, xmmword [0x101faf00]
movd xmm0, eax
mov eax, 8
packuswb xmm1, xmm1
paddb xmm1, xmm0
mov dword [esp + 0x10], eax
movd xmm0, dword [esp + 0x32c]
xorps xmm1, xmm0
movd dword [esp + 0x32c], xmm1
mov ebx, dword [esp + 0x10]
mov eax, 0x94f2095
mov cl, bl
imul ebx
sar edx, 1
mov eax, edx
shr eax, 0x1f
add eax, edx
movsx eax, al
imul eax, eax, 0x37
sub cl, al
add cl, 0x38
xor byte [esp + ebx + 0x328], cl
inc ebx
cmp ebx, 0xd
jl 0x100ffec2
push 0
push 0
push 0
lea eax, [esi + 0x3695]
push eax
lea eax, [esi + 0x3690]
push eax
lea eax, [esi + 0x3694]
push eax
push 0
lea edx, [esi + 0x3684]
lea ecx, [esp + 0x344]
call fcn.100bf7e0
movss xmm1, dword [0x101fac3c]
xorps xmm0, xmm0
call fcn.1015db10
mov eax, dword [0x10450be0]
xor edx, edx
mov ecx, str.Logger
mov esi, dword [eax + 0x1bec]
mov eax, dword [esi + 0xe8]
add esi, 0xe0
mov ebx, dword [esi]
push dword [eax + ebx*4 - 4]
call fcn.101519b0
mov edi, dword [esi + 4]
cmp ebx, edi
mov ebx, dword [esp + 0x1c]
mov dword [esp + 0x14], eax
jne 0x1010060f
mov ecx, dword [esi]
inc ecx
test edi, edi
je 0x101005fd
mov eax, edi
cdq
sub eax, edx
sar eax, 1
add eax, edi
jmp 0x10100602
mov eax, dword [esi + 0x1bec]
xor edx, edx
mov ecx, dword [eax + 0xe0]
mov eax, dword [eax + 0xe8]
push dword [eax + ecx*4 - 4]
mov ecx, 0x101d250e
call fcn.101519b0
cmp dword [esi + 0x1c24], eax
jne 0x100fffb0
mov dword [esi + 0x1c28], eax
cmp dword [esi + 0x1c5c], eax
jne 0x100fffbf
mov byte [esi + 0x1c60], 1
mov edx, 0x141
mov ecx, eax
call fcn.1015ece0
test al, al
je 0x100ff794
mov eax, dword [0x101eff08]
xor ebx, ebx
movq xmm0, qword [0x101eff00]
mov edi, dword [0x10228670]
mov esi, dword [0x10226ca8]
mov dword [esp + 0x300], eax
mov al, byte [0x101eff0c]
movq qword [esp + 0x2f8], xmm0
mov byte [esp + 0x304], al
cmp edi, 2
jl 0x10100113
movaps xmm2, xmmword [0x101fadd0]
mov ebx, 8
movaps xmm4, xmmword [0x101faf20]
movaps xmm1, xmm2
punpckldq xmm1, xmm2
movaps xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm4
pmuldq xmm1, xmm4
shufps xmm1, xmm0, 0xdd
psrad xmm1, 1
mov eax, dword [0x101faf70]
movaps xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmmword [0x101fae60]
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
movaps xmm2, xmmword [0x101fae10]
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
andps xmm1, xmmword [0x101faf00]
packuswb xmm1, xmm1
movd xmm0, eax
paddb xmm1, xmm0
movd xmm0, dword [0x101eff00]
xorps xmm1, xmm0
movaps xmm0, xmm2
movd dword [esp + 0x2f8], xmm1
movaps xmm1, xmm2
punpckhdq xmm0, xmm2
punpckldq xmm1, xmm2
pmuldq xmm0, xmm4
pmuldq xmm1, xmm4
shufps xmm1, xmm0, 0xdd
psrad xmm1, 1
movaps xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmmword [0x101fae60]
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
andps xmm1, xmmword [0x101faf00]
packuswb xmm1, xmm1
movd xmm0, eax
paddb xmm1, xmm0
movd xmm0, dword [esp + 0x2fc]
xorps xmm1, xmm0
movd dword [esp + 0x2fc], xmm1
mov eax, 0x94f2095
mov cl, bl
imul ebx
sar edx, 1
mov eax, edx
shr eax, 0x1f
add eax, edx
movsx eax, al
imul eax, eax, 0x37
sub cl, al
add cl, 0x38
xor byte [esp + ebx + 0x2f8], cl
inc ebx
cmp ebx, 0xd
jl 0x10100113
lea edx, [esi + 0x35a0]
lea ecx, [esp + 0x2f8]
call fcn.1016ebb0
mov eax, dword [0x101f05b4]
xor ebx, ebx
movq xmm0, qword [0x101f05ac]
mov esi, dword [0x10226ca8]
mov dword [esp + 0x310], eax
mov al, byte [0x101f05b8]
movq qword [esp + 0x308], xmm0
mov byte [esp + 0x314], al
cmp edi, 2
jl 0x10100290
movaps xmm2, xmmword [0x101fadd0]
mov ebx, 8
movaps xmm4, xmmword [0x101faf20]
movaps xmm1, xmm2
punpckldq xmm1, xmm2
movaps xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm4
pmuldq xmm1, xmm4
shufps xmm1, xmm0, 0xdd
psrad xmm1, 1
mov eax, dword [0x101faf70]
movaps xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmmword [0x101fae60]
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
movaps xmm2, xmmword [0x101fae10]
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
andps xmm1, xmmword [0x101faf00]
packuswb xmm1, xmm1
movd xmm0, eax
paddb xmm1, xmm0
movd xmm0, dword [0x101f05ac]
xorps xmm1, xmm0
movaps xmm0, xmm2
movd dword [esp + 0x308], xmm1
movaps xmm1, xmm2
punpckhdq xmm0, xmm2
punpckldq xmm1, xmm2
pmuldq xmm0, xmm4
pmuldq xmm1, xmm4
shufps xmm1, xmm0, 0xdd
psrad xmm1, 1
movaps xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmmword [0x101fae60]
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
andps xmm1, xmmword [0x101faf00]
packuswb xmm1, xmm1
movd xmm0, eax
paddb xmm1, xmm0
movd xmm0, dword [esp + 0x30c]
xorps xmm1, xmm0
movd dword [esp + 0x30c], xmm1
nop dword [eax]
mov eax, 0x94f2095
mov cl, bl
imul ebx
sar edx, 1
mov eax, edx
shr eax, 0x1f
add eax, edx
movsx eax, al
imul eax, eax, 0x37
sub cl, al
add cl, 0x38
xor byte [esp + ebx + 0x308], cl
inc ebx
cmp ebx, 0xd
jl 0x10100290
lea edx, [esi + 0x35a1]
lea ecx, [esp + 0x308]
call fcn.1016ebb0
mov eax, dword [0x101f041c]
xor ebx, ebx
movq xmm0, qword [0x101f0414]
mov esi, dword [0x10226ca8]
mov dword [esp + 0x3d0], eax
mov ax, word [0x101f0420]
mov word [esp + 0x3d4], ax
mov al, byte [0x101f0422]
movq qword [esp + 0x3c8], xmm0
mov byte [esp + 0x3d6], al
cmp edi, 2
jl 0x10100414
movaps xmm2, xmmword [0x101fadd0]
mov ebx, 8
movaps xmm4, xmmword [0x101faf20]
movaps xmm1, xmm2
punpckldq xmm1, xmm2
movaps xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm4
pmuldq xmm1, xmm4
shufps xmm1, xmm0, 0xdd
psrad xmm1, 1
mov eax, dword [0x101faf70]
movaps xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmmword [0x101fae60]
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
movaps xmm2, xmmword [0x101fae10]
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
andps xmm1, xmmword [0x101faf00]
packuswb xmm1, xmm1
movd xmm0, eax
paddb xmm1, xmm0
movd xmm0, dword [0x101f0414]
xorps xmm1, xmm0
movaps xmm0, xmm2
movd dword [esp + 0x3c8], xmm1
movaps xmm1, xmm2
punpckhdq xmm0, xmm2
punpckldq xmm1, xmm2
pmuldq xmm0, xmm4
pmuldq xmm1, xmm4
shufps xmm1, xmm0, 0xdd
psrad xmm1, 1
movaps xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmmword [0x101fae60]
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
andps xmm1, xmmword [0x101faf00]
packuswb xmm1, xmm1
movd xmm0, eax
paddb xmm1, xmm0
movd xmm0, dword [esp + 0x3cc]
xorps xmm1, xmm0
movd dword [esp + 0x3cc], xmm1
mov eax, 0x94f2095
mov cl, bl
imul ebx
sar edx, 1
mov eax, edx
shr eax, 0x1f
add eax, edx
movsx eax, al
imul eax, eax, 0x37
sub cl, al
add cl, 0x38
xor byte [esp + ebx + 0x3c8], cl
inc ebx
cmp ebx, 0xf
jl 0x10100414
lea edx, [esi + 0x35a2]
lea ecx, [esp + 0x3c8]
call fcn.1016ebb0
mov eax, dword [0x101f1510]
xor ebx, ebx
movq xmm0, qword [str.jL_Q]
mov esi, dword [0x10226ca8]
mov dword [esp + 0x320], eax
mov al, byte [0x101f1514]
movq qword [esp + 0x318], xmm0
mov byte [esp + 0x324], al
cmp edi, 2
jl 0x10100590
movaps xmm2, xmmword [0x101fadd0]
mov ebx, 8
movaps xmm4, xmmword [0x101faf20]
movaps xmm1, xmm2
punpckldq xmm1, xmm2
movaps xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm4
pmuldq xmm1, xmm4
shufps xmm1, xmm0, 0xdd
psrad xmm1, 1
mov eax, dword [0x101faf70]
movaps xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmmword [0x101fae60]
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
movaps xmm2, xmmword [0x101fae10]
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
andps xmm1, xmmword [0x101faf00]
packuswb xmm1, xmm1
movd xmm0, eax
paddb xmm1, xmm0
movd xmm0, dword [str.jL_Q]
xorps xmm1, xmm0
movaps xmm0, xmm2
movd dword [esp + 0x318], xmm1
movaps xmm1, xmm2
punpckhdq xmm0, xmm2
punpckldq xmm1, xmm2
pmuldq xmm0, xmm4
pmuldq xmm1, xmm4
shufps xmm1, xmm0, 0xdd
psrad xmm1, 1
movaps xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmmword [0x101fae60]
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
andps xmm1, xmmword [0x101faf00]
packuswb xmm1, xmm1
movd xmm0, eax
paddb xmm1, xmm0
movd xmm0, dword [esp + 0x31c]
xorps xmm1, xmm0
movd dword [esp + 0x31c], xmm1
nop word [eax + eax]
mov eax, 0x94f2095
mov cl, bl
imul ebx
sar edx, 1
mov eax, edx
shr eax, 0x1f
add eax, edx
movsx eax, al
imul eax, eax, 0x37
sub cl, al
add cl, 0x38
xor byte [esp + ebx + 0x318], cl
inc ebx
cmp ebx, 0xd
jl 0x10100590
lea edx, [esi + 0x35a3]
lea ecx, [esp + 0x318]
call fcn.1016ebb0
mov edx, dword [0x10226ca8]
mov ecx, str.Chat_revealer
lea edx, [edx + 0x3345]
call fcn.1016ebb0
call fcn.1015eec0
mov eax, dword [0x10450be0]
mov eax, dword [eax + 0x1bec]
dec dword [eax + 0xe0]
jmp 0x100ff7ab
mov eax, 8
cmp eax, ecx
cmovg ecx, eax
push ecx
mov ecx, esi
call fcn.100bf360
mov ecx, dword [esi]
mov eax, dword [esi + 8]
mov edx, dword [esp + 0x14]
push 1
push 0
mov dword [eax + ecx*4], edx
lea edx, [esp + 0xd0]
inc dword [esi]
mov ecx, 0x101ee2d4
mov dword [esp + 0xd0], 0
mov dword [esp + 0xd4], 0
call fcn.1016d310
test al, al
je 0x10100658
xor edx, edx
mov ecx, 0x101d250e
call fcn.1015e940
mov esi, dword [0x10450be0]
mov edi, dword [0x1022867c]
mov eax, dword [esi + 0x1d30]
cmp eax, dword [esi + 0x1d3c]
mov eax, dword fs:[0x2c]
mov dword [esp + 0x40], eax
jg 0x1010068b
mov dword [esi + 0x1c74], 0
jmp 0x101012a3
mov eax, dword [esi + 0x1bec]
xor edx, edx
mov ecx, dword [eax + 0xe0]
mov eax, dword [eax + 0xe8]
push dword [eax + ecx*4 - 4]
mov ecx, 0x101d250e
call fcn.101519b0
cmp dword [esi + 0x1c24], eax
jne 0x101006bb
mov dword [esi + 0x1c28], eax
cmp dword [esi + 0x1c5c], eax
jne 0x101006ca
mov byte [esi + 0x1c60], 1
mov edx, 0x141
mov ecx, eax
call fcn.1015ece0
test al, al
je 0x101012a3
mov eax, dword [esp + 0x40]
mov ecx, dword [eax + edi*4]
mov eax, dword [0x1051bdcc]
cmp eax, dword [ecx + 4]
jle 0x10100722
push 0x1051bdcc
call fcn.1019bffa
add esp, 4
cmp dword [0x1051bdcc], 0xffffffff
jne 0x10100722
push 0x101c8920
call fcn.1019bd43
add esp, 4
push 0x1051bdcc
call fcn.1019bfa6
add esp, 4
mov ecx, dword [0x10226ca8]
mov edx, 0x10226720
push 1
push 0
mov al, byte [ecx + 0x3674]
and al, 1
mov byte [0x104509f4], al
mov eax, dword [ecx + 0x3674]
mov ecx, str.Log_output
shr eax, 1
and al, 1
cmp dword [0x10226734], 0xf
mov byte [0x104509f5], al
cmova edx, dword [0x10226720]
call fcn.1016f750
test al, al
je 0x1010080c
push 0
push 0x101d250e
mov ecx, 0x10226720
call fcn.10022e90
xor esi, esi
mov ecx, dword [esi*4 + 0x101f1524]
lea eax, [esp + 0xd0]
push eax
mov dword [esp + 0xd4], 0
mov dword [esp + 0xd8], 0
mov dl, byte [esi + 0x104509f4]
push 1
call fcn.1017e0d0
test al, al
je 0x101007c6
cmp byte [esi + 0x104509f4], 0
sete al
mov byte [esi + 0x104509f4], al
inc esi
cmp esi, 2
jb 0x10100780
mov esi, dword [0x10450be0]
mov eax, dword [esi + 0x1bec]
cmp dword [esi + 0x1d54], eax
jne 0x101007f0
mov dword [esi + 0x1e58], eax
mov dword [esi + 0x1e5c], 2
test dword [eax + 8], 0x1000000
je 0x10100800
mov byte [esi + 0x1b9e], 1
call fcn.1015cd60
mov byte [esi + 0x1b9e], 0
xor esi, esi
nop
test esi, esi
jne 0x10100824
push esi
push 0x101d250e
mov ecx, 0x10226720
call fcn.10022e90
cmp byte [esi + 0x104509f4], 0
je 0x10100a7c
cmp dword [0x10226730], 0
xorps xmm0, xmm0
mov edx, dword [esi*4 + 0x101f1524]
je 0x101008e6
or ebx, 1
mov dword [esp + 0x76c], 2
movups xmmword [esp + 0x75c], xmm0
mov eax, 0x202c
mov dword [esp + 0x770], 0xf
or ebx, 2
mov word [esp + 0x75c], ax
push edx
lea ecx, [esp + 0x760]
mov byte [esp + 0x762], 0
mov dword [esp + 0x20], ebx
call fcn.100209e0
mov dword [esp + 0x754], 0
xorps xmm0, xmm0
movups xmmword [esp + 0x744], xmm0
mov dword [esp + 0x758], 0
movups xmm0, xmmword [eax]
movups xmmword [esp + 0x744], xmm0
movq xmm0, qword [eax + 0x10]
movq qword [esp + 0x754], xmm0
mov dword [eax + 0x10], 0
mov dword [eax + 0x14], 0xf
mov byte [eax], 0
lea eax, [esp + 0x744]
jmp 0x1010092e
mov ecx, edx
mov dword [esp + 0x8a8], 0
or ebx, 4
mov dword [esp + 0x8ac], 0
mov dword [esp + 0x1c], ebx
movups xmmword [esp + 0x898], xmm0
lea edi, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x10100910
sub ecx, edi
push ecx
push edx
lea ecx, [esp + 0x8a0]
call fcn.10027a80
lea eax, [esp + 0x898]
push eax
mov ecx, 0x10226720
call fcn.10020a50
test bl, 4
je 0x1010099f
mov ecx, dword [esp + 0x8ac]
and ebx, 0xfffffffb
mov dword [esp + 0x1c], ebx
cmp ecx, 0xf
jbe 0x10100981
mov edx, dword [esp + 0x898]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x10100977
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1010ad81
push ecx
push edx
call fcn.1019bd5d
add esp, 8
mov dword [esp + 0x8a8], 0
mov dword [esp + 0x8ac], 0xf
mov byte [esp + 0x898], 0
test bl, 2
je 0x10100a05
mov ecx, dword [esp + 0x758]
and ebx, 0xfffffffd
mov dword [esp + 0x1c], ebx
cmp ecx, 0xf
jbe 0x101009e7
mov edx, dword [esp + 0x744]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x101009dd
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1010ad81
push ecx
push edx
call fcn.1019bd5d
add esp, 8
mov dword [esp + 0x754], 0
mov dword [esp + 0x758], 0xf
mov byte [esp + 0x744], 0
test bl, 1
je 0x10100a6b
mov ecx, dword [esp + 0x770]
and ebx, 0xfffffffe
mov dword [esp + 0x1c], ebx
cmp ecx, 0xf
jbe 0x10100a4d
mov edx, dword [esp + 0x75c]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x10100a43
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1010ad81
push ecx
push edx
call fcn.1019bd5d
add esp, 8
mov dword [esp + 0x76c], 0
mov dword [esp + 0x770], 0xf
mov byte [esp + 0x75c], 0
mov ecx, dword [0x10226ca8]
mov eax, dword [ecx + 0x3674]
bts eax, esi
jmp 0x10100a8b
mov ecx, dword [0x10226ca8]
mov eax, dword [ecx + 0x3674]
btr eax, esi
inc esi
mov dword [ecx + 0x3674], eax
cmp esi, 2
jb 0x10100810
mov eax, dword [esp + 0x40]
mov ecx, dword [0x1022867c]
mov ecx, dword [eax + ecx*4]
mov eax, dword [0x1051bdac]
cmp eax, dword [ecx + 4]
jle 0x10100ae5
push 0x1051bdac
call fcn.1019bffa
add esp, 4
cmp dword [0x1051bdac], 0xffffffff
jne 0x10100ae5
push 0x101c88c0
call fcn.1019bd43
add esp, 4
push 0x1051bdac
call fcn.1019bfa6
add esp, 4
mov ecx, dword [0x10226ca8]
mov edx, 0x10226b68
push 1
push 0
mov al, byte [ecx + 0x3678]
and al, 1
mov byte [0x10450a24], al
mov eax, dword [ecx + 0x3678]
shr eax, 1
and al, 1
mov byte [0x10450a25], al
mov eax, dword [ecx + 0x3678]
shr eax, 2
and al, 1
mov byte [0x10450a26], al
mov eax, dword [ecx + 0x3678]
shr eax, 3
and al, 1
mov byte [0x10450a27], al
mov eax, dword [ecx + 0x3678]
mov ecx, str.Log_events
shr eax, 4
and al, 1
cmp dword [0x10226b7c], 0xf
mov byte [0x10450a28], al
cmova edx, dword [0x10226b68]
call fcn.1016f750
test al, al
je 0x10100c0c
push 0
push 0x101d250e
mov ecx, 0x10226b68
call fcn.10022e90
xor esi, esi
nop dword [eax]
nop word [eax + eax]
mov ecx, dword [esi*4 + 0x101f0324]
lea eax, [esp + 0xd8]
push eax
mov dword [esp + 0xdc], 0
mov dword [esp + 0xe0], 0
mov dl, byte [esi + 0x10450a24]
push 1
call fcn.1017e0d0
test al, al
je 0x10100bc6
cmp byte [esi + 0x10450a24], 0
sete al
mov byte [esi + 0x10450a24], al
inc esi
cmp esi, 5
jb 0x10100b80
mov esi, dword [0x10450be0]
mov eax, dword [esi + 0x1bec]
cmp dword [esi + 0x1d54], eax
jne 0x10100bf0
mov dword [esi + 0x1e58], eax
mov dword [esi + 0x1e5c], 2
test dword [eax + 8], 0x1000000
je 0x10100c00
mov byte [esi + 0x1b9e], 1
call fcn.1015cd60
mov byte [esi + 0x1b9e], 0
xor esi, esi
nop
test esi, esi
jne 0x10100c24
push esi
push 0x101d250e
mov ecx, 0x10226b68
call fcn.10022e90
cmp byte [esi + 0x10450a24], 0
je 0x10100e7c
cmp dword [0x10226b78], 0
xorps xmm0, xmm0
mov edx, dword [esi*4 + 0x101f0324]
je 0x10100ce6
or ebx, 8
mov dword [esp + 0x79c], 2
movups xmmword [esp + 0x78c], xmm0
mov eax, 0x202c
mov dword [esp + 0x7a0], 0xf
or ebx, 0x10
mov word [esp + 0x78c], ax
push edx
lea ecx, [esp + 0x790]
mov byte [esp + 0x792], 0
mov dword [esp + 0x20], ebx
call fcn.100209e0
mov dword [esp + 0x784], 0
xorps xmm0, xmm0
movups xmmword [esp + 0x774], xmm0
mov dword [esp + 0x788], 0
movups xmm0, xmmword [eax]
movups xmmword [esp + 0x774], xmm0
movq xmm0, qword [eax + 0x10]
movq qword [esp + 0x784], xmm0
mov dword [eax + 0x10], 0
mov dword [eax + 0x14], 0xf
mov byte [eax], 0
lea eax, [esp + 0x774]
jmp 0x10100d2e
mov ecx, edx
mov dword [esp + 0x8c0], 0
or ebx, 0x20
mov dword [esp + 0x8c4], 0
mov dword [esp + 0x1c], ebx
movups xmmword [esp + 0x8b0], xmm0
lea edi, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x10100d10
sub ecx, edi
push ecx
push edx
lea ecx, [esp + 0x8b8]
call fcn.10027a80
lea eax, [esp + 0x8b0]
push eax
mov ecx, 0x10226b68
call fcn.10020a50
test bl, 0x20
je 0x10100d9f
mov ecx, dword [esp + 0x8c4]
and ebx, 0xffffffdf
mov dword [esp + 0x1c], ebx
cmp ecx, 0xf
jbe 0x10100d81
mov edx, dword [esp + 0x8b0]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x10100d77
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1010ad81
push ecx
push edx
call fcn.1019bd5d
add esp, 8
mov dword [esp + 0x8c0], 0
mov dword [esp + 0x8c4], 0xf
mov byte [esp + 0x8b0], 0
test bl, 0x10
je 0x10100e05
mov ecx, dword [esp + 0x788]
and ebx, 0xffffffef
mov dword [esp + 0x1c], ebx
cmp ecx, 0xf
jbe 0x10100de7
mov edx, dword [esp + 0x774]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x10100ddd
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1010ad81
push ecx
push edx
call fcn.1019bd5d
add esp, 8
mov dword [esp + 0x784], 0
mov dword [esp + 0x788], 0xf
mov byte [esp + 0x774], 0
test bl, 8
je 0x10100e6b
mov ecx, dword [esp + 0x7a0]
and ebx, 0xfffffff7
mov dword [esp + 0x1c], ebx
cmp ecx, 0xf
jbe 0x10100e4d
mov edx, dword [esp + 0x78c]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x10100e43
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1010ad81
push ecx
push edx
call fcn.1019bd5d
add esp, 8
mov dword [esp + 0x79c], 0
mov dword [esp + 0x7a0], 0xf
mov byte [esp + 0x78c], 0
mov ecx, dword [0x10226ca8]
mov eax, dword [ecx + 0x3678]
bts eax, esi
jmp 0x10100e8b
mov ecx, dword [0x10226ca8]
mov eax, dword [ecx + 0x3678]
btr eax, esi
inc esi
mov dword [ecx + 0x3678], eax
cmp esi, 5
jb 0x10100c10
cmp byte [0x101f16af], 0
movups xmm0, xmmword [str.mIJN]
mov eax, dword [0x101f16ac]
mov esi, dword [0x10228670]
movups xmmword [esp + 0x87c], xmm0
mov dword [esp + 0x894], eax
movq xmm0, qword [0x101f16a4]
movq qword [esp + 0x88c], xmm0
je 0x10101064
xor edx, edx
mov dword [esp + 0x10], edx
cmp esi, 2
jl 0x10101020
movaps xmm0, xmmword [0x101faf70]
movaps xmm4, xmmword [0x101fadd0]
movaps xmm3, xmmword [0x101faf20]
movaps xmm5, xmmword [0x101fae60]
movaps xmmword [esp + 0x20], xmm0
mov ecx, dword [esp + 0x20]
nop
movd xmm0, edx
lea eax, [edx + 4]
pshufd xmm2, xmm0, 0
paddd xmm2, xmm4
movaps xmm1, xmm2
movaps xmm0, xmm2
punpckhdq xmm0, xmm2
punpckldq xmm1, xmm2
pmuldq xmm0, xmm3
pmuldq xmm1, xmm3
shufps xmm1, xmm0, 0xdd
psrad xmm1, 1
movaps xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm5
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
andps xmm1, xmmword [0x101faf00]
packuswb xmm1, xmm1
movd xmm0, ecx
paddb xmm1, xmm0
movd xmm0, dword [esp + edx + 0x87c]
xorps xmm1, xmm0
movd xmm0, eax
pshufd xmm2, xmm0, 0
movd dword [esp + edx + 0x87c], xmm1
paddd xmm2, xmm4
movaps xmm1, xmm2
movaps xmm0, xmm2
punpckhdq xmm0, xmm2
punpckldq xmm1, xmm2
pmuldq xmm0, xmm3
pmuldq xmm1, xmm3
shufps xmm1, xmm0, 0xdd
psrad xmm1, 1
movaps xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm5
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
andps xmm1, xmmword [0x101faf00]
packuswb xmm1, xmm1
movd xmm0, ecx
paddb xmm1, xmm0
movd xmm0, dword [esp + edx + 0x880]
xorps xmm1, xmm0
movd dword [esp + edx + 0x880], xmm1
add edx, 8
cmp edx, 0x18
jl 0x10100f10
mov dword [esp + 0x10], edx
cmp edx, 0x1c
jge 0x10101064
nop dword [eax]
mov eax, 0x94f2095
imul edx
sar edx, 1
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [esp + 0x10]
movsx eax, al
mov cl, dl
imul eax, eax, 0x37
sub cl, al
add cl, 0x38
xor byte [esp + edx + 0x87c], cl
inc edx
mov dword [esp + 0x10], edx
cmp edx, 0x1c
jl 0x10101020
mov ecx, dword [0x10226ca8]
add ecx, 0x367c
mov dword [esp + 0x14], ecx
jmp 0x10101072
mov eax, dword [0x10226ca8]
add eax, 0x367c
mov dword [esp + 0x14], eax
mov ax, word [0x101f057c]
xor edx, edx
mov word [esp + 0x378], ax
mov al, byte [0x101f057e]
mov byte [esp + 0x37a], al
mov dword [esp + 0x10], edx
movups xmm0, xmmword [0x101f056c]
movups xmmword [esp + 0x368], xmm0
cmp esi, 2
jl 0x101011e0
movaps xmm0, xmmword [0x101faf70]
movaps xmm4, xmmword [0x101fadd0]
movaps xmm3, xmmword [0x101faf20]
movaps xmm5, xmmword [0x101fae60]
movaps xmmword [esp + 0x20], xmm0
mov ecx, dword [esp + 0x20]
nop
movd xmm0, edx
lea eax, [edx + 4]
pshufd xmm2, xmm0, 0
paddd xmm2, xmm4
movaps xmm1, xmm2
movaps xmm0, xmm2
punpckhdq xmm0, xmm2
punpckldq xmm1, xmm2
pmuldq xmm0, xmm3
pmuldq xmm1, xmm3
shufps xmm1, xmm0, 0xdd
psrad xmm1, 1
movaps xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm5
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
andps xmm1, xmmword [0x101faf00]
packuswb xmm1, xmm1
movd xmm0, ecx
paddb xmm1, xmm0
movd xmm0, dword [esp + edx + 0x368]
xorps xmm1, xmm0
movd xmm0, eax
pshufd xmm2, xmm0, 0
movd dword [esp + edx + 0x368], xmm1
paddd xmm2, xmm4
movaps xmm1, xmm2
movaps xmm0, xmm2
punpckhdq xmm0, xmm2
punpckldq xmm1, xmm2
pmuldq xmm0, xmm3
pmuldq xmm1, xmm3
shufps xmm1, xmm0, 0xdd
psrad xmm1, 1
movaps xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm5
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
andps xmm1, xmmword [0x101faf00]
packuswb xmm1, xmm1
movd xmm0, ecx
paddb xmm1, xmm0
movd xmm0, dword [esp + edx + 0x36c]
xorps xmm1, xmm0
movd dword [esp + edx + 0x36c], xmm1
add edx, 8
cmp edx, 0x10
jl 0x101010d0
mov dword [esp + 0x10], edx
cmp edx, 0x13
jge 0x10101212
nop dword [eax]
mov eax, 0x94f2095
imul edx
sar edx, 1
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [esp + 0x10]
movsx eax, al
mov cl, dl
imul eax, eax, 0x37
sub cl, al
add cl, 0x38
xor byte [esp + edx + 0x368], cl
inc edx
mov dword [esp + 0x10], edx
cmp edx, 0x13
jl 0x101011e0
xor esi, esi
lea edx, [esp + 0x87c]
cmp byte [esp + 0x87c], 0
je 0x10101241
mov ecx, edx
lea edi, [ecx + 1]
nop word [eax + eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x10101230
sub ecx, edi
inc edx
add edx, ecx
inc esi
cmp byte [edx], al
jne 0x10101225
mov edx, dword [esp + 0x14]
lea eax, [esp + 0x87c]
push 1
push 0xffffffffffffffff
push esi
push eax
push 0x101705f0
lea ecx, [esp + 0x37c]
call fcn.10170650
mov esi, dword [0x10450be0]
mov eax, dword [esi + 0x1bec]
cmp dword [esi + 0x1d54], eax
jne 0x10101287
mov dword [esi + 0x1e58], eax
mov dword [esi + 0x1e5c], 2
test dword [eax + 8], 0x1000000
je 0x10101297
mov byte [esi + 0x1b9e], 1
call fcn.1015cd60
mov byte [esi + 0x1b9e], 0
mov ecx, dword [0x10450be0]
mov eax, dword [ecx + 0x1bec]
mov byte [eax + 0xa8], 1
mov edx, dword [ecx + 0x1bec]
cmp byte [edx + 0xab], 0
jne 0x1010130d
movss xmm0, dword [ecx + 0x15a8]
addss xmm0, dword [edx + 0xf4]
movss dword [edx + 0xec], xmm0
mov eax, dword [edx + 0xf8]
mov dword [edx + 0xf0], eax
mov eax, dword [edx + 0x11c]
mov ecx, dword [edx + 0x120]
mov dword [edx + 0x114], eax
mov dword [edx + 0x118], ecx
mov eax, dword [edx + 0x128]
mov dword [edx + 0x124], eax
mov ax, word [0x101f0d7c]
xor ebx, ebx
movq xmm0, qword [str.oXNNP_M8B]
mov word [esp + 0x184], ax
mov al, byte [0x101f0d7e]
mov byte [esp + 0x186], al
movq qword [esp + 0x17c], xmm0
nop word [eax + eax]
mov eax, 0x29e4129f
mov cl, bl
mul ebx
mov eax, ebx
sub eax, edx
shr eax, 1
add eax, edx
shr eax, 5
movsx eax, al
imul eax, eax, 0x37
sub cl, al
add cl, 0x38
xor byte [esp + ebx + 0x17c], cl
inc ebx
cmp ebx, 0xb
jl 0x10101340
xorps xmm0, xmm0
mov dword [esp + 0x600], 0
lea ecx, [esp + 0x17c]
mov dword [esp + 0x604], 0
movups xmmword [esp + 0x5f0], xmm0
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x10101397
sub ecx, edx
lea eax, [esp + 0x17c]
push ecx
push eax
lea ecx, [esp + 0x5f8]
call fcn.10027a80
mov eax, dword [0x10450be0]
lea ecx, [esp + 0x5f0]
cmp dword [esp + 0x604], 0xf
cmova ecx, dword [esp + 0x5f0]
mov esi, dword [eax + 0x1bec]
mov eax, dword [esi + 0xe8]
add esi, 0xe0
mov edx, dword [esi]
push dword [eax + edx*4 - 4]
xor edx, edx
call fcn.101519b0
mov edi, dword [esi + 4]
mov ecx, dword [esi]
mov dword [esp + 0x14], eax
cmp ecx, edi
jne 0x1010141f
inc ecx
test edi, edi
je 0x1010140d
mov eax, edi
cdq
sub eax, edx
sar eax, 1
add eax, edi
jmp 0x10101412
mov eax, 8
cmp eax, ecx
cmovg ecx, eax
push ecx
mov ecx, esi
call fcn.100bf360
mov ecx, dword [esi]
mov eax, dword [esi + 8]
mov edx, dword [esp + 0x14]
mov dword [eax + ecx*4], edx
inc dword [esi]
mov ecx, dword [esp + 0x604]
cmp ecx, 0xf
jbe 0x10101469
mov edx, dword [esp + 0x5f0]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x1010145f
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1010ad81
push ecx
push edx
call fcn.1019bd5d
add esp, 8
mov ax, word [0x101f07dc]
movq xmm0, qword [str.oXNNP_MA]
mov esi, dword [0x10226ca8]
mov dword [esp + 0x600], 0
mov dword [esp + 0x604], 0xf
mov byte [esp + 0x5f0], 0
movq qword [esp + 0x4c4], xmm0
mov word [esp + 0x4cc], ax
test ah, ah
je 0x101014de
xor ebx, ebx
mov eax, 0x29e4129f
mov cl, bl
mul ebx
mov eax, ebx
sub eax, edx
shr eax, 1
add eax, edx
shr eax, 5
movsx eax, al
imul eax, eax, 0x37
sub cl, al
add cl, 0x38
xor byte [esp + ebx + 0x4c4], cl
inc ebx
cmp ebx, 0xa
jl 0x101014b2
xorps xmm0, xmm0
mov dword [esp + 0x618], 0
lea ecx, [esp + 0x4c4]
mov dword [esp + 0x61c], 0
movups xmmword [esp + 0x608], xmm0
lea edx, [ecx + 1]
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x10101510
sub ecx, edx
lea eax, [esp + 0x4c4]
push ecx
push eax
lea ecx, [esp + 0x610]
call fcn.10027a80
cmp dword [esp + 0x61c], 0xf
lea ecx, [esp + 0x608]
lea edx, [esi + 0x3654]
cmova ecx, dword [esp + 0x608]
call fcn.1016ebb0
mov ecx, dword [esp + 0x61c]
cmp ecx, 0xf
jbe 0x1010158c
mov edx, dword [esp + 0x608]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x10101582
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1010ad81
push ecx
push edx
call fcn.1019bd5d
add esp, 8
mov ecx, dword [0x10450be0]
mov dword [esp + 0x618], 0
mov dword [esp + 0x61c], 0xf
mov byte [esp + 0x608], 0
mov eax, dword [ecx + 0x1bec]
mov byte [eax + 0xa8], 1
mov edx, dword [ecx + 0x1bec]
cmp byte [edx + 0xab], 0
jne 0x10101614
movss xmm0, dword [ecx + 0x15a8]
addss xmm0, dword [edx + 0xf4]
movss dword [edx + 0xec], xmm0
mov eax, dword [edx + 0xf8]
mov dword [edx + 0xf0], eax
mov eax, dword [edx + 0x11c]
mov ecx, dword [edx + 0x120]
mov dword [edx + 0x114], eax
mov dword [edx + 0x118], ecx
mov eax, dword [edx + 0x128]
mov dword [edx + 0x124], eax
push 1
push 0
lea edx, [esp + 0x68]
mov dword [esp + 0x68], 0
mov ecx, 0x101ee2d4
mov dword [esp + 0x6c], 0
call fcn.1016d310
test al, al
je 0x10101688
mov esi, dword [0x10450be0]
xor edx, edx
mov eax, dword [esi + 0x1bec]
mov ecx, dword [eax + 0xe0]
mov eax, dword [eax + 0xe8]
push dword [eax + ecx*4 - 4]
mov ecx, 0x101d250e
call fcn.101519b0
cmp dword [esi + 0x1c24], eax
jne 0x10101670
mov dword [esi + 0x1c28], eax
cmp dword [esi + 0x1c5c], eax
jne 0x1010167f
mov byte [esi + 0x1c60], 1
xor edx, edx
mov ecx, eax
call fcn.1015e9a0
mov esi, dword [0x10450be0]
mov eax, dword [esi + 0x1d30]
cmp eax, dword [esi + 0x1d3c]
jg 0x101016ab
mov dword [esi + 0x1c74], 0
jmp 0x1010215b
mov eax, dword [esi + 0x1bec]
xor edx, edx
mov ecx, dword [eax + 0xe0]
mov eax, dword [eax + 0xe8]
push dword [eax + ecx*4 - 4]
mov ecx, 0x101d250e
call fcn.101519b0
cmp dword [esi + 0x1c24], eax
jne 0x101016db
mov dword [esi + 0x1c28], eax
cmp dword [esi + 0x1c5c], eax
jne 0x101016ea
mov byte [esi + 0x1c60], 1
mov edx, 0x141
mov ecx, eax
call fcn.1015ece0
test al, al
je 0x1010215b
mov eax, dword [0x101f1628]
movq xmm0, qword [0x101f1620]
mov esi, dword [0x10226ca8]
mov edi, dword [0x10228670]
mov dword [esp + 0x2d0], eax
mov ax, word [0x101f162c]
movq qword [esp + 0x2c8], xmm0
mov word [esp + 0x2d4], ax
test ah, ah
je 0x1010187e
xor eax, eax
mov dword [esp + 0x14], eax
cmp edi, 2
jl 0x10101850
movaps xmm2, xmmword [0x101fadd0]
movaps xmm4, xmmword [0x101faf20]
movaps xmm1, xmm2
punpckldq xmm1, xmm2
movaps xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm4
pmuldq xmm1, xmm4
shufps xmm1, xmm0, 0xdd
mov eax, dword [0x101faf70]
psrad xmm1, 1
movaps xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmmword [0x101fae60]
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
movaps xmm2, xmmword [0x101fae10]
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
andps xmm1, xmmword [0x101faf00]
packuswb xmm1, xmm1
movd xmm0, eax
paddb xmm1, xmm0
movd xmm0, dword [0x101f1620]
xorps xmm1, xmm0
movaps xmm0, xmm2
movd dword [esp + 0x2c8], xmm1
movaps xmm1, xmm2
punpckhdq xmm0, xmm2
punpckldq xmm1, xmm2
pmuldq xmm0, xmm4
pmuldq xmm1, xmm4
shufps xmm1, xmm0, 0xdd
psrad xmm1, 1
movaps xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmmword [0x101fae60]
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
andps xmm1, xmmword [0x101faf00]
movd xmm0, eax
mov eax, 8
packuswb xmm1, xmm1
paddb xmm1, xmm0
mov dword [esp + 0x14], eax
movd xmm0, dword [esp + 0x2cc]
xorps xmm1, xmm0
movd dword [esp + 0x2cc], xmm1
mov ebx, dword [esp + 0x14]
mov eax, 0x94f2095
mov cl, bl
imul ebx
sar edx, 1
mov eax, edx
shr eax, 0x1f
add eax, edx
movsx eax, al
imul eax, eax, 0x37
sub cl, al
add cl, 0x38
xor byte [esp + ebx + 0x2c8], cl
inc ebx
cmp ebx, 0xe
jl 0x10101854
xorps xmm0, xmm0
mov dword [esp + 0x630], 0
lea ecx, [esp + 0x2c8]
mov dword [esp + 0x634], 0
movups xmmword [esp + 0x620], xmm0
lea edx, [ecx + 1]
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x101018b0
sub ecx, edx
lea eax, [esp + 0x2c8]
push ecx
push eax
lea ecx, [esp + 0x628]
call fcn.10027a80
cmp dword [esp + 0x634], 0xf
lea ecx, [esp + 0x620]
lea edx, [esi + 0x3658]
cmova ecx, dword [esp + 0x620]
call fcn.1016ebb0
mov ecx, dword [esp + 0x634]
cmp ecx, 0xf
jbe 0x1010192c
mov edx, dword [esp + 0x620]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x10101922
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1010ad81
push ecx
push edx
call fcn.1019bd5d
add esp, 8
mov ax, word [0x101f11c8]
movq xmm0, qword [0x101f11c0]
mov esi, dword [0x10226ca8]
mov dword [esp + 0x630], 0
mov dword [esp + 0x634], 0xf
mov byte [esp + 0x620], 0
movq qword [esp + 0x4d0], xmm0
mov word [esp + 0x4d8], ax
test ah, ah
je 0x101019a1
xor ebx, ebx
mov eax, 0x29e4129f
mov cl, bl
mul ebx
mov eax, ebx
sub eax, edx
shr eax, 1
add eax, edx
shr eax, 5
movsx eax, al
imul eax, eax, 0x37
sub cl, al
add cl, 0x38
xor byte [esp + ebx + 0x4d0], cl
inc ebx
cmp ebx, 0xa
jl 0x10101975
xorps xmm0, xmm0
mov dword [esp + 0x4a4], 0
lea ecx, [esp + 0x4d0]
mov dword [esp + 0x4a8], 0
movups xmmword [esp + 0x494], xmm0
lea edx, [ecx + 1]
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x101019d0
sub ecx, edx
lea eax, [esp + 0x4d0]
push ecx
push eax
lea ecx, [esp + 0x49c]
call fcn.10027a80
cmp dword [esp + 0x4a8], 0xf
lea ecx, [esp + 0x494]
lea edx, [esi + 0x3659]
cmova ecx, dword [esp + 0x494]
call fcn.1016ebb0
mov ecx, dword [esp + 0x4a8]
cmp ecx, 0xf
jbe 0x10101a4c
mov edx, dword [esp + 0x494]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x10101a42
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1010ad81
push ecx
push edx
call fcn.1019bd5d
add esp, 8
mov esi, dword [0x10226ca8]
mov al, byte [0x101f1718]
add esi, 0x3656
movq xmm0, qword [0x101f1710]
xor ebx, ebx
mov byte [esp + 0x1a8], al
movq qword [esp + 0x1a0], xmm0
mov byte [esp + 0x494], 0
mov dword [esp + 0x4a8], 0xf
mov dword [esp + 0x4a4], 0
mov eax, 0x29e4129f
mov cl, bl
mul ebx
mov eax, ebx
sub eax, edx
shr eax, 1
add eax, edx
shr eax, 5
movsx eax, al
imul eax, eax, 0x37
sub cl, al
add cl, 0x38
xor byte [esp + ebx + 0x1a0], cl
inc ebx
cmp ebx, 9
jl 0x10101a95
xorps xmm0, xmm0
mov dword [esp + 0x648], 0
lea ecx, [esp + 0x1a0]
mov dword [esp + 0x64c], 0
movups xmmword [esp + 0x638], xmm0
lea edx, [ecx + 1]
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x10101af0
sub ecx, edx
lea eax, [esp + 0x1a0]
push ecx
push eax
lea ecx, [esp + 0x640]
call fcn.10027a80
cmp dword [esp + 0x64c], 0xf
lea ecx, [esp + 0x638]
mov edx, esi
cmova ecx, dword [esp + 0x638]
call fcn.1016ebb0
mov ecx, dword [esp + 0x64c]
cmp ecx, 0xf
jbe 0x10101b68
mov edx, dword [esp + 0x638]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x10101b5e
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1010ad81
push ecx
push edx
call fcn.1019bd5d
add esp, 8
mov ax, word [0x101f1bf8]
movq xmm0, qword [0x101f1bf0]
mov esi, dword [0x10226ca8]
mov dword [esp + 0x648], 0
mov dword [esp + 0x64c], 0xf
mov byte [esp + 0x638], 0
movq qword [esp + 0x4dc], xmm0
mov word [esp + 0x4e4], ax
test ah, ah
je 0x10101bdd
xor ebx, ebx
mov eax, 0x29e4129f
mov cl, bl
mul ebx
mov eax, ebx
sub eax, edx
shr eax, 1
add eax, edx
shr eax, 5
movsx eax, al
imul eax, eax, 0x37
sub cl, al
add cl, 0x38
xor byte [esp + ebx + 0x4dc], cl
inc ebx
cmp ebx, 0xa
jl 0x10101bb1
xorps xmm0, xmm0
mov dword [esp + 0x660], 0
lea ecx, [esp + 0x4dc]
mov dword [esp + 0x664], 0
movups xmmword [esp + 0x650], xmm0
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x10101c08
sub ecx, edx
lea eax, [esp + 0x4dc]
push ecx
push eax
lea ecx, [esp + 0x658]
call fcn.10027a80
cmp dword [esp + 0x664], 0xf
lea ecx, [esp + 0x650]
lea edx, [esi + 0x3657]
cmova ecx, dword [esp + 0x650]
call fcn.1016ebb0
mov ecx, dword [esp + 0x664]
cmp ecx, 0xf
jbe 0x10101c84
mov edx, dword [esp + 0x650]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x10101c7a
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1010ad81
push ecx
push edx
call fcn.1019bd5d
add esp, 8
mov eax, dword [0x101f144c]
movq xmm0, qword [0x101f1444]
mov esi, dword [0x10226ca8]
mov dword [esp + 0x2c0], eax
mov ax, word [0x101f1450]
mov dword [esp + 0x660], 0
mov dword [esp + 0x664], 0xf
mov byte [esp + 0x650], 0
movq qword [esp + 0x2b8], xmm0
mov word [esp + 0x2c4], ax
test ah, ah
je 0x10101e1c
xor eax, eax
mov dword [esp + 0x14], eax
cmp edi, 2
jl 0x10101dee
movaps xmm2, xmmword [0x101fadd0]
movaps xmm4, xmmword [0x101faf20]
movaps xmm1, xmm2
punpckldq xmm1, xmm2
movaps xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm4
pmuldq xmm1, xmm4
shufps xmm1, xmm0, 0xdd
mov eax, dword [0x101faf70]
psrad xmm1, 1
movaps xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmmword [0x101fae60]
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
movaps xmm2, xmmword [0x101fae10]
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
andps xmm1, xmmword [0x101faf00]
packuswb xmm1, xmm1
movd xmm0, eax
paddb xmm1, xmm0
movd xmm0, dword [0x101f1444]
xorps xmm1, xmm0
movaps xmm0, xmm2
movd dword [esp + 0x2b8], xmm1
movaps xmm1, xmm2
punpckhdq xmm0, xmm2
punpckldq xmm1, xmm2
pmuldq xmm0, xmm4
pmuldq xmm1, xmm4
shufps xmm1, xmm0, 0xdd
psrad xmm1, 1
movaps xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmmword [0x101fae60]
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
andps xmm1, xmmword [0x101faf00]
movd xmm0, eax
mov eax, 8
packuswb xmm1, xmm1
paddb xmm1, xmm0
mov dword [esp + 0x14], eax
movd xmm0, dword [esp + 0x2bc]
xorps xmm1, xmm0
movd dword [esp + 0x2bc], xmm1
mov ebx, dword [esp + 0x14]
mov eax, 0x94f2095
mov cl, bl
imul ebx
sar edx, 1
mov eax, edx
shr eax, 0x1f
add eax, edx
movsx eax, al
imul eax, eax, 0x37
sub cl, al
add cl, 0x38
xor byte [esp + ebx + 0x2b8], cl
inc ebx
cmp ebx, 0xe
jl 0x10101df2
xorps xmm0, xmm0
mov dword [esp + 0x4bc], 0
lea ecx, [esp + 0x2b8]
mov dword [esp + 0x4c0], 0
movups xmmword [esp + 0x4ac], xmm0
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x10101e47
sub ecx, edx
lea eax, [esp + 0x2b8]
push ecx
push eax
lea ecx, [esp + 0x4b4]
call fcn.10027a80
cmp dword [esp + 0x4c0], 0xf
lea ecx, [esp + 0x4ac]
lea edx, [esi + 0x365a]
cmova ecx, dword [esp + 0x4ac]
call fcn.1016ebb0
mov ecx, dword [esp + 0x4c0]
cmp ecx, 0xf
jbe 0x10101ec3
mov edx, dword [esp + 0x4ac]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x10101eb9
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1010ad81
push ecx
push edx
call fcn.1019bd5d
add esp, 8
mov eax, dword [0x101f0b24]
mov esi, dword [0x10226ca8]
movq xmm0, qword [0x101f0b1c]
add esi, 0x365b
mov dword [esp + 0x13c], eax
mov al, byte [0x101f0b28]
mov byte [esp + 0x140], al
xor eax, eax
movq qword [esp + 0x134], xmm0
mov byte [esp + 0x4ac], 0
mov dword [esp + 0x4c0], 0xf
mov dword [esp + 0x4bc], 0
mov dword [esp + 0x14], eax
cmp edi, 2
jl 0x10102029
movaps xmm2, xmmword [0x101fadd0]
movaps xmm4, xmmword [0x101faf20]
movaps xmm1, xmm2
punpckldq xmm1, xmm2
movaps xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm4
pmuldq xmm1, xmm4
shufps xmm1, xmm0, 0xdd
mov eax, dword [0x101faf70]
psrad xmm1, 1
movaps xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmmword [0x101fae60]
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
movaps xmm2, xmmword [0x101fae10]
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
andps xmm1, xmmword [0x101faf00]
packuswb xmm1, xmm1
movd xmm0, eax
paddb xmm1, xmm0
movd xmm0, dword [0x101f0b1c]
xorps xmm1, xmm0
movaps xmm0, xmm2
movd dword [esp + 0x134], xmm1
movaps xmm1, xmm2
punpckhdq xmm0, xmm2
punpckldq xmm1, xmm2
pmuldq xmm0, xmm4
pmuldq xmm1, xmm4
shufps xmm1, xmm0, 0xdd
psrad xmm1, 1
movaps xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmmword [0x101fae60]
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
andps xmm1, xmmword [0x101faf00]
movd xmm0, eax
mov eax, 8
packuswb xmm1, xmm1
paddb xmm1, xmm0
mov dword [esp + 0x14], eax
movd xmm0, dword [esp + 0x138]
xorps xmm1, xmm0
movd dword [esp + 0x138], xmm1
mov ebx, dword [esp + 0x14]
nop dword [eax]
mov eax, 0x94f2095
mov cl, bl
imul ebx
sar edx, 1
mov eax, edx
shr eax, 0x1f
add eax, edx
movsx eax, al
imul eax, eax, 0x37
sub cl, al
add cl, 0x38
xor byte [esp + ebx + 0x134], cl
inc ebx
cmp ebx, 0xd
jl 0x10102030
xorps xmm0, xmm0
mov dword [esp + 0x678], 0
lea ecx, [esp + 0x134]
mov dword [esp + 0x67c], 0
movups xmmword [esp + 0x668], xmm0
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x10102085
sub ecx, edx
lea eax, [esp + 0x134]
push ecx
push eax
lea ecx, [esp + 0x670]
call fcn.10027a80
cmp dword [esp + 0x67c], 0xf
lea ecx, [esp + 0x668]
mov edx, esi
cmova ecx, dword [esp + 0x668]
call fcn.1016ebb0
mov ecx, dword [esp + 0x67c]
cmp ecx, 0xf
jbe 0x101020fd
mov edx, dword [esp + 0x668]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x101020f3
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1010ad81
push ecx
push edx
call fcn.1019bd5d
add esp, 8
mov esi, dword [0x10450be0]
mov dword [esp + 0x678], 0
mov dword [esp + 0x67c], 0xf
mov byte [esp + 0x668], 0
mov eax, dword [esi + 0x1bec]
cmp dword [esi + 0x1d54], eax
jne 0x1010213f
mov dword [esi + 0x1e58], eax
mov dword [esi + 0x1e5c], 2
test dword [eax + 8], 0x1000000
je 0x1010214f
mov byte [esi + 0x1b9e], 1
call fcn.1015cd60
mov byte [esi + 0x1b9e], 0
mov ecx, dword [0x10450be0]
xor edx, edx
mov eax, dword [ecx + 0x1bec]
dec dword [eax + 0xe0]
mov esi, dword [ecx + 0x1bec]
mov ecx, dword [esi + 0xe0]
add esi, 0xe0
mov eax, dword [esi + 8]
push dword [eax + ecx*4 - 4]
mov ecx, str.Player_List
call fcn.101519b0
mov edi, dword [esi + 4]
mov ecx, dword [esi]
mov dword [esp + 0x14], eax
cmp ecx, edi
jne 0x101021c1
inc ecx
test edi, edi
je 0x101021af
mov eax, edi
cdq
sub eax, edx
sar eax, 1
add eax, edi
jmp 0x101021b4
mov eax, 8
cmp eax, ecx
cmovg ecx, eax
push ecx
mov ecx, esi
call fcn.100bf360
mov eax, dword [esi + 8]
mov ecx, dword [esi]
mov edx, dword [esp + 0x14]
mov dword [eax + ecx*4], edx
inc dword [esi]
cmp byte [0x101f0b9f], 0
movq xmm0, qword [str.hU_BYO]
mov eax, dword [0x101f0b9c]
mov esi, dword [0x10226ca8]
mov edi, dword [0x10228670]
movq qword [esp + 0x3bc], xmm0
mov dword [esp + 0x3c4], eax
je 0x1010234a
xor eax, eax
mov dword [esp + 0x14], eax
cmp edi, 2
jl 0x10102318
movaps xmm2, xmmword [0x101fadd0]
movaps xmm4, xmmword [0x101faf20]
movaps xmm1, xmm2
punpckldq xmm1, xmm2
movaps xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm4
pmuldq xmm1, xmm4
shufps xmm1, xmm0, 0xdd
mov eax, dword [0x101faf70]
psrad xmm1, 1
movaps xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmmword [0x101fae60]
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
movaps xmm2, xmmword [0x101fae10]
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
andps xmm1, xmmword [0x101faf00]
packuswb xmm1, xmm1
movd xmm0, eax
paddb xmm1, xmm0
movd xmm0, dword [str.hU_BYO]
xorps xmm1, xmm0
movaps xmm0, xmm2
movd dword [esp + 0x3bc], xmm1
movaps xmm1, xmm2
punpckhdq xmm0, xmm2
punpckldq xmm1, xmm2
pmuldq xmm0, xmm4
pmuldq xmm1, xmm4
shufps xmm1, xmm0, 0xdd
psrad xmm1, 1
movaps xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmmword [0x101fae60]
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
andps xmm1, xmmword [0x101faf00]
movd xmm0, eax
mov eax, 8
packuswb xmm1, xmm1
paddb xmm1, xmm0
mov dword [esp + 0x14], eax
movd xmm0, dword [esp + 0x3c0]
xorps xmm1, xmm0
movd dword [esp + 0x3c0], xmm1
mov ebx, dword [esp + 0x14]
nop dword [eax]
mov eax, 0x94f2095
mov cl, bl
imul ebx
sar edx, 1
mov eax, edx
shr eax, 0x1f
add eax, edx
movsx eax, al
imul eax, eax, 0x37
sub cl, al
add cl, 0x38
xor byte [esp + ebx + 0x3bc], cl
inc ebx
cmp ebx, 0xc
jl 0x10102320
lea edx, [esi + 0x3764]
lea ecx, [esp + 0x3bc]
call fcn.1016ebb0
mov ecx, dword [0x10450be0]
mov eax, dword [ecx + 0x1bec]
mov byte [eax + 0xa8], 1
mov edx, dword [ecx + 0x1bec]
cmp byte [edx + 0xab], 0
jne 0x101023c6
movss xmm0, dword [ecx + 0x15a8]
addss xmm0, dword [edx + 0xf4]
movss dword [edx + 0xec], xmm0
mov eax, dword [edx + 0xf8]
mov dword [edx + 0xf0], eax
mov eax, dword [edx + 0x11c]
mov ecx, dword [edx + 0x120]
mov dword [edx + 0x114], eax
mov dword [edx + 0x118], ecx
mov eax, dword [edx + 0x128]
mov dword [edx + 0x124], eax
push 1
push 0
lea edx, [esp + 0x70]
mov dword [esp + 0x70], 0
mov ecx, 0x101ee2d4
mov dword [esp + 0x74], 0
call fcn.1016d310
test al, al
je 0x1010243a
mov esi, dword [0x10450be0]
xor edx, edx
mov eax, dword [esi + 0x1bec]
mov ecx, dword [eax + 0xe0]
mov eax, dword [eax + 0xe8]
push dword [eax + ecx*4 - 4]
mov ecx, 0x101d250e
call fcn.101519b0
cmp dword [esi + 0x1c24], eax
jne 0x10102422
mov dword [esi + 0x1c28], eax
cmp dword [esi + 0x1c5c], eax
jne 0x10102431
mov byte [esi + 0x1c60], 1
xor edx, edx
mov ecx, eax
call fcn.1015e9a0
mov esi, dword [0x10450be0]
mov eax, dword [esi + 0x1d30]
cmp eax, dword [esi + 0x1d3c]
jg 0x1010245d
mov dword [esi + 0x1c74], 0
jmp 0x10102772
mov eax, dword [esi + 0x1bec]
xor edx, edx
mov ecx, dword [eax + 0xe0]
mov eax, dword [eax + 0xe8]
push dword [eax + ecx*4 - 4]
mov ecx, 0x101d250e
call fcn.101519b0
cmp dword [esi + 0x1c24], eax
jne 0x1010248d
mov dword [esi + 0x1c28], eax
cmp dword [esi + 0x1c5c], eax
jne 0x1010249c
mov byte [esi + 0x1c60], 1
mov edx, 0x141
mov ecx, eax
call fcn.1015ece0
test al, al
je 0x10102772
movq xmm0, qword [0x101f0ca0]
xor ebx, ebx
mov al, byte [0x101f0ca8]
mov esi, dword [0x10226ca8]
movq qword [esp + 0x514], xmm0
mov byte [esp + 0x51c], al
mov eax, 0x29e4129f
mov cl, bl
mul ebx
mov eax, ebx
sub eax, edx
shr eax, 1
add eax, edx
shr eax, 5
movsx eax, al
imul eax, eax, 0x37
sub cl, al
add cl, 0x38
xor byte [esp + ebx + 0x514], cl
inc ebx
cmp ebx, 9
jl 0x101024d5
lea edx, [esi + 0x3765]
lea ecx, [esp + 0x514]
call fcn.1016ebb0
mov eax, dword [str.jXTP_]
xor edx, edx
mov esi, dword [0x10226ca8]
mov dword [esp + 0x144], eax
mov al, byte [0x101f0978]
mov byte [esp + 0x148], al
mov dword [esp + 0x10], edx
nop word [eax + eax]
mov eax, 0x29e4129f
mul edx
mov eax, dword [esp + 0x10]
sub eax, edx
shr eax, 1
add eax, edx
mov edx, dword [esp + 0x10]
shr eax, 5
mov cl, dl
movsx eax, al
imul eax, eax, 0x37
sub cl, al
add cl, 0x38
xor byte [esp + edx + 0x144], cl
inc edx
mov dword [esp + 0x10], edx
cmp edx, 5
jl 0x10102540
lea edx, [esi + 0x3766]
lea ecx, [esp + 0x144]
call fcn.1016ebb0
mov eax, dword [str.oPTH_]
xor ebx, ebx
mov esi, dword [0x10226ca8]
mov dword [esp + 0x120], eax
mov al, byte [0x101f1824]
mov byte [esp + 0x124], al
nop dword [eax + eax]
mov eax, 0x29e4129f
mov cl, bl
mul ebx
mov eax, ebx
sub eax, edx
shr eax, 1
add eax, edx
shr eax, 5
movsx eax, al
imul eax, eax, 0x37
sub cl, al
add cl, 0x38
xor byte [esp + ebx + 0x120], cl
inc ebx
cmp ebx, 5
jl 0x101025b0
lea edx, [esi + 0x3767]
lea ecx, [esp + 0x120]
call fcn.1016ebb0
mov eax, dword [str.p_WHU_]
xor edx, edx
mov esi, dword [0x10226ca8]
mov dword [esp + 0x1cc], eax
mov ax, word [0x101f1bc0]
mov word [esp + 0x1d0], ax
mov al, byte [0x101f1bc2]
mov byte [esp + 0x1d2], al
mov dword [esp + 0x10], edx
mov eax, 0x29e4129f
mul edx
mov eax, dword [esp + 0x10]
sub eax, edx
shr eax, 1
add eax, edx
mov edx, dword [esp + 0x10]
shr eax, 5
mov cl, dl
movsx eax, al
imul eax, eax, 0x37
sub cl, al
add cl, 0x38
xor byte [esp + edx + 0x1cc], cl
inc edx
mov dword [esp + 0x10], edx
cmp edx, 7
jl 0x10102620
lea edx, [esi + 0x3769]
lea ecx, [esp + 0x1cc]
call fcn.1016ebb0
mov eax, dword [str.yKWTN]
mov esi, dword [0x10226ca8]
mov dword [esp + 0x1dc], eax
mov ax, word [0x101f174c]
mov word [esp + 0x1e0], ax
test ah, ah
je 0x101026bc
xor ebx, ebx
nop
mov eax, 0x29e4129f
mov cl, bl
mul ebx
mov eax, ebx
sub eax, edx
shr eax, 1
add eax, edx
shr eax, 5
movsx eax, al
imul eax, eax, 0x37
sub cl, al
add cl, 0x38
xor byte [esp + ebx + 0x1dc], cl
inc ebx
cmp ebx, 6
jl 0x10102690
lea edx, [esi + 0x376a]
lea ecx, [esp + 0x1dc]
call fcn.1016ebb0
mov eax, dword [str.uVTE]
mov esi, dword [0x10226ca8]
mov dword [esp + 0x1e4], eax
mov ax, word [0x101f1f00]
mov word [esp + 0x1e8], ax
test ah, ah
je 0x10102720
xor ebx, ebx
mov eax, 0x29e4129f
mov cl, bl
mul ebx
mov eax, ebx
sub eax, edx
shr eax, 1
add eax, edx
shr eax, 5
movsx eax, al
imul eax, eax, 0x37
sub cl, al
add cl, 0x38
xor byte [esp + ebx + 0x1e4], cl
inc ebx
cmp ebx, 6
jl 0x101026f4
lea edx, [esi + 0x3768]
lea ecx, [esp + 0x1e4]
call fcn.1016ebb0
mov esi, dword [0x10450be0]
mov eax, dword [esi + 0x1bec]
cmp dword [esi + 0x1d54], eax
jne 0x10102756
mov dword [esi + 0x1e58], eax
mov dword [esi + 0x1e5c], 2
test dword [eax + 8], 0x1000000
je 0x10102766
mov byte [esi + 0x1b9e], 1
call fcn.1015cd60
mov byte [esi + 0x1b9e], 0
mov eax, dword [0x10450be0]
mov eax, dword [eax + 0x1bec]
dec dword [eax + 0xe0]
mov ecx, dword [0x10450be0]
mov eax, dword [ecx + 0x1bec]
mov byte [eax + 0xa8], 1
mov edx, dword [ecx + 0x1bec]
cmp byte [edx + 0xab], 0
jne 0x101027ed
movss xmm0, dword [ecx + 0x15a8]
addss xmm0, dword [edx + 0xf4]
movss dword [edx + 0xec], xmm0
mov eax, dword [edx + 0xf8]
mov dword [edx + 0xf0], eax
mov eax, dword [edx + 0x11c]
mov ecx, dword [edx + 0x120]
mov dword [edx + 0x114], eax
mov dword [edx + 0x118], ecx
mov eax, dword [edx + 0x128]
mov dword [edx + 0x124], eax
mov eax, dword [0x101f1cd0]
movq xmm0, qword [str.K_L]
mov esi, dword [0x10226ca8]
mov dword [esp + 0x438], eax
mov ax, word [0x101f1cd4]
movq qword [esp + 0x430], xmm0
mov word [esp + 0x43c], ax
test ah, ah
je 0x1010296a
xor eax, eax
mov dword [esp + 0x14], eax
cmp edi, 2
jl 0x10102939
movaps xmm2, xmmword [0x101fadd0]
movaps xmm4, xmmword [0x101faf20]
movaps xmm1, xmm2
punpckldq xmm1, xmm2
movaps xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm4
pmuldq xmm1, xmm4
shufps xmm1, xmm0, 0xdd
mov eax, dword [0x101faf70]
psrad xmm1, 1
movaps xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmmword [0x101fae60]
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
movaps xmm2, xmmword [0x101fae10]
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
andps xmm1, xmmword [0x101faf00]
packuswb xmm1, xmm1
movd xmm0, eax
paddb xmm1, xmm0
movd xmm0, dword [str.K_L]
xorps xmm1, xmm0
movaps xmm0, xmm2
movd dword [esp + 0x430], xmm1
movaps xmm1, xmm2
punpckhdq xmm0, xmm2
punpckldq xmm1, xmm2
pmuldq xmm0, xmm4
pmuldq xmm1, xmm4
shufps xmm1, xmm0, 0xdd
psrad xmm1, 1
movaps xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmmword [0x101fae60]
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
andps xmm1, xmmword [0x101faf00]
movd xmm0, eax
mov eax, 8
packuswb xmm1, xmm1
paddb xmm1, xmm0
mov dword [esp + 0x14], eax
movd xmm0, dword [esp + 0x434]
xorps xmm1, xmm0
movd dword [esp + 0x434], xmm1
mov ebx, dword [esp + 0x14]
nop dword [eax]
mov eax, 0x94f2095
mov cl, bl
imul ebx
sar edx, 1
mov eax, edx
shr eax, 0x1f
add eax, edx
movsx eax, al
imul eax, eax, 0x37
sub cl, al
add cl, 0x38
xor byte [esp + ebx + 0x430], cl
inc ebx
cmp ebx, 0xe
jl 0x10102940
lea edx, [esi + 0x37d8]
lea ecx, [esp + 0x430]
call fcn.1016ebb0
mov esi, dword [0x10450be0]
mov eax, dword [esi + 0x1bec]
mov byte [eax + 0xa8], 1
mov edx, dword [esi + 0x1bec]
cmp byte [edx + 0xab], 0
jne 0x101029e6
movss xmm0, dword [esi + 0x15a8]
addss xmm0, dword [edx + 0xf4]
movss dword [edx + 0xec], xmm0
mov eax, dword [edx + 0xf8]
mov dword [edx + 0xf0], eax
mov eax, dword [edx + 0x11c]
mov ecx, dword [edx + 0x120]
mov dword [edx + 0x114], eax
mov dword [edx + 0x118], ecx
mov eax, dword [edx + 0x128]
mov dword [edx + 0x124], eax
mov esi, dword [esi + 0x1bec]
xor edx, edx
add esi, 0xe0
mov ecx, dword [esi]
mov eax, dword [esi + 8]
push dword [eax + ecx*4 - 4]
mov ecx, str.Draw_velocity
call fcn.101519b0
mov edi, dword [esi + 4]
mov ecx, dword [esi]
mov dword [esp + 0x14], eax
cmp ecx, edi
jne 0x10102a36
inc ecx
test edi, edi
je 0x10102a24
mov eax, edi
cdq
sub eax, edx
sar eax, 1
add eax, edi
jmp 0x10102a29
mov eax, 8
cmp eax, ecx
cmovg ecx, eax
push ecx
mov ecx, esi
call fcn.100bf360
mov ecx, dword [esi]
mov eax, dword [esi + 8]
mov edx, dword [esp + 0x14]
push 1
push 0
mov dword [eax + ecx*4], edx
lea edx, [esp + 0x1c]
inc dword [esi]
mov ecx, 0x101ee2d4
mov dword [esp + 0x1c], 0
mov dword [esp + 0x20], 0
call fcn.1016d310
test al, al
je 0x10102ab8
mov esi, dword [0x10450be0]
xor edx, edx
mov eax, dword [esi + 0x1bec]
mov ecx, dword [eax + 0xe0]
mov eax, dword [eax + 0xe8]
push dword [eax + ecx*4 - 4]
mov ecx, 0x101d250e
call fcn.101519b0
cmp dword [esi + 0x1c24], eax
jne 0x10102aa0
mov dword [esi + 0x1c28], eax
cmp dword [esi + 0x1c5c], eax
jne 0x10102aaf
mov byte [esi + 0x1c60], 1
xor edx, edx
mov ecx, eax
call fcn.1015e9a0
mov esi, dword [0x10450be0]
mov eax, dword [esi + 0x1d30]
cmp eax, dword [esi + 0x1d3c]
jg 0x10102adb
mov dword [esi + 0x1c74], 0
jmp 0x10102c16
mov eax, dword [esi + 0x1bec]
xor edx, edx
mov ecx, dword [eax + 0xe0]
mov eax, dword [eax + 0xe8]
push dword [eax + ecx*4 - 4]
mov ecx, 0x101d250e
call fcn.101519b0
cmp dword [esi + 0x1c24], eax
jne 0x10102b0b
mov dword [esi + 0x1c28], eax
cmp dword [esi + 0x1c5c], eax
jne 0x10102b1a
mov byte [esi + 0x1c60], 1
mov edx, 0x141
mov ecx, eax
call fcn.1015ece0
test al, al
je 0x10102c16
push 0
push str._.3f
lea eax, [esp + 0x1c]
mov dword [esp + 0x18], 0
push eax
lea eax, [esp + 0x1c]
mov dword [esp + 0x20], 0x3f800000
push eax
mov eax, dword [0x10226ca8]
mov edx, 8
add eax, 0x37dc
mov ecx, str.Position
push eax
call fcn.101723d0
push 0
push str._.3f
lea eax, [esp + 0x1c]
mov dword [esp + 0x18], 0
push eax
lea eax, [esp + 0x1c]
mov dword [esp + 0x20], 0x3f800000
push eax
mov eax, dword [0x10226ca8]
mov edx, 8
add eax, 0x37e0
mov ecx, str.Alpha
push eax
call fcn.101723d0
mov eax, dword [0x10226ca8]
push 0
push 0
push 0
lea ecx, [eax + 0x37f9]
push ecx
lea ecx, [eax + 0x37f4]
push ecx
lea ecx, [eax + 0x37f8]
push ecx
push 0
lea edx, [eax + 0x37e4]
mov ecx, str.Force_color
call fcn.100bf7e0
mov esi, dword [0x10450be0]
mov eax, dword [esi + 0x1bec]
cmp dword [esi + 0x1d54], eax
jne 0x10102bfa
mov dword [esi + 0x1e58], eax
mov dword [esi + 0x1e5c], 2
test dword [eax + 8], 0x1000000
je 0x10102c0a
mov byte [esi + 0x1b9e], 1
call fcn.1015cd60
mov byte [esi + 0x1b9e], 0
mov eax, dword [0x10450be0]
xor edx, edx
mov dword [esp + 0x10], edx
mov eax, dword [eax + 0x1bec]
dec dword [eax + 0xe0]
mov esi, dword [0x10226ca8]
movups xmm0, xmmword [str.sCYSL___04__H]
mov al, byte [0x101f0840]
add esi, 0x37fc
cmp dword [0x10228670], 2
movups xmmword [esp + 0x2a4], xmm0
mov byte [esp + 0x2b4], al
jl 0x10102da0
movaps xmm0, xmmword [0x101faf70]
movaps xmm4, xmmword [0x101fadd0]
movaps xmm3, xmmword [0x101faf20]
movaps xmm5, xmmword [0x101fae60]
movaps xmmword [esp + 0x20], xmm0
mov ecx, dword [esp + 0x20]
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, 1
movaps xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm5
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
andps xmm1, xmmword [0x101faf00]
packuswb xmm1, xmm1
movd xmm0, ecx
paddb xmm1, xmm0
movd xmm0, dword [esp + edx + 0x2a4]
xorps xmm1, xmm0
movd xmm0, eax
pshufd xmm2, xmm0, 0
movd dword [esp + edx + 0x2a4], xmm1
paddd xmm2, xmm4
movaps xmm1, xmm2
movaps xmm0, xmm2
punpckhdq xmm0, xmm2
punpckldq xmm1, xmm2
pmuldq xmm0, xmm3
pmuldq xmm1, xmm3
shufps xmm1, xmm0, 0xdd
psrad xmm1, 1
movaps xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm5
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
andps xmm1, xmmword [0x101faf00]
packuswb xmm1, xmm1
movd xmm0, ecx
paddb xmm1, xmm0
movd xmm0, dword [esp + edx + 0x2a8]
xorps xmm1, xmm0
movd dword [esp + edx + 0x2a8], xmm1
add edx, 8
cmp edx, 0x10
jl 0x10102c90
mov dword [esp + 0x10], edx
cmp edx, 0x11
jge 0x10102dd2
nop dword [eax]
mov eax, 0x94f2095
imul edx
sar edx, 1
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [esp + 0x10]
movsx eax, al
mov cl, dl
imul eax, eax, 0x37
sub cl, al
add cl, 0x38
xor byte [esp + edx + 0x2a4], cl
inc edx
mov dword [esp + 0x10], edx
cmp edx, 0x11
jl 0x10102da0
mov edx, esi
lea ecx, [esp + 0x2a4]
call fcn.1016ebb0
mov esi, dword [0x10450be0]
mov eax, dword [esi + 0x1bec]
mov byte [eax + 0xa8], 1
mov edx, dword [esi + 0x1bec]
cmp byte [edx + 0xab], 0
jne 0x10102e4a
movss xmm0, dword [esi + 0x15a8]
addss xmm0, dword [edx + 0xf4]
movss dword [edx + 0xec], xmm0
mov eax, dword [edx + 0xf8]
mov dword [edx + 0xf0], eax
mov eax, dword [edx + 0x11c]
mov ecx, dword [edx + 0x120]
mov dword [edx + 0x114], eax
mov dword [edx + 0x118], ecx
mov eax, dword [edx + 0x128]
mov dword [edx + 0x124], eax
mov esi, dword [esi + 0x1bec]
xor edx, edx
add esi, 0xe0
mov ecx, dword [esi]
mov eax, dword [esi + 8]
push dword [eax + ecx*4 - 4]
mov ecx, str.Keyboard_display
call fcn.101519b0
mov edi, dword [esi + 4]
mov ecx, dword [esi]
mov dword [esp + 0x14], eax
cmp ecx, edi
jne 0x10102e9a
inc ecx
test edi, edi
je 0x10102e88
mov eax, edi
cdq
sub eax, edx
sar eax, 1
add eax, edi
jmp 0x10102e8d
mov eax, 8
cmp eax, ecx
cmovg ecx, eax
push ecx
mov ecx, esi
call fcn.100bf360
mov ecx, dword [esi]
mov eax, dword [esi + 8]
mov edx, dword [esp + 0x14]
push 1
push 0
mov dword [eax + ecx*4], edx
lea edx, [esp + 0x1c]
inc dword [esi]
mov ecx, 0x101ee2d4
mov dword [esp + 0x1c], 0
mov dword [esp + 0x20], 0
call fcn.1016d310
test al, al
je 0x10102f1c
mov esi, dword [0x10450be0]
xor edx, edx
mov eax, dword [esi + 0x1bec]
mov ecx, dword [eax + 0xe0]
mov eax, dword [eax + 0xe8]
push dword [eax + ecx*4 - 4]
mov ecx, 0x101d250e
call fcn.101519b0
cmp dword [esi + 0x1c24], eax
jne 0x10102f04
mov dword [esi + 0x1c28], eax
cmp dword [esi + 0x1c5c], eax
jne 0x10102f13
mov byte [esi + 0x1c60], 1
xor edx, edx
mov ecx, eax
call fcn.1015e9a0
mov esi, dword [0x10450be0]
mov eax, dword [esi + 0x1d30]
cmp eax, dword [esi + 0x1d3c]
jg 0x10102f3f
mov dword [esi + 0x1c74], 0
jmp 0x101031cb
mov eax, dword [esi + 0x1bec]
xor edx, edx
mov ecx, dword [eax + 0xe0]
mov eax, dword [eax + 0xe8]
push dword [eax + ecx*4 - 4]
mov ecx, 0x101d250e
call fcn.101519b0
cmp dword [esi + 0x1c24], eax
jne 0x10102f6f
mov dword [esi + 0x1c28], eax
cmp dword [esi + 0x1c5c], eax
jne 0x10102f7e
mov byte [esi + 0x1c60], 1
mov edx, 0x141
mov ecx, eax
call fcn.1015ece0
test al, al
je 0x101031cb
push 0
push str._.3f
lea eax, [esp + 0x1c]
mov dword [esp + 0x18], 0
push eax
lea eax, [esp + 0x1c]
mov dword [esp + 0x20], 0x3f800000
push eax
mov eax, dword [0x10226ca8]
mov edx, 8
add eax, 0x3800
mov ecx, str.Position
push eax
call fcn.101723d0
mov eax, dword [0x101f0e2c]
movq xmm0, qword [0x101f0e24]
mov esi, dword [0x10226ca8]
mov dword [esp + 0x3f0], eax
mov ax, word [0x101f0e30]
mov word [esp + 0x3f4], ax
mov al, byte [0x101f0e32]
mov byte [esp + 0x3f6], al
xor eax, eax
cmp dword [0x10228670], 2
movq qword [esp + 0x3e8], xmm0
mov dword [esp + 0x14], eax
jl 0x10103121
movaps xmm2, xmmword [0x101fadd0]
movaps xmm4, xmmword [0x101faf20]
movaps xmm1, xmm2
punpckldq xmm1, xmm2
movaps xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm4
pmuldq xmm1, xmm4
shufps xmm1, xmm0, 0xdd
mov eax, dword [0x101faf70]
psrad xmm1, 1
movaps xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmmword [0x101fae60]
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
movaps xmm2, xmmword [0x101fae10]
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
andps xmm1, xmmword [0x101faf00]
packuswb xmm1, xmm1
movd xmm0, eax
paddb xmm1, xmm0
movd xmm0, dword [0x101f0e24]
xorps xmm1, xmm0
movaps xmm0, xmm2
movd dword [esp + 0x3e8], xmm1
movaps xmm1, xmm2
punpckhdq xmm0, xmm2
punpckldq xmm1, xmm2
pmuldq xmm0, xmm4
pmuldq xmm1, xmm4
shufps xmm1, xmm0, 0xdd
psrad xmm1, 1
movaps xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmmword [0x101fae60]
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
andps xmm1, xmmword [0x101faf00]
movd xmm0, eax
mov eax, 8
packuswb xmm1, xmm1
paddb xmm1, xmm0
mov dword [esp + 0x14], eax
movd xmm0, dword [esp + 0x3ec]
xorps xmm1, xmm0
movd dword [esp + 0x3ec], xmm1
mov ebx, dword [esp + 0x14]
mov eax, 0x94f2095
mov cl, bl
imul ebx
sar edx, 1
mov eax, edx
shr eax, 0x1f
add eax, edx
movsx eax, al
imul eax, eax, 0x37
sub cl, al
add cl, 0x38
xor byte [esp + ebx + 0x3e8], cl
inc ebx
cmp ebx, 0xf
jl 0x10103125
lea edx, [esi + 0x3804]
lea ecx, [esp + 0x3e8]
call fcn.1016ebb0
mov edx, dword [0x10226ca8]
mov ecx, str.Color
push 0
push 0
add edx, 0x3805
push 0
push 0
lea eax, [edx + 0x10]
push eax
lea eax, [edx + 0x14]
push eax
lea eax, [edx + 0xc]
push eax
call fcn.100bf7e0
mov esi, dword [0x10450be0]
mov eax, dword [esi + 0x1bec]
cmp dword [esi + 0x1d54], eax
jne 0x101031af
mov dword [esi + 0x1e58], eax
mov dword [esi + 0x1e5c], 2
test dword [eax + 8], 0x1000000
je 0x101031bf
mov byte [esi + 0x1b9e], 1
call fcn.1015cd60
mov byte [esi + 0x1b9e], 0
mov eax, dword [0x10450be0]
mov eax, dword [eax + 0x1bec]
dec dword [eax + 0xe0]
mov ecx, dword [0x10450be0]
mov eax, dword [ecx + 0x1bec]
mov byte [eax + 0xa8], 1
mov edx, dword [ecx + 0x1bec]
cmp byte [edx + 0xab], 0
jne 0x10103246
movss xmm0, dword [ecx + 0x15a8]
addss xmm0, dword [edx + 0xf4]
movss dword [edx + 0xec], xmm0
mov eax, dword [edx + 0xf8]
mov dword [edx + 0xf0], eax
mov eax, dword [edx + 0x11c]
mov ecx, dword [edx + 0x120]
mov dword [edx + 0x114], eax
mov dword [edx + 0x118], ecx
mov eax, dword [edx + 0x128]
mov dword [edx + 0x124], eax
mov ax, word [0x101f04d0]
mov esi, dword [0x10226ca8]
movq xmm0, qword [str.qWR_JP22B]
add esi, 0x3394
mov word [esp + 0x210], ax
xor ebx, ebx
mov al, byte [0x101f04d2]
mov byte [esp + 0x212], al
movq qword [esp + 0x208], xmm0
nop
mov eax, 0x29e4129f
mov cl, bl
mul ebx
mov eax, ebx
sub eax, edx
shr eax, 1
add eax, edx
shr eax, 5
movsx eax, al
imul eax, eax, 0x37
sub cl, al
add cl, 0x38
xor byte [esp + ebx + 0x208], cl
inc ebx
cmp ebx, 0xb
jl 0x10103280
mov edx, esi
lea ecx, [esp + 0x208]
call fcn.1016ebb0
mov esi, dword [0x10450be0]
mov eax, dword [esi + 0x1bec]
mov byte [eax + 0xa8], 1
mov edx, dword [esi + 0x1bec]
cmp byte [edx + 0xab], 0
jne 0x10103324
movss xmm0, dword [esi + 0x15a8]
addss xmm0, dword [edx + 0xf4]
movss dword [edx + 0xec], xmm0
mov eax, dword [edx + 0xf8]
mov dword [edx + 0xf0], eax
mov eax, dword [edx + 0x11c]
mov ecx, dword [edx + 0x120]
mov dword [edx + 0x114], eax
mov dword [edx + 0x118], ecx
mov eax, dword [edx + 0x128]
mov dword [edx + 0x124], eax
mov esi, dword [esi + 0x1bec]
xor edx, edx
add esi, 0xe0
mov ecx, dword [esi]
mov eax, dword [esi + 8]
push dword [eax + ecx*4 - 4]
mov ecx, str.COCKASJIFHAEWIGHUW
call fcn.101519b0
mov edi, dword [esi + 4]
mov ecx, dword [esi]
mov dword [esp + 0x14], eax
cmp ecx, edi
jne 0x10103374
inc ecx
test edi, edi
je 0x10103362
mov eax, edi
cdq
sub eax, edx
sar eax, 1
add eax, edi
jmp 0x10103367
mov eax, 8
cmp eax, ecx
cmovg ecx, eax
push ecx
mov ecx, esi
call fcn.100bf360
mov ecx, dword [esi]
mov eax, dword [esi + 8]
mov edx, dword [esp + 0x14]
push 1
push 0
mov dword [eax + ecx*4], edx
lea edx, [esp + 0x1c]
inc dword [esi]
mov ecx, 0x101ee2d4
mov dword [esp + 0x1c], 0
mov dword [esp + 0x20], 0
call fcn.1016d310
test al, al
je 0x101033f6
mov esi, dword [0x10450be0]
xor edx, edx
mov eax, dword [esi + 0x1bec]
mov ecx, dword [eax + 0xe0]
mov eax, dword [eax + 0xe8]
push dword [eax + ecx*4 - 4]
mov ecx, 0x101d250e
call fcn.101519b0
cmp dword [esi + 0x1c24], eax
jne 0x101033de
mov dword [esi + 0x1c28], eax
cmp dword [esi + 0x1c5c], eax
jne 0x101033ed
mov byte [esi + 0x1c60], 1
xor edx, edx
mov ecx, eax
call fcn.1015e9a0
mov esi, dword [0x10450be0]
mov eax, dword [esi + 0x1d30]
cmp eax, dword [esi + 0x1d3c]
jg 0x10103419
mov dword [esi + 0x1c74], 0
jmp 0x10103e47
mov eax, dword [esi + 0x1bec]
xor edx, edx
mov ecx, dword [eax + 0xe0]
mov eax, dword [eax + 0xe8]
push dword [eax + ecx*4 - 4]
mov ecx, 0x101d250e
call fcn.101519b0
cmp dword [esi + 0x1c24], eax
jne 0x10103449
mov dword [esi + 0x1c28], eax
cmp dword [esi + 0x1c5c], eax
jne 0x10103458
mov byte [esi + 0x1c60], 1
mov edx, 0x141
mov ecx, eax
call fcn.1015ece0
test al, al
je 0x10103e47
mov eax, dword [0x1022867c]
mov ecx, dword [esp + 0x40]
mov ecx, dword [ecx + eax*4]
mov eax, dword [0x1051be04]
cmp eax, dword [ecx + 4]
jle 0x101034b5
push 0x1051be04
call fcn.1019bffa
add esp, 4
cmp dword [0x1051be04], 0xffffffff
jne 0x101034b5
push 0x101c8860
call fcn.1019bd43
add esp, 4
push 0x1051be04
call fcn.1019bfa6
add esp, 4
mov esi, dword [0x10226ca8]
xor al, al
mov byte [esp + 0x3b], al
mov eax, dword [str.VVTN]
mov dword [esp + 0x1ec], eax
mov ax, word [0x101f04d8]
mov word [esp + 0x1f0], ax
test ah, ah
je 0x1010350d
xor ebx, ebx
mov eax, 0x29e4129f
mov cl, bl
mul ebx
mov eax, ebx
sub eax, edx
shr eax, 1
add eax, edx
shr eax, 5
movsx eax, al
imul eax, eax, 0x37
sub cl, al
add cl, 0x38
xor byte [esp + ebx + 0x1ec], cl
inc ebx
cmp ebx, 6
jl 0x101034e1
push 0
push 0
push 0
push 0
lea eax, [esi + 0x33ac]
push eax
lea eax, [esi + 0x33b0]
push eax
lea eax, [esi + 0x33a8]
push eax
lea edx, [esi + 0x339c]
lea ecx, [esp + 0x208]
call fcn.100bf7e0
movups xmm0, xmmword [0x101eff38]
mov ax, word [0x101eff50]
xor edx, edx
mov edi, dword [0x10228670]
mov word [esp + 0x728], ax
mov al, byte [0x101eff52]
mov byte [esp + 0x72a], al
mov dword [esp + 0x10], edx
movups xmmword [esp + 0x710], xmm0
movq xmm0, qword [0x101eff48]
movq qword [esp + 0x720], xmm0
cmp edi, 2
jl 0x101036e0
movaps xmm0, xmmword [0x101faf70]
movaps xmm4, xmmword [0x101fadd0]
movaps xmm3, xmmword [0x101faf20]
movaps xmm5, xmmword [0x101fae60]
movaps xmmword [esp + 0x20], xmm0
mov ecx, dword [esp + 0x20]
movd xmm0, edx
lea eax, [edx + 4]
pshufd xmm2, xmm0, 0
paddd xmm2, xmm4
movaps xmm1, xmm2
movaps xmm0, xmm2
punpckhdq xmm0, xmm2
punpckldq xmm1, xmm2
pmuldq xmm0, xmm3
pmuldq xmm1, xmm3
shufps xmm1, xmm0, 0xdd
psrad xmm1, 1
movaps xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm5
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
andps xmm1, xmmword [0x101faf00]
packuswb xmm1, xmm1
movd xmm0, ecx
paddb xmm1, xmm0
movd xmm0, dword [esp + edx + 0x710]
xorps xmm1, xmm0
movd xmm0, eax
pshufd xmm2, xmm0, 0
movd dword [esp + edx + 0x710], xmm1
paddd xmm2, xmm4
movaps xmm1, xmm2
movaps xmm0, xmm2
punpckhdq xmm0, xmm2
punpckldq xmm1, xmm2
pmuldq xmm0, xmm3
pmuldq xmm1, xmm3
shufps xmm1, xmm0, 0xdd
psrad xmm1, 1
movaps xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm5
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
andps xmm1, xmmword [0x101faf00]
packuswb xmm1, xmm1
movd xmm0, ecx
paddb xmm1, xmm0
movd xmm0, dword [esp + edx + 0x714]
xorps xmm1, xmm0
movd dword [esp + edx + 0x714], xmm1
add edx, 8
cmp edx, 0x18
jl 0x101035b0
mov dword [esp + 0x10], edx
cmp edx, 0x1b
jl 0x101036e0
mov ecx, dword [0x10226ca8]
mov al, byte [0x101f00b8]
add ecx, 0x3390
mov dword [esp + 0x14], ecx
mov byte [esp + 0x418], al
jmp 0x1010372c
mov eax, 0x94f2095
imul edx
sar edx, 1
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [esp + 0x10]
movsx eax, al
mov cl, dl
imul eax, eax, 0x37
sub cl, al
add cl, 0x38
xor byte [esp + edx + 0x710], cl
inc edx
mov dword [esp + 0x10], edx
cmp edx, 0x1b
jl 0x101036e0
mov al, byte [0x101f00b8]
mov byte [esp + 0x418], al
mov eax, dword [0x10226ca8]
add eax, 0x3390
mov dword [esp + 0x14], eax
movups xmm0, xmmword [str.qWR_JP22b00__H]
xor edx, edx
mov dword [esp + 0x10], edx
movups xmmword [esp + 0x408], xmm0
cmp edi, 2
jl 0x10103880
movaps xmm0, xmmword [0x101faf70]
movaps xmm4, xmmword [0x101fadd0]
movaps xmm3, xmmword [0x101faf20]
movaps xmm5, xmmword [0x101fae60]
movaps xmmword [esp + 0x20], xmm0
mov ecx, dword [esp + 0x20]
nop
movd xmm0, edx
lea eax, [edx + 4]
pshufd xmm2, xmm0, 0
paddd xmm2, xmm4
movaps xmm1, xmm2
movaps xmm0, xmm2
punpckhdq xmm0, xmm2
punpckldq xmm1, xmm2
pmuldq xmm0, xmm3
pmuldq xmm1, xmm3
shufps xmm1, xmm0, 0xdd
psrad xmm1, 1
movaps xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm5
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
andps xmm1, xmmword [0x101faf00]
packuswb xmm1, xmm1
movd xmm0, ecx
paddb xmm1, xmm0
movd xmm0, dword [esp + edx + 0x408]
xorps xmm1, xmm0
movd xmm0, eax
pshufd xmm2, xmm0, 0
movd dword [esp + edx + 0x408], xmm1
paddd xmm2, xmm4
movaps xmm1, xmm2
movaps xmm0, xmm2
punpckhdq xmm0, xmm2
punpckldq xmm1, xmm2
pmuldq xmm0, xmm3
pmuldq xmm1, xmm3
shufps xmm1, xmm0, 0xdd
psrad xmm1, 1
movaps xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm5
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
andps xmm1, xmmword [0x101faf00]
packuswb xmm1, xmm1
movd xmm0, ecx
paddb xmm1, xmm0
movd xmm0, dword [esp + edx + 0x40c]
xorps xmm1, xmm0
movd dword [esp + edx + 0x40c], xmm1
add edx, 8
cmp edx, 0x10
jl 0x10103770
mov dword [esp + 0x10], edx
cmp edx, 0x11
jge 0x101038b2
nop dword [eax]
mov eax, 0x94f2095
imul edx
sar edx, 1
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [esp + 0x10]
movsx eax, al
mov cl, dl
imul eax, eax, 0x37
sub cl, al
add cl, 0x38
xor byte [esp + edx + 0x408], cl
inc edx
mov dword [esp + 0x10], edx
cmp edx, 0x11
jl 0x10103880
xor esi, esi
lea edx, [esp + 0x710]
cmp byte [esp + 0x710], 0
je 0x101038e7
mov ecx, edx
lea edi, [ecx + 1]
nop word [eax + eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x101038d0
sub ecx, edi
inc edx
add edx, ecx
inc esi
cmp byte [edx], al
jne 0x101038c5
mov edi, dword [0x10228670]
mov edx, dword [esp + 0x14]
lea eax, [esp + 0x710]
push 1
push 0xffffffffffffffff
push esi
push eax
push 0x101705f0
lea ecx, [esp + 0x41c]
call fcn.10170650
mov esi, dword [0x10226ca8]
xor edx, edx
mov ecx, 1
mov eax, ecx
and eax, dword [esi + 0x3398]
cmp eax, ecx
sete al
rol ecx, 1
mov byte [edx + 0x10450a44], al
inc edx
cmp edx, 0x15
jb 0x10103916
cmp dword [0x10226bb0], 0xf
mov esi, 0x10226b9c
mov eax, dword [str.3__4D]
movq xmm0, qword [str.oQ_O]
mov dword [esp + 0x174], eax
mov al, byte [0x101f0628]
movq qword [esp + 0x16c], xmm0
mov byte [esp + 0x178], al
jbe 0x1010396e
mov esi, dword [0x10226b9c]
xor eax, eax
mov dword [esp + 0x14], eax
cmp edi, 2
jl 0x10103a81
movaps xmm2, xmmword [0x101fadd0]
movaps xmm4, xmmword [0x101faf20]
movaps xmm1, xmm2
punpckldq xmm1, xmm2
movaps xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm4
pmuldq xmm1, xmm4
shufps xmm1, xmm0, 0xdd
mov eax, dword [0x101faf70]
psrad xmm1, 1
movaps xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmmword [0x101fae60]
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
movaps xmm2, xmmword [0x101fae10]
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
andps xmm1, xmmword [0x101faf00]
packuswb xmm1, xmm1
movd xmm0, eax
paddb xmm1, xmm0
movd xmm0, dword [str.oQ_O]
xorps xmm1, xmm0
movaps xmm0, xmm2
movd dword [esp + 0x16c], xmm1
movaps xmm1, xmm2
punpckhdq xmm0, xmm2
punpckldq xmm1, xmm2
pmuldq xmm0, xmm4
pmuldq xmm1, xmm4
shufps xmm1, xmm0, 0xdd
psrad xmm1, 1
movaps xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmmword [0x101fae60]
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
andps xmm1, xmmword [0x101faf00]
movd xmm0, eax
mov eax, 8
packuswb xmm1, xmm1
paddb xmm1, xmm0
mov dword [esp + 0x14], eax
movd xmm0, dword [esp + 0x170]
xorps xmm1, xmm0
movd dword [esp + 0x170], xmm1
mov ebx, dword [esp + 0x14]
mov eax, 0x94f2095
mov cl, bl
imul ebx
sar edx, 1
mov eax, edx
shr eax, 0x1f
add eax, edx
movsx eax, al
imul eax, eax, 0x37
sub cl, al
add cl, 0x38
xor byte [esp + ebx + 0x16c], cl
inc ebx
cmp ebx, 0xd
jl 0x10103a85
push 1
push 0
mov edx, esi
lea ecx, [esp + 0x174]
call fcn.1016f750
mov ebx, dword [esp + 0x1c]
test al, al
je 0x10103b63
push 0
push 0x101d250e
mov ecx, 0x10226b9c
call fcn.10022e90
xor esi, esi
mov ecx, dword [esi*4 + 0x101f0640]
lea eax, [esp + 0x70]
push eax
mov dword [esp + 0x74], 0
mov dword [esp + 0x78], 0
mov dl, byte [esi + 0x10450a44]
push 1
call fcn.1017e0d0
test al, al
je 0x10103b1d
cmp byte [esi + 0x10450a44], 0
sete al
mov byte [esi + 0x10450a44], al
inc esi
cmp esi, 0x15
jb 0x10103ae0
mov esi, dword [0x10450be0]
mov eax, dword [esi + 0x1bec]
cmp dword [esi + 0x1d54], eax
jne 0x10103b47
mov dword [esi + 0x1e58], eax
mov dword [esi + 0x1e5c], 2
test dword [eax + 8], 0x1000000
je 0x10103b57
mov byte [esi + 0x1b9e], 1
call fcn.1015cd60
mov byte [esi + 0x1b9e], 0
xor esi, esi
cmp byte [esp + 0x3b], 0
jne 0x10103b82
push 0
push 0x101d250e
mov ecx, 0x10226b9c
call fcn.10022e90
mov byte [esp + 0x3b], 1
cmp byte [esi + 0x10450a44], 0
je 0x10103de8
cmp dword [0x10226bac], 0
xorps xmm0, xmm0
mov edx, dword [esi*4 + 0x101f0640]
je 0x10103c47
or ebx, 0x40
mov dword [esp + 0x7cc], 2
movups xmmword [esp + 0x7bc], xmm0
mov eax, 0x202c
mov dword [esp + 0x7d0], 0xf
or ebx, 0x80
mov word [esp + 0x7bc], ax
push edx
lea ecx, [esp + 0x7c0]
mov byte [esp + 0x7c2], 0
mov dword [esp + 0x20], ebx
call fcn.100209e0
mov dword [esp + 0x7b4], 0
xorps xmm0, xmm0
movups xmmword [esp + 0x7a4], xmm0
mov dword [esp + 0x7b8], 0
movups xmm0, xmmword [eax]
movups xmmword [esp + 0x7a4], xmm0
movq xmm0, qword [eax + 0x10]
movq qword [esp + 0x7b4], xmm0
mov dword [eax + 0x10], 0
mov dword [eax + 0x14], 0xf
mov byte [eax], 0
lea eax, [esp + 0x7a4]
jmp 0x10103c92
mov ecx, edx
mov dword [esp + 0x8d8], 0
or ebx, 0x100
mov dword [esp + 0x8dc], 0
mov dword [esp + 0x1c], ebx
movups xmmword [esp + 0x8c8], xmm0
lea edi, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x10103c74
sub ecx, edi
push ecx
push edx
lea ecx, [esp + 0x8d0]
call fcn.10027a80
lea eax, [esp + 0x8c8]
push eax
mov ecx, 0x10226b9c
call fcn.10020a50
test ebx, 0x100
je 0x10103d09
mov ecx, dword [esp + 0x8dc]
and ebx, 0xfffffeff
mov dword [esp + 0x1c], ebx
cmp ecx, 0xf
jbe 0x10103ceb
mov edx, dword [esp + 0x8c8]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x10103ce1
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1010ad81
push ecx
push edx
call fcn.1019bd5d
add esp, 8
mov dword [esp + 0x8d8], 0
mov dword [esp + 0x8dc], 0xf
mov byte [esp + 0x8c8], 0
test bl, bl
jns 0x10103d71
mov ecx, dword [esp + 0x7b8]
and ebx, 0xffffff7f
mov dword [esp + 0x1c], ebx
cmp ecx, 0xf
jbe 0x10103d53
mov edx, dword [esp + 0x7a4]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x10103d49
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1010ad81
push ecx
push edx
call fcn.1019bd5d
add esp, 8
mov dword [esp + 0x7b4], 0
mov dword [esp + 0x7b8], 0xf
mov byte [esp + 0x7a4], 0
test bl, 0x40
je 0x10103dd7
mov ecx, dword [esp + 0x7d0]
and ebx, 0xffffffbf
mov dword [esp + 0x1c], ebx
cmp ecx, 0xf
jbe 0x10103db9
mov edx, dword [esp + 0x7bc]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x10103daf
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1010ad81
push ecx
push edx
call fcn.1019bd5d
add esp, 8
mov dword [esp + 0x7cc], 0
mov dword [esp + 0x7d0], 0xf
mov byte [esp + 0x7bc], 0
mov ecx, dword [0x10226ca8]
mov eax, dword [ecx + 0x3398]
bts eax, esi
jmp 0x10103df7
mov ecx, dword [0x10226ca8]
mov eax, dword [ecx + 0x3398]
btr eax, esi
inc esi
mov dword [ecx + 0x3398], eax
cmp esi, 0x15
jb 0x10103b65
mov esi, dword [0x10450be0]
mov eax, dword [esi + 0x1bec]
cmp dword [esi + 0x1d54], eax
jne 0x10103e2b
mov dword [esi + 0x1e58], eax
mov dword [esi + 0x1e5c], 2
test dword [eax + 8], 0x1000000
je 0x10103e3b
mov byte [esi + 0x1b9e], 1
call fcn.1015cd60
mov byte [esi + 0x1b9e], 0
mov eax, dword [0x10450be0]
mov eax, dword [eax + 0x1bec]
dec dword [eax + 0xe0]
mov esi, dword [0x10226ca8]
mov ax, word [0x101f06b8]
add esi, 0xacf
movq xmm0, qword [0x101f06b0]
movq qword [esp + 0x560], xmm0
mov word [esp + 0x568], ax
test ah, ah
je 0x10103ebc
xor ebx, ebx
nop dword [eax]
mov eax, 0x29e4129f
mov cl, bl
mul ebx
mov eax, ebx
sub eax, edx
shr eax, 1
add eax, edx
shr eax, 5
movsx eax, al
imul eax, eax, 0x37
sub cl, al
add cl, 0x38
xor byte [esp + ebx + 0x560], cl
inc ebx
cmp ebx, 0xa
jl 0x10103e90
lea eax, [esi + 0x16]
mov edx, esi
push eax
push 0
push 0
lea eax, [esi + 0x15]
push eax
lea eax, [esi + 0x10]
push eax
lea eax, [esi + 0x14]
push eax
lea eax, [esi + 0xc]
push eax
lea ecx, [esp + 0x57c]
call fcn.100bf7e0
mov eax, dword [0x10450be0]
xor edx, edx
mov esi, dword [eax + 0x1bec]
mov eax, dword [esi + 0xe8]
add esi, 0xe0
mov ecx, dword [esi]
push dword [eax + ecx*4 - 4]
mov ecx, str.aa_arrowss
call fcn.101519b0
mov edi, dword [esi + 4]
mov ecx, dword [esi]
mov dword [esp + 0x14], eax
cmp ecx, edi
jne 0x10103f3a
inc ecx
test edi, edi
je 0x10103f28
mov eax, edi
cdq
sub eax, edx
sar eax, 1
add eax, edi
jmp 0x10103f2d
mov eax, 8
cmp eax, ecx
cmovg ecx, eax
push ecx
mov ecx, esi
call fcn.100bf360
mov ecx, dword [esi]
mov eax, dword [esi + 8]
mov edx, dword [esp + 0x14]
mov dword [eax + ecx*4], edx
inc dword [esi]
mov ecx, dword [0x10450be0]
mov eax, dword [ecx + 0x1bec]
mov byte [eax + 0xa8], 1
mov edx, dword [ecx + 0x1bec]
cmp byte [edx + 0xab], 0
jne 0x10103fb2
movss xmm0, dword [ecx + 0x15a8]
addss xmm0, dword [edx + 0xf4]
movss dword [edx + 0xec], xmm0
mov eax, dword [edx + 0xf8]
mov dword [edx + 0xf0], eax
mov eax, dword [edx + 0x11c]
mov ecx, dword [edx + 0x120]
mov dword [edx + 0x114], eax
mov dword [edx + 0x118], ecx
mov eax, dword [edx + 0x128]
mov dword [edx + 0x124], eax
push 1
push 0
lea edx, [esp + 0x1c]
mov dword [esp + 0x1c], 0
mov ecx, 0x101ee2d4
mov dword [esp + 0x20], 0
call fcn.1016d310
test al, al
je 0x10104026
mov esi, dword [0x10450be0]
xor edx, edx
mov eax, dword [esi + 0x1bec]
mov ecx, dword [eax + 0xe0]
mov eax, dword [eax + 0xe8]
push dword [eax + ecx*4 - 4]
mov ecx, 0x101d250e
call fcn.101519b0
cmp dword [esi + 0x1c24], eax
jne 0x1010400e
mov dword [esi + 0x1c28], eax
cmp dword [esi + 0x1c5c], eax
jne 0x1010401d
mov byte [esi + 0x1c60], 1
xor edx, edx
mov ecx, eax
call fcn.1015e9a0
mov esi, dword [0x10450be0]
mov eax, dword [esi + 0x1d30]
cmp eax, dword [esi + 0x1d3c]
jg 0x1010430e
mov dword [esi + 0x1c74], 0
mov edi, dword [0x10228670]
mov eax, dword [0x10450be0]
mov eax, dword [eax + 0x1bec]
dec dword [eax + 0xe0]
mov ecx, dword [0x10450be0]
mov eax, dword [ecx + 0x1bec]
mov byte [eax + 0xa8], 1
mov edx, dword [ecx + 0x1bec]
cmp byte [edx + 0xab], 0
jne 0x101040c9
movss xmm0, dword [ecx + 0x15a8]
addss xmm0, dword [edx + 0xf4]
movss dword [edx + 0xec], xmm0
mov eax, dword [edx + 0xf8]
mov dword [edx + 0xf0], eax
mov eax, dword [edx + 0x11c]
mov ecx, dword [edx + 0x120]
mov dword [edx + 0x114], eax
mov dword [edx + 0x118], ecx
mov eax, dword [edx + 0x128]
mov dword [edx + 0x124], eax
mov eax, dword [0x101f0ed4]
mov esi, dword [0x10226ca8]
movq xmm0, qword [0x101f0ecc]
add esi, 0x199e
mov dword [esp + 0x164], eax
mov ax, word [0x101f0ed8]
mov word [esp + 0x168], ax
mov al, byte [0x101f0eda]
mov byte [esp + 0x16a], al
xor eax, eax
movq qword [esp + 0x15c], xmm0
mov dword [esp + 0x14], eax
cmp edi, 2
jl 0x1010421f
movaps xmm2, xmmword [0x101fadd0]
movaps xmm4, xmmword [0x101faf20]
movaps xmm1, xmm2
punpckldq xmm1, xmm2
movaps xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm4
pmuldq xmm1, xmm4
shufps xmm1, xmm0, 0xdd
mov eax, dword [0x101faf70]
psrad xmm1, 1
movaps xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmmword [0x101fae60]
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
movaps xmm2, xmmword [0x101fae10]
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
andps xmm1, xmmword [0x101faf00]
packuswb xmm1, xmm1
movd xmm0, eax
paddb xmm1, xmm0
movd xmm0, dword [0x101f0ecc]
xorps xmm1, xmm0
movaps xmm0, xmm2
movd dword [esp + 0x15c], xmm1
movaps xmm1, xmm2
punpckhdq xmm0, xmm2
punpckldq xmm1, xmm2
pmuldq xmm0, xmm4
pmuldq xmm1, xmm4
shufps xmm1, xmm0, 0xdd
psrad xmm1, 1
movaps xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmmword [0x101fae60]
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
andps xmm1, xmmword [0x101faf00]
movd xmm0, eax
mov eax, 8
packuswb xmm1, xmm1
paddb xmm1, xmm0
mov dword [esp + 0x14], eax
movd xmm0, dword [esp + 0x160]
xorps xmm1, xmm0
movd dword [esp + 0x160], xmm1
mov ebx, dword [esp + 0x14]
mov eax, 0x94f2095
mov cl, bl
imul ebx
sar edx, 1
mov eax, edx
shr eax, 0x1f
add eax, edx
movsx eax, al
imul eax, eax, 0x37
sub cl, al
add cl, 0x38
xor byte [esp + ebx + 0x15c], cl
inc ebx
cmp ebx, 0xf
jl 0x10104223
mov edx, esi
lea ecx, [esp + 0x15c]
call fcn.1016ebb0
mov esi, dword [0x10450be0]
mov eax, dword [esi + 0x1bec]
mov byte [eax + 0xa8], 1
mov edx, dword [esi + 0x1bec]
cmp byte [edx + 0xab], 0
jne 0x101042c5
movss xmm0, dword [esi + 0x15a8]
addss xmm0, dword [edx + 0xf4]
movss dword [edx + 0xec], xmm0
mov eax, dword [edx + 0xf8]
mov dword [edx + 0xf0], eax
mov eax, dword [edx + 0x11c]
mov ecx, dword [edx + 0x120]
mov dword [edx + 0x114], eax
mov dword [edx + 0x118], ecx
mov eax, dword [edx + 0x128]
mov dword [edx + 0x124], eax
mov esi, dword [esi + 0x1bec]
xor edx, edx
add esi, 0xe0
mov ecx, dword [esi]
mov eax, dword [esi + 8]
push dword [eax + ecx*4 - 4]
mov ecx, str.FOAGDOAS
call fcn.101519b0
mov edi, dword [esi + 4]
mov ecx, dword [esi]
mov dword [esp + 0x14], eax
cmp ecx, edi
jne 0x10104ad7
inc ecx
test edi, edi
je 0x10104ac5
mov eax, edi
cdq
sub eax, edx
sar eax, 1
add eax, edi
jmp 0x10104aca
mov eax, dword [esi + 0x1bec]
xor edx, edx
mov ecx, dword [eax + 0xe0]
mov eax, dword [eax + 0xe8]
push dword [eax + ecx*4 - 4]
mov ecx, 0x101d250e
call fcn.101519b0
cmp dword [esi + 0x1c24], eax
jne 0x1010433e
mov dword [esi + 0x1c28], eax
cmp dword [esi + 0x1c5c], eax
jne 0x1010434d
mov byte [esi + 0x1c60], 1
mov edx, 0x141
mov ecx, eax
call fcn.1015ece0
test al, al
je 0x10104048
movups xmm0, xmmword [0x101f1ce8]
mov esi, dword [0x10228670]
movups xmmword [esp + 0x46c], xmm0
psrldq xmm0, 0xf
movd eax, xmm0
test al, al
je 0x101044f1
cmp esi, 2
jl 0x101044c5
movaps xmm0, xmmword [0x101faf70]
xor ecx, ecx
movaps xmm4, xmmword [0x101fadd0]
movaps xmm3, xmmword [0x101faf20]
movaps xmm5, xmmword [0x101fae60]
movaps xmmword [esp + 0x20], xmm0
mov edx, dword [esp + 0x20]
nop word [eax + eax]
movd xmm0, ecx
lea eax, [ecx + 4]
pshufd xmm2, xmm0, 0
paddd xmm2, xmm4
movaps xmm1, xmm2
movaps xmm0, xmm2
punpckhdq xmm0, xmm2
punpckldq xmm1, xmm2
pmuldq xmm0, xmm3
pmuldq xmm1, xmm3
shufps xmm1, xmm0, 0xdd
psrad xmm1, 1
movaps xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm5
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
andps xmm1, xmmword [0x101faf00]
packuswb xmm1, xmm1
movd xmm0, edx
paddb xmm1, xmm0
movd xmm0, dword [esp + ecx + 0x46c]
xorps xmm1, xmm0
movd xmm0, eax
pshufd xmm2, xmm0, 0
movd dword [esp + ecx + 0x46c], xmm1
paddd xmm2, xmm4
movaps xmm1, xmm2
movaps xmm0, xmm2
punpckhdq xmm0, xmm2
punpckldq xmm1, xmm2
pmuldq xmm0, xmm3
pmuldq xmm1, xmm3
shufps xmm1, xmm0, 0xdd
psrad xmm1, 1
movaps xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm5
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
andps xmm1, xmmword [0x101faf00]
packuswb xmm1, xmm1
movd xmm0, edx
paddb xmm1, xmm0
movd xmm0, dword [esp + ecx + 0x470]
xorps xmm1, xmm0
movd dword [esp + ecx + 0x470], xmm1
add ecx, 8
cmp ecx, 0x10
jl 0x101043c0
jmp 0x101044f1
xor ebx, ebx
mov eax, 0x94f2095
mov cl, bl
imul ebx
sar edx, 1
mov eax, edx
shr eax, 0x1f
add eax, edx
movsx eax, al
imul eax, eax, 0x37
sub cl, al
add cl, 0x38
xor byte [esp + ebx + 0x46c], cl
inc ebx
cmp ebx, 0x10
jl 0x101044c7
mov eax, dword [0x10226ca8]
movq xmm0, qword [0x101f1150]
add eax, 0xaec
cmp byte [0x101f115b], 0
mov dword [esp + 0x10], eax
mov eax, dword [0x101f1158]
movq qword [esp + 0x3b0], xmm0
mov dword [esp + 0x3b8], eax
je 0x1010466a
xor eax, eax
mov dword [esp + 0x14], eax
cmp esi, 2
jl 0x1010463c
movaps xmm2, xmmword [0x101fadd0]
movaps xmm4, xmmword [0x101faf20]
movaps xmm1, xmm2
punpckldq xmm1, xmm2
movaps xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm4
pmuldq xmm1, xmm4
shufps xmm1, xmm0, 0xdd
mov eax, dword [0x101faf70]
psrad xmm1, 1
movaps xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmmword [0x101fae60]
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
movaps xmm2, xmmword [0x101fae10]
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
andps xmm1, xmmword [0x101faf00]
packuswb xmm1, xmm1
movd xmm0, eax
paddb xmm1, xmm0
movd xmm0, dword [0x101f1150]
xorps xmm1, xmm0
movaps xmm0, xmm2
movd dword [esp + 0x3b0], xmm1
movaps xmm1, xmm2
punpckhdq xmm0, xmm2
punpckldq xmm1, xmm2
pmuldq xmm0, xmm4
pmuldq xmm1, xmm4
shufps xmm1, xmm0, 0xdd
psrad xmm1, 1
movaps xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmmword [0x101fae60]
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
andps xmm1, xmmword [0x101faf00]
movd xmm0, eax
mov eax, 8
packuswb xmm1, xmm1
paddb xmm1, xmm0
mov dword [esp + 0x14], eax
movd xmm0, dword [esp + 0x3b4]
xorps xmm1, xmm0
movd dword [esp + 0x3b4], xmm1
mov ebx, dword [esp + 0x14]
mov eax, 0x94f2095
mov cl, bl
imul ebx
sar edx, 1
mov eax, edx
shr eax, 0x1f
add eax, edx
movsx eax, al
imul eax, eax, 0x37
sub cl, al
add cl, 0x38
xor byte [esp + ebx + 0x3b0], cl
inc ebx
cmp ebx, 0xc
jl 0x10104640
xor esi, esi
lea edx, [esp + 0x46c]
cmp byte [esp + 0x46c], 0
je 0x10104696
nop dword [eax]
mov ecx, edx
lea edi, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x10104685
sub ecx, edi
inc edx
add edx, ecx
inc esi
cmp byte [edx], al
jne 0x10104680
mov edx, dword [esp + 0x10]
lea eax, [esp + 0x46c]
push 1
push 0xffffffffffffffff
push esi
push eax
push 0x101705f0
lea ecx, [esp + 0x3c4]
call fcn.10170650
mov eax, dword [0x101f158c]
xor edx, edx
movups xmm0, xmmword [0x101f157c]
mov edi, dword [0x10228670]
mov dword [esp + 0x73c], eax
mov al, byte [0x101f1590]
mov byte [esp + 0x740], al
mov dword [esp + 0x10], edx
movups xmmword [esp + 0x72c], xmm0
cmp edi, 2
jl 0x10104830
movaps xmm0, xmmword [0x101faf70]
movaps xmm4, xmmword [0x101fadd0]
movaps xmm3, xmmword [0x101faf20]
movaps xmm5, xmmword [0x101fae60]
movaps xmmword [esp + 0x20], xmm0
mov ecx, dword [esp + 0x20]
nop dword [eax]
movd xmm0, edx
lea eax, [edx + 4]
pshufd xmm2, xmm0, 0
paddd xmm2, xmm4
movaps xmm1, xmm2
movaps xmm0, xmm2
punpckhdq xmm0, xmm2
punpckldq xmm1, xmm2
pmuldq xmm0, xmm3
pmuldq xmm1, xmm3
shufps xmm1, xmm0, 0xdd
psrad xmm1, 1
movaps xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm5
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
andps xmm1, xmmword [0x101faf00]
packuswb xmm1, xmm1
movd xmm0, ecx
paddb xmm1, xmm0
movd xmm0, dword [esp + edx + 0x72c]
xorps xmm1, xmm0
movd xmm0, eax
pshufd xmm2, xmm0, 0
movd dword [esp + edx + 0x72c], xmm1
paddd xmm2, xmm4
movaps xmm1, xmm2
movaps xmm0, xmm2
punpckhdq xmm0, xmm2
punpckldq xmm1, xmm2
pmuldq xmm0, xmm3
pmuldq xmm1, xmm3
shufps xmm1, xmm0, 0xdd
psrad xmm1, 1
movaps xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm5
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
andps xmm1, xmmword [0x101faf00]
packuswb xmm1, xmm1
movd xmm0, ecx
paddb xmm1, xmm0
movd xmm0, dword [esp + edx + 0x730]
xorps xmm1, xmm0
movd dword [esp + edx + 0x730], xmm1
add edx, 8
cmp edx, 0x10
jl 0x10104720
mov dword [esp + 0x10], edx
cmp edx, 0x15
jge 0x10104862
nop dword [eax]
mov eax, 0x94f2095
imul edx
sar edx, 1
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [esp + 0x10]
movsx eax, al
mov cl, dl
imul eax, eax, 0x37
sub cl, al
add cl, 0x38
xor byte [esp + edx + 0x72c], cl
inc edx
mov dword [esp + 0x10], edx
cmp edx, 0x15
jl 0x10104830
push 0
lea eax, [esp + 0x730]
mov dword [esp + 0x14], 0
push eax
lea eax, [esp + 0x1c]
mov dword [esp + 0x1c], 0x437a0000
push eax
lea eax, [esp + 0x1c]
mov edx, 8
push eax
mov eax, dword [0x10226ca8]
mov ecx, 0x101d250e
add eax, 0xae8
push eax
call fcn.101723d0
movups xmm0, xmmword [str.yKHTKN]
mov ax, word [0x101f1c8c]
mov word [esp + 0x5a0], ax
movups xmmword [esp + 0x590], xmm0
test ah, ah
je 0x10104a42
xor edx, edx
mov dword [esp + 0x10], edx
cmp edi, 2
jl 0x10104a10
movaps xmm0, xmmword [0x101faf70]
movaps xmm4, xmmword [0x101fadd0]
movaps xmm3, xmmword [0x101faf20]
movaps xmm5, xmmword [0x101fae60]
movaps xmmword [esp + 0x20], xmm0
mov ecx, dword [esp + 0x20]
nop dword [eax]
movd xmm0, edx
lea eax, [edx + 4]
pshufd xmm2, xmm0, 0
paddd xmm2, xmm4
movaps xmm1, xmm2
movaps xmm0, xmm2
punpckhdq xmm0, xmm2
punpckldq xmm1, xmm2
pmuldq xmm0, xmm3
pmuldq xmm1, xmm3
shufps xmm1, xmm0, 0xdd
psrad xmm1, 1
movaps xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm5
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
andps xmm1, xmmword [0x101faf00]
packuswb xmm1, xmm1
movd xmm0, ecx
paddb xmm1, xmm0
movd xmm0, dword [esp + edx + 0x590]
xorps xmm1, xmm0
movd xmm0, eax
pshufd xmm2, xmm0, 0
movd dword [esp + edx + 0x590], xmm1
paddd xmm2, xmm4
movaps xmm1, xmm2
movaps xmm0, xmm2
punpckhdq xmm0, xmm2
punpckldq xmm1, xmm2
pmuldq xmm0, xmm3
pmuldq xmm1, xmm3
shufps xmm1, xmm0, 0xdd
psrad xmm1, 1
movaps xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm5
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
andps xmm1, xmmword [0x101faf00]
packuswb xmm1, xmm1
movd xmm0, ecx
paddb xmm1, xmm0
movd xmm0, dword [esp + edx + 0x594]
xorps xmm1, xmm0
movd dword [esp + edx + 0x594], xmm1
add edx, 8
cmp edx, 0x10
jl 0x10104900
mov dword [esp + 0x10], edx
cmp edx, 0x12
jge 0x10104a42
nop dword [eax]
mov eax, 0x94f2095
imul edx
sar edx, 1
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [esp + 0x10]
movsx eax, al
mov cl, dl
imul eax, eax, 0x37
sub cl, al
add cl, 0x38
xor byte [esp + edx + 0x590], cl
inc edx
mov dword [esp + 0x10], edx
cmp edx, 0x12
jl 0x10104a10
push 0
lea eax, [esp + 0x594]
mov dword [esp + 0x14], 0
push eax
lea eax, [esp + 0x1c]
mov dword [esp + 0x1c], 0x437a0000
push eax
lea eax, [esp + 0x1c]
mov edx, 8
push eax
mov eax, dword [0x10226ca8]
mov ecx, 0x101d3ecc
add eax, 0xaf0
push eax
call fcn.101723d0
mov esi, dword [0x10450be0]
mov eax, dword [esi + 0x1bec]
cmp dword [esi + 0x1d54], eax
jne 0x10104aa4
mov dword [esi + 0x1e58], eax
mov dword [esi + 0x1e5c], 2
test dword [eax + 8], 0x1000000
je 0x10104ab4
mov byte [esi + 0x1b9e], 1
call fcn.1015cd60
mov byte [esi + 0x1b9e], 0
jmp 0x1010404e
mov eax, 8
cmp eax, ecx
cmovg ecx, eax
push ecx
mov ecx, esi
call fcn.100bf360
mov ecx, dword [esi]
mov eax, dword [esi + 8]
mov edx, dword [esp + 0x14]
push 1
push 0
mov dword [eax + ecx*4], edx
lea edx, [esp + 0x1c]
inc dword [esi]
mov ecx, 0x101ee2d4
mov dword [esp + 0x1c], 0
mov dword [esp + 0x20], 0
call fcn.1016d310
test al, al
je 0x10104b59
mov esi, dword [0x10450be0]
xor edx, edx
mov eax, dword [esi + 0x1bec]
mov ecx, dword [eax + 0xe0]
mov eax, dword [eax + 0xe8]
push dword [eax + ecx*4 - 4]
mov ecx, 0x101d250e
call fcn.101519b0
cmp dword [esi + 0x1c24], eax
jne 0x10104b41
mov dword [esi + 0x1c28], eax
cmp dword [esi + 0x1c5c], eax
jne 0x10104b50
mov byte [esi + 0x1c60], 1
xor edx, edx
mov ecx, eax
call fcn.1015e9a0
mov esi, dword [0x10450be0]
mov eax, dword [esi + 0x1d30]
cmp eax, dword [esi + 0x1d3c]
jg 0x10104b7c
mov dword [esi + 0x1c74], 0
jmp 0x10104e8f
mov eax, dword [esi + 0x1bec]
xor edx, edx
mov ecx, dword [eax + 0xe0]
mov eax, dword [eax + 0xe8]
push dword [eax + ecx*4 - 4]
mov ecx, 0x101d250e
call fcn.101519b0
cmp dword [esi + 0x1c24], eax
jne 0x10104bac
mov dword [esi + 0x1c28], eax
cmp dword [esi + 0x1c5c], eax
jne 0x10104bbb
mov byte [esi + 0x1c60], 1
mov edx, 0x141
mov ecx, eax
call fcn.1015ece0
test al, al
je 0x10104e8f
mov ax, word [0x101f0cd4]
xor ebx, ebx
movq xmm0, qword [0x101f0ccc]
mov esi, dword [0x10226ca8]
mov word [esp + 0x468], ax
mov al, byte [0x101f0cd6]
movq qword [esp + 0x460], xmm0
mov byte [esp + 0x46a], al
mov eax, 0x29e4129f
mov cl, bl
mul ebx
mov eax, ebx
sub eax, edx
shr eax, 1
add eax, edx
shr eax, 5
movsx eax, al
imul eax, eax, 0x37
sub cl, al
add cl, 0x38
xor byte [esp + ebx + 0x460], cl
inc ebx
cmp ebx, 0xb
jl 0x10104c02
xorps xmm0, xmm0
mov dword [esp + 0x48c], 0
lea ecx, [esp + 0x460]
mov dword [esp + 0x490], 0
movups xmmword [esp + 0x47c], xmm0
lea edx, [ecx + 1]
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x10104c60
sub ecx, edx
lea eax, [esp + 0x460]
push ecx
push eax
lea ecx, [esp + 0x484]
call fcn.10027a80
cmp dword [esp + 0x490], 0xf
lea eax, [esi + 0x19ab]
push 0
push 0
push 0
push 0
push eax
lea eax, [esi + 0x19af]
push eax
lea ecx, [esp + 0x494]
cmova ecx, dword [esp + 0x494]
lea edx, [esi + 0x199f]
push 0
call fcn.100bf7e0
mov ecx, dword [esp + 0x490]
cmp ecx, 0xf
jbe 0x10104cf4
mov edx, dword [esp + 0x47c]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x10104cea
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1010ad81
push ecx
push edx
call fcn.1019bd5d
add esp, 8
mov ax, word [0x101f1b84]
mov esi, dword [0x10226ca8]
movq xmm0, qword [0x101f1b7c]
add esi, 0x19b0
mov word [esp + 0x190], ax
xor ebx, ebx
mov al, byte [0x101f1b86]
mov byte [esp + 0x192], al
movq qword [esp + 0x188], xmm0
mov byte [esp + 0x47c], 0
mov dword [esp + 0x490], 0xf
mov dword [esp + 0x48c], 0
nop dword [eax + eax]
mov eax, 0x29e4129f
mov cl, bl
mul ebx
mov eax, ebx
sub eax, edx
shr eax, 1
add eax, edx
shr eax, 5
movsx eax, al
imul eax, eax, 0x37
sub cl, al
add cl, 0x38
xor byte [esp + ebx + 0x188], cl
inc ebx
cmp ebx, 0xb
jl 0x10104d50
xorps xmm0, xmm0
mov dword [esp + 0x690], 0
lea ecx, [esp + 0x188]
mov dword [esp + 0x694], 0
movups xmmword [esp + 0x680], xmm0
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x10104da7
sub ecx, edx
lea eax, [esp + 0x188]
push ecx
push eax
lea ecx, [esp + 0x688]
call fcn.10027a80
cmp dword [esp + 0x694], 0xf
lea eax, [esi + 0xc]
push 0
push 0
push 0
push 0
push eax
lea eax, [esi + 0x10]
mov edx, esi
push eax
lea ecx, [esp + 0x698]
cmova ecx, dword [esp + 0x698]
push 0
call fcn.100bf7e0
mov ecx, dword [esp + 0x694]
cmp ecx, 0xf
jbe 0x10104e31
mov edx, dword [esp + 0x680]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x10104e27
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1010ad81
push ecx
push edx
call fcn.1019bd5d
add esp, 8
mov esi, dword [0x10450be0]
mov dword [esp + 0x690], 0
mov dword [esp + 0x694], 0xf
mov byte [esp + 0x680], 0
mov eax, dword [esi + 0x1bec]
cmp dword [esi + 0x1d54], eax
jne 0x10104e73
mov dword [esi + 0x1e58], eax
mov dword [esi + 0x1e5c], 2
test dword [eax + 8], 0x1000000
je 0x10104e83
mov byte [esi + 0x1b9e], 1
call fcn.1015cd60
mov byte [esi + 0x1b9e], 0
mov eax, dword [0x10450be0]
mov eax, dword [eax + 0x1bec]
dec dword [eax + 0xe0]
mov ax, word [0x101f05a8]
mov word [esp + 0x3c], ax
test ah, ah
je 0x10104eda
xor ebx, ebx
mov eax, 0x29e4129f
mov cl, bl
mul ebx
mov eax, ebx
sub eax, edx
shr eax, 1
add eax, edx
shr eax, 5
movsx eax, al
imul eax, eax, 0x37
sub cl, al
add cl, 0x38
xor byte [esp + ebx + 0x3c], cl
inc ebx
cmp ebx, 2
jl 0x10104eb1
lea eax, [esp + 0x3c]
push eax
call fcn.1016cb90
mov al, byte [0x101f045c]
add esp, 4
movq xmm0, qword [0x101f0454]
xor ebx, ebx
mov byte [esp + 0x280], al
movq qword [esp + 0x278], xmm0
mov eax, 0x29e4129f
mov cl, bl
mul ebx
mov eax, ebx
sub eax, edx
shr eax, 1
add eax, edx
shr eax, 5
movsx eax, al
imul eax, eax, 0x37
sub cl, al
add cl, 0x38
xor byte [esp + ebx + 0x278], cl
inc ebx
cmp ebx, 9
jl 0x10104f06
lea eax, [esp + 0x278]
push eax
call fcn.1016cb90
mov esi, dword [0x10226ca8]
add esp, 4
mov ecx, dword [str.U_UHY_oQSWY]
add esi, 0x33d8
cmp byte [0x101f16c3], 0
mov edx, dword [0x101f16c0]
mov dword [esp + 0xf8], ecx
mov dword [esp + 0xfc], edx
je 0x101050aa
xor ebx, ebx
cmp dword [0x10228670], 2
jl 0x10105080
movaps xmm2, xmmword [0x101fadd0]
movaps xmm4, xmmword [0x101faf20]
movaps xmm1, xmm2
punpckldq xmm1, xmm2
movaps xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm4
pmuldq xmm1, xmm4
shufps xmm1, xmm0, 0xdd
psrad xmm1, 1
mov eax, dword [0x101faf70]
movaps xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmmword [0x101fae60]
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
movaps xmm2, xmmword [0x101fae10]
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
andps xmm1, xmmword [0x101faf00]
packuswb xmm1, xmm1
movd xmm0, eax
paddb xmm1, xmm0
movd xmm0, ecx
xorps xmm1, xmm0
movaps xmm0, xmm2
movd dword [esp + 0xf8], xmm1
movaps xmm1, xmm2
punpckhdq xmm0, xmm2
punpckldq xmm1, xmm2
pmuldq xmm0, xmm4
pmuldq xmm1, xmm4
shufps xmm1, xmm0, 0xdd
psrad xmm1, 1
movaps xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmmword [0x101fae60]
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
andps xmm1, xmmword [0x101faf00]
packuswb xmm1, xmm1
movd xmm0, eax
paddb xmm1, xmm0
movd xmm0, edx
xorps xmm1, xmm0
movd dword [esp + 0xfc], xmm1
jmp 0x101050aa
mov eax, 0x94f2095
mov cl, bl
imul ebx
sar edx, 1
mov eax, edx
shr eax, 0x1f
add eax, edx
movsx eax, al
imul eax, eax, 0x37
sub cl, al
add cl, 0x38
xor byte [esp + ebx + 0xf8], cl
inc ebx
cmp ebx, 8
jl 0x10105080
mov edx, esi
lea ecx, [esp + 0xf8]
call fcn.1016ebb0
mov esi, dword [0x10226ca8]
movq xmm0, qword [str.sPVW]
add esi, 0x35a7
mov al, byte [0x101f1758]
xor edx, edx
movq qword [esp + 0x128], xmm0
mov byte [esp + 0x130], al
mov dword [esp + 0x10], edx
nop word [eax + eax]
mov eax, 0x29e4129f
mul edx
mov eax, dword [esp + 0x10]
sub eax, edx
shr eax, 1
add eax, edx
mov edx, dword [esp + 0x10]
shr eax, 5
mov cl, dl
movsx eax, al
imul eax, eax, 0x37
sub cl, al
add cl, 0x38
xor byte [esp + edx + 0x128], cl
inc edx
mov dword [esp + 0x10], edx
cmp edx, 9
jl 0x101050f0
mov edx, esi
lea ecx, [esp + 0x128]
call fcn.1016ebb0
mov ax, word [0x101f0f84]
movq xmm0, qword [str.VUI]
mov esi, dword [0x10226ca8]
movq qword [esp + 0x5d0], xmm0
mov word [esp + 0x5d8], ax
test ah, ah
je 0x1010518c
xor ebx, ebx
nop
mov eax, 0x29e4129f
mov cl, bl
mul ebx
mov eax, ebx
sub eax, edx
shr eax, 1
add eax, edx
shr eax, 5
movsx eax, al
imul eax, eax, 0x37
sub cl, al
add cl, 0x38
xor byte [esp + ebx + 0x5d0], cl
inc ebx
cmp ebx, 0xa
jl 0x10105160
lea edx, [esi + 0x33d9]
lea ecx, [esp + 0x5d0]
call fcn.1016ebb0
mov edx, dword [0x10226ca8]
mov ecx, str.Fast_plant
lea edx, [edx + 0x35ac]
call fcn.1016ebb0
mov esi, dword [0x10450be0]
mov eax, dword [esi + 0x1bec]
mov byte [eax + 0xa8], 1
mov edx, dword [esi + 0x1bec]
cmp byte [edx + 0xab], 0
jne 0x1010521e
movss xmm0, dword [esi + 0x15a8]
addss xmm0, dword [edx + 0xf4]
movss dword [edx + 0xec], xmm0
mov eax, dword [edx + 0xf8]
mov dword [edx + 0xf0], eax
mov eax, dword [edx + 0x11c]
mov ecx, dword [edx + 0x120]
mov dword [edx + 0x114], eax
mov dword [edx + 0x118], ecx
mov eax, dword [edx + 0x128]
mov dword [edx + 0x124], eax
mov esi, dword [esi + 0x1bec]
xor edx, edx
add esi, 0xe0
mov ecx, dword [esi]
mov eax, dword [esi + 8]
push dword [eax + ecx*4 - 4]
mov ecx, str.Door_spam_Key
call fcn.101519b0
mov edi, dword [esi + 4]
mov ecx, dword [esi]
mov dword [esp + 0x14], eax
cmp ecx, edi
jne 0x1010526e
inc ecx
test edi, edi
je 0x1010525c
mov eax, edi
cdq
sub eax, edx
sar eax, 1
add eax, edi
jmp 0x10105261
mov eax, 8
cmp eax, ecx
cmovg ecx, eax
push ecx
mov ecx, esi
call fcn.100bf360
mov ecx, dword [esi]
mov eax, dword [esi + 8]
mov edx, dword [esp + 0x14]
push ecx
mov dword [esp + 0x18], 0x42c80000
mov dword [eax + ecx*4], edx
lea eax, [esp + 0x18]
inc dword [esi]
mov ecx, 0x101d250e
mov edx, dword [0x10226ca8]
push eax
mov dword [esp + 0x20], 0
lea edx, [edx + 0x33dc]
call fcn.100c11c0
mov eax, dword [0x10450be0]
mov eax, dword [eax + 0x1bec]
dec dword [eax + 0xe0]
mov eax, dword [0x101f0bfc]
movq xmm0, qword [str.vXW]
mov esi, dword [0x10226ca8]
mov dword [esp + 0x340], eax
mov al, byte [0x101f0c00]
mov byte [esp + 0x344], al
xor eax, eax
cmp dword [0x10228670], 2
movq qword [esp + 0x338], xmm0
mov dword [esp + 0x14], eax
jl 0x101053ff
movaps xmm2, xmmword [0x101fadd0]
movaps xmm4, xmmword [0x101faf20]
movaps xmm1, xmm2
punpckldq xmm1, xmm2
movaps xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm4
pmuldq xmm1, xmm4
shufps xmm1, xmm0, 0xdd
mov eax, dword [0x101faf70]
psrad xmm1, 1
movaps xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmmword [0x101fae60]
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
movaps xmm2, xmmword [0x101fae10]
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
andps xmm1, xmmword [0x101faf00]
packuswb xmm1, xmm1
movd xmm0, eax
paddb xmm1, xmm0
movd xmm0, dword [str.vXW]
xorps xmm1, xmm0
movaps xmm0, xmm2
movd dword [esp + 0x338], xmm1
movaps xmm1, xmm2
punpckhdq xmm0, xmm2
punpckldq xmm1, xmm2
pmuldq xmm0, xmm4
pmuldq xmm1, xmm4
shufps xmm1, xmm0, 0xdd
psrad xmm1, 1
movaps xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmmword [0x101fae60]
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
andps xmm1, xmmword [0x101faf00]
movd xmm0, eax
mov eax, 8
packuswb xmm1, xmm1
paddb xmm1, xmm0
mov dword [esp + 0x14], eax
movd xmm0, dword [esp + 0x33c]
xorps xmm1, xmm0
movd dword [esp + 0x33c], xmm1
mov ebx, dword [esp + 0x14]
mov eax, 0x94f2095
mov cl, bl
imul ebx
sar edx, 1
mov eax, edx
shr eax, 0x1f
add eax, edx
movsx eax, al
imul eax, eax, 0x37
sub cl, al
add cl, 0x38
xor byte [esp + ebx + 0x338], cl
inc ebx
cmp ebx, 0xd
jl 0x10105403
lea edx, [esi + 0x35a5]
lea ecx, [esp + 0x338]
call fcn.1016ebb0
call fcn.100cb1c0
mov eax, dword [0x10450be0]
mov dword [esp + 0x10], eax
mov eax, dword [eax + 0x1bec]
mov edi, dword [eax + 0x1fc]
lea esi, [eax + 0x1f8]
mov ecx, dword [esi]
mov dword [esp + 0x14], eax
cmp ecx, edi
jne 0x1010548f
inc ecx
test edi, edi
je 0x10105479
mov eax, edi
cdq
sub eax, edx
sar eax, 1
add eax, edi
jmp 0x1010547e
mov eax, 8
cmp eax, ecx
cmovg ecx, eax
push ecx
mov ecx, esi
call fcn.100bf360
mov eax, dword [esp + 0x14]
mov edx, dword [esi]
mov ecx, dword [esi + 8]
mov eax, dword [eax + 0x1f0]
mov dword [ecx + edx*4], eax
inc dword [esi]
mov eax, dword [esp + 0x14]
mov dword [eax + 0x1f0], 0x435c0000
mov eax, dword [esp + 0x10]
and dword [eax + 0x1cd4], 0xfffffffe
mov eax, dword [0x101f1830]
movq xmm0, qword [0x101f1828]
mov esi, dword [0x10226ca8]
mov dword [esp + 0x350], eax
mov al, byte [0x101f1834]
mov byte [esp + 0x354], al
xor eax, eax
cmp dword [0x10228670], 2
movq qword [esp + 0x348], xmm0
mov dword [esp + 0x14], eax
jl 0x101055fe
movaps xmm2, xmmword [0x101fadd0]
movaps xmm4, xmmword [0x101faf20]
movaps xmm1, xmm2
punpckldq xmm1, xmm2
movaps xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm4
pmuldq xmm1, xmm4
shufps xmm1, xmm0, 0xdd
mov eax, dword [0x101faf70]
psrad xmm1, 1
movaps xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmmword [0x101fae60]
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
movaps xmm2, xmmword [0x101fae10]
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
andps xmm1, xmmword [0x101faf00]
packuswb xmm1, xmm1
movd xmm0, eax
paddb xmm1, xmm0
movd xmm0, dword [0x101f1828]
xorps xmm1, xmm0
movaps xmm0, xmm2
movd dword [esp + 0x348], xmm1
movaps xmm1, xmm2
punpckhdq xmm0, xmm2
punpckldq xmm1, xmm2
pmuldq xmm0, xmm4
pmuldq xmm1, xmm4
shufps xmm1, xmm0, 0xdd
psrad xmm1, 1
movaps xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmmword [0x101fae60]
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
andps xmm1, xmmword [0x101faf00]
movd xmm0, eax
mov eax, 8
packuswb xmm1, xmm1
paddb xmm1, xmm0
mov dword [esp + 0x14], eax
movd xmm0, dword [esp + 0x34c]
xorps xmm1, xmm0
movd dword [esp + 0x34c], xmm1
mov ebx, dword [esp + 0x14]
mov eax, 0x94f2095
mov cl, bl
imul ebx
sar edx, 1
mov eax, edx
shr eax, 0x1f
add eax, edx
movsx eax, al
imul eax, eax, 0x37
sub cl, al
add cl, 0x38
xor byte [esp + ebx + 0x348], cl
inc ebx
cmp ebx, 0xd
jl 0x10105602
lea edx, [esi + 0xf00]
lea ecx, [esp + 0x348]
call fcn.1016ebb0
mov eax, dword [0x10226ca8]
cmp byte [eax + 0xf00], 0
je 0x101056df
lea esi, [eax + 0xf04]
xor ebx, ebx
mov eax, dword [0x101f0ba0]
mov dword [esp + 0x1d4], eax
mov ax, word [0x101f0ba4]
mov word [esp + 0x1d8], ax
mov al, byte [0x101f0ba6]
mov byte [esp + 0x1da], al
nop
mov eax, 0x29e4129f
mov cl, bl
mul ebx
mov eax, ebx
sub eax, edx
shr eax, 1
add eax, edx
shr eax, 5
movsx eax, al
imul eax, eax, 0x37
sub cl, al
add cl, 0x38
xor byte [esp + ebx + 0x1d4], cl
inc ebx
cmp ebx, 7
jl 0x10105680
push 0
push str._d_ms
lea eax, [esp + 0x1c]
mov dword [esp + 0x1c], 0x384
push eax
lea eax, [esp + 0x1c]
mov dword [esp + 0x1c], 1
push eax
push esi
mov edx, 4
lea ecx, [esp + 0x1e8]
call fcn.101723d0
mov edi, dword [0x10450be0]
mov eax, dword [edi + 0x1bec]
mov byte [eax + 0xa8], 1
mov edx, dword [edi + 0x1bec]
mov ecx, dword [edx + 0x1f8]
mov eax, dword [edx + 0x200]
mov eax, dword [eax + ecx*4 - 4]
mov dword [edx + 0x1f0], eax
lea eax, [ecx - 1]
mov dword [edx + 0x1f8], eax
mov eax, dword [edi + 0x1bec]
mov ecx, dword [eax + 0x1f8]
lea esi, [eax + 0x1f8]
mov dword [esp + 0x14], eax
mov eax, dword [esi + 4]
cmp ecx, eax
jne 0x10105755
inc ecx
test eax, eax
je 0x10105743
cdq
sub eax, edx
sar eax, 1
add eax, dword [esi + 4]
jmp 0x10105748
mov eax, 8
cmp eax, ecx
cmovg ecx, eax
push ecx
mov ecx, esi
call fcn.100bf360
mov edx, dword [esi]
mov ecx, dword [esi + 8]
mov eax, dword [esp + 0x14]
mov eax, dword [eax + 0x1f0]
mov dword [ecx + edx*4], eax
inc dword [esi]
mov eax, dword [esp + 0x14]
mov dword [eax + 0x1f0], 0x42f00000
and dword [edi + 0x1cd4], 0xfffffffe
mov eax, dword [0x101f159c]
movq xmm0, qword [str.yWNR]
mov esi, dword [0x10226ca8]
mov dword [esp + 0x2f0], eax
mov ax, word [0x101f15a0]
movq qword [esp + 0x2e8], xmm0
mov word [esp + 0x2f4], ax
test ah, ah
je 0x101058fc
xor eax, eax
cmp dword [0x10228670], 2
mov dword [esp + 0x14], eax
jl 0x101058ce
movaps xmm2, xmmword [0x101fadd0]
movaps xmm4, xmmword [0x101faf20]
movaps xmm1, xmm2
punpckldq xmm1, xmm2
movaps xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm4
pmuldq xmm1, xmm4
shufps xmm1, xmm0, 0xdd
mov eax, dword [0x101faf70]
psrad xmm1, 1
movaps xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmmword [0x101fae60]
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
movaps xmm2, xmmword [0x101fae10]
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
andps xmm1, xmmword [0x101faf00]
packuswb xmm1, xmm1
movd xmm0, eax
paddb xmm1, xmm0
movd xmm0, dword [str.yWNR]
xorps xmm1, xmm0
movaps xmm0, xmm2
movd dword [esp + 0x2e8], xmm1
movaps xmm1, xmm2
punpckhdq xmm0, xmm2
punpckldq xmm1, xmm2
pmuldq xmm0, xmm4
pmuldq xmm1, xmm4
shufps xmm1, xmm0, 0xdd
psrad xmm1, 1
movaps xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmmword [0x101fae60]
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
andps xmm1, xmmword [0x101faf00]
movd xmm0, eax
mov eax, 8
packuswb xmm1, xmm1
paddb xmm1, xmm0
mov dword [esp + 0x14], eax
movd xmm0, dword [esp + 0x2ec]
xorps xmm1, xmm0
movd dword [esp + 0x2ec], xmm1
mov ebx, dword [esp + 0x14]
mov eax, 0x94f2095
mov cl, bl
imul ebx
sar edx, 1
mov eax, edx
shr eax, 0x1f
add eax, edx
movsx eax, al
imul eax, eax, 0x37
sub cl, al
add cl, 0x38
xor byte [esp + ebx + 0x2e8], cl
inc ebx
cmp ebx, 0xe
jl 0x101058d2
lea edx, [esi + 0x3370]
lea ecx, [esp + 0x2e8]
call fcn.1016ebb0
movups xmm0, xmmword [str.hK_K_O_]
mov esi, dword [0x10226ca8]
xor edx, edx
mov al, byte [0x101f04a8]
add esi, 0x35ad
cmp dword [0x10228670], 2
mov byte [esp + 0x42c], al
movups xmmword [esp + 0x41c], xmm0
mov dword [esp + 0x10], edx
jl 0x10105a80
movaps xmm0, xmmword [0x101faf70]
movaps xmm4, xmmword [0x101fadd0]
movaps xmm3, xmmword [0x101faf20]
movaps xmm5, xmmword [0x101fae60]
movaps xmmword [esp + 0x20], xmm0
mov ecx, dword [esp + 0x20]
nop dword [eax]
movd xmm0, edx
lea eax, [edx + 4]
pshufd xmm2, xmm0, 0
paddd xmm2, xmm4
movaps xmm1, xmm2
movaps xmm0, xmm2
punpckhdq xmm0, xmm2
punpckldq xmm1, xmm2
pmuldq xmm0, xmm3
pmuldq xmm1, xmm3
shufps xmm1, xmm0, 0xdd
psrad xmm1, 1
movaps xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm5
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
andps xmm1, xmmword [0x101faf00]
packuswb xmm1, xmm1
movd xmm0, ecx
paddb xmm1, xmm0
movd xmm0, dword [esp + edx + 0x41c]
xorps xmm1, xmm0
movd xmm0, eax
pshufd xmm2, xmm0, 0
movd dword [esp + edx + 0x41c], xmm1
paddd xmm2, xmm4
movaps xmm1, xmm2
movaps xmm0, xmm2
punpckhdq xmm0, xmm2
punpckldq xmm1, xmm2
pmuldq xmm0, xmm3
pmuldq xmm1, xmm3
shufps xmm1, xmm0, 0xdd
psrad xmm1, 1
movaps xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm5
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
andps xmm1, xmmword [0x101faf00]
packuswb xmm1, xmm1
movd xmm0, ecx
paddb xmm1, xmm0
movd xmm0, dword [esp + edx + 0x420]
xorps xmm1, xmm0
movd dword [esp + edx + 0x420], xmm1
add edx, 8
cmp edx, 0x10
jl 0x10105970
mov dword [esp + 0x10], edx
cmp edx, 0x11
jge 0x10105ab2
nop dword [eax]
mov eax, 0x94f2095
imul edx
sar edx, 1
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [esp + 0x10]
movsx eax, al
mov cl, dl
imul eax, eax, 0x37
sub cl, al
add cl, 0x38
xor byte [esp + edx + 0x41c], cl
inc edx
mov dword [esp + 0x10], edx
cmp edx, 0x11
jl 0x10105a80
mov edx, esi
lea ecx, [esp + 0x41c]
call fcn.1016ebb0
mov esi, dword [0x10450be0]
mov eax, dword [esi + 0x1bec]
mov byte [eax + 0xa8], 1
mov edx, dword [esi + 0x1bec]
cmp byte [edx + 0xab], 0
jne 0x10105b2a
movss xmm0, dword [esi + 0x15a8]
addss xmm0, dword [edx + 0xf4]
movss dword [edx + 0xec], xmm0
mov eax, dword [edx + 0xf8]
mov dword [edx + 0xf0], eax
mov eax, dword [edx + 0x11c]
mov ecx, dword [edx + 0x120]
mov dword [edx + 0x114], eax
mov dword [edx + 0x118], ecx
mov eax, dword [edx + 0x128]
mov dword [edx + 0x124], eax
mov esi, dword [esi + 0x1bec]
xor edx, edx
add esi, 0xe0
mov ecx, dword [esi]
mov eax, dword [esi + 8]
push dword [eax + ecx*4 - 4]
mov ecx, str.Prepare_revolver_Key
call fcn.101519b0
mov edi, dword [esi + 4]
mov ecx, dword [esi]
mov dword [esp + 0x14], eax
cmp ecx, edi
jne 0x10105b7a
inc ecx
test edi, edi
je 0x10105b68
mov eax, edi
cdq
sub eax, edx
sar eax, 1
add eax, edi
jmp 0x10105b6d
mov eax, 8
cmp eax, ecx
cmovg ecx, eax
push ecx
mov ecx, esi
call fcn.100bf360
mov ecx, dword [esi]
mov eax, dword [esi + 8]
mov edx, dword [esp + 0x14]
push ecx
mov dword [esp + 0x18], 0x42c80000
mov dword [eax + ecx*4], edx
lea eax, [esp + 0x18]
inc dword [esi]
mov ecx, 0x101d250e
mov edx, dword [0x10226ca8]
push eax
mov dword [esp + 0x20], 0
lea edx, [edx + 0x36c0]
call fcn.100c11c0
mov eax, dword [0x10450be0]
mov eax, dword [eax + 0x1bec]
dec dword [eax + 0xe0]
cmp byte [0x101f0343], 0
movq xmm0, qword [0x101f0338]
mov eax, dword [0x101f0340]
mov esi, dword [0x10226ca8]
mov edi, dword [0x10228670]
movq qword [esp + 0x37c], xmm0
mov dword [esp + 0x384], eax
je 0x10105d3c
xor eax, eax
mov dword [esp + 0x14], eax
cmp edi, 2
jl 0x10105d0e
movaps xmm2, xmmword [0x101fadd0]
movaps xmm4, xmmword [0x101faf20]
movaps xmm1, xmm2
punpckldq xmm1, xmm2
movaps xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm4
pmuldq xmm1, xmm4
shufps xmm1, xmm0, 0xdd
mov eax, dword [0x101faf70]
psrad xmm1, 1
movaps xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmmword [0x101fae60]
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
movaps xmm2, xmmword [0x101fae10]
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
andps xmm1, xmmword [0x101faf00]
packuswb xmm1, xmm1
movd xmm0, eax
paddb xmm1, xmm0
movd xmm0, dword [0x101f0338]
xorps xmm1, xmm0
movaps xmm0, xmm2
movd dword [esp + 0x37c], xmm1
movaps xmm1, xmm2
punpckhdq xmm0, xmm2
punpckldq xmm1, xmm2
pmuldq xmm0, xmm4
pmuldq xmm1, xmm4
shufps xmm1, xmm0, 0xdd
psrad xmm1, 1
movaps xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmmword [0x101fae60]
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
andps xmm1, xmmword [0x101faf00]
movd xmm0, eax
mov eax, 8
packuswb xmm1, xmm1
paddb xmm1, xmm0
mov dword [esp + 0x14], eax
movd xmm0, dword [esp + 0x380]
xorps xmm1, xmm0
movd dword [esp + 0x380], xmm1
mov ebx, dword [esp + 0x14]
mov eax, 0x94f2095
mov cl, bl
imul ebx
sar edx, 1
mov eax, edx
shr eax, 0x1f
add eax, edx
movsx eax, al
imul eax, eax, 0x37
sub cl, al
add cl, 0x38
xor byte [esp + ebx + 0x37c], cl
inc ebx
cmp ebx, 0xc
jl 0x10105d12
lea edx, [esi + 0x359c]
lea ecx, [esp + 0x37c]
call fcn.1016ebb0
mov ecx, dword [0x10450be0]
mov eax, dword [ecx + 0x1bec]
mov byte [eax + 0xa8], 1
mov edx, dword [ecx + 0x1bec]
cmp byte [edx + 0xab], 0
jne 0x10105db8
movss xmm0, dword [ecx + 0x15a8]
addss xmm0, dword [edx + 0xf4]
movss dword [edx + 0xec], xmm0
mov eax, dword [edx + 0xf8]
mov dword [edx + 0xf0], eax
mov eax, dword [edx + 0x11c]
mov ecx, dword [edx + 0x120]
mov dword [edx + 0x114], eax
mov dword [edx + 0x118], ecx
mov eax, dword [edx + 0x128]
mov dword [edx + 0x124], eax
cmp byte [0x101f0233], 0
movq xmm0, qword [0x101f0228]
mov eax, dword [0x101f0230]
mov esi, dword [0x10226ca8]
movq qword [esp + 0x394], xmm0
mov dword [esp + 0x39c], eax
je 0x10105f2a
xor eax, eax
mov dword [esp + 0x14], eax
cmp edi, 2
jl 0x10105efb
movaps xmm2, xmmword [0x101fadd0]
movaps xmm4, xmmword [0x101faf20]
movaps xmm1, xmm2
punpckldq xmm1, xmm2
movaps xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm4
pmuldq xmm1, xmm4
shufps xmm1, xmm0, 0xdd
mov eax, dword [0x101faf70]
psrad xmm1, 1
movaps xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmmword [0x101fae60]
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
movaps xmm2, xmmword [0x101fae10]
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
andps xmm1, xmmword [0x101faf00]
packuswb xmm1, xmm1
movd xmm0, eax
paddb xmm1, xmm0
movd xmm0, dword [0x101f0228]
xorps xmm1, xmm0
movaps xmm0, xmm2
movd dword [esp + 0x394], xmm1
movaps xmm1, xmm2
punpckhdq xmm0, xmm2
punpckldq xmm1, xmm2
pmuldq xmm0, xmm4
pmuldq xmm1, xmm4
shufps xmm1, xmm0, 0xdd
psrad xmm1, 1
movaps xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmmword [0x101fae60]
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
andps xmm1, xmmword [0x101faf00]
movd xmm0, eax
mov eax, 8
packuswb xmm1, xmm1
paddb xmm1, xmm0
mov dword [esp + 0x14], eax
movd xmm0, dword [esp + 0x398]
xorps xmm1, xmm0
movd dword [esp + 0x398], xmm1
mov ebx, dword [esp + 0x14]
nop
mov eax, 0x94f2095
mov cl, bl
imul ebx
sar edx, 1
mov eax, edx
shr eax, 0x1f
add eax, edx
movsx eax, al
imul eax, eax, 0x37
sub cl, al
add cl, 0x38
xor byte [esp + ebx + 0x394], cl
inc ebx
cmp ebx, 0xc
jl 0x10105f00
lea edx, [esi + 0x359e]
lea ecx, [esp + 0x394]
call fcn.1016ebb0
mov eax, dword [0x10450be0]
xor edx, edx
mov dword [esp + 0x10], edx
mov eax, dword [eax + 0x1bec]
dec dword [eax + 0xe0]
mov eax, dword [0x101f14f0]
mov dword [esp + 0x9f0], eax
mov ax, word [0x101f14f4]
mov word [esp + 0x9f4], ax
movups xmm0, xmmword [str.vVT_p__52m1_G]
movups xmmword [esp + 0x9b0], xmm0
movups xmm0, xmmword [0x101f14c0]
movups xmmword [esp + 0x9c0], xmm0
movups xmm0, xmmword [0x101f14d0]
movups xmmword [esp + 0x9d0], xmm0
movups xmm0, xmmword [0x101f14e0]
movups xmmword [esp + 0x9e0], xmm0
cmp edi, 2
jl 0x101060f0
movaps xmm0, xmmword [0x101faf70]
movaps xmm4, xmmword [0x101fadd0]
movaps xmm3, xmmword [0x101faf20]
movaps xmm5, xmmword [0x101fae60]
movaps xmmword [esp + 0x20], xmm0
mov ecx, dword [esp + 0x20]
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, 1
movaps xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm5
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
andps xmm1, xmmword [0x101faf00]
packuswb xmm1, xmm1
movd xmm0, ecx
paddb xmm1, xmm0
movd xmm0, dword [esp + edx + 0x9b0]
xorps xmm1, xmm0
movd xmm0, eax
pshufd xmm2, xmm0, 0
movd dword [esp + edx + 0x9b0], xmm1
paddd xmm2, xmm4
movaps xmm1, xmm2
movaps xmm0, xmm2
punpckhdq xmm0, xmm2
punpckldq xmm1, xmm2
pmuldq xmm0, xmm3
pmuldq xmm1, xmm3
shufps xmm1, xmm0, 0xdd
psrad xmm1, 1
movaps xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm5
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
andps xmm1, xmmword [0x101faf00]
packuswb xmm1, xmm1
movd xmm0, ecx
paddb xmm1, xmm0
movd xmm0, dword [esp + edx + 0x9b4]
xorps xmm1, xmm0
movd dword [esp + edx + 0x9b4], xmm1
add edx, 8
cmp edx, 0x40
jl 0x10105fe0
mov dword [esp + 0x10], edx
cmp edx, 0x46
jge 0x10106122
nop dword [eax]
mov eax, 0x94f2095
imul edx
sar edx, 1
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [esp + 0x10]
movsx eax, al
mov cl, dl
imul eax, eax, 0x37
sub cl, al
add cl, 0x38
xor byte [esp + edx + 0x9b0], cl
inc edx
mov dword [esp + 0x10], edx
cmp edx, 0x46
jl 0x101060f0
mov eax, dword [0x10226ca8]
movq xmm0, qword [0x101f1ab8]
add eax, 0x36e4
mov dword [esp + 0x10], eax
mov ax, word [0x101f1ac0]
movq qword [esp + 0x4e8], xmm0
mov word [esp + 0x4f0], ax
test ah, ah
je 0x10106181
xor ebx, ebx
mov eax, 0x29e4129f
mov cl, bl
mul ebx
mov eax, ebx
sub eax, edx
shr eax, 1
add eax, edx
shr eax, 5
movsx eax, al
imul eax, eax, 0x37
sub cl, al
add cl, 0x38
xor byte [esp + ebx + 0x4e8], cl
inc ebx
cmp ebx, 0xa
jl 0x10106155
xorps xmm0, xmm0
mov dword [esp + 0x6a8], 0
lea ecx, [esp + 0x4e8]
mov dword [esp + 0x6ac], 0
movups xmmword [esp + 0x698], xmm0
lea edx, [ecx + 1]
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x101061b0
sub ecx, edx
lea eax, [esp + 0x4e8]
push ecx
push eax
lea ecx, [esp + 0x6a0]
call fcn.10027a80
cmp dword [esp + 0x6ac], 0xf
lea eax, [esp + 0x698]
lea edx, [esp + 0x9b0]
cmova eax, dword [esp + 0x698]
xor esi, esi
cmp byte [esp + 0x9b0], 0
mov dword [esp + 0x14], eax
je 0x10106220
nop dword [eax]
mov ecx, edx
lea edi, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x10106205
sub ecx, edi
inc edx
add edx, ecx
inc esi
cmp byte [edx], al
jne 0x10106200
mov eax, dword [esp + 0x14]
mov edi, dword [0x10228670]
mov edx, dword [esp + 0x10]
lea ecx, [esp + 0x9b0]
push 1
push 0xffffffffffffffff
push esi
push ecx
push 0x101705f0
mov ecx, eax
call fcn.10170650
mov ecx, dword [esp + 0x6ac]
cmp ecx, 0xf
jbe 0x10106279
mov edx, dword [esp + 0x698]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x1010626f
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1010ad81
push ecx
push edx
call fcn.1019bd5d
add esp, 8
mov eax, dword [0x10226ca8]
mov dword [esp + 0x6a8], 0
mov dword [esp + 0x6ac], 0xf
mov byte [esp + 0x698], 0
cmp dword [eax + 0x36e4], 9
jne 0x101068e8
movups xmm0, xmmword [str.pPNeoRKQ_a______J]
lea esi, [eax + 0x3708]
xor edx, edx
mov ax, word [0x101f0094]
mov word [esp + 0x504], ax
mov al, byte [0x101f0096]
mov byte [esp + 0x506], al
mov dword [esp + 0x10], edx
movups xmmword [esp + 0x4f4], xmm0
cmp edi, 2
jl 0x10106420
movaps xmm0, xmmword [0x101faf70]
movaps xmm4, xmmword [0x101fadd0]
movaps xmm3, xmmword [0x101faf20]
movaps xmm5, xmmword [0x101fae60]
movaps xmmword [esp + 0x20], xmm0
mov ecx, dword [esp + 0x20]
nop dword [eax]
movd xmm0, edx
lea eax, [edx + 4]
pshufd xmm2, xmm0, 0
paddd xmm2, xmm4
movaps xmm1, xmm2
movaps xmm0, xmm2
punpckhdq xmm0, xmm2
punpckldq xmm1, xmm2
pmuldq xmm0, xmm3
pmuldq xmm1, xmm3
shufps xmm1, xmm0, 0xdd
psrad xmm1, 1
movaps xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm5
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
andps xmm1, xmmword [0x101faf00]
packuswb xmm1, xmm1
movd xmm0, ecx
paddb xmm1, xmm0
movd xmm0, dword [esp + edx + 0x4f4]
xorps xmm1, xmm0
movd xmm0, eax
pshufd xmm2, xmm0, 0
movd dword [esp + edx + 0x4f4], xmm1
paddd xmm2, xmm4
movaps xmm1, xmm2
movaps xmm0, xmm2
punpckhdq xmm0, xmm2
punpckldq xmm1, xmm2
pmuldq xmm0, xmm3
pmuldq xmm1, xmm3
shufps xmm1, xmm0, 0xdd
psrad xmm1, 1
movaps xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm5
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
andps xmm1, xmmword [0x101faf00]
packuswb xmm1, xmm1
movd xmm0, ecx
paddb xmm1, xmm0
movd xmm0, dword [esp + edx + 0x4f8]
xorps xmm1, xmm0
movd dword [esp + edx + 0x4f8], xmm1
add edx, 8
cmp edx, 0x10
jl 0x10106310
mov dword [esp + 0x10], edx
cmp edx, 0x13
jge 0x10106452
nop dword [eax]
mov eax, 0x94f2095
imul edx
sar edx, 1
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [esp + 0x10]
movsx eax, al
mov cl, dl
imul eax, eax, 0x37
sub cl, al
add cl, 0x38
xor byte [esp + edx + 0x4f4], cl
inc edx
mov dword [esp + 0x10], edx
cmp edx, 0x13
jl 0x10106420
xorps xmm0, xmm0
mov dword [esp + 0x6c0], 0
lea ecx, [esp + 0x4f4]
mov dword [esp + 0x6c4], 0
movups xmmword [esp + 0x6b0], xmm0
lea edx, [ecx + 1]
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x10106480
sub ecx, edx
lea eax, [esp + 0x4f4]
push ecx
push eax
lea ecx, [esp + 0x6b8]
call fcn.10027a80
cmp dword [esp + 0x6c4], 0xf
lea ecx, [esp + 0x6b0]
mov dword [esp + 0xe0], esi
cmova ecx, dword [esp + 0x6b0]
mov dword [esp + 0xe4], 0
mov dword [esp + 0xe8], 0
mov eax, dword [esi + 0x14]
lea edx, [eax + 1]
cmp eax, 0xf
jbe 0x101064df
mov esi, dword [esi]
lea eax, [esp + 0xe0]
mov dword [esp + 0x78], 0
push eax
push 0x100c4da0
push 0x40000
lea eax, [esp + 0x84]
mov dword [esp + 0x88], 0
push eax
push edx
push esi
xor edx, edx
call fcn.101754d0
mov ecx, dword [esp + 0x6c4]
cmp ecx, 0xf
jbe 0x10106551
mov edx, dword [esp + 0x6b0]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x10106547
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1010ad81
push ecx
push edx
call fcn.1019bd5d
add esp, 8
mov eax, dword [0x10450be0]
mov dword [esp + 0x6c0], 0
mov dword [esp + 0x6c4], 0xf
mov byte [esp + 0x6b0], 0
cmp byte [eax + 0x1dab], 0
mov ecx, dword [eax + 0x1bec]
je 0x101065b1
cmp byte [eax + 0x1daa], 0
jne 0x101065b1
mov eax, dword [eax + 0x1d58]
cmp eax, dword [ecx + 0x138]
jne 0x101065a2
mov edx, dword [ecx + 0x13c]
test dl, 1
je 0x101068e8
cmp dword [eax + 0x1bf4], ecx
je 0x101065d0
mov ecx, 2
call fcn.1015d760
movups xmm0, xmmword [str.vVT_p__52m1_G]
mov eax, dword [0x101f14f0]
xor edx, edx
mov dword [esp + 0x260], eax
mov ax, word [0x101f14f4]
mov word [esp + 0x264], ax
mov dword [esp + 0x10], edx
movups xmmword [esp + 0x220], xmm0
movups xmm0, xmmword [0x101f14c0]
movups xmmword [esp + 0x230], xmm0
movups xmm0, xmmword [0x101f14d0]
movups xmmword [esp + 0x240], xmm0
movups xmm0, xmmword [0x101f14e0]
movups xmmword [esp + 0x250], xmm0
cmp edi, 2
jl 0x10106a85
movaps xmm0, xmmword [0x101faf70]
movaps xmm4, xmmword [0x101fadd0]
movaps xmm3, xmmword [0x101faf20]
movaps xmm5, xmmword [0x101fae60]
movaps xmmword [esp + 0x20], xmm0
mov ecx, dword [esp + 0x20]
nop dword [eax]
movd xmm0, edx
lea eax, [edx + 4]
pshufd xmm2, xmm0, 0
paddd xmm2, xmm4
movaps xmm1, xmm2
movaps xmm0, xmm2
punpckhdq xmm0, xmm2
punpckldq xmm1, xmm2
pmuldq xmm0, xmm3
pmuldq xmm1, xmm3
shufps xmm1, xmm0, 0xdd
psrad xmm1, 1
movaps xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm5
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
andps xmm1, xmmword [0x101faf00]
packuswb xmm1, xmm1
movd xmm0, ecx
paddb xmm1, xmm0
movd xmm0, dword [esp + edx + 0x220]
xorps xmm1, xmm0
movd xmm0, eax
pshufd xmm2, xmm0, 0
movd dword [esp + edx + 0x220], xmm1
paddd xmm2, xmm4
movaps xmm1, xmm2
movaps xmm0, xmm2
punpckhdq xmm0, xmm2
punpckldq xmm1, xmm2
pmuldq xmm0, xmm3
pmuldq xmm1, xmm3
shufps xmm1, xmm0, 0xdd
psrad xmm1, 1
movaps xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm5
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
andps xmm1, xmmword [0x101faf00]
packuswb xmm1, xmm1
movd xmm0, ecx
paddb xmm1, xmm0
movd xmm0, dword [esp + edx + 0x224]
xorps xmm1, xmm0
movd dword [esp + edx + 0x224], xmm1
add edx, 8
cmp edx, 0x40
jl 0x10106980
jmp 0x10106aae
mov eax, 0x94f2095
imul edx
sar edx, 1
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [esp + 0x10]
movsx eax, al
mov cl, dl
imul eax, eax, 0x37
sub cl, al
add cl, 0x38
xor byte [esp + edx + 0x220], cl
inc edx
mov dword [esp + 0x10], edx
cmp edx, 0x46
jl 0x10106a85
mov ax, word [0x101efefc]
mov edi, dword [0x10226ca8]
movq xmm0, qword [0x101efef4]
add edi, 0x36ec
mov word [esp + 0x19c], ax
xor ebx, ebx
mov al, byte [0x101efefe]
mov dword [esp + 0x10], edi
mov byte [esp + 0x19e], al
movq qword [esp + 0x194], xmm0
mov eax, 0x29e4129f
mov cl, bl
mul ebx
mov eax, ebx
sub eax, edx
shr eax, 1
add eax, edx
shr eax, 5
movsx eax, al
imul eax, eax, 0x37
sub cl, al
add cl, 0x38
xor byte [esp + ebx + 0x194], cl
inc ebx
cmp ebx, 0xb
jl 0x10106af4
xorps xmm0, xmm0
mov dword [esp + 0x6f0], 0
lea ecx, [esp + 0x194]
mov dword [esp + 0x6f4], 0
movups xmmword [esp + 0x6e0], xmm0
lea edx, [ecx + 1]
nop dword [eax + eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x10106b50
sub ecx, edx
lea eax, [esp + 0x194]
push ecx
push eax
lea ecx, [esp + 0x6e8]
call fcn.10027a80
cmp dword [esp + 0x6f4], 0xf
lea eax, [esp + 0x6e0]
lea edx, [esp + 0x220]
cmova eax, dword [esp + 0x6e0]
xor esi, esi
cmp byte [esp + 0x220], 0
mov dword [esp + 0x14], eax
je 0x10106bba
mov dword [esp + 0x10], edi
mov ecx, edx
lea edi, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x10106ba5
sub ecx, edi
inc edx
add edx, ecx
inc esi
cmp byte [edx], al
jne 0x10106ba0
mov eax, dword [esp + 0x14]
mov edx, dword [esp + 0x10]
lea ecx, [esp + 0x220]
push 1
push 0xffffffffffffffff
push esi
push ecx
push 0x101705f0
mov ecx, eax
call fcn.10170650
mov ecx, dword [esp + 0x6f4]
cmp ecx, 0xf
jbe 0x10106c13
mov edx, dword [esp + 0x6e0]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x10106c09
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1010ad81
push ecx
push edx
call fcn.1019bd5d
add esp, 8
mov eax, dword [0x10226ca8]
mov dword [esp + 0x6f0], 0
mov dword [esp + 0x6f4], 0xf
mov byte [esp + 0x6e0], 0
cmp dword [eax + 0x36ec], 9
jne 0x10107248
cmp byte [0x101f1ab7], 0
lea esi, [eax + 0x36f0]
movups xmm0, xmmword [0x101f1aa4]
mov eax, dword [0x101f1ab4]
mov edi, dword [0x10228670]
movups xmmword [esp + 0x5a4], xmm0
mov dword [esp + 0x5b4], eax
je 0x10106df2
mov ecx, dword [0x10450be0]
mov eax, dword [ecx + 0x1bec]
dec dword [eax + 0xe0]
movups xmm0, xmmword [str.PBeHS_5b0____I]
mov ax, word [0x101f0f14]
mov esi, dword [0x10226ca8]
mov edi, dword [0x10228670]
mov word [esp + 0x530], ax
movups xmmword [esp + 0x520], xmm0
test ah, ah
je 0x10107402
call fcn.101a0e96
int3