Function at 0x100ff9c0
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 [0x1020a0c0]
xor eax, esp
mov dword [esp + 0xb10], eax
push ebx
xor ebx, ebx
mov dword [esp + 0x3c], ebx
mov ecx, dword [0x104e2068]
push esi
push edi
mov dword [esp + 0x14], ebx
mov eax, dword [ecx + 0x1bec]
mov byte [eax + 0xa8], 1
mov eax, dword [ecx + 0x1bec]
mov eax, dword [eax + 0x1d0]
test eax, eax
je 0x100ffa1b
cmp dword [eax + 0x10], 2
jne 0x100ffa16
cmp dword [eax + 4], 1
je 0x100ffa29
call fcn.100ca570
push 1
mov edx, 2
xor ecx, ecx
call fcn.100c9c60
movss xmm0, dword [0x101ff480]
mov ecx, 1
call fcn.100c98a0
mov esi, dword [0x10227c40]
xorps xmm1, xmm1
mov al, byte [0x101f628c]
add esi, 0x3348
movq xmm0, qword [str.yPXB]
mov dword [esp + 0x1c], ebx
xor ebx, ebx
mov byte [esp + 0x28c], al
movq qword [esp + 0x284], xmm0
mov dword [esp + 0x18], 0x42c80000
mov eax, 0xa0a0a0a1
mov cl, bl
mul ebx
shr edx, 5
movsx eax, dl
imul eax, eax, 0x33
sub cl, al
add cl, 0x34
xor byte [esp + ebx + 0x284], cl
inc ebx
cmp ebx, 9
jl 0x100ffa75
lea eax, [esp + 0x18]
movaps xmm0, xmm1
push eax
mov edx, esi
lea ecx, [esp + 0x288]
call fcn.100d2c40
mov ecx, dword [0x104e2068]
mov eax, dword [ecx + 0x1bec]
mov byte [eax + 0xa8], 1
mov eax, dword [ecx + 0x1bec]
cmp byte [eax + 0xab], 0
jne 0x100ffb11
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 [0x101f4c67], 0
mov esi, 5
mov eax, dword [str.fP_RYUI_gVDR_W]
mov ecx, dword [0x101f4c64]
mov edx, dword [0x102296a0]
mov dword [esp + 0x1ac], eax
lea edi, [esi + 0x1a]
mov dword [esp + 0x1b0], ecx
je 0x100ffc7d
cmp edx, 2
jl 0x100ffc4d
movaps xmm2, xmmword [0x101ff6c0]
movaps xmm3, xmmword [0x101ffc10]
movaps xmm1, xmm2
punpckldq xmm1, xmm2
movaps xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm1, xmm3
pmuldq xmm0, xmm3
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm2
movd xmm4, esi
psrad xmm1, xmm4
movd xmm5, edi
movaps xmm0, xmm1
psrld xmm0, xmm5
paddd xmm0, xmm1
pmulld xmm0, xmmword [0x101ff730]
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
movaps xmm2, xmmword [0x101ff700]
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
pand xmm1, xmmword [0x101ff7d0]
packuswb xmm1, xmm1
paddb xmm1, xmmword [0x101ff810]
movd xmm0, eax
pxor xmm1, xmm0
movaps xmm0, xmm2
movd dword [esp + 0x1ac], xmm1
movaps xmm1, xmm2
punpckldq xmm1, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm1, xmm3
pmuldq xmm0, xmm3
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm2
psrad xmm1, xmm4
movaps xmm0, xmm1
psrld xmm0, xmm5
paddd xmm0, xmm1
pmulld xmm0, xmmword [0x101ff730]
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
pand xmm1, xmmword [0x101ff7d0]
packuswb xmm1, xmm1
paddb xmm1, xmmword [0x101ff810]
movd xmm0, ecx
pxor xmm1, xmm0
movd dword [esp + 0x1b0], xmm1
jmp 0x100ffc7d
xor ebx, ebx
nop
mov eax, 0xa0a0a0a1
mov cl, bl
imul ebx
add edx, ebx
sar edx, 5
mov eax, edx
shr eax, 0x1f
add eax, edx
movsx eax, al
imul eax, eax, 0x33
sub cl, al
add cl, 0x34
xor byte [esp + ebx + 0x1ac], cl
inc ebx
cmp ebx, 8
jl 0x100ffc50
lea eax, [esp + 0x1ac]
push eax
call fcn.1016db20
movss xmm1, dword [0x101ff52c]
add esp, 4
xorps xmm0, xmm0
call fcn.1015ee50
mov eax, dword [0x104e2068]
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.10152b90
mov edi, dword [esi + 4]
mov ecx, dword [esi]
mov dword [esp + 0x18], eax
cmp ecx, edi
jne 0x100ffcf5
inc ecx
test edi, edi
je 0x100ffce3
mov eax, edi
cdq
sub eax, edx
sar eax, 1
add eax, edi
jmp 0x100ffce8
mov eax, 8
cmp eax, ecx
cmovg ecx, eax
push ecx
mov ecx, esi
call fcn.100be400
mov ecx, dword [esi]
mov eax, dword [esi + 8]
mov edx, dword [esp + 0x18]
push 1
push 0
mov dword [eax + ecx*4], edx
lea edx, [esp + 0x20]
inc dword [esi]
mov ecx, 0x101f2c00
mov dword [esp + 0x20], 0
mov dword [esp + 0x24], 0
call fcn.1016e290
test al, al
je 0x100ffd77
mov esi, dword [0x104e2068]
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, 0x101d6e4f
call fcn.10152b90
cmp dword [esi + 0x1c24], eax
jne 0x100ffd5f
mov dword [esi + 0x1c28], eax
cmp dword [esi + 0x1c5c], eax
jne 0x100ffd6e
mov byte [esi + 0x1c60], 1
xor edx, edx
mov ecx, eax
call fcn.1015fce0
mov esi, dword [0x104e2068]
mov eax, dword [esi + 0x1d30]
cmp eax, dword [esi + 0x1d3c]
jg 0x10100601
mov dword [esi + 0x1c74], 0
mov eax, dword [0x104e2068]
mov eax, dword [eax + 0x1bec]
dec dword [eax + 0xe0]
mov edi, dword [0x102296a0]
mov ax, word [0x101f6688]
mov esi, dword [0x10227c40]
movq xmm0, qword [str.fTRVJ]
add esi, 0x358b
mov word [esp + 0x11c], ax
xor ebx, ebx
mov al, byte [0x101f668a]
movq qword [esp + 0x114], xmm0
mov byte [esp + 0x11e], al
nop dword [eax]
mov eax, 0xa0a0a0a1
mov cl, bl
mul ebx
shr edx, 5
movsx eax, dl
imul eax, eax, 0x33
sub cl, al
add cl, 0x34
xor byte [esp + ebx + 0x114], cl
inc ebx
cmp ebx, 0xb
jl 0x100ffdf0
mov edx, esi
lea ecx, [esp + 0x114]
call fcn.1016fb20
mov eax, dword [0x101f5324]
movq xmm0, qword [str.gESTLXNTN]
mov esi, dword [0x10227c40]
mov dword [esp + 0x3e0], eax
mov ax, word [0x101f5328]
mov word [esp + 0x3e4], ax
mov al, byte [0x101f532a]
mov byte [esp + 0x3e6], al
xor eax, eax
movq qword [esp + 0x3d8], xmm0
mov dword [esp + 0x10], eax
cmp edi, 2
jl 0x100fff8c
movaps xmm2, xmmword [0x101ff6c0]
mov eax, 5
movaps xmm4, xmmword [0x101ffc10]
movaps xmm1, xmm2
punpckldq xmm1, xmm2
movaps xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm4
pmuldq xmm1, xmm4
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm2
movd xmm5, eax
psrad xmm1, xmm5
mov eax, 0x1f
movaps xmm0, xmm1
movd xmm6, eax
mov eax, dword [0x101ff810]
psrld xmm0, xmm6
paddd xmm0, xmm1
pmulld xmm0, xmmword [0x101ff730]
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
movaps xmm2, xmmword [0x101ff700]
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
pand xmm1, xmmword [0x101ff7d0]
packuswb xmm1, xmm1
movd xmm0, eax
paddb xmm1, xmm0
movd xmm0, dword [str.gESTLXNTN]
pxor xmm1, xmm0
movaps xmm0, xmm2
movd dword [esp + 0x3d8], xmm1
movaps xmm1, xmm2
punpckldq xmm1, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm4
pmuldq xmm1, xmm4
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm2
psrad xmm1, xmm5
movaps xmm0, xmm1
psrld xmm0, xmm6
paddd xmm0, xmm1
pmulld xmm0, xmmword [0x101ff730]
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
pand xmm1, xmmword [0x101ff7d0]
movd xmm0, eax
mov eax, 8
packuswb xmm1, xmm1
paddb xmm1, xmm0
mov dword [esp + 0x10], eax
movd xmm0, dword [esp + 0x3dc]
pxor xmm1, xmm0
movd dword [esp + 0x3dc], xmm1
mov ebx, dword [esp + 0x10]
mov eax, 0xa0a0a0a1
mov cl, bl
imul ebx
add edx, ebx
sar edx, 5
mov eax, edx
shr eax, 0x1f
add eax, edx
movsx eax, al
imul eax, eax, 0x33
sub cl, al
add cl, 0x34
xor byte [esp + ebx + 0x3d8], cl
inc ebx
cmp ebx, 0xf
jl 0x100fff90
lea edx, [esi + 0x3648]
lea ecx, [esp + 0x3d8]
call fcn.1016fb20
movss xmm1, dword [0x101ff52c]
xorps xmm0, xmm0
call fcn.1015ee50
mov eax, dword [0x101f5eb8]
movq xmm0, qword [0x101f5eb0]
mov esi, dword [0x10227c40]
mov dword [esp + 0x2e0], eax
mov ax, word [0x101f5ebc]
movq qword [esp + 0x2d8], xmm0
mov word [esp + 0x2e4], ax
test ah, ah
je 0x1010017d
xor eax, eax
mov dword [esp + 0x10], eax
cmp edi, 2
jl 0x10100145
movaps xmm2, xmmword [0x101ff6c0]
mov eax, 5
movaps xmm4, xmmword [0x101ffc10]
movaps xmm1, xmm2
punpckldq xmm1, xmm2
movaps xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm4
pmuldq xmm1, xmm4
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm2
movd xmm5, eax
psrad xmm1, xmm5
mov eax, 0x1f
movaps xmm0, xmm1
movd xmm6, eax
mov eax, dword [0x101ff810]
psrld xmm0, xmm6
paddd xmm0, xmm1
pmulld xmm0, xmmword [0x101ff730]
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
movaps xmm2, xmmword [0x101ff700]
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
pand xmm1, xmmword [0x101ff7d0]
packuswb xmm1, xmm1
movd xmm0, eax
paddb xmm1, xmm0
movd xmm0, dword [0x101f5eb0]
pxor xmm1, xmm0
movaps xmm0, xmm2
movd dword [esp + 0x2d8], xmm1
movaps xmm1, xmm2
punpckldq xmm1, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm4
pmuldq xmm1, xmm4
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm2
psrad xmm1, xmm5
movaps xmm0, xmm1
psrld xmm0, xmm6
paddd xmm0, xmm1
pmulld xmm0, xmmword [0x101ff730]
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
pand xmm1, xmmword [0x101ff7d0]
movd xmm0, eax
mov eax, 8
packuswb xmm1, xmm1
paddb xmm1, xmm0
mov dword [esp + 0x10], eax
movd xmm0, dword [esp + 0x2dc]
pxor xmm1, xmm0
movd dword [esp + 0x2dc], xmm1
mov ebx, dword [esp + 0x10]
nop dword [eax]
mov eax, 0xa0a0a0a1
mov cl, bl
imul ebx
add edx, ebx
sar edx, 5
mov eax, edx
shr eax, 0x1f
add eax, edx
movsx eax, al
imul eax, eax, 0x33
sub cl, al
add cl, 0x34
xor byte [esp + ebx + 0x2d8], cl
inc ebx
cmp ebx, 0xe
jl 0x10100150
lea edx, [esi + 0x3654]
lea ecx, [esp + 0x2d8]
call fcn.1016fb20
mov ax, word [0x101f6198]
mov esi, dword [0x10227c40]
movq xmm0, qword [str.vZ_U]
add esi, 0x3699
mov word [esp + 0x204], ax
xor ebx, ebx
mov al, byte [0x101f619a]
mov byte [esp + 0x206], al
movq qword [esp + 0x1fc], xmm0
nop dword [eax + eax]
mov eax, 0xa0a0a0a1
mov cl, bl
mul ebx
shr edx, 5
movsx eax, dl
imul eax, eax, 0x33
sub cl, al
add cl, 0x34
xor byte [esp + ebx + 0x1fc], cl
inc ebx
cmp ebx, 0xb
jl 0x101001d0
mov edx, esi
lea ecx, [esp + 0x1fc]
call fcn.1016fb20
movss xmm1, dword [0x101ff52c]
xorps xmm0, xmm0
call fcn.1015ee50
mov eax, dword [0x101f57f0]
movq xmm0, qword [str._DC]
mov esi, dword [0x10227c40]
mov dword [esp + 0x3a8], eax
mov ax, word [0x101f57f4]
mov word [esp + 0x3ac], ax
mov al, byte [0x101f57f6]
mov byte [esp + 0x3ae], al
xor eax, eax
movq qword [esp + 0x3a0], xmm0
mov dword [esp + 0x10], eax
cmp edi, 2
jl 0x1010037c
movaps xmm2, xmmword [0x101ff6c0]
mov eax, 5
movaps xmm4, xmmword [0x101ffc10]
movaps xmm1, xmm2
punpckldq xmm1, xmm2
movaps xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm4
pmuldq xmm1, xmm4
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm2
movd xmm5, eax
psrad xmm1, xmm5
mov eax, 0x1f
movaps xmm0, xmm1
movd xmm6, eax
mov eax, dword [0x101ff810]
psrld xmm0, xmm6
paddd xmm0, xmm1
pmulld xmm0, xmmword [0x101ff730]
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
movaps xmm2, xmmword [0x101ff700]
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
pand xmm1, xmmword [0x101ff7d0]
packuswb xmm1, xmm1
movd xmm0, eax
paddb xmm1, xmm0
movd xmm0, dword [str._DC]
pxor xmm1, xmm0
movaps xmm0, xmm2
movd dword [esp + 0x3a0], xmm1
movaps xmm1, xmm2
punpckldq xmm1, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm4
pmuldq xmm1, xmm4
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm2
psrad xmm1, xmm5
movaps xmm0, xmm1
psrld xmm0, xmm6
paddd xmm0, xmm1
pmulld xmm0, xmmword [0x101ff730]
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
pand xmm1, xmmword [0x101ff7d0]
movd xmm0, eax
mov eax, 8
packuswb xmm1, xmm1
paddb xmm1, xmm0
mov dword [esp + 0x10], eax
movd xmm0, dword [esp + 0x3a4]
pxor xmm1, xmm0
movd dword [esp + 0x3a4], xmm1
mov ebx, dword [esp + 0x10]
mov eax, 0xa0a0a0a1
mov cl, bl
imul ebx
add edx, ebx
sar edx, 5
mov eax, edx
shr eax, 0x1f
add eax, edx
movsx eax, al
imul eax, eax, 0x33
sub cl, al
add cl, 0x34
xor byte [esp + ebx + 0x3a0], cl
inc ebx
cmp ebx, 0xf
jl 0x10100380
push 0
push 0
push 0
lea eax, [esi + 0x36ab]
push eax
lea eax, [esi + 0x36a6]
push eax
lea eax, [esi + 0x36aa]
push eax
push 0
lea edx, [esi + 0x369a]
lea ecx, [esp + 0x3bc]
call fcn.100be870
mov eax, dword [0x101f589c]
movq xmm0, qword [str.qCSYL]
mov esi, dword [0x10227c40]
mov dword [esp + 0x330], eax
mov al, byte [0x101f58a0]
mov byte [esp + 0x334], al
xor eax, eax
movq qword [esp + 0x328], xmm0
mov dword [esp + 0x10], eax
cmp edi, 2
jl 0x10100538
movaps xmm2, xmmword [0x101ff6c0]
mov eax, 5
movaps xmm4, xmmword [0x101ffc10]
movaps xmm1, xmm2
punpckldq xmm1, xmm2
movaps xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm4
pmuldq xmm1, xmm4
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm2
movd xmm5, eax
psrad xmm1, xmm5
mov eax, 0x1f
movaps xmm0, xmm1
movd xmm6, eax
mov eax, dword [0x101ff810]
psrld xmm0, xmm6
paddd xmm0, xmm1
pmulld xmm0, xmmword [0x101ff730]
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
movaps xmm2, xmmword [0x101ff700]
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
pand xmm1, xmmword [0x101ff7d0]
packuswb xmm1, xmm1
movd xmm0, eax
paddb xmm1, xmm0
movd xmm0, dword [str.qCSYL]
pxor xmm1, xmm0
movaps xmm0, xmm2
movd dword [esp + 0x328], xmm1
movaps xmm1, xmm2
punpckldq xmm1, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm4
pmuldq xmm1, xmm4
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm2
psrad xmm1, xmm5
movaps xmm0, xmm1
psrld xmm0, xmm6
paddd xmm0, xmm1
pmulld xmm0, xmmword [0x101ff730]
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
pand xmm1, xmmword [0x101ff7d0]
movd xmm0, eax
mov eax, 8
packuswb xmm1, xmm1
paddb xmm1, xmm0
mov dword [esp + 0x10], eax
movd xmm0, dword [esp + 0x32c]
pxor xmm1, xmm0
movd dword [esp + 0x32c], xmm1
mov ebx, dword [esp + 0x10]
nop dword [eax]
mov eax, 0xa0a0a0a1
mov cl, bl
imul ebx
add edx, ebx
sar edx, 5
mov eax, edx
shr eax, 0x1f
add eax, edx
movsx eax, al
imul eax, eax, 0x33
sub cl, al
add cl, 0x34
xor byte [esp + ebx + 0x328], cl
inc ebx
cmp ebx, 0xd
jl 0x10100540
push 0
push 0
push 0
lea eax, [esi + 0x3681]
push eax
lea eax, [esi + 0x367c]
push eax
lea eax, [esi + 0x3680]
push eax
push 0
lea edx, [esi + 0x3670]
lea ecx, [esp + 0x344]
call fcn.100be870
movss xmm1, dword [0x101ff52c]
xorps xmm0, xmm0
call fcn.1015ee50
mov eax, dword [0x104e2068]
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.10152b90
mov edi, dword [esi + 4]
cmp ebx, edi
mov ebx, dword [esp + 0x14]
mov dword [esp + 0x18], eax
jne 0x10100d6d
mov ecx, dword [esi]
inc ecx
test edi, edi
je 0x10100d5b
mov eax, edi
cdq
sub eax, edx
sar eax, 1
add eax, edi
jmp 0x10100d60
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, 0x101d6e4f
call fcn.10152b90
cmp dword [esi + 0x1c24], eax
jne 0x10100631
mov dword [esi + 0x1c28], eax
cmp dword [esi + 0x1c5c], eax
jne 0x10100640
mov byte [esi + 0x1c60], 1
mov edx, 0x141
mov ecx, eax
call fcn.10160020
test al, al
je 0x100ffd99
mov eax, dword [0x101f5f98]
movq xmm0, qword [0x101f5f90]
mov edi, dword [0x102296a0]
mov esi, dword [0x10227c40]
mov dword [esp + 0x300], eax
mov al, byte [0x101f5f9c]
mov byte [esp + 0x304], al
xor eax, eax
movq qword [esp + 0x2f8], xmm0
mov dword [esp + 0x10], eax
cmp edi, 2
jl 0x101007b6
movaps xmm2, xmmword [0x101ff6c0]
mov eax, 5
movaps xmm4, xmmword [0x101ffc10]
movaps xmm1, xmm2
punpckldq xmm1, xmm2
movaps xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm4
pmuldq xmm1, xmm4
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm2
movd xmm5, eax
psrad xmm1, xmm5
mov eax, 0x1f
movaps xmm0, xmm1
movd xmm6, eax
mov eax, dword [0x101ff810]
psrld xmm0, xmm6
paddd xmm0, xmm1
pmulld xmm0, xmmword [0x101ff730]
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
movaps xmm2, xmmword [0x101ff700]
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
pand xmm1, xmmword [0x101ff7d0]
packuswb xmm1, xmm1
movd xmm0, eax
paddb xmm1, xmm0
movd xmm0, dword [0x101f5f90]
pxor xmm1, xmm0
movaps xmm0, xmm2
movd dword [esp + 0x2f8], xmm1
movaps xmm1, xmm2
punpckldq xmm1, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm4
pmuldq xmm1, xmm4
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm2
psrad xmm1, xmm5
movaps xmm0, xmm1
psrld xmm0, xmm6
paddd xmm0, xmm1
pmulld xmm0, xmmword [0x101ff730]
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
pand xmm1, xmmword [0x101ff7d0]
movd xmm0, eax
mov eax, 8
packuswb xmm1, xmm1
paddb xmm1, xmm0
mov dword [esp + 0x10], eax
movd xmm0, dword [esp + 0x2fc]
pxor xmm1, xmm0
movd dword [esp + 0x2fc], xmm1
mov ebx, dword [esp + 0x10]
nop word [eax + eax]
mov eax, 0xa0a0a0a1
mov cl, bl
imul ebx
add edx, ebx
sar edx, 5
mov eax, edx
shr eax, 0x1f
add eax, edx
movsx eax, al
imul eax, eax, 0x33
sub cl, al
add cl, 0x34
xor byte [esp + ebx + 0x2f8], cl
inc ebx
cmp ebx, 0xd
jl 0x101007c0
lea edx, [esi + 0x358c]
lea ecx, [esp + 0x2f8]
call fcn.1016fb20
mov eax, dword [0x101f49a8]
movq xmm0, qword [0x101f49a0]
mov esi, dword [0x10227c40]
mov dword [esp + 0x310], eax
mov al, byte [0x101f49ac]
mov byte [esp + 0x314], al
xor eax, eax
movq qword [esp + 0x308], xmm0
mov dword [esp + 0x10], eax
cmp edi, 2
jl 0x1010095b
movaps xmm2, xmmword [0x101ff6c0]
mov eax, 5
movaps xmm4, xmmword [0x101ffc10]
movaps xmm1, xmm2
punpckldq xmm1, xmm2
movaps xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm4
pmuldq xmm1, xmm4
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm2
movd xmm5, eax
psrad xmm1, xmm5
mov eax, 0x1f
movaps xmm0, xmm1
movd xmm6, eax
mov eax, dword [0x101ff810]
psrld xmm0, xmm6
paddd xmm0, xmm1
pmulld xmm0, xmmword [0x101ff730]
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
movaps xmm2, xmmword [0x101ff700]
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
pand xmm1, xmmword [0x101ff7d0]
packuswb xmm1, xmm1
movd xmm0, eax
paddb xmm1, xmm0
movd xmm0, dword [0x101f49a0]
pxor xmm1, xmm0
movaps xmm0, xmm2
movd dword [esp + 0x308], xmm1
movaps xmm1, xmm2
punpckldq xmm1, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm4
pmuldq xmm1, xmm4
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm2
psrad xmm1, xmm5
movaps xmm0, xmm1
psrld xmm0, xmm6
paddd xmm0, xmm1
pmulld xmm0, xmmword [0x101ff730]
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
pand xmm1, xmmword [0x101ff7d0]
movd xmm0, eax
mov eax, 8
packuswb xmm1, xmm1
paddb xmm1, xmm0
mov dword [esp + 0x10], eax
movd xmm0, dword [esp + 0x30c]
pxor xmm1, xmm0
movd dword [esp + 0x30c], xmm1
mov ebx, dword [esp + 0x10]
nop
mov eax, 0xa0a0a0a1
mov cl, bl
imul ebx
add edx, ebx
sar edx, 5
mov eax, edx
shr eax, 0x1f
add eax, edx
movsx eax, al
imul eax, eax, 0x33
sub cl, al
add cl, 0x34
xor byte [esp + ebx + 0x308], cl
inc ebx
cmp ebx, 0xd
jl 0x10100960
lea edx, [esi + 0x358d]
lea ecx, [esp + 0x308]
call fcn.1016fb20
mov eax, dword [0x101f67c4]
movq xmm0, qword [str.fP_RYU]
mov esi, dword [0x10227c40]
mov dword [esp + 0x3d0], eax
mov ax, word [0x101f67c8]
mov word [esp + 0x3d4], ax
mov al, byte [0x101f67ca]
mov byte [esp + 0x3d6], al
xor eax, eax
movq qword [esp + 0x3c8], xmm0
mov dword [esp + 0x10], eax
cmp edi, 2
jl 0x10100b09
movaps xmm2, xmmword [0x101ff6c0]
mov eax, 5
movaps xmm4, xmmword [0x101ffc10]
movaps xmm1, xmm2
punpckldq xmm1, xmm2
movaps xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm4
pmuldq xmm1, xmm4
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm2
movd xmm5, eax
psrad xmm1, xmm5
mov eax, 0x1f
movaps xmm0, xmm1
movd xmm6, eax
mov eax, dword [0x101ff810]
psrld xmm0, xmm6
paddd xmm0, xmm1
pmulld xmm0, xmmword [0x101ff730]
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
movaps xmm2, xmmword [0x101ff700]
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
pand xmm1, xmmword [0x101ff7d0]
packuswb xmm1, xmm1
movd xmm0, eax
paddb xmm1, xmm0
movd xmm0, dword [str.fP_RYU]
pxor xmm1, xmm0
movaps xmm0, xmm2
movd dword [esp + 0x3c8], xmm1
movaps xmm1, xmm2
punpckldq xmm1, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm4
pmuldq xmm1, xmm4
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm2
psrad xmm1, xmm5
movaps xmm0, xmm1
psrld xmm0, xmm6
paddd xmm0, xmm1
pmulld xmm0, xmmword [0x101ff730]
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
pand xmm1, xmmword [0x101ff7d0]
movd xmm0, eax
mov eax, 8
packuswb xmm1, xmm1
paddb xmm1, xmm0
mov dword [esp + 0x10], eax
movd xmm0, dword [esp + 0x3cc]
pxor xmm1, xmm0
movd dword [esp + 0x3cc], xmm1
mov ebx, dword [esp + 0x10]
nop dword [eax]
mov eax, 0xa0a0a0a1
mov cl, bl
imul ebx
add edx, ebx
sar edx, 5
mov eax, edx
shr eax, 0x1f
add eax, edx
movsx eax, al
imul eax, eax, 0x33
sub cl, al
add cl, 0x34
xor byte [esp + ebx + 0x3c8], cl
inc ebx
cmp ebx, 0xf
jl 0x10100b10
lea edx, [esi + 0x358e]
lea ecx, [esp + 0x3c8]
call fcn.1016fb20
mov eax, dword [0x101f5464]
movq xmm0, qword [0x101f545c]
mov esi, dword [0x10227c40]
mov dword [esp + 0x320], eax
mov al, byte [0x101f5468]
mov byte [esp + 0x324], al
xor eax, eax
movq qword [esp + 0x318], xmm0
mov dword [esp + 0x10], eax
cmp edi, 2
jl 0x10100cab
movaps xmm2, xmmword [0x101ff6c0]
mov eax, 5
movaps xmm4, xmmword [0x101ffc10]
movaps xmm1, xmm2
punpckldq xmm1, xmm2
movaps xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm4
pmuldq xmm1, xmm4
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm2
movd xmm5, eax
psrad xmm1, xmm5
mov eax, 0x1f
movaps xmm0, xmm1
movd xmm6, eax
mov eax, dword [0x101ff810]
psrld xmm0, xmm6
paddd xmm0, xmm1
pmulld xmm0, xmmword [0x101ff730]
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
movaps xmm2, xmmword [0x101ff700]
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
pand xmm1, xmmword [0x101ff7d0]
packuswb xmm1, xmm1
movd xmm0, eax
paddb xmm1, xmm0
movd xmm0, dword [0x101f545c]
pxor xmm1, xmm0
movaps xmm0, xmm2
movd dword [esp + 0x318], xmm1
movaps xmm1, xmm2
punpckldq xmm1, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm4
pmuldq xmm1, xmm4
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm2
psrad xmm1, xmm5
movaps xmm0, xmm1
psrld xmm0, xmm6
paddd xmm0, xmm1
pmulld xmm0, xmmword [0x101ff730]
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
pand xmm1, xmmword [0x101ff7d0]
movd xmm0, eax
mov eax, 8
packuswb xmm1, xmm1
paddb xmm1, xmm0
mov dword [esp + 0x10], eax
movd xmm0, dword [esp + 0x31c]
pxor xmm1, xmm0
movd dword [esp + 0x31c], xmm1
mov ebx, dword [esp + 0x10]
nop
mov eax, 0xa0a0a0a1
mov cl, bl
imul ebx
add edx, ebx
sar edx, 5
mov eax, edx
shr eax, 0x1f
add eax, edx
movsx eax, al
imul eax, eax, 0x33
sub cl, al
add cl, 0x34
xor byte [esp + ebx + 0x318], cl
inc ebx
cmp ebx, 0xd
jl 0x10100cb0
lea edx, [esi + 0x358f]
lea ecx, [esp + 0x318]
call fcn.1016fb20
mov edx, dword [0x10227c40]
mov ecx, str.Chat_revealer
lea edx, [edx + 0x3345]
call fcn.1016fb20
mov esi, dword [0x104e2068]
mov eax, dword [esi + 0x1bec]
cmp dword [esi + 0x1d54], eax
jne 0x10100d29
mov dword [esi + 0x1e58], eax
mov dword [esi + 0x1e5c], 2
test dword [eax + 8], 0x1000000
je 0x10100d39
mov byte [esi + 0x1b9e], 1
call fcn.1015e0b0
mov byte [esi + 0x1b9e], 0
mov eax, dword [0x104e2068]
mov eax, dword [eax + 0x1bec]
dec dword [eax + 0xe0]
jmp 0x100ffdb0
mov eax, 8
cmp eax, ecx
cmovg ecx, eax
push ecx
mov ecx, esi
call fcn.100be400
mov ecx, dword [esi]
mov eax, dword [esi + 8]
mov edx, dword [esp + 0x18]
push 1
push 0
mov dword [eax + ecx*4], edx
lea edx, [esp + 0xd0]
inc dword [esi]
mov ecx, 0x101f2c00
mov dword [esp + 0xd0], 0
mov dword [esp + 0xd4], 0
call fcn.1016e290
test al, al
je 0x10100df8
mov esi, dword [0x104e2068]
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, 0x101d6e4f
call fcn.10152b90
cmp dword [esi + 0x1c24], eax
jne 0x10100de0
mov dword [esi + 0x1c28], eax
cmp dword [esi + 0x1c5c], eax
jne 0x10100def
mov byte [esi + 0x1c60], 1
xor edx, edx
mov ecx, eax
call fcn.1015fce0
mov esi, dword [0x104e2068]
mov edi, dword [0x102296ac]
mov eax, dword [esi + 0x1d30]
cmp eax, dword [esi + 0x1d3c]
mov eax, dword fs:[0x2c]
mov dword [esp + 0x40], eax
jg 0x10100e2b
mov dword [esi + 0x1c74], 0
jmp 0x10101a78
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, 0x101d6e4f
call fcn.10152b90
cmp dword [esi + 0x1c24], eax
jne 0x10100e5b
mov dword [esi + 0x1c28], eax
cmp dword [esi + 0x1c5c], eax
jne 0x10100e6a
mov byte [esi + 0x1c60], 1
mov edx, 0x141
mov ecx, eax
call fcn.10160020
test al, al
je 0x10101a78
mov eax, dword [esp + 0x40]
mov ecx, dword [eax + edi*4]
mov eax, dword [0x104e5818]
cmp eax, dword [ecx + 4]
jle 0x10100ec2
push 0x104e5818
call fcn.1019d7b4
add esp, 4
cmp dword [0x104e5818], 0xffffffff
jne 0x10100ec2
push 0x101c9f20
call fcn.1019d442
add esp, 4
push 0x104e5818
call fcn.1019d76a
add esp, 4
mov ecx, dword [0x10227c40]
mov edx, 0x102276b8
push 1
push 0
mov al, byte [ecx + 0x3660]
and al, 1
mov byte [0x104e1e84], al
mov eax, dword [ecx + 0x3660]
mov ecx, str.Log_output
shr eax, 1
and al, 1
cmp dword [0x102276cc], 0x10
mov byte [0x104e1e85], al
cmovae edx, dword [0x102276b8]
call fcn.101706d0
test al, al
je 0x10100fac
push 0
push 0x101d6e4f
mov ecx, 0x102276b8
call fcn.10022990
xor esi, esi
mov ecx, dword [esi*4 + 0x101f5d54]
lea eax, [esp + 0xd0]
push eax
mov dword [esp + 0xd4], 0
mov dword [esp + 0xd8], 0
mov dl, byte [esi + 0x104e1e84]
push 1
call fcn.1017efc0
test al, al
je 0x10100f66
cmp byte [esi + 0x104e1e84], 0
sete al
mov byte [esi + 0x104e1e84], al
inc esi
cmp esi, 2
jb 0x10100f20
mov esi, dword [0x104e2068]
mov eax, dword [esi + 0x1bec]
cmp dword [esi + 0x1d54], eax
jne 0x10100f90
mov dword [esi + 0x1e58], eax
mov dword [esi + 0x1e5c], 2
test dword [eax + 8], 0x1000000
je 0x10100fa0
mov byte [esi + 0x1b9e], 1
call fcn.1015e0b0
mov byte [esi + 0x1b9e], 0
xor esi, esi
nop
test esi, esi
jne 0x10100fc4
push esi
push 0x101d6e4f
mov ecx, 0x102276b8
call fcn.10022990
cmp byte [esi + 0x104e1e84], 0
je 0x1010121c
cmp dword [0x102276c8], 0
xorps xmm0, xmm0
mov edx, dword [esi*4 + 0x101f5d54]
je 0x10101086
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 + 0x18], ebx
call fcn.10020690
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 0x101010ce
mov ecx, edx
mov dword [esp + 0x8a8], 0
or ebx, 4
mov dword [esp + 0x8ac], 0
mov dword [esp + 0x14], ebx
movups xmmword [esp + 0x898], xmm0
lea edi, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x101010b0
sub ecx, edi
push ecx
push edx
lea ecx, [esp + 0x8a0]
call fcn.10027bd0
lea eax, [esp + 0x898]
push eax
mov ecx, 0x102276b8
call fcn.10020700
test bl, 4
je 0x1010113f
mov ecx, dword [esp + 0x8ac]
and ebx, 0xfffffffb
mov dword [esp + 0x14], ebx
cmp ecx, 0x10
jb 0x10101121
mov edx, dword [esp + 0x898]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x10101117
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1010b9a1
push ecx
push edx
call fcn.1019d45c
add esp, 8
mov dword [esp + 0x8a8], 0
mov dword [esp + 0x8ac], 0xf
mov byte [esp + 0x898], 0
test bl, 2
je 0x101011a5
mov ecx, dword [esp + 0x758]
and ebx, 0xfffffffd
mov dword [esp + 0x14], ebx
cmp ecx, 0x10
jb 0x10101187
mov edx, dword [esp + 0x744]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x1010117d
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1010b9a1
push ecx
push edx
call fcn.1019d45c
add esp, 8
mov dword [esp + 0x754], 0
mov dword [esp + 0x758], 0xf
mov byte [esp + 0x744], 0
test bl, 1
je 0x1010120b
mov ecx, dword [esp + 0x770]
and ebx, 0xfffffffe
mov dword [esp + 0x14], ebx
cmp ecx, 0x10
jb 0x101011ed
mov edx, dword [esp + 0x75c]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x101011e3
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1010b9a1
push ecx
push edx
call fcn.1019d45c
add esp, 8
mov dword [esp + 0x76c], 0
mov dword [esp + 0x770], 0xf
mov byte [esp + 0x75c], 0
mov ecx, dword [0x10227c40]
mov eax, dword [ecx + 0x3660]
bts eax, esi
jmp 0x1010122b
mov ecx, dword [0x10227c40]
mov eax, dword [ecx + 0x3660]
btr eax, esi
inc esi
mov dword [ecx + 0x3660], eax
cmp esi, 2
jb 0x10100fb0
mov eax, dword [esp + 0x40]
mov ecx, dword [0x102296ac]
mov ecx, dword [eax + ecx*4]
mov eax, dword [0x104e57ec]
cmp eax, dword [ecx + 4]
jle 0x10101285
push 0x104e57ec
call fcn.1019d7b4
add esp, 4
cmp dword [0x104e57ec], 0xffffffff
jne 0x10101285
push 0x101c9ec0
call fcn.1019d442
add esp, 4
push 0x104e57ec
call fcn.1019d76a
add esp, 4
mov ecx, dword [0x10227c40]
mov edx, 0x10227b00
push 1
push 0
mov al, byte [ecx + 0x3664]
and al, 1
mov byte [0x104e1eb4], al
mov eax, dword [ecx + 0x3664]
shr eax, 1
and al, 1
mov byte [0x104e1eb5], al
mov eax, dword [ecx + 0x3664]
shr eax, 2
and al, 1
mov byte [0x104e1eb6], al
mov eax, dword [ecx + 0x3664]
shr eax, 3
and al, 1
mov byte [0x104e1eb7], al
mov eax, dword [ecx + 0x3664]
mov ecx, str.Log_events
shr eax, 4
and al, 1
cmp dword [0x10227b14], 0x10
mov byte [0x104e1eb8], al
cmovae edx, dword [0x10227b00]
call fcn.101706d0
test al, al
je 0x101013ac
push 0
push 0x101d6e4f
mov ecx, 0x10227b00
call fcn.10022990
xor esi, esi
nop dword [eax]
nop word [eax + eax]
mov ecx, dword [esi*4 + 0x101f4bc4]
lea eax, [esp + 0xd8]
push eax
mov dword [esp + 0xdc], 0
mov dword [esp + 0xe0], 0
mov dl, byte [esi + 0x104e1eb4]
push 1
call fcn.1017efc0
test al, al
je 0x10101366
cmp byte [esi + 0x104e1eb4], 0
sete al
mov byte [esi + 0x104e1eb4], al
inc esi
cmp esi, 5
jb 0x10101320
mov esi, dword [0x104e2068]
mov eax, dword [esi + 0x1bec]
cmp dword [esi + 0x1d54], eax
jne 0x10101390
mov dword [esi + 0x1e58], eax
mov dword [esi + 0x1e5c], 2
test dword [eax + 8], 0x1000000
je 0x101013a0
mov byte [esi + 0x1b9e], 1
call fcn.1015e0b0
mov byte [esi + 0x1b9e], 0
xor esi, esi
nop
test esi, esi
jne 0x101013c4
push esi
push 0x101d6e4f
mov ecx, 0x10227b00
call fcn.10022990
cmp byte [esi + 0x104e1eb4], 0
je 0x1010161c
cmp dword [0x10227b10], 0
xorps xmm0, xmm0
mov edx, dword [esi*4 + 0x101f4bc4]
je 0x10101486
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 + 0x18], ebx
call fcn.10020690
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 0x101014ce
mov ecx, edx
mov dword [esp + 0x8c0], 0
or ebx, 0x20
mov dword [esp + 0x8c4], 0
mov dword [esp + 0x14], ebx
movups xmmword [esp + 0x8b0], xmm0
lea edi, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x101014b0
sub ecx, edi
push ecx
push edx
lea ecx, [esp + 0x8b8]
call fcn.10027bd0
lea eax, [esp + 0x8b0]
push eax
mov ecx, 0x10227b00
call fcn.10020700
test bl, 0x20
je 0x1010153f
mov ecx, dword [esp + 0x8c4]
and ebx, 0xffffffdf
mov dword [esp + 0x14], ebx
cmp ecx, 0x10
jb 0x10101521
mov edx, dword [esp + 0x8b0]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x10101517
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1010b9a1
push ecx
push edx
call fcn.1019d45c
add esp, 8
mov dword [esp + 0x8c0], 0
mov dword [esp + 0x8c4], 0xf
mov byte [esp + 0x8b0], 0
test bl, 0x10
je 0x101015a5
mov ecx, dword [esp + 0x788]
and ebx, 0xffffffef
mov dword [esp + 0x14], ebx
cmp ecx, 0x10
jb 0x10101587
mov edx, dword [esp + 0x774]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x1010157d
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1010b9a1
push ecx
push edx
call fcn.1019d45c
add esp, 8
mov dword [esp + 0x784], 0
mov dword [esp + 0x788], 0xf
mov byte [esp + 0x774], 0
test bl, 8
je 0x1010160b
mov ecx, dword [esp + 0x7a0]
and ebx, 0xfffffff7
mov dword [esp + 0x14], ebx
cmp ecx, 0x10
jb 0x101015ed
mov edx, dword [esp + 0x78c]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x101015e3
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1010b9a1
push ecx
push edx
call fcn.1019d45c
add esp, 8
mov dword [esp + 0x79c], 0
mov dword [esp + 0x7a0], 0xf
mov byte [esp + 0x78c], 0
mov ecx, dword [0x10227c40]
mov eax, dword [ecx + 0x3664]
bts eax, esi
jmp 0x1010162b
mov ecx, dword [0x10227c40]
mov eax, dword [ecx + 0x3664]
btr eax, esi
inc esi
mov dword [ecx + 0x3664], eax
cmp esi, 5
jb 0x101013b0
cmp byte [0x101f5e8f], 0
mov edi, 5
movups xmm0, xmmword [0x101f5e74]
mov eax, dword [0x101f5e8c]
mov esi, dword [0x102296a0]
movups xmmword [esp + 0x87c], xmm0
mov dword [esp + 0x894], eax
movq xmm0, qword [0x101f5e84]
movq qword [esp + 0x88c], xmm0
je 0x1010181d
xor edx, edx
mov dword [esp + 0x10], edx
cmp esi, 2
jl 0x101017d4
movaps xmm0, xmmword [0x101ff810]
mov eax, 0x1f
movaps xmm4, xmmword [0x101ff6c0]
movaps xmm3, xmmword [0x101ffc10]
movaps xmm6, xmmword [0x101ff730]
movaps xmmword [esp + 0x20], xmm0
mov ecx, dword [esp + 0x20]
movd xmm5, edi
movd xmm7, eax
movd xmm0, edx
lea eax, [edx + 4]
pshufd xmm2, xmm0, 0
paddd xmm2, xmm4
movaps xmm1, xmm2
movaps xmm0, xmm2
punpckhdq xmm0, xmm2
punpckldq xmm1, xmm2
pmuldq xmm0, xmm3
pmuldq xmm1, xmm3
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm2
psrad xmm1, xmm5
movaps xmm0, xmm1
psrld xmm0, xmm7
paddd xmm0, xmm1
pmulld xmm0, xmm6
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
pand xmm1, xmmword [0x101ff7d0]
packuswb xmm1, xmm1
movd xmm0, ecx
paddb xmm1, xmm0
movd xmm0, dword [esp + edx + 0x87c]
pxor xmm1, xmm0
movd xmm0, eax
pshufd xmm2, xmm0, 0
movd dword [esp + edx + 0x87c], xmm1
paddd xmm2, xmm4
movaps xmm1, xmm2
movaps xmm0, xmm2
punpckldq xmm1, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm3
pmuldq xmm1, xmm3
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm2
psrad xmm1, xmm5
movaps xmm0, xmm1
psrld xmm0, xmm7
paddd xmm0, xmm1
pmulld xmm0, xmm6
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
pand xmm1, xmmword [0x101ff7d0]
packuswb xmm1, xmm1
movd xmm0, ecx
paddb xmm1, xmm0
movd xmm0, dword [esp + edx + 0x880]
pxor xmm1, xmm0
movd dword [esp + edx + 0x880], xmm1
add edx, 8
cmp edx, 0x18
jl 0x101016c0
mov dword [esp + 0x10], edx
cmp edx, 0x1c
jge 0x1010181d
mov eax, 0xa0a0a0a1
imul edx
add edx, dword [esp + 0x10]
sar edx, 5
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [esp + 0x10]
movsx eax, al
mov cl, dl
imul eax, eax, 0x33
sub cl, al
add cl, 0x34
xor byte [esp + edx + 0x87c], cl
inc edx
mov dword [esp + 0x10], edx
cmp edx, 0x1c
jl 0x101017d4
mov ecx, dword [0x10227c40]
add ecx, 0x3668
mov dword [esp + 0x18], ecx
jmp 0x1010182b
mov eax, dword [0x10227c40]
add eax, 0x3668
mov dword [esp + 0x18], eax
mov ax, word [0x101f64e8]
xor edx, edx
mov word [esp + 0x378], ax
mov al, byte [0x101f64ea]
mov byte [esp + 0x37a], al
mov dword [esp + 0x10], edx
movups xmm0, xmmword [str.dZELPUU]
movups xmmword [esp + 0x368], xmm0
cmp esi, 2
jl 0x101019b4
movaps xmm0, xmmword [0x101ff810]
mov eax, 0x1f
movaps xmm4, xmmword [0x101ff6c0]
movaps xmm3, xmmword [0x101ffc10]
movaps xmm6, xmmword [0x101ff730]
movaps xmmword [esp + 0x20], xmm0
mov ecx, dword [esp + 0x20]
movd xmm5, edi
movd xmm7, eax
nop word [eax + eax]
movd xmm0, edx
lea eax, [edx + 4]
pshufd xmm2, xmm0, 0
paddd xmm2, xmm4
movaps xmm1, xmm2
movaps xmm0, xmm2
punpckhdq xmm0, xmm2
punpckldq xmm1, xmm2
pmuldq xmm0, xmm3
pmuldq xmm1, xmm3
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm2
psrad xmm1, xmm5
movaps xmm0, xmm1
psrld xmm0, xmm7
paddd xmm0, xmm1
pmulld xmm0, xmm6
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
pand xmm1, xmmword [0x101ff7d0]
packuswb xmm1, xmm1
movd xmm0, ecx
paddb xmm1, xmm0
movd xmm0, dword [esp + edx + 0x368]
pxor xmm1, xmm0
movd xmm0, eax
pshufd xmm2, xmm0, 0
movd dword [esp + edx + 0x368], xmm1
paddd xmm2, xmm4
movaps xmm1, xmm2
movaps xmm0, xmm2
punpckldq xmm1, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm3
pmuldq xmm1, xmm3
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm2
psrad xmm1, xmm5
movaps xmm0, xmm1
psrld xmm0, xmm7
paddd xmm0, xmm1
pmulld xmm0, xmm6
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
pand xmm1, xmmword [0x101ff7d0]
packuswb xmm1, xmm1
movd xmm0, ecx
paddb xmm1, xmm0
movd xmm0, dword [esp + edx + 0x36c]
pxor xmm1, xmm0
movd dword [esp + edx + 0x36c], xmm1
add edx, 8
cmp edx, 0x10
jl 0x101018a0
mov dword [esp + 0x10], edx
cmp edx, 0x13
jge 0x101019eb
mov eax, 0xa0a0a0a1
imul edx
add edx, dword [esp + 0x10]
sar edx, 5
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [esp + 0x10]
movsx eax, al
mov cl, dl
imul eax, eax, 0x33
sub cl, al
add cl, 0x34
xor byte [esp + edx + 0x368], cl
inc edx
mov dword [esp + 0x10], edx
cmp edx, 0x13
jl 0x101019b4
xor esi, esi
lea edx, [esp + 0x87c]
cmp byte [esp + 0x87c], 0
je 0x10101a16
nop
mov ecx, edx
lea edi, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x10101a05
sub ecx, edi
inc edx
add edx, ecx
inc esi
cmp byte [edx], al
jne 0x10101a00
mov edx, dword [esp + 0x18]
lea eax, [esp + 0x87c]
push 1
push 0xffffffffffffffff
push esi
push eax
push 0x10171580
lea ecx, [esp + 0x37c]
call fcn.101715e0
mov esi, dword [0x104e2068]
mov eax, dword [esi + 0x1bec]
cmp dword [esi + 0x1d54], eax
jne 0x10101a5c
mov dword [esi + 0x1e58], eax
mov dword [esi + 0x1e5c], 2
test dword [eax + 8], 0x1000000
je 0x10101a6c
mov byte [esi + 0x1b9e], 1
call fcn.1015e0b0
mov byte [esi + 0x1b9e], 0
mov ecx, dword [0x104e2068]
mov eax, dword [ecx + 0x1bec]
mov byte [eax + 0xa8], 1
mov edx, dword [ecx + 0x1bec]
cmp byte [edx + 0xab], 0
jne 0x10101ae2
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 [0x101f4a18]
xor ebx, ebx
movq xmm0, qword [str.cTBRJT_IWD_]
mov word [esp + 0x184], ax
mov al, byte [0x101f4a1a]
mov byte [esp + 0x186], al
movq qword [esp + 0x17c], xmm0
nop
mov eax, 0xa0a0a0a1
mov cl, bl
mul ebx
shr edx, 5
movsx eax, dl
imul eax, eax, 0x33
sub cl, al
add cl, 0x34
xor byte [esp + ebx + 0x17c], cl
inc ebx
cmp ebx, 0xb
jl 0x10101b10
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]
nop
mov al, byte [ecx]
inc ecx
test al, al
jne 0x10101b60
sub ecx, edx
lea eax, [esp + 0x17c]
push ecx
push eax
lea ecx, [esp + 0x5f8]
call fcn.10027bd0
mov eax, dword [0x104e2068]
lea ecx, [esp + 0x5f0]
cmp dword [esp + 0x604], 0x10
cmovae 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.10152b90
mov edi, dword [esi + 4]
mov ecx, dword [esi]
mov dword [esp + 0x18], eax
cmp ecx, edi
jne 0x10101be8
inc ecx
test edi, edi
je 0x10101bd6
mov eax, edi
cdq
sub eax, edx
sar eax, 1
add eax, edi
jmp 0x10101bdb
mov eax, 8
cmp eax, ecx
cmovg ecx, eax
push ecx
mov ecx, esi
call fcn.100be400
mov ecx, dword [esi]
mov eax, dword [esi + 8]
mov edx, dword [esp + 0x18]
mov dword [eax + ecx*4], edx
inc dword [esi]
mov ecx, dword [esp + 0x604]
cmp ecx, 0x10
jb 0x10101c32
mov edx, dword [esp + 0x5f0]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x10101c28
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1010b9a1
push ecx
push edx
call fcn.1019d45c
add esp, 8
mov ax, word [0x101f4b50]
movq xmm0, qword [str.cTBRJT_IW]
mov esi, dword [0x10227c40]
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 0x10101ca4
xor ebx, ebx
nop dword [eax + eax]
mov eax, 0xa0a0a0a1
mov cl, bl
mul ebx
shr edx, 5
movsx eax, dl
imul eax, eax, 0x33
sub cl, al
add cl, 0x34
xor byte [esp + ebx + 0x4c4], cl
inc ebx
cmp ebx, 0xa
jl 0x10101c80
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
mov al, byte [ecx]
inc ecx
test al, al
jne 0x10101cd0
sub ecx, edx
lea eax, [esp + 0x4c4]
push ecx
push eax
lea ecx, [esp + 0x610]
call fcn.10027bd0
cmp dword [esp + 0x61c], 0x10
lea ecx, [esp + 0x608]
lea edx, [esi + 0x3640]
cmovae ecx, dword [esp + 0x608]
call fcn.1016fb20
mov ecx, dword [esp + 0x61c]
cmp ecx, 0x10
jb 0x10101d4c
mov edx, dword [esp + 0x608]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x10101d42
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1010b9a1
push ecx
push edx
call fcn.1019d45c
add esp, 8
mov ecx, dword [0x104e2068]
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 0x10101dd4
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, 0x101f2c00
mov dword [esp + 0x6c], 0
call fcn.1016e290
test al, al
je 0x10101e48
mov esi, dword [0x104e2068]
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, 0x101d6e4f
call fcn.10152b90
cmp dword [esi + 0x1c24], eax
jne 0x10101e30
mov dword [esi + 0x1c28], eax
cmp dword [esi + 0x1c5c], eax
jne 0x10101e3f
mov byte [esi + 0x1c60], 1
xor edx, edx
mov ecx, eax
call fcn.1015fce0
mov esi, dword [0x104e2068]
mov eax, dword [esi + 0x1d30]
cmp eax, dword [esi + 0x1d3c]
jg 0x10101e6b
mov dword [esi + 0x1c74], 0
jmp 0x1010295e
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, 0x101d6e4f
call fcn.10152b90
cmp dword [esi + 0x1c24], eax
jne 0x10101e9b
mov dword [esi + 0x1c28], eax
cmp dword [esi + 0x1c5c], eax
jne 0x10101eaa
mov byte [esi + 0x1c60], 1
mov edx, 0x141
mov ecx, eax
call fcn.10160020
test al, al
je 0x1010295e
mov eax, dword [0x101f510c]
movq xmm0, qword [0x101f5104]
mov esi, dword [0x10227c40]
mov edi, dword [0x102296a0]
mov dword [esp + 0x2d0], eax
mov ax, word [0x101f5110]
movq qword [esp + 0x2c8], xmm0
mov word [esp + 0x2d4], ax
test ah, ah
je 0x1010205d
xor eax, eax
mov dword [esp + 0x18], eax
cmp edi, 2
jl 0x1010202a
movaps xmm2, xmmword [0x101ff6c0]
mov eax, 5
movaps xmm4, xmmword [0x101ffc10]
movaps xmm1, xmm2
punpckldq xmm1, xmm2
movaps xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm4
pmuldq xmm1, xmm4
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm2
movd xmm5, eax
psrad xmm1, xmm5
mov eax, 0x1f
movaps xmm0, xmm1
movd xmm6, eax
mov eax, dword [0x101ff810]
psrld xmm0, xmm6
paddd xmm0, xmm1
pmulld xmm0, xmmword [0x101ff730]
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
movaps xmm2, xmmword [0x101ff700]
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
pand xmm1, xmmword [0x101ff7d0]
packuswb xmm1, xmm1
movd xmm0, eax
paddb xmm1, xmm0
movd xmm0, dword [0x101f5104]
pxor xmm1, xmm0
movaps xmm0, xmm2
movd dword [esp + 0x2c8], xmm1
movaps xmm1, xmm2
punpckldq xmm1, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm4
pmuldq xmm1, xmm4
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm2
psrad xmm1, xmm5
movaps xmm0, xmm1
psrld xmm0, xmm6
paddd xmm0, xmm1
pmulld xmm0, xmmword [0x101ff730]
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
pand xmm1, xmmword [0x101ff7d0]
movd xmm0, eax
mov eax, 8
packuswb xmm1, xmm1
paddb xmm1, xmm0
mov dword [esp + 0x18], eax
movd xmm0, dword [esp + 0x2cc]
pxor xmm1, xmm0
movd dword [esp + 0x2cc], xmm1
mov ebx, dword [esp + 0x18]
nop
mov eax, 0xa0a0a0a1
mov cl, bl
imul ebx
add edx, ebx
sar edx, 5
mov eax, edx
shr eax, 0x1f
add eax, edx
movsx eax, al
imul eax, eax, 0x33
sub cl, al
add cl, 0x34
xor byte [esp + ebx + 0x2c8], cl
inc ebx
cmp ebx, 0xe
jl 0x10102030
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]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x10102088
sub ecx, edx
lea eax, [esp + 0x2c8]
push ecx
push eax
lea ecx, [esp + 0x628]
call fcn.10027bd0
cmp dword [esp + 0x634], 0x10
lea ecx, [esp + 0x620]
lea edx, [esi + 0x3644]
cmovae ecx, dword [esp + 0x620]
call fcn.1016fb20
mov ecx, dword [esp + 0x634]
cmp ecx, 0x10
jb 0x10102104
mov edx, dword [esp + 0x620]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x101020fa
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1010b9a1
push ecx
push edx
call fcn.1019d45c
add esp, 8
mov ax, word [0x101f559c]
movq xmm0, qword [0x101f5594]
mov esi, dword [0x10227c40]
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 0x10102174
xor ebx, ebx
nop dword [eax]
mov eax, 0xa0a0a0a1
mov cl, bl
mul ebx
shr edx, 5
movsx eax, dl
imul eax, eax, 0x33
sub cl, al
add cl, 0x34
xor byte [esp + ebx + 0x4d0], cl
inc ebx
cmp ebx, 0xa
jl 0x10102150
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
mov al, byte [ecx]
inc ecx
test al, al
jne 0x101021a0
sub ecx, edx
lea eax, [esp + 0x4d0]
push ecx
push eax
lea ecx, [esp + 0x49c]
call fcn.10027bd0
cmp dword [esp + 0x4a8], 0x10
lea ecx, [esp + 0x494]
lea edx, [esi + 0x3645]
cmovae ecx, dword [esp + 0x494]
call fcn.1016fb20
mov ecx, dword [esp + 0x4a8]
cmp ecx, 0x10
jb 0x1010221c
mov edx, dword [esp + 0x494]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x10102212
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1010b9a1
push ecx
push edx
call fcn.1019d45c
add esp, 8
mov esi, dword [0x10227c40]
mov al, byte [0x101f58c4]
add esi, 0x3642
movq xmm0, qword [0x101f58bc]
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, 0xa0a0a0a1
mov cl, bl
mul ebx
shr edx, 5
movsx eax, dl
imul eax, eax, 0x33
sub cl, al
add cl, 0x34
xor byte [esp + ebx + 0x1a0], cl
inc ebx
cmp ebx, 9
jl 0x10102265
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]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x101022b4
sub ecx, edx
lea eax, [esp + 0x1a0]
push ecx
push eax
lea ecx, [esp + 0x640]
call fcn.10027bd0
cmp dword [esp + 0x64c], 0x10
lea ecx, [esp + 0x638]
mov edx, esi
cmovae ecx, dword [esp + 0x638]
call fcn.1016fb20
mov ecx, dword [esp + 0x64c]
cmp ecx, 0x10
jb 0x1010232c
mov edx, dword [esp + 0x638]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x10102322
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1010b9a1
push ecx
push edx
call fcn.1019d45c
add esp, 8
mov ax, word [0x101f4c90]
movq xmm0, qword [0x101f4c88]
mov esi, dword [0x10227c40]
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 0x10102399
xor ebx, ebx
mov eax, 0xa0a0a0a1
mov cl, bl
mul ebx
shr edx, 5
movsx eax, dl
imul eax, eax, 0x33
sub cl, al
add cl, 0x34
xor byte [esp + ebx + 0x4dc], cl
inc ebx
cmp ebx, 0xa
jl 0x10102375
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 0x101023c4
sub ecx, edx
lea eax, [esp + 0x4dc]
push ecx
push eax
lea ecx, [esp + 0x658]
call fcn.10027bd0
cmp dword [esp + 0x664], 0x10
lea ecx, [esp + 0x650]
lea edx, [esi + 0x3643]
cmovae ecx, dword [esp + 0x650]
call fcn.1016fb20
mov ecx, dword [esp + 0x664]
cmp ecx, 0x10
jb 0x10102440
mov edx, dword [esp + 0x650]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x10102436
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1010b9a1
push ecx
push edx
call fcn.1019d45c
add esp, 8
mov eax, dword [0x101f5740]
movq xmm0, qword [0x101f5738]
mov esi, dword [0x10227c40]
mov dword [esp + 0x2c0], eax
mov ax, word [0x101f5744]
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 0x101025fd
xor eax, eax
mov dword [esp + 0x18], eax
cmp edi, 2
jl 0x101025c4
movaps xmm2, xmmword [0x101ff6c0]
mov eax, 5
movaps xmm4, xmmword [0x101ffc10]
movaps xmm1, xmm2
punpckldq xmm1, xmm2
movaps xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm4
pmuldq xmm1, xmm4
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm2
movd xmm5, eax
psrad xmm1, xmm5
mov eax, 0x1f
movaps xmm0, xmm1
movd xmm6, eax
mov eax, dword [0x101ff810]
psrld xmm0, xmm6
paddd xmm0, xmm1
pmulld xmm0, xmmword [0x101ff730]
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
movaps xmm2, xmmword [0x101ff700]
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
pand xmm1, xmmword [0x101ff7d0]
packuswb xmm1, xmm1
movd xmm0, eax
paddb xmm1, xmm0
movd xmm0, dword [0x101f5738]
pxor xmm1, xmm0
movaps xmm0, xmm2
movd dword [esp + 0x2b8], xmm1
movaps xmm1, xmm2
punpckldq xmm1, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm4
pmuldq xmm1, xmm4
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm2
psrad xmm1, xmm5
movaps xmm0, xmm1
psrld xmm0, xmm6
paddd xmm0, xmm1
pmulld xmm0, xmmword [0x101ff730]
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
pand xmm1, xmmword [0x101ff7d0]
movd xmm0, eax
mov eax, 8
packuswb xmm1, xmm1
paddb xmm1, xmm0
mov dword [esp + 0x18], eax
movd xmm0, dword [esp + 0x2bc]
pxor xmm1, xmm0
movd dword [esp + 0x2bc], xmm1
mov ebx, dword [esp + 0x18]
nop dword [eax + eax]
mov eax, 0xa0a0a0a1
mov cl, bl
imul ebx
add edx, ebx
sar edx, 5
mov eax, edx
shr eax, 0x1f
add eax, edx
movsx eax, al
imul eax, eax, 0x33
sub cl, al
add cl, 0x34
xor byte [esp + ebx + 0x2b8], cl
inc ebx
cmp ebx, 0xe
jl 0x101025d0
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 0x10102628
sub ecx, edx
lea eax, [esp + 0x2b8]
push ecx
push eax
lea ecx, [esp + 0x4b4]
call fcn.10027bd0
cmp dword [esp + 0x4c0], 0x10
lea ecx, [esp + 0x4ac]
lea edx, [esi + 0x3646]
cmovae ecx, dword [esp + 0x4ac]
call fcn.1016fb20
mov ecx, dword [esp + 0x4c0]
cmp ecx, 0x10
jb 0x101026a4
mov edx, dword [esp + 0x4ac]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x1010269a
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1010b9a1
push ecx
push edx
call fcn.1019d45c
add esp, 8
mov eax, dword [0x101f4858]
mov esi, dword [0x10227c40]
movq xmm0, qword [0x101f4850]
add esi, 0x3647
mov dword [esp + 0x13c], eax
mov al, byte [0x101f485c]
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 + 0x18], eax
cmp edi, 2
jl 0x10102824
movaps xmm2, xmmword [0x101ff6c0]
mov eax, 5
movaps xmm4, xmmword [0x101ffc10]
movaps xmm1, xmm2
punpckldq xmm1, xmm2
movaps xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm4
pmuldq xmm1, xmm4
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm2
movd xmm5, eax
psrad xmm1, xmm5
mov eax, 0x1f
movaps xmm0, xmm1
movd xmm6, eax
mov eax, dword [0x101ff810]
psrld xmm0, xmm6
paddd xmm0, xmm1
pmulld xmm0, xmmword [0x101ff730]
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
movaps xmm2, xmmword [0x101ff700]
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
pand xmm1, xmmword [0x101ff7d0]
packuswb xmm1, xmm1
movd xmm0, eax
paddb xmm1, xmm0
movd xmm0, dword [0x101f4850]
pxor xmm1, xmm0
movaps xmm0, xmm2
movd dword [esp + 0x134], xmm1
movaps xmm1, xmm2
punpckldq xmm1, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm4
pmuldq xmm1, xmm4
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm2
psrad xmm1, xmm5
movaps xmm0, xmm1
psrld xmm0, xmm6
paddd xmm0, xmm1
pmulld xmm0, xmmword [0x101ff730]
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
pand xmm1, xmmword [0x101ff7d0]
movd xmm0, eax
mov eax, 8
packuswb xmm1, xmm1
paddb xmm1, xmm0
mov dword [esp + 0x18], eax
movd xmm0, dword [esp + 0x138]
pxor xmm1, xmm0
movd dword [esp + 0x138], xmm1
mov ebx, dword [esp + 0x18]
nop dword [eax + eax]
mov eax, 0xa0a0a0a1
mov cl, bl
imul ebx
add edx, ebx
sar edx, 5
mov eax, edx
shr eax, 0x1f
add eax, edx
movsx eax, al
imul eax, eax, 0x33
sub cl, al
add cl, 0x34
xor byte [esp + ebx + 0x134], cl
inc ebx
cmp ebx, 0xd
jl 0x10102830
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 0x10102888
sub ecx, edx
lea eax, [esp + 0x134]
push ecx
push eax
lea ecx, [esp + 0x670]
call fcn.10027bd0
cmp dword [esp + 0x67c], 0x10
lea ecx, [esp + 0x668]
mov edx, esi
cmovae ecx, dword [esp + 0x668]
call fcn.1016fb20
mov ecx, dword [esp + 0x67c]
cmp ecx, 0x10
jb 0x10102900
mov edx, dword [esp + 0x668]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x101028f6
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1010b9a1
push ecx
push edx
call fcn.1019d45c
add esp, 8
mov esi, dword [0x104e2068]
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 0x10102942
mov dword [esi + 0x1e58], eax
mov dword [esi + 0x1e5c], 2
test dword [eax + 8], 0x1000000
je 0x10102952
mov byte [esi + 0x1b9e], 1
call fcn.1015e0b0
mov byte [esi + 0x1b9e], 0
mov ecx, dword [0x104e2068]
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.10152b90
mov edi, dword [esi + 4]
mov ecx, dword [esi]
mov dword [esp + 0x18], eax
cmp ecx, edi
jne 0x101029c4
inc ecx
test edi, edi
je 0x101029b2
mov eax, edi
cdq
sub eax, edx
sar eax, 1
add eax, edi
jmp 0x101029b7
mov eax, 8
cmp eax, ecx
cmovg ecx, eax
push ecx
mov ecx, esi
call fcn.100be400
mov eax, dword [esi + 8]
mov ecx, dword [esi]
mov edx, dword [esp + 0x18]
mov dword [eax + ecx*4], edx
inc dword [esi]
cmp byte [0x101f5e0f], 0
movq xmm0, qword [str.dYWN_K]
mov eax, dword [0x101f5e0c]
mov esi, dword [0x10227c40]
mov edi, dword [0x102296a0]
movq qword [esp + 0x3bc], xmm0
mov dword [esp + 0x3c4], eax
je 0x10102b6d
xor eax, eax
mov dword [esp + 0x18], eax
cmp edi, 2
jl 0x10102b35
movaps xmm2, xmmword [0x101ff6c0]
mov eax, 5
movaps xmm4, xmmword [0x101ffc10]
movaps xmm1, xmm2
punpckldq xmm1, xmm2
movaps xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm4
pmuldq xmm1, xmm4
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm2
movd xmm5, eax
psrad xmm1, xmm5
mov eax, 0x1f
movaps xmm0, xmm1
movd xmm6, eax
mov eax, dword [0x101ff810]
psrld xmm0, xmm6
paddd xmm0, xmm1
pmulld xmm0, xmmword [0x101ff730]
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
movaps xmm2, xmmword [0x101ff700]
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
pand xmm1, xmmword [0x101ff7d0]
packuswb xmm1, xmm1
movd xmm0, eax
paddb xmm1, xmm0
movd xmm0, dword [str.dYWN_K]
pxor xmm1, xmm0
movaps xmm0, xmm2
movd dword [esp + 0x3bc], xmm1
movaps xmm1, xmm2
punpckldq xmm1, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm4
pmuldq xmm1, xmm4
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm2
psrad xmm1, xmm5
movaps xmm0, xmm1
psrld xmm0, xmm6
paddd xmm0, xmm1
pmulld xmm0, xmmword [0x101ff730]
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
pand xmm1, xmmword [0x101ff7d0]
movd xmm0, eax
mov eax, 8
packuswb xmm1, xmm1
paddb xmm1, xmm0
mov dword [esp + 0x18], eax
movd xmm0, dword [esp + 0x3c0]
pxor xmm1, xmm0
movd dword [esp + 0x3c0], xmm1
mov ebx, dword [esp + 0x18]
nop dword [eax]
mov eax, 0xa0a0a0a1
mov cl, bl
imul ebx
add edx, ebx
sar edx, 5
mov eax, edx
shr eax, 0x1f
add eax, edx
movsx eax, al
imul eax, eax, 0x33
sub cl, al
add cl, 0x34
xor byte [esp + ebx + 0x3bc], cl
inc ebx
cmp ebx, 0xc
jl 0x10102b40
lea edx, [esi + 0x3750]
lea ecx, [esp + 0x3bc]
call fcn.1016fb20
mov ecx, dword [0x104e2068]
mov eax, dword [ecx + 0x1bec]
mov byte [eax + 0xa8], 1
mov edx, dword [ecx + 0x1bec]
cmp byte [edx + 0xab], 0
jne 0x10102be9
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, 0x101f2c00
mov dword [esp + 0x74], 0
call fcn.1016e290
test al, al
je 0x10102c5d
mov esi, dword [0x104e2068]
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, 0x101d6e4f
call fcn.10152b90
cmp dword [esi + 0x1c24], eax
jne 0x10102c45
mov dword [esi + 0x1c28], eax
cmp dword [esi + 0x1c5c], eax
jne 0x10102c54
mov byte [esi + 0x1c60], 1
xor edx, edx
mov ecx, eax
call fcn.1015fce0
mov esi, dword [0x104e2068]
mov eax, dword [esi + 0x1d30]
cmp eax, dword [esi + 0x1d3c]
jg 0x10102c80
mov dword [esi + 0x1c74], 0
jmp 0x10102f66
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, 0x101d6e4f
call fcn.10152b90
cmp dword [esi + 0x1c24], eax
jne 0x10102cb0
mov dword [esi + 0x1c28], eax
cmp dword [esi + 0x1c5c], eax
jne 0x10102cbf
mov byte [esi + 0x1c60], 1
mov edx, 0x141
mov ecx, eax
call fcn.10160020
test al, al
je 0x10102f66
movq xmm0, qword [str.gASVU]
xor ebx, ebx
mov al, byte [0x101f62a4]
mov esi, dword [0x10227c40]
movq qword [esp + 0x514], xmm0
mov byte [esp + 0x51c], al
nop dword [eax + eax]
mov eax, 0xa0a0a0a1
mov cl, bl
mul ebx
shr edx, 5
movsx eax, dl
imul eax, eax, 0x33
sub cl, al
add cl, 0x34
xor byte [esp + ebx + 0x514], cl
inc ebx
cmp ebx, 9
jl 0x10102d00
lea edx, [esi + 0x3751]
lea ecx, [esp + 0x514]
call fcn.1016fb20
mov eax, dword [str.fTX8]
xor edx, edx
mov esi, dword [0x10227c40]
mov dword [esp + 0x144], eax
mov al, byte [0x101f6690]
mov byte [esp + 0x148], al
mov dword [esp + 0x18], edx
nop word [eax + eax]
mov eax, 0xa0a0a0a1
mul edx
shr edx, 5
movsx eax, dl
mov edx, dword [esp + 0x18]
mov cl, dl
imul eax, eax, 0x33
sub cl, al
add cl, 0x34
xor byte [esp + edx + 0x144], cl
inc edx
mov dword [esp + 0x18], edx
cmp edx, 5
jl 0x10102d60
lea edx, [esi + 0x3752]
lea ecx, [esp + 0x144]
call fcn.1016fb20
mov eax, dword [str.cXD8]
xor ebx, ebx
mov esi, dword [0x10227c40]
mov dword [esp + 0x120], eax
mov al, byte [0x101f6700]
mov byte [esp + 0x124], al
nop
mov eax, 0xa0a0a0a1
mov cl, bl
mul ebx
shr edx, 5
movsx eax, dl
imul eax, eax, 0x33
sub cl, al
add cl, 0x34
xor byte [esp + ebx + 0x120], cl
inc ebx
cmp ebx, 5
jl 0x10102dc0
lea edx, [esi + 0x3753]
lea ecx, [esp + 0x120]
call fcn.1016fb20
mov eax, dword [0x101f5f7c]
xor edx, edx
mov esi, dword [0x10227c40]
mov dword [esp + 0x1cc], eax
mov ax, word [0x101f5f80]
mov word [esp + 0x1d0], ax
mov al, byte [0x101f5f82]
mov byte [esp + 0x1d2], al
mov dword [esp + 0x18], edx
nop dword [eax + eax]
mov eax, 0xa0a0a0a1
mul edx
shr edx, 5
movsx eax, dl
mov edx, dword [esp + 0x18]
mov cl, dl
imul eax, eax, 0x33
sub cl, al
add cl, 0x34
xor byte [esp + edx + 0x1cc], cl
inc edx
mov dword [esp + 0x18], edx
cmp edx, 7
jl 0x10102e30
lea edx, [esi + 0x3755]
lea ecx, [esp + 0x1cc]
call fcn.1016fb20
mov eax, dword [str.uG_XJ9]
mov esi, dword [0x10227c40]
mov dword [esp + 0x1dc], eax
mov ax, word [0x101f582c]
mov word [esp + 0x1e0], ax
test ah, ah
je 0x10102eb8
xor ebx, ebx
mov eax, 0xa0a0a0a1
mov cl, bl
mul ebx
shr edx, 5
movsx eax, dl
imul eax, eax, 0x33
sub cl, al
add cl, 0x34
xor byte [esp + ebx + 0x1dc], cl
inc ebx
cmp ebx, 6
jl 0x10102e94
lea edx, [esi + 0x3756]
lea ecx, [esp + 0x1dc]
call fcn.1016fb20
mov eax, dword [str.yZXRA9]
mov esi, dword [0x10227c40]
mov dword [esp + 0x1e4], eax
mov ax, word [0x101f54a4]
mov word [esp + 0x1e8], ax
test ah, ah
je 0x10102f14
xor ebx, ebx
mov eax, 0xa0a0a0a1
mov cl, bl
mul ebx
shr edx, 5
movsx eax, dl
imul eax, eax, 0x33
sub cl, al
add cl, 0x34
xor byte [esp + ebx + 0x1e4], cl
inc ebx
cmp ebx, 6
jl 0x10102ef0
lea edx, [esi + 0x3754]
lea ecx, [esp + 0x1e4]
call fcn.1016fb20
mov esi, dword [0x104e2068]
mov eax, dword [esi + 0x1bec]
cmp dword [esi + 0x1d54], eax
jne 0x10102f4a
mov dword [esi + 0x1e58], eax
mov dword [esi + 0x1e5c], 2
test dword [eax + 8], 0x1000000
je 0x10102f5a
mov byte [esi + 0x1b9e], 1
call fcn.1015e0b0
mov byte [esi + 0x1b9e], 0
mov eax, dword [0x104e2068]
mov eax, dword [eax + 0x1bec]
dec dword [eax + 0xe0]
mov ecx, dword [0x104e2068]
mov eax, dword [ecx + 0x1bec]
mov byte [eax + 0xa8], 1
mov edx, dword [ecx + 0x1bec]
cmp byte [edx + 0xab], 0
jne 0x10102fe1
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 [0x101f6188]
movq xmm0, qword [str.pGW_]
mov esi, dword [0x10227c40]
mov dword [esp + 0x438], eax
mov ax, word [0x101f618c]
movq qword [esp + 0x430], xmm0
mov word [esp + 0x43c], ax
test ah, ah
je 0x1010317d
xor eax, eax
mov dword [esp + 0x18], eax
cmp edi, 2
jl 0x10103147
movaps xmm2, xmmword [0x101ff6c0]
mov eax, 5
movaps xmm4, xmmword [0x101ffc10]
movaps xmm1, xmm2
punpckldq xmm1, xmm2
movaps xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm4
pmuldq xmm1, xmm4
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm2
movd xmm5, eax
psrad xmm1, xmm5
mov eax, 0x1f
movaps xmm0, xmm1
movd xmm6, eax
mov eax, dword [0x101ff810]
psrld xmm0, xmm6
paddd xmm0, xmm1
pmulld xmm0, xmmword [0x101ff730]
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
movaps xmm2, xmmword [0x101ff700]
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
pand xmm1, xmmword [0x101ff7d0]
packuswb xmm1, xmm1
movd xmm0, eax
paddb xmm1, xmm0
movd xmm0, dword [str.pGW_]
pxor xmm1, xmm0
movaps xmm0, xmm2
movd dword [esp + 0x430], xmm1
movaps xmm1, xmm2
punpckldq xmm1, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm4
pmuldq xmm1, xmm4
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm2
psrad xmm1, xmm5
movaps xmm0, xmm1
psrld xmm0, xmm6
paddd xmm0, xmm1
pmulld xmm0, xmmword [0x101ff730]
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
pand xmm1, xmmword [0x101ff7d0]
movd xmm0, eax
mov eax, 8
packuswb xmm1, xmm1
paddb xmm1, xmm0
mov dword [esp + 0x18], eax
movd xmm0, dword [esp + 0x434]
pxor xmm1, xmm0
movd dword [esp + 0x434], xmm1
mov ebx, dword [esp + 0x18]
nop dword [eax + eax]
mov eax, 0xa0a0a0a1
mov cl, bl
imul ebx
add edx, ebx
sar edx, 5
mov eax, edx
shr eax, 0x1f
add eax, edx
movsx eax, al
imul eax, eax, 0x33
sub cl, al
add cl, 0x34
xor byte [esp + ebx + 0x430], cl
inc ebx
cmp ebx, 0xe
jl 0x10103150
lea edx, [esi + 0x37c4]
lea ecx, [esp + 0x430]
call fcn.1016fb20
mov esi, dword [0x104e2068]
mov eax, dword [esi + 0x1bec]
mov byte [eax + 0xa8], 1
mov edx, dword [esi + 0x1bec]
cmp byte [edx + 0xab], 0
jne 0x101031f9
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.10152b90
mov edi, dword [esi + 4]
mov ecx, dword [esi]
mov dword [esp + 0x18], eax
cmp ecx, edi
jne 0x10103249
inc ecx
test edi, edi
je 0x10103237
mov eax, edi
cdq
sub eax, edx
sar eax, 1
add eax, edi
jmp 0x1010323c
mov eax, 8
cmp eax, ecx
cmovg ecx, eax
push ecx
mov ecx, esi
call fcn.100be400
mov ecx, dword [esi]
mov eax, dword [esi + 8]
mov edx, dword [esp + 0x18]
push 1
push 0
mov dword [eax + ecx*4], edx
lea edx, [esp + 0x20]
inc dword [esi]
mov ecx, 0x101f2c00
mov dword [esp + 0x20], 0
mov dword [esp + 0x24], 0
call fcn.1016e290
test al, al
je 0x101032cb
mov esi, dword [0x104e2068]
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, 0x101d6e4f
call fcn.10152b90
cmp dword [esi + 0x1c24], eax
jne 0x101032b3
mov dword [esi + 0x1c28], eax
cmp dword [esi + 0x1c5c], eax
jne 0x101032c2
mov byte [esi + 0x1c60], 1
xor edx, edx
mov ecx, eax
call fcn.1015fce0
mov esi, dword [0x104e2068]
mov eax, dword [esi + 0x1d30]
cmp eax, dword [esi + 0x1d3c]
jg 0x101032ee
mov dword [esi + 0x1c74], 0
jmp 0x10103429
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, 0x101d6e4f
call fcn.10152b90
cmp dword [esi + 0x1c24], eax
jne 0x1010331e
mov dword [esi + 0x1c28], eax
cmp dword [esi + 0x1c5c], eax
jne 0x1010332d
mov byte [esi + 0x1c60], 1
mov edx, 0x141
mov ecx, eax
call fcn.10160020
test al, al
je 0x10103429
push 0
push str._.3f
lea eax, [esp + 0x20]
mov dword [esp + 0x18], 0
push eax
lea eax, [esp + 0x1c]
mov dword [esp + 0x24], 0x3f800000
push eax
mov eax, dword [0x10227c40]
mov edx, 8
add eax, 0x37c8
mov ecx, str.Position
push eax
call fcn.10173320
push 0
push str._.3f
lea eax, [esp + 0x20]
mov dword [esp + 0x18], 0
push eax
lea eax, [esp + 0x1c]
mov dword [esp + 0x24], 0x3f800000
push eax
mov eax, dword [0x10227c40]
mov edx, 8
add eax, 0x37cc
mov ecx, str.Alpha
push eax
call fcn.10173320
mov eax, dword [0x10227c40]
push 0
push 0
push 0
lea ecx, [eax + 0x37e5]
push ecx
lea ecx, [eax + 0x37e0]
push ecx
lea ecx, [eax + 0x37e4]
push ecx
push 0
lea edx, [eax + 0x37d0]
mov ecx, str.Force_color
call fcn.100be870
mov esi, dword [0x104e2068]
mov eax, dword [esi + 0x1bec]
cmp dword [esi + 0x1d54], eax
jne 0x1010340d
mov dword [esi + 0x1e58], eax
mov dword [esi + 0x1e5c], 2
test dword [eax + 8], 0x1000000
je 0x1010341d
mov byte [esi + 0x1b9e], 1
call fcn.1015e0b0
mov byte [esi + 0x1b9e], 0
mov eax, dword [0x104e2068]
xor edx, edx
mov dword [esp + 0x10], edx
mov eax, dword [eax + 0x1bec]
dec dword [eax + 0xe0]
mov esi, dword [0x10227c40]
movups xmm0, xmmword [0x101f55a0]
mov al, byte [0x101f55b0]
add esi, 0x37e8
cmp dword [0x102296a0], 2
movups xmmword [esp + 0x2a4], xmm0
mov byte [esp + 0x2b4], al
jl 0x101035c4
movaps xmm0, xmmword [0x101ff810]
mov eax, 5
movaps xmm4, xmmword [0x101ff6c0]
movaps xmm3, xmmword [0x101ffc10]
movaps xmm6, xmmword [0x101ff730]
movd xmm5, eax
mov eax, 0x1f
movaps xmmword [esp + 0x20], xmm0
mov ecx, dword [esp + 0x20]
movd xmm7, eax
nop dword [eax + eax]
movd xmm0, edx
lea eax, [edx + 4]
pshufd xmm2, xmm0, 0
paddd xmm2, xmm4
movaps xmm1, xmm2
movaps xmm0, xmm2
punpckhdq xmm0, xmm2
punpckldq xmm1, xmm2
pmuldq xmm0, xmm3
pmuldq xmm1, xmm3
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm2
psrad xmm1, xmm5
movaps xmm0, xmm1
psrld xmm0, xmm7
paddd xmm0, xmm1
pmulld xmm0, xmm6
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
pand xmm1, xmmword [0x101ff7d0]
packuswb xmm1, xmm1
movd xmm0, ecx
paddb xmm1, xmm0
movd xmm0, dword [esp + edx + 0x2a4]
pxor xmm1, xmm0
movd xmm0, eax
pshufd xmm2, xmm0, 0
movd dword [esp + edx + 0x2a4], xmm1
paddd xmm2, xmm4
movaps xmm1, xmm2
movaps xmm0, xmm2
punpckldq xmm1, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm3
pmuldq xmm1, xmm3
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm2
psrad xmm1, xmm5
movaps xmm0, xmm1
psrld xmm0, xmm7
paddd xmm0, xmm1
pmulld xmm0, xmm6
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
pand xmm1, xmmword [0x101ff7d0]
packuswb xmm1, xmm1
movd xmm0, ecx
paddb xmm1, xmm0
movd xmm0, dword [esp + edx + 0x2a8]
pxor xmm1, xmm0
movd dword [esp + edx + 0x2a8], xmm1
add edx, 8
cmp edx, 0x10
jl 0x101034b0
mov dword [esp + 0x10], edx
cmp edx, 0x11
jge 0x101035fb
mov eax, 0xa0a0a0a1
imul edx
add edx, dword [esp + 0x10]
sar edx, 5
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [esp + 0x10]
movsx eax, al
mov cl, dl
imul eax, eax, 0x33
sub cl, al
add cl, 0x34
xor byte [esp + edx + 0x2a4], cl
inc edx
mov dword [esp + 0x10], edx
cmp edx, 0x11
jl 0x101035c4
mov edx, esi
lea ecx, [esp + 0x2a4]
call fcn.1016fb20
mov esi, dword [0x104e2068]
mov eax, dword [esi + 0x1bec]
mov byte [eax + 0xa8], 1
mov edx, dword [esi + 0x1bec]
cmp byte [edx + 0xab], 0
jne 0x10103673
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.10152b90
mov edi, dword [esi + 4]
mov ecx, dword [esi]
mov dword [esp + 0x18], eax
cmp ecx, edi
jne 0x101036c3
inc ecx
test edi, edi
je 0x101036b1
mov eax, edi
cdq
sub eax, edx
sar eax, 1
add eax, edi
jmp 0x101036b6
mov eax, 8
cmp eax, ecx
cmovg ecx, eax
push ecx
mov ecx, esi
call fcn.100be400
mov ecx, dword [esi]
mov eax, dword [esi + 8]
mov edx, dword [esp + 0x18]
push 1
push 0
mov dword [eax + ecx*4], edx
lea edx, [esp + 0x20]
inc dword [esi]
mov ecx, 0x101f2c00
mov dword [esp + 0x20], 0
mov dword [esp + 0x24], 0
call fcn.1016e290
test al, al
je 0x10103745
mov esi, dword [0x104e2068]
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, 0x101d6e4f
call fcn.10152b90
cmp dword [esi + 0x1c24], eax
jne 0x1010372d
mov dword [esi + 0x1c28], eax
cmp dword [esi + 0x1c5c], eax
jne 0x1010373c
mov byte [esi + 0x1c60], 1
xor edx, edx
mov ecx, eax
call fcn.1015fce0
mov esi, dword [0x104e2068]
mov eax, dword [esi + 0x1d30]
cmp eax, dword [esi + 0x1d3c]
jg 0x10103768
mov dword [esi + 0x1c74], 0
jmp 0x10103a19
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, 0x101d6e4f
call fcn.10152b90
cmp dword [esi + 0x1c24], eax
jne 0x10103798
mov dword [esi + 0x1c28], eax
cmp dword [esi + 0x1c5c], eax
jne 0x101037a7
mov byte [esi + 0x1c60], 1
mov edx, 0x141
mov ecx, eax
call fcn.10160020
test al, al
je 0x10103a19
push 0
push str._.3f
lea eax, [esp + 0x20]
mov dword [esp + 0x18], 0
push eax
lea eax, [esp + 0x1c]
mov dword [esp + 0x24], 0x3f800000
push eax
mov eax, dword [0x10227c40]
mov edx, 8
add eax, 0x37ec
mov ecx, str.Position
push eax
call fcn.10173320
mov eax, dword [0x101f5dfc]
movq xmm0, qword [0x101f5df4]
mov esi, dword [0x10227c40]
mov dword [esp + 0x3f0], eax
mov ax, word [0x101f5e00]
mov word [esp + 0x3f4], ax
mov al, byte [0x101f5e02]
mov byte [esp + 0x3f6], al
xor eax, eax
cmp dword [0x102296a0], 2
movq qword [esp + 0x3e8], xmm0
mov dword [esp + 0x18], eax
jl 0x10103964
movaps xmm2, xmmword [0x101ff6c0]
mov eax, 5
movaps xmm4, xmmword [0x101ffc10]
movaps xmm1, xmm2
punpckldq xmm1, xmm2
movaps xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm4
pmuldq xmm1, xmm4
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm2
movd xmm5, eax
psrad xmm1, xmm5
mov eax, 0x1f
movaps xmm0, xmm1
movd xmm6, eax
mov eax, dword [0x101ff810]
psrld xmm0, xmm6
paddd xmm0, xmm1
pmulld xmm0, xmmword [0x101ff730]
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
movaps xmm2, xmmword [0x101ff700]
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
pand xmm1, xmmword [0x101ff7d0]
packuswb xmm1, xmm1
movd xmm0, eax
paddb xmm1, xmm0
movd xmm0, dword [0x101f5df4]
pxor xmm1, xmm0
movaps xmm0, xmm2
movd dword [esp + 0x3e8], xmm1
movaps xmm1, xmm2
punpckldq xmm1, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm4
pmuldq xmm1, xmm4
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm2
psrad xmm1, xmm5
movaps xmm0, xmm1
psrld xmm0, xmm6
paddd xmm0, xmm1
pmulld xmm0, xmmword [0x101ff730]
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
pand xmm1, xmmword [0x101ff7d0]
movd xmm0, eax
mov eax, 8
packuswb xmm1, xmm1
paddb xmm1, xmm0
mov dword [esp + 0x18], eax
movd xmm0, dword [esp + 0x3ec]
pxor xmm1, xmm0
movd dword [esp + 0x3ec], xmm1
mov ebx, dword [esp + 0x18]
nop dword [eax + eax]
mov eax, 0xa0a0a0a1
mov cl, bl
imul ebx
add edx, ebx
sar edx, 5
mov eax, edx
shr eax, 0x1f
add eax, edx
movsx eax, al
imul eax, eax, 0x33
sub cl, al
add cl, 0x34
xor byte [esp + ebx + 0x3e8], cl
inc ebx
cmp ebx, 0xf
jl 0x10103970
lea edx, [esi + 0x37f0]
lea ecx, [esp + 0x3e8]
call fcn.1016fb20
mov edx, dword [0x10227c40]
mov ecx, str.Color
push 0
push 0
add edx, 0x37f1
push 0
push 0
lea eax, [edx + 0x10]
push eax
lea eax, [edx + 0x14]
push eax
lea eax, [edx + 0xc]
push eax
call fcn.100be870
mov esi, dword [0x104e2068]
mov eax, dword [esi + 0x1bec]
cmp dword [esi + 0x1d54], eax
jne 0x101039fd
mov dword [esi + 0x1e58], eax
mov dword [esi + 0x1e5c], 2
test dword [eax + 8], 0x1000000
je 0x10103a0d
mov byte [esi + 0x1b9e], 1
call fcn.1015e0b0
mov byte [esi + 0x1b9e], 0
mov eax, dword [0x104e2068]
mov eax, dword [eax + 0x1bec]
dec dword [eax + 0xe0]
mov ecx, dword [0x104e2068]
mov eax, dword [ecx + 0x1bec]
mov byte [eax + 0xa8], 1
mov edx, dword [ecx + 0x1bec]
cmp byte [edx + 0xab], 0
jne 0x10103a94
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 [0x101f4c9c]
mov esi, dword [0x10227c40]
movq xmm0, qword [str._R_XNTNN_]
add esi, 0x3394
mov word [esp + 0x210], ax
xor ebx, ebx
mov al, byte [0x101f4c9e]
mov byte [esp + 0x212], al
movq qword [esp + 0x208], xmm0
nop dword [eax]
mov eax, 0xa0a0a0a1
mov cl, bl
mul ebx
shr edx, 5
movsx eax, dl
imul eax, eax, 0x33
sub cl, al
add cl, 0x34
xor byte [esp + ebx + 0x208], cl
inc ebx
cmp ebx, 0xb
jl 0x10103ad0
mov edx, esi
lea ecx, [esp + 0x208]
call fcn.1016fb20
mov esi, dword [0x104e2068]
mov eax, dword [esi + 0x1bec]
mov byte [eax + 0xa8], 1
mov edx, dword [esi + 0x1bec]
cmp byte [edx + 0xab], 0
jne 0x10103b6c
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.10152b90
mov edi, dword [esi + 4]
mov ecx, dword [esi]
mov dword [esp + 0x18], eax
cmp ecx, edi
jne 0x10103bbc
inc ecx
test edi, edi
je 0x10103baa
mov eax, edi
cdq
sub eax, edx
sar eax, 1
add eax, edi
jmp 0x10103baf
mov eax, 8
cmp eax, ecx
cmovg ecx, eax
push ecx
mov ecx, esi
call fcn.100be400
mov ecx, dword [esi]
mov eax, dword [esi + 8]
mov edx, dword [esp + 0x18]
push 1
push 0
mov dword [eax + ecx*4], edx
lea edx, [esp + 0x20]
inc dword [esi]
mov ecx, 0x101f2c00
mov dword [esp + 0x20], 0
mov dword [esp + 0x24], 0
call fcn.1016e290
test al, al
je 0x10103c3e
mov esi, dword [0x104e2068]
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, 0x101d6e4f
call fcn.10152b90
cmp dword [esi + 0x1c24], eax
jne 0x10103c26
mov dword [esi + 0x1c28], eax
cmp dword [esi + 0x1c5c], eax
jne 0x10103c35
mov byte [esi + 0x1c60], 1
xor edx, edx
mov ecx, eax
call fcn.1015fce0
mov esi, dword [0x104e2068]
mov eax, dword [esi + 0x1d30]
cmp eax, dword [esi + 0x1d3c]
jg 0x10103c61
mov dword [esi + 0x1c74], 0
jmp 0x101046f7
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, 0x101d6e4f
call fcn.10152b90
cmp dword [esi + 0x1c24], eax
jne 0x10103c91
mov dword [esi + 0x1c28], eax
cmp dword [esi + 0x1c5c], eax
jne 0x10103ca0
mov byte [esi + 0x1c60], 1
mov edx, 0x141
mov ecx, eax
call fcn.10160020
test al, al
je 0x101046f7
mov eax, dword [0x102296ac]
mov ecx, dword [esp + 0x40]
mov ecx, dword [ecx + eax*4]
mov eax, dword [0x104e5850]
cmp eax, dword [ecx + 4]
jle 0x10103cfd
push 0x104e5850
call fcn.1019d7b4
add esp, 4
cmp dword [0x104e5850], 0xffffffff
jne 0x10103cfd
push 0x101c9e60
call fcn.1019d442
add esp, 4
push 0x104e5850
call fcn.1019d76a
add esp, 4
mov esi, dword [0x10227c40]
xor al, al
mov byte [esp + 0x3b], al
mov eax, dword [str.wZZXJ9]
mov dword [esp + 0x1ec], eax
mov ax, word [0x101f5ef8]
mov word [esp + 0x1f0], ax
test ah, ah
je 0x10103d54
xor ebx, ebx
nop dword [eax]
mov eax, 0xa0a0a0a1
mov cl, bl
mul ebx
shr edx, 5
movsx eax, dl
imul eax, eax, 0x33
sub cl, al
add cl, 0x34
xor byte [esp + ebx + 0x1ec], cl
inc ebx
cmp ebx, 6
jl 0x10103d30
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.100be870
movups xmm0, xmmword [str.sT_RKTHYkQ__0c7_4____MN]
mov ax, word [0x101f6338]
xor edx, edx
mov edi, dword [0x102296a0]
mov word [esp + 0x728], ax
mov al, byte [0x101f633a]
mov byte [esp + 0x72a], al
lea esi, [edx + 5]
mov dword [esp + 0x10], edx
movups xmmword [esp + 0x710], xmm0
movq xmm0, qword [0x101f6330]
movq qword [esp + 0x720], xmm0
cmp edi, 2
jl 0x10103f42
movaps xmm0, xmmword [0x101ff810]
mov eax, 0x1f
movaps xmm4, xmmword [0x101ff6c0]
movaps xmm3, xmmword [0x101ffc10]
movaps xmm6, xmmword [0x101ff730]
movaps xmmword [esp + 0x20], xmm0
mov ecx, dword [esp + 0x20]
movd xmm5, esi
movd xmm7, eax
nop word [eax + eax]
movd xmm0, edx
lea eax, [edx + 4]
pshufd xmm2, xmm0, 0
paddd xmm2, xmm4
movaps xmm1, xmm2
movaps xmm0, xmm2
punpckhdq xmm0, xmm2
punpckldq xmm1, xmm2
pmuldq xmm0, xmm3
pmuldq xmm1, xmm3
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm2
psrad xmm1, xmm5
movaps xmm0, xmm1
psrld xmm0, xmm7
paddd xmm0, xmm1
pmulld xmm0, xmm6
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
pand xmm1, xmmword [0x101ff7d0]
packuswb xmm1, xmm1
movd xmm0, ecx
paddb xmm1, xmm0
movd xmm0, dword [esp + edx + 0x710]
pxor xmm1, xmm0
movd xmm0, eax
pshufd xmm2, xmm0, 0
movd dword [esp + edx + 0x710], xmm1
paddd xmm2, xmm4
movaps xmm1, xmm2
movaps xmm0, xmm2
punpckldq xmm1, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm3
pmuldq xmm1, xmm3
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm2
psrad xmm1, xmm5
movaps xmm0, xmm1
psrld xmm0, xmm7
paddd xmm0, xmm1
pmulld xmm0, xmm6
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
pand xmm1, xmmword [0x101ff7d0]
packuswb xmm1, xmm1
movd xmm0, ecx
paddb xmm1, xmm0
movd xmm0, dword [esp + edx + 0x714]
pxor xmm1, xmm0
movd dword [esp + edx + 0x714], xmm1
add edx, 8
cmp edx, 0x18
jl 0x10103e10
mov dword [esp + 0x10], edx
cmp edx, 0x1b
jl 0x10103f42
mov ecx, dword [0x10227c40]
mov al, byte [0x101f592c]
add ecx, 0x3390
mov dword [esp + 0x18], ecx
mov byte [esp + 0x418], al
jmp 0x10103f93
mov eax, 0xa0a0a0a1
imul edx
add edx, dword [esp + 0x10]
sar edx, 5
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [esp + 0x10]
movsx eax, al
mov cl, dl
imul eax, eax, 0x33
sub cl, al
add cl, 0x34
xor byte [esp + edx + 0x710], cl
inc edx
mov dword [esp + 0x10], edx
cmp edx, 0x1b
jl 0x10103f42
mov al, byte [0x101f592c]
mov byte [esp + 0x418], al
mov eax, dword [0x10227c40]
add eax, 0x3390
mov dword [esp + 0x18], eax
movups xmm0, xmmword [str._R_XNTNN]
xor edx, edx
mov dword [esp + 0x10], edx
movups xmmword [esp + 0x408], xmm0
cmp edi, 2
jl 0x10104100
movaps xmm0, xmmword [0x101ff810]
mov eax, 0x1f
movaps xmm4, xmmword [0x101ff6c0]
movaps xmm3, xmmword [0x101ffc10]
movaps xmm6, xmmword [0x101ff730]
movaps xmmword [esp + 0x20], xmm0
mov ecx, dword [esp + 0x20]
movd xmm5, esi
movd xmm7, eax
movd xmm0, edx
lea eax, [edx + 4]
pshufd xmm2, xmm0, 0
paddd xmm2, xmm4
movaps xmm1, xmm2
movaps xmm0, xmm2
punpckhdq xmm0, xmm2
punpckldq xmm1, xmm2
pmuldq xmm0, xmm3
pmuldq xmm1, xmm3
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm2
psrad xmm1, xmm5
movaps xmm0, xmm1
psrld xmm0, xmm7
paddd xmm0, xmm1
pmulld xmm0, xmm6
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
pand xmm1, xmmword [0x101ff7d0]
packuswb xmm1, xmm1
movd xmm0, ecx
paddb xmm1, xmm0
movd xmm0, dword [esp + edx + 0x408]
pxor xmm1, xmm0
movd xmm0, eax
pshufd xmm2, xmm0, 0
movd dword [esp + edx + 0x408], xmm1
paddd xmm2, xmm4
movaps xmm1, xmm2
movaps xmm0, xmm2
punpckldq xmm1, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm3
pmuldq xmm1, xmm3
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm2
psrad xmm1, xmm5
movaps xmm0, xmm1
psrld xmm0, xmm7
paddd xmm0, xmm1
pmulld xmm0, xmm6
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
pand xmm1, xmmword [0x101ff7d0]
packuswb xmm1, xmm1
movd xmm0, ecx
paddb xmm1, xmm0
movd xmm0, dword [esp + edx + 0x40c]
pxor xmm1, xmm0
movd dword [esp + edx + 0x40c], xmm1
add edx, 8
cmp edx, 0x10
jl 0x10103fe3
mov dword [esp + 0x10], edx
cmp edx, 0x11
jge 0x10104137
nop word [eax + eax]
mov eax, 0xa0a0a0a1
imul edx
add edx, dword [esp + 0x10]
sar edx, 5
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [esp + 0x10]
movsx eax, al
mov cl, dl
imul eax, eax, 0x33
sub cl, al
add cl, 0x34
xor byte [esp + edx + 0x408], cl
inc edx
mov dword [esp + 0x10], edx
cmp edx, 0x11
jl 0x10104100
xor esi, esi
lea edx, [esp + 0x710]
cmp byte [esp + 0x710], 0
je 0x1010416c
nop word [eax + eax]
mov ecx, edx
lea edi, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x10104155
sub ecx, edi
inc edx
add edx, ecx
inc esi
cmp byte [edx], al
jne 0x10104150
mov edi, dword [0x102296a0]
mov edx, dword [esp + 0x18]
lea eax, [esp + 0x710]
push 1
push 0xffffffffffffffff
push esi
push eax
push 0x10171580
lea ecx, [esp + 0x41c]
call fcn.101715e0
mov esi, dword [0x10227c40]
xor edx, edx
mov ecx, 1
nop dword [eax + eax]
mov eax, ecx
and eax, dword [esi + 0x3398]
cmp eax, ecx
sete al
rol ecx, 1
mov byte [edx + 0x104e1ed4], al
inc edx
cmp edx, 0x15
jb 0x101041a0
cmp dword [0x10227b48], 0x10
mov esi, 0x10227b34
mov eax, dword [0x101f59e0]
movq xmm0, qword [str.c_WC]
mov dword [esp + 0x174], eax
mov al, byte [0x101f59e4]
movq qword [esp + 0x16c], xmm0
mov byte [esp + 0x178], al
jb 0x101041f8
mov esi, dword [0x10227b34]
xor eax, eax
mov dword [esp + 0x18], eax
cmp edi, 2
jl 0x10104325
movaps xmm2, xmmword [0x101ff6c0]
mov eax, 5
movaps xmm4, xmmword [0x101ffc10]
movaps xmm1, xmm2
punpckldq xmm1, xmm2
movaps xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm4
pmuldq xmm1, xmm4
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm2
movd xmm5, eax
psrad xmm1, xmm5
mov eax, 0x1f
movaps xmm0, xmm1
movd xmm6, eax
mov eax, dword [0x101ff810]
psrld xmm0, xmm6
paddd xmm0, xmm1
pmulld xmm0, xmmword [0x101ff730]
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
movaps xmm2, xmmword [0x101ff700]
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
pand xmm1, xmmword [0x101ff7d0]
packuswb xmm1, xmm1
movd xmm0, eax
paddb xmm1, xmm0
movd xmm0, dword [str.c_WC]
pxor xmm1, xmm0
movaps xmm0, xmm2
movd dword [esp + 0x16c], xmm1
movaps xmm1, xmm2
punpckldq xmm1, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm4
pmuldq xmm1, xmm4
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm2
psrad xmm1, xmm5
movaps xmm0, xmm1
psrld xmm0, xmm6
paddd xmm0, xmm1
pmulld xmm0, xmmword [0x101ff730]
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
pand xmm1, xmmword [0x101ff7d0]
movd xmm0, eax
mov eax, 8
packuswb xmm1, xmm1
paddb xmm1, xmm0
mov dword [esp + 0x18], eax
movd xmm0, dword [esp + 0x170]
pxor xmm1, xmm0
movd dword [esp + 0x170], xmm1
mov ebx, dword [esp + 0x18]
nop dword [eax]
mov eax, 0xa0a0a0a1
mov cl, bl
imul ebx
add edx, ebx
sar edx, 5
mov eax, edx
shr eax, 0x1f
add eax, edx
movsx eax, al
imul eax, eax, 0x33
sub cl, al
add cl, 0x34
xor byte [esp + ebx + 0x16c], cl
inc ebx
cmp ebx, 0xd
jl 0x10104330
push 1
push 0
mov edx, esi
lea ecx, [esp + 0x174]
call fcn.101706d0
mov ebx, dword [esp + 0x14]
test al, al
je 0x10104413
push 0
push 0x101d6e4f
mov ecx, 0x10227b34
call fcn.10022990
xor esi, esi
nop
mov ecx, dword [esi*4 + 0x101f4f48]
lea eax, [esp + 0x70]
push eax
mov dword [esp + 0x74], 0
mov dword [esp + 0x78], 0
mov dl, byte [esi + 0x104e1ed4]
push 1
call fcn.1017efc0
test al, al
je 0x101043cd
cmp byte [esi + 0x104e1ed4], 0
sete al
mov byte [esi + 0x104e1ed4], al
inc esi
cmp esi, 0x15
jb 0x10104390
mov esi, dword [0x104e2068]
mov eax, dword [esi + 0x1bec]
cmp dword [esi + 0x1d54], eax
jne 0x101043f7
mov dword [esi + 0x1e58], eax
mov dword [esi + 0x1e5c], 2
test dword [eax + 8], 0x1000000
je 0x10104407
mov byte [esi + 0x1b9e], 1
call fcn.1015e0b0
mov byte [esi + 0x1b9e], 0
xor esi, esi
cmp byte [esp + 0x3b], 0
jne 0x10104432
push 0
push 0x101d6e4f
mov ecx, 0x10227b34
call fcn.10022990
mov byte [esp + 0x3b], 1
cmp byte [esi + 0x104e1ed4], 0
je 0x10104698
cmp dword [0x10227b44], 0
xorps xmm0, xmm0
mov edx, dword [esi*4 + 0x101f4f48]
je 0x101044f7
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 + 0x18], ebx
call fcn.10020690
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 0x10104542
mov ecx, edx
mov dword [esp + 0x8d8], 0
or ebx, 0x100
mov dword [esp + 0x8dc], 0
mov dword [esp + 0x14], ebx
movups xmmword [esp + 0x8c8], xmm0
lea edi, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x10104524
sub ecx, edi
push ecx
push edx
lea ecx, [esp + 0x8d0]
call fcn.10027bd0
lea eax, [esp + 0x8c8]
push eax
mov ecx, 0x10227b34
call fcn.10020700
test ebx, 0x100
je 0x101045b9
mov ecx, dword [esp + 0x8dc]
and ebx, 0xfffffeff
mov dword [esp + 0x14], ebx
cmp ecx, 0x10
jb 0x1010459b
mov edx, dword [esp + 0x8c8]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x10104591
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1010b9a1
push ecx
push edx
call fcn.1019d45c
add esp, 8
mov dword [esp + 0x8d8], 0
mov dword [esp + 0x8dc], 0xf
mov byte [esp + 0x8c8], 0
test bl, bl
jns 0x10104621
mov ecx, dword [esp + 0x7b8]
and ebx, 0xffffff7f
mov dword [esp + 0x14], ebx
cmp ecx, 0x10
jb 0x10104603
mov edx, dword [esp + 0x7a4]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x101045f9
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1010b9a1
push ecx
push edx
call fcn.1019d45c
add esp, 8
mov dword [esp + 0x7b4], 0
mov dword [esp + 0x7b8], 0xf
mov byte [esp + 0x7a4], 0
test bl, 0x40
je 0x10104687
mov ecx, dword [esp + 0x7d0]
and ebx, 0xffffffbf
mov dword [esp + 0x14], ebx
cmp ecx, 0x10
jb 0x10104669
mov edx, dword [esp + 0x7bc]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x1010465f
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1010b9a1
push ecx
push edx
call fcn.1019d45c
add esp, 8
mov dword [esp + 0x7cc], 0
mov dword [esp + 0x7d0], 0xf
mov byte [esp + 0x7bc], 0
mov ecx, dword [0x10227c40]
mov eax, dword [ecx + 0x3398]
bts eax, esi
jmp 0x101046a7
mov ecx, dword [0x10227c40]
mov eax, dword [ecx + 0x3398]
btr eax, esi
inc esi
mov dword [ecx + 0x3398], eax
cmp esi, 0x15
jb 0x10104415
mov esi, dword [0x104e2068]
mov eax, dword [esi + 0x1bec]
cmp dword [esi + 0x1d54], eax
jne 0x101046db
mov dword [esi + 0x1e58], eax
mov dword [esi + 0x1e5c], 2
test dword [eax + 8], 0x1000000
je 0x101046eb
mov byte [esi + 0x1b9e], 1
call fcn.1015e0b0
mov byte [esi + 0x1b9e], 0
mov eax, dword [0x104e2068]
mov eax, dword [eax + 0x1bec]
dec dword [eax + 0xe0]
mov esi, dword [0x10227c40]
mov ax, word [0x101f5508]
add esi, 0xacf
movq xmm0, qword [0x101f5500]
movq qword [esp + 0x560], xmm0
mov word [esp + 0x568], ax
test ah, ah
je 0x10104764
xor ebx, ebx
nop dword [eax]
mov eax, 0xa0a0a0a1
mov cl, bl
mul ebx
shr edx, 5
movsx eax, dl
imul eax, eax, 0x33
sub cl, al
add cl, 0x34
xor byte [esp + ebx + 0x560], cl
inc ebx
cmp ebx, 0xa
jl 0x10104740
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.100be870
mov eax, dword [0x104e2068]
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.10152b90
mov edi, dword [esi + 4]
mov ecx, dword [esi]
mov dword [esp + 0x18], eax
cmp ecx, edi
jne 0x101047e2
inc ecx
test edi, edi
je 0x101047d0
mov eax, edi
cdq
sub eax, edx
sar eax, 1
add eax, edi
jmp 0x101047d5
mov eax, 8
cmp eax, ecx
cmovg ecx, eax
push ecx
mov ecx, esi
call fcn.100be400
mov ecx, dword [esi]
mov eax, dword [esi + 8]
mov edx, dword [esp + 0x18]
mov dword [eax + ecx*4], edx
inc dword [esi]
mov ecx, dword [0x104e2068]
mov eax, dword [ecx + 0x1bec]
mov byte [eax + 0xa8], 1
mov edx, dword [ecx + 0x1bec]
cmp byte [edx + 0xab], 0
jne 0x1010485a
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 + 0x20]
mov dword [esp + 0x20], 0
mov ecx, 0x101f2c00
mov dword [esp + 0x24], 0
call fcn.1016e290
test al, al
je 0x101048ce
mov esi, dword [0x104e2068]
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, 0x101d6e4f
call fcn.10152b90
cmp dword [esi + 0x1c24], eax
jne 0x101048b6
mov dword [esi + 0x1c28], eax
cmp dword [esi + 0x1c5c], eax
jne 0x101048c5
mov byte [esi + 0x1c60], 1
xor edx, edx
mov ecx, eax
call fcn.1015fce0
mov esi, dword [0x104e2068]
mov eax, dword [esi + 0x1d30]
cmp eax, dword [esi + 0x1d3c]
jg 0x10104bd3
mov dword [esi + 0x1c74], 0
mov edi, dword [0x102296a0]
mov eax, dword [0x104e2068]
mov eax, dword [eax + 0x1bec]
dec dword [eax + 0xe0]
mov ecx, dword [0x104e2068]
mov eax, dword [ecx + 0x1bec]
mov byte [eax + 0xa8], 1
mov edx, dword [ecx + 0x1bec]
cmp byte [edx + 0xab], 0
jne 0x10104971
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 [0x101f5990]
mov esi, dword [0x10227c40]
movq xmm0, qword [str.u_B]
add esi, 0x199e
mov dword [esp + 0x164], eax
mov ax, word [0x101f5994]
mov word [esp + 0x168], ax
mov al, byte [0x101f5996]
mov byte [esp + 0x16a], al
xor eax, eax
movq qword [esp + 0x15c], xmm0
mov dword [esp + 0x18], eax
cmp edi, 2
jl 0x10104ae1
movaps xmm2, xmmword [0x101ff6c0]
mov eax, 5
movaps xmm4, xmmword [0x101ffc10]
movaps xmm1, xmm2
punpckldq xmm1, xmm2
movaps xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm4
pmuldq xmm1, xmm4
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm2
movd xmm5, eax
psrad xmm1, xmm5
mov eax, 0x1f
movaps xmm0, xmm1
movd xmm6, eax
mov eax, dword [0x101ff810]
psrld xmm0, xmm6
paddd xmm0, xmm1
pmulld xmm0, xmmword [0x101ff730]
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
movaps xmm2, xmmword [0x101ff700]
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
pand xmm1, xmmword [0x101ff7d0]
packuswb xmm1, xmm1
movd xmm0, eax
paddb xmm1, xmm0
movd xmm0, dword [str.u_B]
pxor xmm1, xmm0
movaps xmm0, xmm2
movd dword [esp + 0x15c], xmm1
movaps xmm1, xmm2
punpckldq xmm1, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm4
pmuldq xmm1, xmm4
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm2
psrad xmm1, xmm5
movaps xmm0, xmm1
psrld xmm0, xmm6
paddd xmm0, xmm1
pmulld xmm0, xmmword [0x101ff730]
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
pand xmm1, xmmword [0x101ff7d0]
movd xmm0, eax
mov eax, 8
packuswb xmm1, xmm1
paddb xmm1, xmm0
mov dword [esp + 0x18], eax
movd xmm0, dword [esp + 0x160]
pxor xmm1, xmm0
movd dword [esp + 0x160], xmm1
mov ebx, dword [esp + 0x18]
mov eax, 0xa0a0a0a1
mov cl, bl
imul ebx
add edx, ebx
sar edx, 5
mov eax, edx
shr eax, 0x1f
add eax, edx
movsx eax, al
imul eax, eax, 0x33
sub cl, al
add cl, 0x34
xor byte [esp + ebx + 0x15c], cl
inc ebx
cmp ebx, 0xf
jl 0x10104ae5
mov edx, esi
lea ecx, [esp + 0x15c]
call fcn.1016fb20
mov esi, dword [0x104e2068]
mov eax, dword [esi + 0x1bec]
mov byte [eax + 0xa8], 1
mov edx, dword [esi + 0x1bec]
cmp byte [edx + 0xab], 0
jne 0x10104b8a
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.10152b90
mov edi, dword [esi + 4]
mov ecx, dword [esi]
mov dword [esp + 0x18], eax
cmp ecx, edi
jne 0x10105400
inc ecx
test edi, edi
je 0x101053ee
mov eax, edi
cdq
sub eax, edx
sar eax, 1
add eax, edi
jmp 0x101053f3
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, 0x101d6e4f
call fcn.10152b90
cmp dword [esi + 0x1c24], eax
jne 0x10104c03
mov dword [esi + 0x1c28], eax
cmp dword [esi + 0x1c5c], eax
jne 0x10104c12
mov byte [esi + 0x1c60], 1
mov edx, 0x141
mov ecx, eax
call fcn.10160020
test al, al
je 0x101048f0
movups xmm0, xmmword [0x101f56b8]
mov esi, dword [0x102296a0]
movups xmmword [esp + 0x46c], xmm0
psrldq xmm0, 0xf
movd eax, xmm0
test al, al
je 0x10104dcd
cmp esi, 2
jl 0x10104d9d
movaps xmm0, xmmword [0x101ff810]
mov edi, 5
movaps xmm4, xmmword [0x101ff6c0]
mov eax, 0x1f
movaps xmm3, xmmword [0x101ffc10]
xor ecx, ecx
movaps xmm6, xmmword [0x101ff730]
movaps xmmword [esp + 0x20], xmm0
mov edx, dword [esp + 0x20]
movd xmm5, edi
movd xmm7, eax
nop
movd xmm0, ecx
lea eax, [ecx + 4]
pshufd xmm2, xmm0, 0
paddd xmm2, xmm4
movaps xmm1, xmm2
movaps xmm0, xmm2
punpckhdq xmm0, xmm2
punpckldq xmm1, xmm2
pmuldq xmm0, xmm3
pmuldq xmm1, xmm3
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm2
psrad xmm1, xmm5
movaps xmm0, xmm1
psrld xmm0, xmm7
paddd xmm0, xmm1
pmulld xmm0, xmm6
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
pand xmm1, xmmword [0x101ff7d0]
packuswb xmm1, xmm1
movd xmm0, edx
paddb xmm1, xmm0
movd xmm0, dword [esp + ecx + 0x46c]
pxor xmm1, xmm0
movd xmm0, eax
pshufd xmm2, xmm0, 0
movd dword [esp + ecx + 0x46c], xmm1
paddd xmm2, xmm4
movaps xmm1, xmm2
movaps xmm0, xmm2
punpckldq xmm1, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm3
pmuldq xmm1, xmm3
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm2
psrad xmm1, xmm5
movaps xmm0, xmm1
psrld xmm0, xmm7
paddd xmm0, xmm1
pmulld xmm0, xmm6
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
pand xmm1, xmmword [0x101ff7d0]
packuswb xmm1, xmm1
movd xmm0, edx
paddb xmm1, xmm0
movd xmm0, dword [esp + ecx + 0x470]
pxor xmm1, xmm0
movd dword [esp + ecx + 0x470], xmm1
add ecx, 8
cmp ecx, 0x10
jl 0x10104c90
jmp 0x10104dd2
xor ebx, ebx
nop
mov eax, 0xa0a0a0a1
mov cl, bl
imul ebx
add edx, ebx
sar edx, 5
mov eax, edx
shr eax, 0x1f
add eax, edx
movsx eax, al
imul eax, eax, 0x33
sub cl, al
add cl, 0x34
xor byte [esp + ebx + 0x46c], cl
inc ebx
cmp ebx, 0x10
jl 0x10104da0
mov edi, 5
mov eax, dword [0x10227c40]
movq xmm0, qword [0x101f4d38]
add eax, 0xaec
cmp byte [0x101f4d43], 0
mov dword [esp + 0x10], eax
mov eax, dword [0x101f4d40]
movq qword [esp + 0x3b0], xmm0
mov dword [esp + 0x3b8], eax
je 0x10104f63
xor eax, eax
mov dword [esp + 0x18], eax
cmp esi, 2
jl 0x10104f32
movaps xmm2, xmmword [0x101ff6c0]
mov eax, 0x1f
movaps xmm4, xmmword [0x101ffc10]
movaps xmm1, xmm2
punpckldq xmm1, xmm2
movaps xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm4
pmuldq xmm1, xmm4
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm2
movd xmm5, edi
psrad xmm1, xmm5
movd xmm6, eax
mov eax, dword [0x101ff810]
movaps xmm0, xmm1
psrld xmm0, xmm6
paddd xmm0, xmm1
pmulld xmm0, xmmword [0x101ff730]
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
movaps xmm2, xmmword [0x101ff700]
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
pand xmm1, xmmword [0x101ff7d0]
packuswb xmm1, xmm1
movd xmm0, eax
paddb xmm1, xmm0
movd xmm0, dword [0x101f4d38]
pxor xmm1, xmm0
movaps xmm0, xmm2
movd dword [esp + 0x3b0], xmm1
movaps xmm1, xmm2
punpckldq xmm1, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm4
pmuldq xmm1, xmm4
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm2
psrad xmm1, xmm5
movaps xmm0, xmm1
psrld xmm0, xmm6
paddd xmm0, xmm1
pmulld xmm0, xmmword [0x101ff730]
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
pand xmm1, xmmword [0x101ff7d0]
movd xmm0, eax
mov eax, 8
packuswb xmm1, xmm1
paddb xmm1, xmm0
mov dword [esp + 0x18], eax
movd xmm0, dword [esp + 0x3b4]
pxor xmm1, xmm0
movd dword [esp + 0x3b4], xmm1
mov ebx, dword [esp + 0x18]
mov eax, 0xa0a0a0a1
mov cl, bl
imul ebx
add edx, ebx
sar edx, 5
mov eax, edx
shr eax, 0x1f
add eax, edx
movsx eax, al
imul eax, eax, 0x33
sub cl, al
add cl, 0x34
xor byte [esp + ebx + 0x3b0], cl
inc ebx
cmp ebx, 0xc
jl 0x10104f36
xor esi, esi
lea edx, [esp + 0x46c]
cmp byte [esp + 0x46c], 0
je 0x10104f91
mov ecx, edx
lea edi, [ecx + 1]
nop dword [eax + eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x10104f80
sub ecx, edi
inc edx
add edx, ecx
inc esi
cmp byte [edx], al
jne 0x10104f76
mov edx, dword [esp + 0x10]
lea eax, [esp + 0x46c]
push 1
push 0xffffffffffffffff
push esi
push eax
push 0x10171580
lea ecx, [esp + 0x3c4]
call fcn.101715e0
mov eax, dword [0x101f5d80]
xor edx, edx
movups xmm0, xmmword [str.uGDXOJ]
mov edi, dword [0x102296a0]
mov dword [esp + 0x73c], eax
mov al, byte [0x101f5d84]
lea esi, [edx + 5]
mov byte [esp + 0x740], al
mov dword [esp + 0x10], edx
movups xmmword [esp + 0x72c], xmm0
cmp edi, 2
jl 0x10105140
movaps xmm0, xmmword [0x101ff810]
mov eax, 0x1f
movaps xmm4, xmmword [0x101ff6c0]
movaps xmm3, xmmword [0x101ffc10]
movaps xmm6, xmmword [0x101ff730]
movaps xmmword [esp + 0x20], xmm0
mov ecx, dword [esp + 0x20]
movd xmm5, esi
movd xmm7, eax
movd xmm0, edx
lea eax, [edx + 4]
pshufd xmm2, xmm0, 0
paddd xmm2, xmm4
movaps xmm1, xmm2
movaps xmm0, xmm2
punpckhdq xmm0, xmm2
punpckldq xmm1, xmm2
pmuldq xmm0, xmm3
pmuldq xmm1, xmm3
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm2
psrad xmm1, xmm5
movaps xmm0, xmm1
psrld xmm0, xmm7
paddd xmm0, xmm1
pmulld xmm0, xmm6
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
pand xmm1, xmmword [0x101ff7d0]
packuswb xmm1, xmm1
movd xmm0, ecx
paddb xmm1, xmm0
movd xmm0, dword [esp + edx + 0x72c]
pxor xmm1, xmm0
movd xmm0, eax
pshufd xmm2, xmm0, 0
movd dword [esp + edx + 0x72c], xmm1
paddd xmm2, xmm4
movaps xmm1, xmm2
movaps xmm0, xmm2
punpckldq xmm1, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm3
pmuldq xmm1, xmm3
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm2
psrad xmm1, xmm5
movaps xmm0, xmm1
psrld xmm0, xmm7
paddd xmm0, xmm1
pmulld xmm0, xmm6
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
pand xmm1, xmmword [0x101ff7d0]
packuswb xmm1, xmm1
movd xmm0, ecx
paddb xmm1, xmm0
movd xmm0, dword [esp + edx + 0x730]
pxor xmm1, xmm0
movd dword [esp + edx + 0x730], xmm1
add edx, 8
cmp edx, 0x10
jl 0x10105024
mov dword [esp + 0x10], edx
cmp edx, 0x15
jge 0x10105177
nop dword [eax + eax]
mov eax, 0xa0a0a0a1
imul edx
add edx, dword [esp + 0x10]
sar edx, 5
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [esp + 0x10]
movsx eax, al
mov cl, dl
imul eax, eax, 0x33
sub cl, al
add cl, 0x34
xor byte [esp + edx + 0x72c], cl
inc edx
mov dword [esp + 0x10], edx
cmp edx, 0x15
jl 0x10105140
push 0
lea eax, [esp + 0x730]
mov dword [esp + 0x14], 0
push eax
lea eax, [esp + 0x20]
mov dword [esp + 0x20], 0x437a0000
push eax
lea eax, [esp + 0x1c]
mov edx, 8
push eax
mov eax, dword [0x10227c40]
mov ecx, 0x101d6e4f
add eax, 0xae8
push eax
call fcn.10173320
movups xmm0, xmmword [0x101f4fe4]
mov ax, word [0x101f4ff4]
mov word [esp + 0x5a0], ax
movups xmmword [esp + 0x590], xmm0
test ah, ah
je 0x1010536b
xor edx, edx
mov dword [esp + 0x10], edx
cmp edi, 2
jl 0x10105334
movaps xmm0, xmmword [0x101ff810]
mov eax, 0x1f
movaps xmm4, xmmword [0x101ff6c0]
movaps xmm3, xmmword [0x101ffc10]
movaps xmm6, xmmword [0x101ff730]
movaps xmmword [esp + 0x20], xmm0
mov ecx, dword [esp + 0x20]
movd xmm5, esi
movd xmm7, eax
nop dword [eax + eax]
movd xmm0, edx
lea eax, [edx + 4]
pshufd xmm2, xmm0, 0
paddd xmm2, xmm4
movaps xmm1, xmm2
movaps xmm0, xmm2
punpckhdq xmm0, xmm2
punpckldq xmm1, xmm2
pmuldq xmm0, xmm3
pmuldq xmm1, xmm3
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm2
psrad xmm1, xmm5
movaps xmm0, xmm1
psrld xmm0, xmm7
paddd xmm0, xmm1
pmulld xmm0, xmm6
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
pand xmm1, xmmword [0x101ff7d0]
packuswb xmm1, xmm1
movd xmm0, ecx
paddb xmm1, xmm0
movd xmm0, dword [esp + edx + 0x590]
pxor xmm1, xmm0
movd xmm0, eax
pshufd xmm2, xmm0, 0
movd dword [esp + edx + 0x590], xmm1
paddd xmm2, xmm4
movaps xmm1, xmm2
movaps xmm0, xmm2
punpckldq xmm1, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm3
pmuldq xmm1, xmm3
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm2
psrad xmm1, xmm5
movaps xmm0, xmm1
psrld xmm0, xmm7
paddd xmm0, xmm1
pmulld xmm0, xmm6
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
pand xmm1, xmmword [0x101ff7d0]
packuswb xmm1, xmm1
movd xmm0, ecx
paddb xmm1, xmm0
movd xmm0, dword [esp + edx + 0x594]
pxor xmm1, xmm0
movd dword [esp + edx + 0x594], xmm1
add edx, 8
cmp edx, 0x10
jl 0x10105220
mov dword [esp + 0x10], edx
cmp edx, 0x12
jge 0x1010536b
mov eax, 0xa0a0a0a1
imul edx
add edx, dword [esp + 0x10]
sar edx, 5
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [esp + 0x10]
movsx eax, al
mov cl, dl
imul eax, eax, 0x33
sub cl, al
add cl, 0x34
xor byte [esp + edx + 0x590], cl
inc edx
mov dword [esp + 0x10], edx
cmp edx, 0x12
jl 0x10105334
push 0
lea eax, [esp + 0x594]
mov dword [esp + 0x14], 0
push eax
lea eax, [esp + 0x20]
mov dword [esp + 0x20], 0x437a0000
push eax
lea eax, [esp + 0x1c]
mov edx, 8
push eax
mov eax, dword [0x10227c40]
mov ecx, 0x101d8828
add eax, 0xaf0
push eax
call fcn.10173320
mov esi, dword [0x104e2068]
mov eax, dword [esi + 0x1bec]
cmp dword [esi + 0x1d54], eax
jne 0x101053cd
mov dword [esi + 0x1e58], eax
mov dword [esi + 0x1e5c], 2
test dword [eax + 8], 0x1000000
je 0x101053dd
mov byte [esi + 0x1b9e], 1
call fcn.1015e0b0
mov byte [esi + 0x1b9e], 0
jmp 0x101048f6
mov eax, 8
cmp eax, ecx
cmovg ecx, eax
push ecx
mov ecx, esi
call fcn.100be400
mov ecx, dword [esi]
mov eax, dword [esi + 8]
mov edx, dword [esp + 0x18]
push 1
push 0
mov dword [eax + ecx*4], edx
lea edx, [esp + 0x20]
inc dword [esi]
mov ecx, 0x101f2c00
mov dword [esp + 0x20], 0
mov dword [esp + 0x24], 0
call fcn.1016e290
test al, al
je 0x10105482
mov esi, dword [0x104e2068]
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, 0x101d6e4f
call fcn.10152b90
cmp dword [esi + 0x1c24], eax
jne 0x1010546a
mov dword [esi + 0x1c28], eax
cmp dword [esi + 0x1c5c], eax
jne 0x10105479
mov byte [esi + 0x1c60], 1
xor edx, edx
mov ecx, eax
call fcn.1015fce0
mov esi, dword [0x104e2068]
mov eax, dword [esi + 0x1d30]
cmp eax, dword [esi + 0x1d3c]
jg 0x101054a5
mov dword [esi + 0x1c74], 0
jmp 0x101057a8
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, 0x101d6e4f
call fcn.10152b90
cmp dword [esi + 0x1c24], eax
jne 0x101054d5
mov dword [esi + 0x1c28], eax
cmp dword [esi + 0x1c5c], eax
jne 0x101054e4
mov byte [esi + 0x1c60], 1
mov edx, 0x141
mov ecx, eax
call fcn.10160020
test al, al
je 0x101057a8
mov ax, word [0x101f64a0]
xor ebx, ebx
movq xmm0, qword [str.fPW_]
mov esi, dword [0x10227c40]
mov word [esp + 0x468], ax
mov al, byte [0x101f64a2]
movq qword [esp + 0x460], xmm0
mov byte [esp + 0x46a], al
nop dword [eax + eax]
mov eax, 0xa0a0a0a1
mov cl, bl
mul ebx
shr edx, 5
movsx eax, dl
imul eax, eax, 0x33
sub cl, al
add cl, 0x34
xor byte [esp + ebx + 0x460], cl
inc ebx
cmp ebx, 0xb
jl 0x10105530
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
mov al, byte [ecx]
inc ecx
test al, al
jne 0x10105580
sub ecx, edx
lea eax, [esp + 0x460]
push ecx
push eax
lea ecx, [esp + 0x484]
call fcn.10027bd0
cmp dword [esp + 0x490], 0x10
lea eax, [esi + 0x19ab]
push 0
push 0
push 0
push 0
push eax
lea eax, [esi + 0x19af]
push eax
lea ecx, [esp + 0x494]
cmovae ecx, dword [esp + 0x494]
lea edx, [esi + 0x199f]
push 0
call fcn.100be870
mov ecx, dword [esp + 0x490]
cmp ecx, 0x10
jb 0x10105614
mov edx, dword [esp + 0x47c]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x1010560a
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1010b9a1
push ecx
push edx
call fcn.1019d45c
add esp, 8
mov ax, word [0x101f66d8]
mov esi, dword [0x10227c40]
movq xmm0, qword [0x101f66d0]
add esi, 0x19b0
mov word [esp + 0x190], ax
xor ebx, ebx
mov al, byte [0x101f66da]
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, 0xa0a0a0a1
mov cl, bl
mul ebx
shr edx, 5
movsx eax, dl
imul eax, eax, 0x33
sub cl, al
add cl, 0x34
xor byte [esp + ebx + 0x188], cl
inc ebx
cmp ebx, 0xb
jl 0x10105670
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]
nop
mov al, byte [ecx]
inc ecx
test al, al
jne 0x101056c0
sub ecx, edx
lea eax, [esp + 0x188]
push ecx
push eax
lea ecx, [esp + 0x688]
call fcn.10027bd0
cmp dword [esp + 0x694], 0x10
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]
cmovae ecx, dword [esp + 0x698]
push 0
call fcn.100be870
mov ecx, dword [esp + 0x694]
cmp ecx, 0x10
jb 0x1010574a
mov edx, dword [esp + 0x680]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x10105740
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1010b9a1
push ecx
push edx
call fcn.1019d45c
add esp, 8
mov esi, dword [0x104e2068]
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 0x1010578c
mov dword [esi + 0x1e58], eax
mov dword [esi + 0x1e5c], 2
test dword [eax + 8], 0x1000000
je 0x1010579c
mov byte [esi + 0x1b9e], 1
call fcn.1015e0b0
mov byte [esi + 0x1b9e], 0
mov eax, dword [0x104e2068]
mov eax, dword [eax + 0x1bec]
dec dword [eax + 0xe0]
mov ax, word [0x101f617c]
mov word [esp + 0x3c], ax
test ah, ah
je 0x101057f1
xor ebx, ebx
nop word [eax + eax]
mov eax, 0xa0a0a0a1
mov cl, bl
mul ebx
shr edx, 5
movsx eax, dl
imul eax, eax, 0x33
sub cl, al
add cl, 0x34
xor byte [esp + ebx + 0x3c], cl
inc ebx
cmp ebx, 2
jl 0x101057d0
lea eax, [esp + 0x3c]
push eax
call fcn.1016db20
mov al, byte [0x101f5890]
add esp, 4
movq xmm0, qword [str.gEWZUHH_]
xor ebx, ebx
mov byte [esp + 0x280], al
movq qword [esp + 0x278], xmm0
nop dword [eax]
mov eax, 0xa0a0a0a1
mov cl, bl
mul ebx
shr edx, 5
movsx eax, dl
imul eax, eax, 0x33
sub cl, al
add cl, 0x34
xor byte [esp + ebx + 0x278], cl
inc ebx
cmp ebx, 9
jl 0x10105820
lea eax, [esp + 0x278]
push eax
call fcn.1016db20
mov esi, dword [0x10227c40]
add esp, 4
mov ecx, dword [str.wYWYLX__yZRRT]
add esi, 0x33c4
cmp byte [0x101f4c13], 0
mov edx, dword [0x101f4c10]
mov dword [esp + 0xf8], ecx
mov dword [esp + 0xfc], edx
je 0x101059d1
cmp dword [0x102296a0], 2
jl 0x101059a2
movaps xmm2, xmmword [0x101ff6c0]
mov eax, 5
movaps xmm4, xmmword [0x101ffc10]
movaps xmm1, xmm2
punpckldq xmm1, xmm2
movaps xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm4
pmuldq xmm1, xmm4
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm2
movd xmm5, eax
psrad xmm1, xmm5
mov eax, 0x1f
movaps xmm0, xmm1
movd xmm6, eax
mov eax, dword [0x101ff810]
psrld xmm0, xmm6
paddd xmm0, xmm1
pmulld xmm0, xmmword [0x101ff730]
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
movaps xmm2, xmmword [0x101ff700]
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
pand xmm1, xmmword [0x101ff7d0]
packuswb xmm1, xmm1
movd xmm0, eax
paddb xmm1, xmm0
movd xmm0, ecx
pxor xmm1, xmm0
movaps xmm0, xmm2
movd dword [esp + 0xf8], xmm1
movaps xmm1, xmm2
punpckldq xmm1, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm4
pmuldq xmm1, xmm4
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm2
psrad xmm1, xmm5
movaps xmm0, xmm1
psrld xmm0, xmm6
paddd xmm0, xmm1
pmulld xmm0, xmmword [0x101ff730]
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
pand xmm1, xmmword [0x101ff7d0]
packuswb xmm1, xmm1
movd xmm0, eax
paddb xmm1, xmm0
movd xmm0, edx
pxor xmm1, xmm0
movd dword [esp + 0xfc], xmm1
jmp 0x101059d1
xor ebx, ebx
mov eax, 0xa0a0a0a1
mov cl, bl
imul ebx
add edx, ebx
sar edx, 5
mov eax, edx
shr eax, 0x1f
add eax, edx
movsx eax, al
imul eax, eax, 0x33
sub cl, al
add cl, 0x34
xor byte [esp + ebx + 0xf8], cl
inc ebx
cmp ebx, 8
jl 0x101059a4
mov edx, esi
lea ecx, [esp + 0xf8]
call fcn.1016fb20
mov esi, dword [0x10227c40]
movq xmm0, qword [0x101f4ee8]
add esi, 0x3593
mov al, byte [0x101f4ef0]
xor ebx, ebx
movq qword [esp + 0x128], xmm0
mov byte [esp + 0x130], al
nop word [eax + eax]
mov eax, 0xa0a0a0a1
mov cl, bl
mul ebx
shr edx, 5
movsx eax, dl
imul eax, eax, 0x33
sub cl, al
add cl, 0x34
xor byte [esp + ebx + 0x128], cl
inc ebx
cmp ebx, 9
jl 0x10105a10
mov edx, esi
lea ecx, [esp + 0x128]
call fcn.1016fb20
mov ax, word [0x101f5860]
movq xmm0, qword [str.pZYE]
mov esi, dword [0x10227c40]
movq qword [esp + 0x5d0], xmm0
mov word [esp + 0x5d8], ax
test ah, ah
je 0x10105a94
xor ebx, ebx
nop dword [eax]
mov eax, 0xa0a0a0a1
mov cl, bl
mul ebx
shr edx, 5
movsx eax, dl
imul eax, eax, 0x33
sub cl, al
add cl, 0x34
xor byte [esp + ebx + 0x5d0], cl
inc ebx
cmp ebx, 0xa
jl 0x10105a70
lea edx, [esi + 0x33c5]
lea ecx, [esp + 0x5d0]
call fcn.1016fb20
mov edx, dword [0x10227c40]
mov ecx, str.Fast_plant
lea edx, [edx + 0x3598]
call fcn.1016fb20
mov esi, dword [0x104e2068]
mov eax, dword [esi + 0x1bec]
mov byte [eax + 0xa8], 1
mov edx, dword [esi + 0x1bec]
cmp byte [edx + 0xab], 0
jne 0x10105b26
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.10152b90
mov edi, dword [esi + 4]
mov ecx, dword [esi]
mov dword [esp + 0x18], eax
cmp ecx, edi
jne 0x10105b76
inc ecx
test edi, edi
je 0x10105b64
mov eax, edi
cdq
sub eax, edx
sar eax, 1
add eax, edi
jmp 0x10105b69
mov eax, 8
cmp eax, ecx
cmovg ecx, eax
push ecx
mov ecx, esi
call fcn.100be400
mov ecx, dword [esi]
mov eax, dword [esi + 8]
mov edx, dword [esp + 0x18]
push ecx
mov dword [esp + 0x1c], 0x42c80000
mov dword [eax + ecx*4], edx
lea eax, [esp + 0x1c]
inc dword [esi]
mov ecx, 0x101d6e4f
mov edx, dword [0x10227c40]
push eax
mov dword [esp + 0x24], 0
lea edx, [edx + 0x33c8]
call fcn.100c0280
mov eax, dword [0x104e2068]
mov eax, dword [eax + 0x1bec]
dec dword [eax + 0xe0]
mov eax, dword [0x101f55bc]
movq xmm0, qword [0x101f55b4]
mov esi, dword [0x10227c40]
mov dword [esp + 0x340], eax
mov al, byte [0x101f55c0]
mov byte [esp + 0x344], al
xor eax, eax
cmp dword [0x102296a0], 2
movq qword [esp + 0x338], xmm0
mov dword [esp + 0x18], eax
jl 0x10105d21
movaps xmm2, xmmword [0x101ff6c0]
mov eax, 5
movaps xmm4, xmmword [0x101ffc10]
movaps xmm1, xmm2
punpckldq xmm1, xmm2
movaps xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm4
pmuldq xmm1, xmm4
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm2
movd xmm5, eax
psrad xmm1, xmm5
mov eax, 0x1f
movaps xmm0, xmm1
movd xmm6, eax
mov eax, dword [0x101ff810]
psrld xmm0, xmm6
paddd xmm0, xmm1
pmulld xmm0, xmmword [0x101ff730]
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
movaps xmm2, xmmword [0x101ff700]
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
pand xmm1, xmmword [0x101ff7d0]
packuswb xmm1, xmm1
movd xmm0, eax
paddb xmm1, xmm0
movd xmm0, dword [0x101f55b4]
pxor xmm1, xmm0
movaps xmm0, xmm2
movd dword [esp + 0x338], xmm1
movaps xmm1, xmm2
punpckldq xmm1, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm4
pmuldq xmm1, xmm4
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm2
psrad xmm1, xmm5
movaps xmm0, xmm1
psrld xmm0, xmm6
paddd xmm0, xmm1
pmulld xmm0, xmmword [0x101ff730]
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
pand xmm1, xmmword [0x101ff7d0]
movd xmm0, eax
mov eax, 8
packuswb xmm1, xmm1
paddb xmm1, xmm0
mov dword [esp + 0x18], eax
movd xmm0, dword [esp + 0x33c]
pxor xmm1, xmm0
movd dword [esp + 0x33c], xmm1
mov ebx, dword [esp + 0x18]
mov eax, 0xa0a0a0a1
mov cl, bl
imul ebx
add edx, ebx
sar edx, 5
mov eax, edx
shr eax, 0x1f
add eax, edx
movsx eax, al
imul eax, eax, 0x33
sub cl, al
add cl, 0x34
xor byte [esp + ebx + 0x338], cl
inc ebx
cmp ebx, 0xd
jl 0x10105d25
lea edx, [esi + 0x3591]
lea ecx, [esp + 0x338]
call fcn.1016fb20
call fcn.100ca290
mov eax, dword [0x104e2068]
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 + 0x18], eax
cmp ecx, edi
jne 0x10105db4
inc ecx
test edi, edi
je 0x10105d9e
mov eax, edi
cdq
sub eax, edx
sar eax, 1
add eax, edi
jmp 0x10105da3
mov eax, 8
cmp eax, ecx
cmovg ecx, eax
push ecx
mov ecx, esi
call fcn.100be400
mov eax, dword [esp + 0x18]
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 + 0x18]
mov dword [eax + 0x1f0], 0x435c0000
mov eax, dword [esp + 0x10]
and dword [eax + 0x1cd4], 0xfffffffe
mov eax, dword [0x101f6300]
movq xmm0, qword [0x101f62f8]
mov esi, dword [0x10227c40]
mov dword [esp + 0x350], eax
mov al, byte [0x101f6304]
mov byte [esp + 0x354], al
xor eax, eax
cmp dword [0x102296a0], 2
movq qword [esp + 0x348], xmm0
mov dword [esp + 0x18], eax
jl 0x10105f3d
movaps xmm2, xmmword [0x101ff6c0]
mov eax, 5
movaps xmm4, xmmword [0x101ffc10]
movaps xmm1, xmm2
punpckldq xmm1, xmm2
movaps xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm4
pmuldq xmm1, xmm4
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm2
movd xmm5, eax
psrad xmm1, xmm5
mov eax, 0x1f
movaps xmm0, xmm1
movd xmm6, eax
mov eax, dword [0x101ff810]
psrld xmm0, xmm6
paddd xmm0, xmm1
pmulld xmm0, xmmword [0x101ff730]
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
movaps xmm2, xmmword [0x101ff700]
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
pand xmm1, xmmword [0x101ff7d0]
packuswb xmm1, xmm1
movd xmm0, eax
paddb xmm1, xmm0
movd xmm0, dword [0x101f62f8]
pxor xmm1, xmm0
movaps xmm0, xmm2
movd dword [esp + 0x348], xmm1
movaps xmm1, xmm2
punpckldq xmm1, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm4
pmuldq xmm1, xmm4
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm2
psrad xmm1, xmm5
movaps xmm0, xmm1
psrld xmm0, xmm6
paddd xmm0, xmm1
pmulld xmm0, xmmword [0x101ff730]
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
pand xmm1, xmmword [0x101ff7d0]
movd xmm0, eax
mov eax, 8
packuswb xmm1, xmm1
paddb xmm1, xmm0
mov dword [esp + 0x18], eax
movd xmm0, dword [esp + 0x34c]
pxor xmm1, xmm0
movd dword [esp + 0x34c], xmm1
mov ebx, dword [esp + 0x18]
mov eax, 0xa0a0a0a1
mov cl, bl
imul ebx
add edx, ebx
sar edx, 5
mov eax, edx
shr eax, 0x1f
add eax, edx
movsx eax, al
imul eax, eax, 0x33
sub cl, al
add cl, 0x34
xor byte [esp + ebx + 0x348], cl
inc ebx
cmp ebx, 0xd
jl 0x10105f41
lea edx, [esi + 0xf00]
lea ecx, [esp + 0x348]
call fcn.1016fb20
mov eax, dword [0x10227c40]
cmp byte [eax + 0xf00], 0
je 0x10106017
lea esi, [eax + 0xf04]
xor ebx, ebx
mov eax, dword [str.uXYBVM:]
mov dword [esp + 0x1d4], eax
mov ax, word [0x101f62ac]
mov word [esp + 0x1d8], ax
mov al, byte [0x101f62ae]
mov byte [esp + 0x1da], al
mov eax, 0xa0a0a0a1
mov cl, bl
mul ebx
shr edx, 5
movsx eax, dl
imul eax, eax, 0x33
sub cl, al
add cl, 0x34
xor byte [esp + ebx + 0x1d4], cl
inc ebx
cmp ebx, 7
jl 0x10105fc0
push 0
push str._d_ms
lea eax, [esp + 0x20]
mov dword [esp + 0x20], 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.10173320
mov edi, dword [0x104e2068]
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 + 0x18], eax
mov eax, dword [esi + 4]
cmp ecx, eax
jne 0x1010608d
inc ecx
test eax, eax
je 0x1010607b
cdq
sub eax, edx
sar eax, 1
add eax, dword [esi + 4]
jmp 0x10106080
mov eax, 8
cmp eax, ecx
cmovg ecx, eax
push ecx
mov ecx, esi
call fcn.100be400
mov edx, dword [esi]
mov ecx, dword [esi + 8]
mov eax, dword [esp + 0x18]
mov eax, dword [eax + 0x1f0]
mov dword [ecx + edx*4], eax
inc dword [esi]
mov eax, dword [esp + 0x18]
mov dword [eax + 0x1f0], 0x42f00000
and dword [edi + 0x1cd4], 0xfffffffe
mov eax, dword [0x101f5970]
movq xmm0, qword [0x101f5968]
mov esi, dword [0x10227c40]
mov dword [esp + 0x2f0], eax
mov ax, word [0x101f5974]
movq qword [esp + 0x2e8], xmm0
mov word [esp + 0x2f4], ax
test ah, ah
je 0x10106251
xor eax, eax
cmp dword [0x102296a0], 2
mov dword [esp + 0x18], eax
jl 0x10106220
movaps xmm2, xmmword [0x101ff6c0]
mov eax, 5
movaps xmm4, xmmword [0x101ffc10]
movaps xmm1, xmm2
punpckldq xmm1, xmm2
movaps xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm4
pmuldq xmm1, xmm4
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm2
movd xmm5, eax
psrad xmm1, xmm5
mov eax, 0x1f
movaps xmm0, xmm1
movd xmm6, eax
mov eax, dword [0x101ff810]
psrld xmm0, xmm6
paddd xmm0, xmm1
pmulld xmm0, xmmword [0x101ff730]
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
movaps xmm2, xmmword [0x101ff700]
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
pand xmm1, xmmword [0x101ff7d0]
packuswb xmm1, xmm1
movd xmm0, eax
paddb xmm1, xmm0
movd xmm0, dword [0x101f5968]
pxor xmm1, xmm0
movaps xmm0, xmm2
movd dword [esp + 0x2e8], xmm1
movaps xmm1, xmm2
punpckldq xmm1, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm4
pmuldq xmm1, xmm4
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm2
psrad xmm1, xmm5
movaps xmm0, xmm1
psrld xmm0, xmm6
paddd xmm0, xmm1
pmulld xmm0, xmmword [0x101ff730]
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
pand xmm1, xmmword [0x101ff7d0]
movd xmm0, eax
mov eax, 8
packuswb xmm1, xmm1
paddb xmm1, xmm0
mov dword [esp + 0x18], eax
movd xmm0, dword [esp + 0x2ec]
pxor xmm1, xmm0
movd dword [esp + 0x2ec], xmm1
mov ebx, dword [esp + 0x18]
mov eax, 0xa0a0a0a1
mov cl, bl
imul ebx
add edx, ebx
sar edx, 5
mov eax, edx
shr eax, 0x1f
add eax, edx
movsx eax, al
imul eax, eax, 0x33
sub cl, al
add cl, 0x34
xor byte [esp + ebx + 0x2e8], cl
inc ebx
cmp ebx, 0xe
jl 0x10106224
lea edx, [esi + 0x3370]
lea ecx, [esp + 0x2e8]
call fcn.1016fb20
movups xmm0, xmmword [0x101f5810]
mov esi, dword [0x10227c40]
xor edx, edx
mov al, byte [0x101f5820]
add esi, 0x3599
cmp dword [0x102296a0], 2
mov byte [esp + 0x42c], al
movups xmmword [esp + 0x41c], xmm0
mov dword [esp + 0x10], edx
jl 0x101063f0
movaps xmm0, xmmword [0x101ff810]
mov eax, 5
movaps xmm4, xmmword [0x101ff6c0]
movaps xmm3, xmmword [0x101ffc10]
movaps xmm6, xmmword [0x101ff730]
movd xmm5, eax
mov eax, 0x1f
movaps xmmword [esp + 0x20], xmm0
mov ecx, dword [esp + 0x20]
movd xmm7, eax
movd xmm0, edx
lea eax, [edx + 4]
pshufd xmm2, xmm0, 0
paddd xmm2, xmm4
movaps xmm1, xmm2
movaps xmm0, xmm2
punpckhdq xmm0, xmm2
punpckldq xmm1, xmm2
pmuldq xmm0, xmm3
pmuldq xmm1, xmm3
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm2
psrad xmm1, xmm5
movaps xmm0, xmm1
psrld xmm0, xmm7
paddd xmm0, xmm1
pmulld xmm0, xmm6
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
pand xmm1, xmmword [0x101ff7d0]
packuswb xmm1, xmm1
movd xmm0, ecx
paddb xmm1, xmm0
movd xmm0, dword [esp + edx + 0x41c]
pxor xmm1, xmm0
movd xmm0, eax
pshufd xmm2, xmm0, 0
movd dword [esp + edx + 0x41c], xmm1
paddd xmm2, xmm4
movaps xmm1, xmm2
movaps xmm0, xmm2
punpckldq xmm1, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm3
pmuldq xmm1, xmm3
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm2
psrad xmm1, xmm5
movaps xmm0, xmm1
psrld xmm0, xmm7
paddd xmm0, xmm1
pmulld xmm0, xmm6
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
pand xmm1, xmmword [0x101ff7d0]
packuswb xmm1, xmm1
movd xmm0, ecx
paddb xmm1, xmm0
movd xmm0, dword [esp + edx + 0x420]
pxor xmm1, xmm0
movd dword [esp + edx + 0x420], xmm1
add edx, 8
cmp edx, 0x10
jl 0x101062d4
mov dword [esp + 0x10], edx
cmp edx, 0x11
jge 0x10106427
nop dword [eax + eax]
mov eax, 0xa0a0a0a1
imul edx
add edx, dword [esp + 0x10]
sar edx, 5
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [esp + 0x10]
movsx eax, al
mov cl, dl
imul eax, eax, 0x33
sub cl, al
add cl, 0x34
xor byte [esp + edx + 0x41c], cl
inc edx
mov dword [esp + 0x10], edx
cmp edx, 0x11
jl 0x101063f0
mov edx, esi
lea ecx, [esp + 0x41c]
call fcn.1016fb20
mov esi, dword [0x104e2068]
mov eax, dword [esi + 0x1bec]
mov byte [eax + 0xa8], 1
mov edx, dword [esi + 0x1bec]
cmp byte [edx + 0xab], 0
jne 0x1010649f
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.10152b90
mov edi, dword [esi + 4]
mov ecx, dword [esi]
mov dword [esp + 0x18], eax
cmp ecx, edi
jne 0x101064ef
inc ecx
test edi, edi
je 0x101064dd
mov eax, edi
cdq
sub eax, edx
sar eax, 1
add eax, edi
jmp 0x101064e2
mov eax, 8
cmp eax, ecx
cmovg ecx, eax
push ecx
mov ecx, esi
call fcn.100be400
mov ecx, dword [esi]
mov eax, dword [esi + 8]
mov edx, dword [esp + 0x18]
push ecx
mov dword [esp + 0x1c], 0x42c80000
mov dword [eax + ecx*4], edx
lea eax, [esp + 0x1c]
inc dword [esi]
mov ecx, 0x101d6e4f
mov edx, dword [0x10227c40]
push eax
mov dword [esp + 0x24], 0
lea edx, [edx + 0x36ac]
call fcn.100c0280
mov eax, dword [0x104e2068]
mov eax, dword [eax + 0x1bec]
dec dword [eax + 0xe0]
cmp byte [0x101f676f], 0
movq xmm0, qword [str.u_BX]
mov eax, dword [0x101f676c]
mov esi, dword [0x10227c40]
mov edi, dword [0x102296a0]
movq qword [esp + 0x37c], xmm0
mov dword [esp + 0x384], eax
je 0x101066ce
xor eax, eax
mov dword [esp + 0x18], eax
cmp edi, 2
jl 0x1010669d
movaps xmm2, xmmword [0x101ff6c0]
mov eax, 5
movaps xmm4, xmmword [0x101ffc10]
movaps xmm1, xmm2
punpckldq xmm1, xmm2
movaps xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm4
pmuldq xmm1, xmm4
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm2
movd xmm5, eax
psrad xmm1, xmm5
mov eax, 0x1f
movaps xmm0, xmm1
movd xmm6, eax
mov eax, dword [0x101ff810]
psrld xmm0, xmm6
paddd xmm0, xmm1
pmulld xmm0, xmmword [0x101ff730]
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
movaps xmm2, xmmword [0x101ff700]
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
pand xmm1, xmmword [0x101ff7d0]
packuswb xmm1, xmm1
movd xmm0, eax
paddb xmm1, xmm0
movd xmm0, dword [str.u_BX]
pxor xmm1, xmm0
movaps xmm0, xmm2
movd dword [esp + 0x37c], xmm1
movaps xmm1, xmm2
punpckldq xmm1, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm4
pmuldq xmm1, xmm4
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm2
psrad xmm1, xmm5
movaps xmm0, xmm1
psrld xmm0, xmm6
paddd xmm0, xmm1
pmulld xmm0, xmmword [0x101ff730]
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
pand xmm1, xmmword [0x101ff7d0]
movd xmm0, eax
mov eax, 8
packuswb xmm1, xmm1
paddb xmm1, xmm0
mov dword [esp + 0x18], eax
movd xmm0, dword [esp + 0x380]
pxor xmm1, xmm0
movd dword [esp + 0x380], xmm1
mov ebx, dword [esp + 0x18]
mov eax, 0xa0a0a0a1
mov cl, bl
imul ebx
add edx, ebx
sar edx, 5
mov eax, edx
shr eax, 0x1f
add eax, edx
movsx eax, al
imul eax, eax, 0x33
sub cl, al
add cl, 0x34
xor byte [esp + ebx + 0x37c], cl
inc ebx
cmp ebx, 0xc
jl 0x101066a1
lea edx, [esi + 0x3588]
lea ecx, [esp + 0x37c]
call fcn.1016fb20
mov ecx, dword [0x104e2068]
mov eax, dword [ecx + 0x1bec]
mov byte [eax + 0xa8], 1
mov edx, dword [ecx + 0x1bec]
cmp byte [edx + 0xab], 0
jne 0x1010674a
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 [0x101f60fb], 0
movq xmm0, qword [0x101f60f0]
mov eax, dword [0x101f60f8]
mov esi, dword [0x10227c40]
movq qword [esp + 0x394], xmm0
mov dword [esp + 0x39c], eax
je 0x101068dd
xor eax, eax
mov dword [esp + 0x18], eax
cmp edi, 2
jl 0x101068a7
movaps xmm2, xmmword [0x101ff6c0]
mov eax, 5
movaps xmm4, xmmword [0x101ffc10]
movaps xmm1, xmm2
punpckldq xmm1, xmm2
movaps xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm4
pmuldq xmm1, xmm4
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm2
movd xmm5, eax
psrad xmm1, xmm5
mov eax, 0x1f
movaps xmm0, xmm1
movd xmm6, eax
mov eax, dword [0x101ff810]
psrld xmm0, xmm6
paddd xmm0, xmm1
pmulld xmm0, xmmword [0x101ff730]
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
movaps xmm2, xmmword [0x101ff700]
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
pand xmm1, xmmword [0x101ff7d0]
packuswb xmm1, xmm1
movd xmm0, eax
paddb xmm1, xmm0
movd xmm0, dword [0x101f60f0]
pxor xmm1, xmm0
movaps xmm0, xmm2
movd dword [esp + 0x394], xmm1
movaps xmm1, xmm2
punpckldq xmm1, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm4
pmuldq xmm1, xmm4
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm2
psrad xmm1, xmm5
movaps xmm0, xmm1
psrld xmm0, xmm6
paddd xmm0, xmm1
pmulld xmm0, xmmword [0x101ff730]
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
pand xmm1, xmmword [0x101ff7d0]
movd xmm0, eax
mov eax, 8
packuswb xmm1, xmm1
paddb xmm1, xmm0
mov dword [esp + 0x18], eax
movd xmm0, dword [esp + 0x398]
pxor xmm1, xmm0
movd dword [esp + 0x398], xmm1
mov ebx, dword [esp + 0x18]
nop dword [eax + eax]
mov eax, 0xa0a0a0a1
mov cl, bl
imul ebx
add edx, ebx
sar edx, 5
mov eax, edx
shr eax, 0x1f
add eax, edx
movsx eax, al
imul eax, eax, 0x33
sub cl, al
add cl, 0x34
xor byte [esp + ebx + 0x394], cl
inc ebx
cmp ebx, 0xc
jl 0x101068b0
lea edx, [esi + 0x358a]
lea ecx, [esp + 0x394]
call fcn.1016fb20
mov eax, dword [0x104e2068]
xor edx, edx
mov dword [esp + 0x10], edx
mov eax, dword [eax + 0x1bec]
dec dword [eax + 0xe0]
mov eax, dword [0x101f50b8]
mov dword [esp + 0x9f0], eax
mov ax, word [0x101f50bc]
mov word [esp + 0x9f4], ax
movups xmm0, xmmword [str.zZXR8t__IN_]
movups xmmword [esp + 0x9b0], xmm0
movups xmm0, xmmword [0x101f5088]
movups xmmword [esp + 0x9c0], xmm0
movups xmm0, xmmword [0x101f5098]
movups xmmword [esp + 0x9d0], xmm0
movups xmm0, xmmword [0x101f50a8]
movups xmmword [esp + 0x9e0], xmm0
cmp edi, 2
jl 0x10106ab4
movaps xmm0, xmmword [0x101ff810]
mov eax, 5
movaps xmm4, xmmword [0x101ff6c0]
movaps xmm3, xmmword [0x101ffc10]
movaps xmm6, xmmword [0x101ff730]
movd xmm5, eax
mov eax, 0x1f
movaps xmmword [esp + 0x20], xmm0
mov ecx, dword [esp + 0x20]
movd xmm7, eax
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
paddd xmm1, xmm2
psrad xmm1, xmm5
movaps xmm0, xmm1
psrld xmm0, xmm7
paddd xmm0, xmm1
pmulld xmm0, xmm6
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
pand xmm1, xmmword [0x101ff7d0]
packuswb xmm1, xmm1
movd xmm0, ecx
paddb xmm1, xmm0
movd xmm0, dword [esp + edx + 0x9b0]
pxor xmm1, xmm0
movd xmm0, eax
pshufd xmm2, xmm0, 0
movd dword [esp + edx + 0x9b0], xmm1
paddd xmm2, xmm4
movaps xmm1, xmm2
movaps xmm0, xmm2
punpckldq xmm1, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm3
pmuldq xmm1, xmm3
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm2
psrad xmm1, xmm5
movaps xmm0, xmm1
psrld xmm0, xmm7
paddd xmm0, xmm1
pmulld xmm0, xmm6
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
pand xmm1, xmmword [0x101ff7d0]
packuswb xmm1, xmm1
movd xmm0, ecx
paddb xmm1, xmm0
movd xmm0, dword [esp + edx + 0x9b4]
pxor xmm1, xmm0
movd dword [esp + edx + 0x9b4], xmm1
add edx, 8
cmp edx, 0x40
jl 0x101069a0
mov dword [esp + 0x10], edx
cmp edx, 0x46
jge 0x10106aeb
mov eax, 0xa0a0a0a1
imul edx
add edx, dword [esp + 0x10]
sar edx, 5
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [esp + 0x10]
movsx eax, al
mov cl, dl
imul eax, eax, 0x33
sub cl, al
add cl, 0x34
xor byte [esp + edx + 0x9b0], cl
inc edx
mov dword [esp + 0x10], edx
cmp edx, 0x46
jl 0x10106ab4
mov eax, dword [0x10227c40]
movq xmm0, qword [0x101f504c]
add eax, 0x36d0
mov dword [esp + 0x10], eax
mov ax, word [0x101f5054]
movq qword [esp + 0x4e8], xmm0
mov word [esp + 0x4f0], ax
test ah, ah
je 0x10106b44
xor ebx, ebx
nop
mov eax, 0xa0a0a0a1
mov cl, bl
mul ebx
shr edx, 5
movsx eax, dl
imul eax, eax, 0x33
sub cl, al
add cl, 0x34
xor byte [esp + ebx + 0x4e8], cl
inc ebx
cmp ebx, 0xa
jl 0x10106b20
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
mov al, byte [ecx]
inc ecx
test al, al
jne 0x10106b70
sub ecx, edx
lea eax, [esp + 0x4e8]
push ecx
push eax
lea ecx, [esp + 0x6a0]
call fcn.10027bd0
cmp dword [esp + 0x6ac], 0x10
lea eax, [esp + 0x698]
lea edx, [esp + 0x9b0]
cmovae eax, dword [esp + 0x698]
xor esi, esi
cmp byte [esp + 0x9b0], 0
mov dword [esp + 0x18], eax
je 0x10106be0
nop dword [eax]
mov ecx, edx
lea edi, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x10106bc5
sub ecx, edi
inc edx
add edx, ecx
inc esi
cmp byte [edx], al
jne 0x10106bc0
mov eax, dword [esp + 0x18]
mov edi, dword [0x102296a0]
mov edx, dword [esp + 0x10]
lea ecx, [esp + 0x9b0]
push 1
push 0xffffffffffffffff
push esi
push ecx
push 0x10171580
mov ecx, eax
call fcn.101715e0
mov ecx, dword [esp + 0x6ac]
cmp ecx, 0x10
jb 0x10106c39
mov edx, dword [esp + 0x698]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x10106c2f
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1010b9a1
push ecx
push edx
call fcn.1019d45c
add esp, 8
mov eax, dword [0x10227c40]
mov dword [esp + 0x6a8], 0
mov dword [esp + 0x6ac], 0xf
mov byte [esp + 0x698], 0
cmp dword [eax + 0x36d0], 9
jne 0x101072da
movups xmm0, xmmword [0x101f5efc]
lea esi, [eax + 0x36f4]
xor edx, edx
mov ax, word [0x101f5f0c]
mov word [esp + 0x504], ax
mov al, byte [0x101f5f0e]
mov byte [esp + 0x506], al
mov dword [esp + 0x10], edx
movups xmmword [esp + 0x4f4], xmm0
cmp edi, 2
jl 0x10106df4
movaps xmm0, xmmword [0x101ff810]
mov eax, 5
movaps xmm4, xmmword [0x101ff6c0]
movaps xmm3, xmmword [0x101ffc10]
movaps xmm6, xmmword [0x101ff730]
movd xmm5, eax
mov eax, 0x1f
movaps xmmword [esp + 0x20], xmm0
mov ecx, dword [esp + 0x20]
movd xmm7, eax
nop
movd xmm0, edx
lea eax, [edx + 4]
pshufd xmm2, xmm0, 0
paddd xmm2, xmm4
movaps xmm1, xmm2
movaps xmm0, xmm2
punpckhdq xmm0, xmm2
punpckldq xmm1, xmm2
pmuldq xmm0, xmm3
pmuldq xmm1, xmm3
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm2
psrad xmm1, xmm5
movaps xmm0, xmm1
psrld xmm0, xmm7
paddd xmm0, xmm1
pmulld xmm0, xmm6
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
pand xmm1, xmmword [0x101ff7d0]
packuswb xmm1, xmm1
movd xmm0, ecx
paddb xmm1, xmm0
movd xmm0, dword [esp + edx + 0x4f4]
pxor xmm1, xmm0
movd xmm0, eax
pshufd xmm2, xmm0, 0
movd dword [esp + edx + 0x4f4], xmm1
paddd xmm2, xmm4
movaps xmm1, xmm2
movaps xmm0, xmm2
punpckldq xmm1, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm3
pmuldq xmm1, xmm3
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm2
psrad xmm1, xmm5
movaps xmm0, xmm1
psrld xmm0, xmm7
paddd xmm0, xmm1
pmulld xmm0, xmm6
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
pand xmm1, xmmword [0x101ff7d0]
packuswb xmm1, xmm1
movd xmm0, ecx
paddb xmm1, xmm0
movd xmm0, dword [esp + edx + 0x4f8]
pxor xmm1, xmm0
movd dword [esp + edx + 0x4f8], xmm1
add edx, 8
cmp edx, 0x10
jl 0x10106ce0
mov dword [esp + 0x10], edx
cmp edx, 0x13
jge 0x10106e2b
mov eax, 0xa0a0a0a1
imul edx
add edx, dword [esp + 0x10]
sar edx, 5
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [esp + 0x10]
movsx eax, al
mov cl, dl
imul eax, eax, 0x33
sub cl, al
add cl, 0x34
xor byte [esp + edx + 0x4f4], cl
inc edx
mov dword [esp + 0x10], edx
cmp edx, 0x13
jl 0x10106df4
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]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x10106e56
sub ecx, edx
lea eax, [esp + 0x4f4]
push ecx
push eax
lea ecx, [esp + 0x6b8]
call fcn.10027bd0
cmp dword [esp + 0x6c4], 0x10
lea ecx, [esp + 0x6b0]
mov dword [esp + 0xe0], esi
cmovae 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, 0x10
jb 0x10106eb5
mov esi, dword [esi]
lea eax, [esp + 0xe0]
mov dword [esp + 0x78], 0
push eax
push 0x100c3e10
push 0x40000
lea eax, [esp + 0x84]
mov dword [esp + 0x88], 0
push eax
push edx
push esi
xor edx, edx
call fcn.101762b0
mov ecx, dword [esp + 0x6c4]
cmp ecx, 0x10
jb 0x10106f27
mov edx, dword [esp + 0x6b0]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x10106f1d
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1010b9a1
push ecx
push edx
call fcn.1019d45c
add esp, 8
mov eax, dword [0x104e2068]
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 0x10106f87
cmp byte [eax + 0x1daa], 0
jne 0x10106f87
mov eax, dword [eax + 0x1d58]
cmp eax, dword [ecx + 0x138]
jne 0x10106f78
mov edx, dword [ecx + 0x13c]
test dl, 1
je 0x101072da
cmp dword [eax + 0x1bf4], ecx
je 0x10106fa6
mov ecx, 2
call fcn.1015eaa0
movups xmm0, xmmword [str.zZXR8t__IN_]
mov eax, dword [0x101f50b8]
xor edx, edx
mov dword [esp + 0x260], eax
mov ax, word [0x101f50bc]
mov word [esp + 0x264], ax
mov dword [esp + 0x10], edx
movups xmmword [esp + 0x220], xmm0
movups xmm0, xmmword [0x101f5088]
movups xmmword [esp + 0x230], xmm0
movups xmm0, xmmword [0x101f5098]
movups xmmword [esp + 0x240], xmm0
movups xmm0, xmmword [0x101f50a8]
movups xmmword [esp + 0x250], xmm0
cmp edi, 2
jl 0x10107490
movaps xmm0, xmmword [0x101ff810]
mov eax, 5
movaps xmm4, xmmword [0x101ff6c0]
movaps xmm3, xmmword [0x101ffc10]
movaps xmm6, xmmword [0x101ff730]
movd xmm5, eax
mov eax, 0x1f
movaps xmmword [esp + 0x20], xmm0
mov ecx, dword [esp + 0x20]
movd xmm7, eax
movd xmm0, edx
lea eax, [edx + 4]
pshufd xmm2, xmm0, 0
paddd xmm2, xmm4
movaps xmm1, xmm2
movaps xmm0, xmm2
punpckhdq xmm0, xmm2
punpckldq xmm1, xmm2
pmuldq xmm0, xmm3
pmuldq xmm1, xmm3
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm2
psrad xmm1, xmm5
movaps xmm0, xmm1
psrld xmm0, xmm7
paddd xmm0, xmm1
pmulld xmm0, xmm6
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
pand xmm1, xmmword [0x101ff7d0]
packuswb xmm1, xmm1
movd xmm0, ecx
paddb xmm1, xmm0
movd xmm0, dword [esp + edx + 0x220]
pxor xmm1, xmm0
movd xmm0, eax
pshufd xmm2, xmm0, 0
movd dword [esp + edx + 0x220], xmm1
paddd xmm2, xmm4
movaps xmm1, xmm2
movaps xmm0, xmm2
punpckldq xmm1, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm3
pmuldq xmm1, xmm3
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm2
psrad xmm1, xmm5
movaps xmm0, xmm1
psrld xmm0, xmm7
paddd xmm0, xmm1
pmulld xmm0, xmm6
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
pand xmm1, xmmword [0x101ff7d0]
packuswb xmm1, xmm1
movd xmm0, ecx
paddb xmm1, xmm0
movd xmm0, dword [esp + edx + 0x224]
pxor xmm1, xmm0
movd dword [esp + edx + 0x224], xmm1
add edx, 8
cmp edx, 0x40
jl 0x10107380
jmp 0x101074be
mov eax, 0xa0a0a0a1
imul edx
add edx, dword [esp + 0x10]
sar edx, 5
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [esp + 0x10]
movsx eax, al
mov cl, dl
imul eax, eax, 0x33
sub cl, al
add cl, 0x34
xor byte [esp + edx + 0x220], cl
inc edx
mov dword [esp + 0x10], edx
cmp edx, 0x46
jl 0x10107490
mov ax, word [0x101f6114]
mov edi, dword [0x10227c40]
movq xmm0, qword [0x101f610c]
add edi, 0x36d8
mov word [esp + 0x19c], ax
xor ebx, ebx
mov al, byte [0x101f6116]
mov dword [esp + 0x10], edi
mov byte [esp + 0x19e], al
movq qword [esp + 0x194], xmm0
mov eax, 0xa0a0a0a1
mov cl, bl
mul ebx
shr edx, 5
movsx eax, dl
imul eax, eax, 0x33
sub cl, al
add cl, 0x34
xor byte [esp + ebx + 0x194], cl
inc ebx
cmp ebx, 0xb
jl 0x10107504
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]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x10107553
sub ecx, edx
lea eax, [esp + 0x194]
push ecx
push eax
lea ecx, [esp + 0x6e8]
call fcn.10027bd0
cmp dword [esp + 0x6f4], 0x10
lea eax, [esp + 0x6e0]
lea edx, [esp + 0x220]
cmovae eax, dword [esp + 0x6e0]
xor esi, esi
cmp byte [esp + 0x220], 0
mov dword [esp + 0x18], eax
je 0x101075bd
mov dword [esp + 0x10], edi
mov ecx, edx
lea edi, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x101075a8
sub ecx, edi
inc edx
add edx, ecx
inc esi
cmp byte [edx], al
jne 0x101075a3
mov eax, dword [esp + 0x18]
mov edx, dword [esp + 0x10]
lea ecx, [esp + 0x220]
push 1
push 0xffffffffffffffff
push esi
push ecx
push 0x10171580
mov ecx, eax
call fcn.101715e0
mov ecx, dword [esp + 0x6f4]
cmp ecx, 0x10
jb 0x10107616
mov edx, dword [esp + 0x6e0]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x1010760c
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1010b9a1
push ecx
push edx
call fcn.1019d45c
add esp, 8
mov eax, dword [0x10227c40]
mov dword [esp + 0x6f0], 0
mov dword [esp + 0x6f4], 0xf
mov byte [esp + 0x6e0], 0
cmp dword [eax + 0x36d8], 9
jne 0x10107c78
cmp byte [0x101f5dc7], 0
lea esi, [eax + 0x36dc]
movups xmm0, xmmword [0x101f5db4]
mov eax, dword [0x101f5dc4]
mov edi, dword [0x102296a0]
movups xmmword [esp + 0x5a4], xmm0
mov dword [esp + 0x5b4], eax
je 0x1010780b
mov ecx, dword [0x104e2068]
mov eax, dword [ecx + 0x1bec]
dec dword [eax + 0xe0]
movups xmm0, xmmword [0x101f6628]
mov ax, word [0x101f6638]
mov esi, dword [0x10227c40]
mov edi, dword [0x102296a0]
mov word [esp + 0x530], ax
movups xmmword [esp + 0x520], xmm0
test ah, ah
je 0x10107e4c
call fcn.101a26e6
int3