Function at 0x100d3340
Capabilities:
Encode data using xor
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff0
sub esp, 0xa8
mov eax, dword [0x102060c0]
xor eax, esp
mov dword [esp + 0xa4], eax
mov eax, dword fs:[0x2c]
mov ecx, dword [0x10224d4c]
push esi
push edi
xor edi, edi
mov ecx, dword [eax + ecx*4]
mov eax, dword [0x10352550]
mov dword [esp + 0x1c], edi
cmp eax, dword [ecx + 4]
jle 0x100d33ae
push 0x10352550
call fcn.10199827
add esp, 4
cmp dword [0x10352550], 0xffffffff
jne 0x100d33ae
push 0x101c5ac0
call fcn.10199573
add esp, 4
push 0x10352550
call fcn.101997d6
add esp, 4
cmp byte [0x101ed437], 0
mov eax, dword [str.yVM5tFXY6tWKTNN__]
mov ecx, dword [0x10224d40]
mov byte [esp + 0x1b], 0
mov dword [esp + 0xc], eax
je 0x100d3483
xor edx, edx
mov dword [esp + 0x10], edx
cmp ecx, 2
jl 0x100d3454
movaps xmm3, xmmword [0x101f7c30]
movaps xmm2, xmm3
movaps xmm0, xmm3
punpckhdq xmm0, xmm3
pmuldq xmm0, xmmword [0x101f7d90]
punpckldq xmm2, xmm3
pmuldq xmm2, xmmword [0x101f7d90]
shufps xmm2, xmm0, 0xdd
psrad xmm2, 1
movaps xmm0, xmm2
psrld xmm0, 0x1f
paddd xmm0, xmm2
pmulld xmm0, xmmword [0x101f7cd0]
psubd xmm3, xmm0
pshuflw xmm0, xmm3, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
andps xmm1, xmmword [0x101f7d70]
packuswb xmm1, xmm1
paddb xmm1, xmmword [0x101f7db0]
movd xmm0, eax
xorps xmm1, xmm0
movd dword [esp + 0xc], xmm1
jmp 0x100d3483
mov eax, 0x94f2095
imul edx
sar edx, 1
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [esp + 0x10]
movsx eax, al
mov cl, dl
imul eax, eax, 0x37
sub cl, al
add cl, 0x32
xor byte [esp + edx + 0xc], cl
inc edx
mov dword [esp + 0x10], edx
cmp edx, 4
jl 0x100d3454
mov eax, dword [0x1034f0f0]
xor edx, edx
mov esi, dword [eax + 0x1bec]
mov eax, dword [esi + 0xe8]
add esi, 0xe0
mov ecx, dword [esi]
push dword [eax + ecx*4 - 4]
lea ecx, [esp + 0x10]
call fcn.1014f1a0
mov ecx, dword [esi]
mov dword [esp + 0x10], eax
mov eax, dword [esi + 4]
cmp ecx, eax
jne 0x100d34d9
inc ecx
test eax, eax
je 0x100d34c7
cdq
sub eax, edx
sar eax, 1
add eax, dword [esi + 4]
jmp 0x100d34cc
mov eax, 8
cmp eax, ecx
cmovg ecx, eax
push ecx
mov ecx, esi
call fcn.100bdf50
mov ecx, dword [esi]
mov eax, dword [esi + 8]
movups xmm0, xmmword [0x101ed7d8]
mov edx, dword [esp + 0x10]
mov dword [eax + ecx*4], edx
inc dword [esi]
mov esi, dword [0x10223ca0]
movups xmmword [esp + 0x30], xmm0
psrldq xmm0, 0xf
movd eax, xmm0
test al, al
je 0x100d366f
xor edx, edx
cmp dword [0x10224d40], 2
mov dword [esp + 0x10], edx
jl 0x100d3640
movaps xmm0, xmmword [0x101f7db0]
xor ecx, ecx
movaps xmm4, xmmword [0x101f7c30]
movaps xmm3, xmmword [0x101f7d90]
movaps xmm5, xmmword [0x101f7cd0]
movaps xmmword [esp + 0x20], xmm0
mov edx, dword [esp + 0x20]
movd xmm0, ecx
lea eax, [ecx + 4]
pshufd xmm2, xmm0, 0
paddd xmm2, xmm4
movaps xmm1, xmm2
movaps xmm0, xmm2
punpckhdq xmm0, xmm2
punpckldq xmm1, xmm2
pmuldq xmm0, xmm3
pmuldq xmm1, xmm3
shufps xmm1, xmm0, 0xdd
psrad xmm1, 1
movaps xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm5
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
andps xmm1, xmmword [0x101f7d70]
packuswb xmm1, xmm1
movd xmm0, edx
paddb xmm1, xmm0
movd xmm0, dword [esp + ecx + 0x30]
xorps xmm1, xmm0
movd xmm0, eax
pshufd xmm2, xmm0, 0
movd dword [esp + ecx + 0x30], xmm1
paddd xmm2, xmm4
movaps xmm1, xmm2
movaps xmm0, xmm2
punpckhdq xmm0, xmm2
punpckldq xmm1, xmm2
pmuldq xmm0, xmm3
pmuldq xmm1, xmm3
shufps xmm1, xmm0, 0xdd
psrad xmm1, 1
movaps xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm5
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
andps xmm1, xmmword [0x101f7d70]
packuswb xmm1, xmm1
movd xmm0, edx
paddb xmm1, xmm0
movd xmm0, dword [esp + ecx + 0x34]
xorps xmm1, xmm0
movd dword [esp + ecx + 0x34], xmm1
add ecx, 8
cmp ecx, 0x10
jl 0x100d3544
jmp 0x100d366f
mov eax, 0x94f2095
imul edx
sar edx, 1
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [esp + 0x10]
movsx eax, al
mov cl, dl
imul eax, eax, 0x37
sub cl, al
add cl, 0x32
xor byte [esp + edx + 0x30], cl
inc edx
mov dword [esp + 0x10], edx
cmp edx, 0x10
jl 0x100d3640
lea edx, [esi + 0x288]
lea ecx, [esp + 0x30]
call fcn.1016c3b0
movss xmm1, dword [0x101f7ab4]
xorps xmm0, xmm0
call fcn.1015b310
mov eax, dword [0x101ed64c]
xor edx, edx
mov esi, dword [0x10223ca0]
mov dword [esp + 0x30], eax
mov ax, word [0x101ed650]
mov word [esp + 0x34], ax
mov al, byte [0x101ed652]
mov dword [esp + 0x10], 0x42c80000
mov dword [esp + 0x14], edi
mov byte [esp + 0x36], al
mov dword [esp + 0xc], edx
mov eax, 0x29e4129f
mul edx
mov eax, dword [esp + 0xc]
sub eax, edx
shr eax, 1
add eax, edx
mov edx, dword [esp + 0xc]
shr eax, 5
mov cl, dl
movsx eax, al
imul eax, eax, 0x37
sub cl, al
add cl, 0x32
xor byte [esp + edx + 0x30], cl
inc edx
mov dword [esp + 0xc], edx
cmp edx, 7
jl 0x100d36c3
push ecx
lea eax, [esp + 0x14]
push eax
lea edx, [esi + 0xeb0]
lea ecx, [esp + 0x38]
call fcn.100bfda0
mov esi, dword [0x1034f0f0]
xorps xmm0, xmm0
movss xmm1, dword [0x101f7ab4]
mov eax, dword [esi + 0x1bec]
dec dword [eax + 0xe0]
call fcn.1015b310
mov ecx, dword [esi + 0x1bec]
cmp byte [ecx + 0xab], 0
jne 0x100d3754
mov ecx, dword [ecx + 0x1dc]
neg ecx
sbb ecx, ecx
add ecx, 6
call fcn.1016ccd0
mov esi, dword [0x1034f0f0]
mov eax, dword [esi + 0x1bec]
mov byte [eax + 0xa8], 1
mov eax, dword [esi + 0x1bec]
mov eax, dword [eax + 0x1d0]
test eax, eax
je 0x100d3782
cmp dword [eax + 0x10], 2
jne 0x100d377d
cmp dword [eax + 4], 1
je 0x100d3790
call fcn.100ca080
push 1
mov edx, 2
xor ecx, ecx
call fcn.100c97a0
movss xmm0, dword [0x101f7954]
call fcn.1015b3d0
xor ecx, ecx
call fcn.1015af60
mov ecx, dword [0x1034f0f0]
xor edx, edx
mov dword [esp + 0xc], edx
mov eax, dword [ecx + 0x1bec]
mov byte [eax + 0xa8], 1
mov eax, dword [ecx + 0x1bec]
movss xmm1, dword [eax + 0x10]
subss xmm1, dword [eax + 0x74]
movss xmm0, dword [eax + 0x104]
addss xmm1, dword [0x101f7864]
maxss xmm0, xmm1
movss dword [eax + 0xec], xmm1
movss dword [eax + 0x104], xmm0
cmp dword [0x10224d40], 2
movups xmm0, xmmword [0x101eee68]
mov al, byte [0x101eee88]
mov byte [esp + 0x90], al
movups xmmword [esp + 0x70], xmm0
movups xmm0, xmmword [0x101eee78]
movups xmmword [esp + 0x80], xmm0
jl 0x100d3950
movaps xmm0, xmmword [0x101f7db0]
movaps xmm4, xmmword [0x101f7c30]
movaps xmm3, xmmword [0x101f7d90]
movaps xmm5, xmmword [0x101f7cd0]
movaps xmmword [esp + 0x20], xmm0
mov ecx, dword [esp + 0x20]
nop word [eax + eax]
movd xmm0, edx
lea eax, [edx + 4]
pshufd xmm2, xmm0, 0
paddd xmm2, xmm4
movaps xmm1, xmm2
movaps xmm0, xmm2
punpckhdq xmm0, xmm2
punpckldq xmm1, xmm2
pmuldq xmm0, xmm3
pmuldq xmm1, xmm3
shufps xmm1, xmm0, 0xdd
psrad xmm1, 1
movaps xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm5
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
andps xmm1, xmmword [0x101f7d70]
packuswb xmm1, xmm1
movd xmm0, ecx
paddb xmm1, xmm0
movd xmm0, dword [esp + edx + 0x70]
xorps xmm1, xmm0
movd xmm0, eax
pshufd xmm2, xmm0, 0
movd dword [esp + edx + 0x70], xmm1
paddd xmm2, xmm4
movaps xmm1, xmm2
movaps xmm0, xmm2
punpckhdq xmm0, xmm2
punpckldq xmm1, xmm2
pmuldq xmm0, xmm3
pmuldq xmm1, xmm3
shufps xmm1, xmm0, 0xdd
psrad xmm1, 1
movaps xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm5
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
andps xmm1, xmmword [0x101f7d70]
packuswb xmm1, xmm1
movd xmm0, ecx
paddb xmm1, xmm0
movd xmm0, dword [esp + edx + 0x74]
xorps xmm1, xmm0
movd dword [esp + edx + 0x74], xmm1
add edx, 8
cmp edx, 0x20
jl 0x100d3850
mov dword [esp + 0xc], edx
cmp edx, 0x21
jge 0x100d397f
mov eax, 0x94f2095
imul edx
sar edx, 1
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [esp + 0xc]
movsx eax, al
mov cl, dl
imul eax, eax, 0x37
sub cl, al
add cl, 0x32
xor byte [esp + edx + 0x70], cl
inc edx
mov dword [esp + 0xc], edx
cmp edx, 0x21
jl 0x100d3950
xor esi, esi
lea edx, [esp + 0x70]
cmp byte [esp + 0x70], 0
je 0x100d39b3
nop dword [eax]
mov ecx, edx
lea eax, [ecx + 1]
mov dword [esp + 0x10], eax
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x100d39a0
sub ecx, dword [esp + 0x10]
inc edx
add edx, ecx
inc esi
cmp byte [edx], al
jne 0x100d3990
push 0
push 0xffffffffffffffff
push esi
lea eax, [esp + 0x7c]
mov edx, 0x1034ef50
push eax
push 0x1016ddf0
mov ecx, 0x101cf4ee
call fcn.1016de50
mov eax, dword [0x1034f0f0]
xorps xmm0, xmm0
movss xmm1, dword [0x101f7ab4]
mov eax, dword [eax + 0x1bec]
dec dword [eax + 0xe0]
call fcn.1015b310
mov ecx, 1
call fcn.1015af60
mov eax, dword [0x1034ef50]
cmp eax, 4
ja case.default.0x100d3a0a
jmp dword [eax*4 + 0x100d5ee0]
mov ecx, dword [0x1034f0f0]
mov dword [0x1034ef4c], edi
mov eax, dword [ecx + 0x1bec]
mov byte [eax + 0xa8], 1
mov esi, dword [ecx + 0x1bec]
cmp byte [esi + 0xab], 0
jne case.default.0x100d3a0a
movss xmm0, dword [esi + 0x118]
xorps xmm2, xmm2
comiss xmm0, xmm2
mov eax, dword [esi + 0x1dc]
mov dword [esp + 0x10], eax
mov dword [esi + 0x1dc], 1
mov dword [esp + 0x30], edi
jbe 0x100d3a6b
mov dword [esp + 0x34], edi
jmp 0x100d3a79
movss xmm0, dword [ecx + 0x1988]
movss dword [esp + 0x34], xmm0
movss xmm0, dword [0x101f7ab4]
lea ecx, [esp + 0x30]
call fcn.1015b010
mov eax, dword [esp + 0x10]
mov dword [esi + 0x1dc], eax
jmp case.default.0x100d3a0a
push 0
push 0xffffffffffffffff
push 0xb
push 0
push 0x100d5f10
mov edx, 0x1034ef48
mov ecx, 0x101cf4ee
call fcn.1016de50
mov eax, dword [0x1034ef48]
mov ecx, 0x23
test eax, eax
cmovne ecx, eax
mov dword [0x1034ef4c], ecx
jmp case.default.0x100d3a0a
push 0
push 0xffffffffffffffff
push 7
push 0
push 0x100d6020
mov edx, 0x1034ef70
mov ecx, 0x101cf4ee
call fcn.1016de50
mov eax, dword [0x1034ef70]
test eax, eax
je 0x100d3b01
add eax, 0xa
mov dword [0x1034ef4c], eax
jmp case.default.0x100d3a0a
mov eax, 0x24
mov dword [0x1034ef4c], eax
jmp case.default.0x100d3a0a
push 0
push 0xffffffffffffffff
push 8
push 0
push 0x100d6140
mov edx, 0x1034ef3c
mov ecx, 0x101cf4ee
call fcn.1016de50
mov eax, dword [0x1034ef3c]
test eax, eax
je 0x100d3b3c
add eax, 0x10
mov dword [0x1034ef4c], eax
jmp case.default.0x100d3a0a
mov eax, 0x25
mov dword [0x1034ef4c], eax
jmp case.default.0x100d3a0a
push 0
push 0xffffffffffffffff
push 0xc
push 0
push 0x100d6260
mov edx, 0x1034ef1c
mov ecx, 0x101cf4ee
call fcn.1016de50
mov eax, dword [0x1034ef1c]
test eax, eax
je 0x100d3b77
add eax, 0x17
mov dword [0x1034ef4c], eax
jmp case.default.0x100d3a0a
mov dword [0x1034ef4c], 0x26
mov ecx, dword [0x1034f0f0]
movss xmm0, dword [0x101f79b0]
mov eax, dword [ecx + 0x1bec]
mov byte [eax + 0xa8], 1
mov edx, dword [ecx + 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
call fcn.1015b3d0
mov ecx, dword [0x10223ca0]
mov esi, dword [0x101ee5c4]
add ecx, 0x289
cmp byte [0x101ee5c7], 0
mov dword [esp + 0xc], ecx
mov ecx, dword [str.sZYYYTS9s_X5wWSP]
mov dword [esp + 0x30], ecx
mov dword [esp + 0x34], esi
je 0x100d3d2f
xor edx, edx
cmp dword [0x10224d40], 2
mov dword [esp + 0x10], edx
jl 0x100d3d00
movaps xmm2, xmmword [0x101f7c30]
movaps xmm4, xmmword [0x101f7d90]
movaps xmm1, xmm2
punpckldq xmm1, xmm2
movaps xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm4
pmuldq xmm1, xmm4
shufps xmm1, xmm0, 0xdd
psrad xmm1, 1
mov eax, dword [0x101f7db0]
movaps xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmmword [0x101f7cd0]
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
movaps xmm2, xmmword [0x101f7c70]
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
andps xmm1, xmmword [0x101f7d70]
packuswb xmm1, xmm1
movd xmm0, eax
paddb xmm1, xmm0
movd xmm0, ecx
xorps xmm1, xmm0
movaps xmm0, xmm2
movd dword [esp + 0x30], xmm1
movaps xmm1, xmm2
punpckhdq xmm0, xmm2
punpckldq xmm1, xmm2
pmuldq xmm0, xmm4
pmuldq xmm1, xmm4
shufps xmm1, xmm0, 0xdd
psrad xmm1, 1
movaps xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmmword [0x101f7cd0]
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
andps xmm1, xmmword [0x101f7d70]
packuswb xmm1, xmm1
movd xmm0, eax
paddb xmm1, xmm0
movd xmm0, esi
xorps xmm1, xmm0
movd dword [esp + 0x34], xmm1
jmp 0x100d3d2f
mov eax, 0x94f2095
imul edx
sar edx, 1
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [esp + 0x10]
movsx eax, al
mov cl, dl
imul eax, eax, 0x37
sub cl, al
add cl, 0x32
xor byte [esp + edx + 0x30], cl
inc edx
mov dword [esp + 0x10], edx
cmp edx, 8
jl 0x100d3d00
mov edx, dword [esp + 0xc]
lea ecx, [esp + 0x30]
call fcn.1016c3b0
mov eax, dword [0x101ecff0]
movq xmm0, qword [str.tA_PXST_]
mov esi, dword [0x10223ca0]
mov dword [esp + 0x28], eax
mov ax, word [0x101ecff4]
movq qword [esp + 0x20], xmm0
mov word [esp + 0x2c], ax
test ah, ah
je 0x100d3eaf
xor edx, edx
cmp dword [0x10224d40], 2
mov dword [esp + 0xc], edx
jl 0x100d3e80
movaps xmm2, xmmword [0x101f7c30]
mov edx, 8
movaps xmm4, xmmword [0x101f7d90]
movaps xmm1, xmm2
punpckldq xmm1, xmm2
movaps xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm4
pmuldq xmm1, xmm4
shufps xmm1, xmm0, 0xdd
psrad xmm1, 1
mov eax, dword [0x101f7db0]
movaps xmm0, xmm1
mov dword [esp + 0xc], edx
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmmword [0x101f7cd0]
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
movaps xmm2, xmmword [0x101f7c70]
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
andps xmm1, xmmword [0x101f7d70]
packuswb xmm1, xmm1
movd xmm0, eax
paddb xmm1, xmm0
movd xmm0, dword [str.tA_PXST_]
xorps xmm1, xmm0
movaps xmm0, xmm2
movd dword [esp + 0x20], xmm1
movaps xmm1, xmm2
punpckhdq xmm0, xmm2
punpckldq xmm1, xmm2
pmuldq xmm0, xmm4
pmuldq xmm1, xmm4
shufps xmm1, xmm0, 0xdd
psrad xmm1, 1
movaps xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmmword [0x101f7cd0]
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
andps xmm1, xmmword [0x101f7d70]
packuswb xmm1, xmm1
movd xmm0, eax
paddb xmm1, xmm0
movd xmm0, dword [esp + 0x24]
xorps xmm1, xmm0
movd dword [esp + 0x24], xmm1
nop word [eax + eax]
mov eax, 0x94f2095
imul edx
sar edx, 1
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [esp + 0xc]
movsx eax, al
mov cl, dl
imul eax, eax, 0x37
sub cl, al
add cl, 0x32
xor byte [esp + edx + 0x20], cl
inc edx
mov dword [esp + 0xc], edx
cmp edx, 0xe
jl 0x100d3e80
lea edx, [esi + 0x28b]
lea ecx, [esp + 0x20]
call fcn.1016c3b0
mov eax, dword [str.UUPD_]
xor edx, edx
mov esi, dword [0x10223ca0]
movq xmm0, qword [str.dZGT__]
add esi, 0x28c
cmp dword [0x10224d40], 2
mov dword [esp + 0x28], eax
mov al, byte [0x101ede78]
mov byte [esp + 0x2c], al
movq qword [esp + 0x20], xmm0
mov dword [esp + 0xc], edx
jl 0x100d4000
movaps xmm2, xmmword [0x101f7c30]
mov edx, 8
movaps xmm4, xmmword [0x101f7d90]
movaps xmm1, xmm2
punpckldq xmm1, xmm2
movaps xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm4
pmuldq xmm1, xmm4
shufps xmm1, xmm0, 0xdd
psrad xmm1, 1
mov eax, dword [0x101f7db0]
movaps xmm0, xmm1
mov dword [esp + 0xc], edx
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmmword [0x101f7cd0]
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
movaps xmm2, xmmword [0x101f7c70]
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
andps xmm1, xmmword [0x101f7d70]
packuswb xmm1, xmm1
movd xmm0, eax
paddb xmm1, xmm0
movd xmm0, dword [str.dZGT__]
xorps xmm1, xmm0
movaps xmm0, xmm2
movd dword [esp + 0x20], xmm1
movaps xmm1, xmm2
punpckhdq xmm0, xmm2
punpckldq xmm1, xmm2
pmuldq xmm0, xmm4
pmuldq xmm1, xmm4
shufps xmm1, xmm0, 0xdd
psrad xmm1, 1
movaps xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmmword [0x101f7cd0]
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
andps xmm1, xmmword [0x101f7d70]
packuswb xmm1, xmm1
movd xmm0, eax
paddb xmm1, xmm0
movd xmm0, dword [esp + 0x24]
xorps xmm1, xmm0
movd dword [esp + 0x24], xmm1
nop dword [eax + eax]
mov eax, 0x94f2095
imul edx
sar edx, 1
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [esp + 0xc]
movsx eax, al
mov cl, dl
imul eax, eax, 0x37
sub cl, al
add cl, 0x32
xor byte [esp + edx + 0x20], cl
inc edx
mov dword [esp + 0xc], edx
cmp edx, 0xd
jl 0x100d4000
mov edx, esi
lea ecx, [esp + 0x20]
call fcn.1016c3b0
cmp byte [0x101ee8d3], 0
movq xmm0, qword [0x101ee8c8]
mov eax, dword [0x101ee8d0]
mov esi, dword [0x10223ca0]
movq qword [esp + 0x20], xmm0
mov dword [esp + 0x28], eax
je 0x100d41a1
xor edx, edx
cmp dword [0x10224d40], 2
mov dword [esp + 0xc], edx
jl 0x100d4172
movaps xmm2, xmmword [0x101f7c30]
mov edx, 8
movaps xmm4, xmmword [0x101f7d90]
movaps xmm1, xmm2
punpckldq xmm1, xmm2
movaps xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm4
pmuldq xmm1, xmm4
shufps xmm1, xmm0, 0xdd
psrad xmm1, 1
mov eax, dword [0x101f7db0]
movaps xmm0, xmm1
mov dword [esp + 0xc], edx
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmmword [0x101f7cd0]
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
movaps xmm2, xmmword [0x101f7c70]
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
andps xmm1, xmmword [0x101f7d70]
packuswb xmm1, xmm1
movd xmm0, eax
paddb xmm1, xmm0
movd xmm0, dword [0x101ee8c8]
xorps xmm1, xmm0
movaps xmm0, xmm2
movd dword [esp + 0x20], xmm1
movaps xmm1, xmm2
punpckhdq xmm0, xmm2
punpckldq xmm1, xmm2
pmuldq xmm0, xmm4
pmuldq xmm1, xmm4
shufps xmm1, xmm0, 0xdd
psrad xmm1, 1
movaps xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmmword [0x101f7cd0]
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
andps xmm1, xmmword [0x101f7d70]
packuswb xmm1, xmm1
movd xmm0, eax
paddb xmm1, xmm0
movd xmm0, dword [esp + 0x24]
xorps xmm1, xmm0
movd dword [esp + 0x24], xmm1
mov eax, 0x94f2095
imul edx
sar edx, 1
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [esp + 0xc]
movsx eax, al
mov cl, dl
imul eax, eax, 0x37
sub cl, al
add cl, 0x32
xor byte [esp + edx + 0x20], cl
inc edx
mov dword [esp + 0xc], edx
cmp edx, 0xc
jl 0x100d4172
lea edx, [esi + 0x28d]
lea ecx, [esp + 0x20]
call fcn.1016c3b0
mov eax, dword [0x101ed55c]
movq xmm0, qword [str.e__YS]
mov esi, dword [0x10223ca0]
mov dword [esp + 0x28], eax
mov ax, word [0x101ed560]
movq qword [esp + 0x20], xmm0
mov word [esp + 0x2c], ax
test ah, ah
je 0x100d431f
xor edx, edx
cmp dword [0x10224d40], 2
mov dword [esp + 0xc], edx
jl 0x100d42f0
movaps xmm2, xmmword [0x101f7c30]
mov edx, 8
movaps xmm4, xmmword [0x101f7d90]
movaps xmm1, xmm2
punpckldq xmm1, xmm2
movaps xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm4
pmuldq xmm1, xmm4
shufps xmm1, xmm0, 0xdd
psrad xmm1, 1
mov eax, dword [0x101f7db0]
movaps xmm0, xmm1
mov dword [esp + 0xc], edx
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmmword [0x101f7cd0]
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
movaps xmm2, xmmword [0x101f7c70]
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
andps xmm1, xmmword [0x101f7d70]
packuswb xmm1, xmm1
movd xmm0, eax
paddb xmm1, xmm0
movd xmm0, dword [str.e__YS]
xorps xmm1, xmm0
movaps xmm0, xmm2
movd dword [esp + 0x20], xmm1
movaps xmm1, xmm2
punpckhdq xmm0, xmm2
punpckldq xmm1, xmm2
pmuldq xmm0, xmm4
pmuldq xmm1, xmm4
shufps xmm1, xmm0, 0xdd
psrad xmm1, 1
movaps xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmmword [0x101f7cd0]
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
andps xmm1, xmmword [0x101f7d70]
packuswb xmm1, xmm1
movd xmm0, eax
paddb xmm1, xmm0
movd xmm0, dword [esp + 0x24]
xorps xmm1, xmm0
movd dword [esp + 0x24], xmm1
nop
mov eax, 0x94f2095
imul edx
sar edx, 1
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [esp + 0xc]
movsx eax, al
mov cl, dl
imul eax, eax, 0x37
sub cl, al
add cl, 0x32
xor byte [esp + edx + 0x20], cl
inc edx
mov dword [esp + 0xc], edx
cmp edx, 0xe
jl 0x100d42f0
lea edx, [esi + 0x28e]
lea ecx, [esp + 0x20]
call fcn.1016c3b0
mov eax, dword [str.IVSV__]
movq xmm0, qword [str.f_FZCPP]
mov esi, dword [0x10223ca0]
mov dword [esp + 0x28], eax
mov ax, word [0x101eeda4]
movq qword [esp + 0x20], xmm0
mov word [esp + 0x2c], ax
test ah, ah
je 0x100d449f
xor edx, edx
cmp dword [0x10224d40], 2
mov dword [esp + 0xc], edx
jl 0x100d4470
movaps xmm2, xmmword [0x101f7c30]
mov edx, 8
movaps xmm4, xmmword [0x101f7d90]
movaps xmm1, xmm2
punpckldq xmm1, xmm2
movaps xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm4
pmuldq xmm1, xmm4
shufps xmm1, xmm0, 0xdd
psrad xmm1, 1
mov eax, dword [0x101f7db0]
movaps xmm0, xmm1
mov dword [esp + 0xc], edx
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmmword [0x101f7cd0]
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
movaps xmm2, xmmword [0x101f7c70]
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
andps xmm1, xmmword [0x101f7d70]
packuswb xmm1, xmm1
movd xmm0, eax
paddb xmm1, xmm0
movd xmm0, dword [str.f_FZCPP]
xorps xmm1, xmm0
movaps xmm0, xmm2
movd dword [esp + 0x20], xmm1
movaps xmm1, xmm2
punpckhdq xmm0, xmm2
punpckldq xmm1, xmm2
pmuldq xmm0, xmm4
pmuldq xmm1, xmm4
shufps xmm1, xmm0, 0xdd
psrad xmm1, 1
movaps xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmmword [0x101f7cd0]
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
andps xmm1, xmmword [0x101f7d70]
packuswb xmm1, xmm1
movd xmm0, eax
paddb xmm1, xmm0
movd xmm0, dword [esp + 0x24]
xorps xmm1, xmm0
movd dword [esp + 0x24], xmm1
nop dword [eax]
mov eax, 0x94f2095
imul edx
sar edx, 1
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [esp + 0xc]
movsx eax, al
mov cl, dl
imul eax, eax, 0x37
sub cl, al
add cl, 0x32
xor byte [esp + edx + 0x20], cl
inc edx
mov dword [esp + 0xc], edx
cmp edx, 0xe
jl 0x100d4470
lea edx, [esi + 0x28f]
lea ecx, [esp + 0x20]
call fcn.1016c3b0
mov esi, dword [0x10223ca0]
movq xmm0, qword [0x101ed794]
add esi, 0x292
mov al, byte [0x101ed79c]
xor edx, edx
movq qword [esp + 0x30], xmm0
mov byte [esp + 0x38], al
mov dword [esp + 0xc], edx
nop word [eax + eax]
mov eax, 0x29e4129f
mul edx
mov eax, dword [esp + 0xc]
sub eax, edx
shr eax, 1
add eax, edx
mov edx, dword [esp + 0xc]
shr eax, 5
mov cl, dl
movsx eax, al
imul eax, eax, 0x37
sub cl, al
add cl, 0x32
xor byte [esp + edx + 0x30], cl
inc edx
mov dword [esp + 0xc], edx
cmp edx, 9
jl 0x100d44e0
xorps xmm0, xmm0
mov dword [esp + 0x80], edi
lea ecx, [esp + 0x30]
movaps xmmword [esp + 0x70], xmm0
mov dword [esp + 0x84], edi
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x100d4530
sub ecx, edx
lea eax, [esp + 0x30]
push ecx
push eax
lea ecx, [esp + 0x78]
call fcn.100278e0
cmp dword [esp + 0x84], 0xf
lea eax, [esi + 0x16]
push eax
push 0
push 0
lea eax, [esi + 0x15]
mov edx, esi
push eax
lea eax, [esi + 0x10]
push eax
lea eax, [esi + 0x14]
push eax
lea eax, [esi + 0xc]
lea ecx, [esp + 0x88]
cmova ecx, dword [esp + 0x88]
push eax
call fcn.100be3c0
mov ecx, dword [esp + 0x84]
cmp ecx, 0xf
jbe 0x100d45b7
mov edx, dword [esp + 0x70]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x100d45ad
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100d5edb
push ecx
push edx
call fcn.1019958d
add esp, 8
mov ax, word [0x101ed9e0]
movq xmm0, qword [str.yZXY]
mov esi, dword [0x10223ca0]
movq qword [esp + 0x30], xmm0
mov word [esp + 0x38], ax
test ah, ah
je 0x100d4613
xor edx, edx
mov dword [esp + 0xc], edx
mov eax, 0x29e4129f
mul edx
mov eax, dword [esp + 0xc]
sub eax, edx
shr eax, 1
add eax, edx
mov edx, dword [esp + 0xc]
shr eax, 5
mov cl, dl
movsx eax, al
imul eax, eax, 0x37
sub cl, al
add cl, 0x32
xor byte [esp + edx + 0x30], cl
inc edx
mov dword [esp + 0xc], edx
cmp edx, 0xa
jl 0x100d45e0
lea edx, [esi + 0x290]
lea ecx, [esp + 0x30]
call fcn.1016c3b0
mov ax, word [0x101eed44]
mov esi, dword [0x10223ca0]
movq xmm0, qword [str.fA_RQRJ_UO_]
add esi, 0x291
mov word [esp + 0x28], ax
xor edx, edx
mov al, byte [0x101eed46]
mov byte [esp + 0x2a], al
movq qword [esp + 0x20], xmm0
mov dword [esp + 0xc], edx
nop word [eax + eax]
mov eax, 0x29e4129f
mul edx
mov eax, dword [esp + 0xc]
sub eax, edx
shr eax, 1
add eax, edx
mov edx, dword [esp + 0xc]
shr eax, 5
mov cl, dl
movsx eax, al
imul eax, eax, 0x37
sub cl, al
add cl, 0x32
xor byte [esp + edx + 0x20], cl
inc edx
mov dword [esp + 0xc], edx
cmp edx, 0xb
jl 0x100d4660
mov edx, esi
lea ecx, [esp + 0x20]
call fcn.1016c3b0
mov eax, dword [0x10223ca0]
cmp byte [eax + 0x291], 0
je 0x100d4779
movss xmm1, dword [0x101f7ab4]
xorps xmm0, xmm0
call fcn.1015b310
mov eax, dword [0x1034f0f0]
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.smthsafaf
call fcn.1014f1a0
mov ecx, dword [esi]
mov dword [esp + 0x10], eax
mov eax, dword [esi + 4]
cmp ecx, eax
jne 0x100d4717
inc ecx
test eax, eax
je 0x100d4705
cdq
sub eax, edx
sar eax, 1
add eax, dword [esi + 4]
jmp 0x100d470a
mov eax, 8
cmp eax, ecx
cmovg ecx, eax
push ecx
mov ecx, esi
call fcn.100bdf50
mov ecx, dword [esi]
mov eax, dword [esi + 8]
mov edx, dword [esp + 0x10]
push ecx
mov dword [esp + 0x34], 0x42c80000
mov dword [eax + ecx*4], edx
lea eax, [esp + 0x34]
inc dword [esi]
mov ecx, 0x101cf4ee
mov edx, dword [0x10223ca0]
push eax
mov dword [esp + 0x3c], edi
lea edx, [edx + 0xed4]
call fcn.100bfda0
mov edx, dword [0x10223ca0]
mov ecx, str.Magnet
lea edx, [edx + 0x28a]
call fcn.1016c3b0
mov eax, dword [0x1034f0f0]
mov eax, dword [eax + 0x1bec]
dec dword [eax + 0xe0]
mov eax, dword [0x10223ca0]
movq xmm0, qword [0x101ee2b8]
lea esi, [eax + 0xef8]
mov ax, word [0x101ee2c0]
movq qword [esp + 0x30], xmm0
mov word [esp + 0x38], ax
test ah, ah
je 0x100d47d5
xor edx, edx
mov dword [esp + 0xc], edx
mov eax, 0x29e4129f
mul edx
mov eax, dword [esp + 0xc]
sub eax, edx
shr eax, 1
add eax, edx
mov edx, dword [esp + 0xc]
shr eax, 5
mov cl, dl
movsx eax, al
imul eax, eax, 0x37
sub cl, al
add cl, 0x32
xor byte [esp + edx + 0x30], cl
inc edx
mov dword [esp + 0xc], edx
cmp edx, 0xa
jl 0x100d47a2
mov edx, esi
lea ecx, [esp + 0x30]
call fcn.1016c3b0
mov eax, dword [0x10223ca0]
cmp byte [eax + 0xef8], 0
je 0x100d4883
movq xmm0, qword [0x101ed774]
lea esi, [eax + 0xefc]
mov ax, word [0x101ed77c]
xor edx, edx
mov word [esp + 0x28], ax
mov al, byte [0x101ed77e]
movq qword [esp + 0x20], xmm0
mov byte [esp + 0x2a], al
mov dword [esp + 0xc], edx
mov eax, 0x29e4129f
mul edx
mov eax, dword [esp + 0xc]
sub eax, edx
shr eax, 1
add eax, edx
mov edx, dword [esp + 0xc]
shr eax, 5
mov cl, dl
movsx eax, al
imul eax, eax, 0x37
sub cl, al
add cl, 0x32
xor byte [esp + edx + 0x20], cl
inc edx
mov dword [esp + 0xc], edx
cmp edx, 0xb
jl 0x100d4820
push 0
push str._d_ms
lea eax, [esp + 0x18]
mov dword [esp + 0x18], 0xc8
push eax
lea eax, [esp + 0x18]
mov dword [esp + 0x18], 1
push eax
push esi
mov edx, 4
lea ecx, [esp + 0x34]
call fcn.1016fbe0
mov ecx, dword [0x1034f0f0]
mov eax, dword [ecx + 0x1bec]
mov byte [eax + 0xa8], 1
mov esi, dword [ecx + 0x1bec]
mov edx, dword [esi + 0x1f8]
mov eax, dword [esi + 0x200]
mov eax, dword [eax + edx*4 - 4]
mov dword [esi + 0x1f0], eax
lea eax, [edx - 1]
mov dword [esi + 0x1f8], eax
call fcn.100c9da0
movss xmm0, dword [0x101f79b4]
mov ecx, 1
call fcn.100c93d0
movss xmm0, dword [0x101f79b0]
call fcn.1015b3d0
movups xmm0, xmmword [str.EQGD_]
mov esi, dword [0x1034ef4c]
shl esi, 5
add esi, dword [0x10223ca0]
movups xmmword [esp + 0x30], xmm0
psrldq xmm0, 0xf
movd eax, xmm0
test al, al
je 0x100d4a7f
xor edx, edx
cmp dword [0x10224d40], 2
mov dword [esp + 0x10], edx
jl 0x100d4a50
movaps xmm0, xmmword [0x101f7db0]
xor ecx, ecx
movaps xmm4, xmmword [0x101f7c30]
movaps xmm3, xmmword [0x101f7d90]
movaps xmm5, xmmword [0x101f7cd0]
movaps xmmword [esp + 0x20], xmm0
mov edx, dword [esp + 0x20]
nop word [eax + eax]
movd xmm0, ecx
lea eax, [ecx + 4]
pshufd xmm2, xmm0, 0
paddd xmm2, xmm4
movaps xmm1, xmm2
movaps xmm0, xmm2
punpckhdq xmm0, xmm2
punpckldq xmm1, xmm2
pmuldq xmm0, xmm3
pmuldq xmm1, xmm3
shufps xmm1, xmm0, 0xdd
psrad xmm1, 1
movaps xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm5
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
andps xmm1, xmmword [0x101f7d70]
packuswb xmm1, xmm1
movd xmm0, edx
paddb xmm1, xmm0
movd xmm0, dword [esp + ecx + 0x30]
xorps xmm1, xmm0
movd xmm0, eax
pshufd xmm2, xmm0, 0
movd dword [esp + ecx + 0x30], xmm1
paddd xmm2, xmm4
movaps xmm1, xmm2
movaps xmm0, xmm2
punpckhdq xmm0, xmm2
punpckldq xmm1, xmm2
pmuldq xmm0, xmm3
pmuldq xmm1, xmm3
shufps xmm1, xmm0, 0xdd
psrad xmm1, 1
movaps xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm5
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
andps xmm1, xmmword [0x101f7d70]
packuswb xmm1, xmm1
movd xmm0, edx
paddb xmm1, xmm0
movd xmm0, dword [esp + ecx + 0x34]
xorps xmm1, xmm0
movd dword [esp + ecx + 0x34], xmm1
add ecx, 8
cmp ecx, 0x10
jl 0x100d4950
jmp 0x100d4a7f
mov eax, 0x94f2095
imul edx
sar edx, 1
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [esp + 0x10]
movsx eax, al
mov cl, dl
imul eax, eax, 0x37
sub cl, al
add cl, 0x32
xor byte [esp + edx + 0x30], cl
inc edx
mov dword [esp + 0x10], edx
cmp edx, 0x10
jl 0x100d4a50
lea edx, [esi + 0x2ac]
lea ecx, [esp + 0x30]
call fcn.1016c3b0
mov ecx, dword [0x1034ef4c]
mov esi, dword [0x10223ca0]
mov eax, dword [0x101ed9cc]
add esi, 0x2c8
shl ecx, 5
add esi, ecx
mov dword [esp + 0xc], eax
cmp byte [0x101ed9cf], 0
je 0x100d4b73
xor edx, edx
cmp dword [0x10224d40], 2
mov dword [esp + 0x10], edx
jl 0x100d4b44
movaps xmm3, xmmword [0x101f7c30]
movaps xmm2, xmm3
movaps xmm0, xmm3
punpckhdq xmm0, xmm3
pmuldq xmm0, xmmword [0x101f7d90]
punpckldq xmm2, xmm3
pmuldq xmm2, xmmword [0x101f7d90]
shufps xmm2, xmm0, 0xdd
psrad xmm2, 1
movaps xmm0, xmm2
psrld xmm0, 0x1f
paddd xmm0, xmm2
pmulld xmm0, xmmword [0x101f7cd0]
psubd xmm3, xmm0
pshuflw xmm0, xmm3, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
andps xmm1, xmmword [0x101f7d70]
packuswb xmm1, xmm1
paddb xmm1, xmmword [0x101f7db0]
movd xmm0, eax
xorps xmm1, xmm0
movd dword [esp + 0xc], xmm1
jmp 0x100d4b73
mov eax, 0x94f2095
imul edx
sar edx, 1
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [esp + 0x10]
movsx eax, al
mov cl, dl
imul eax, eax, 0x37
sub cl, al
add cl, 0x32
xor byte [esp + edx + 0xc], cl
inc edx
mov dword [esp + 0x10], edx
cmp edx, 4
jl 0x100d4b44
push 0x20
push str._.2f
lea eax, [esp + 0x18]
mov dword [esp + 0x38], edi
push eax
lea eax, [esp + 0x3c]
mov dword [esp + 0x1c], 0x41c80000
push eax
push esi
mov edx, 8
lea ecx, [esp + 0x20]
call fcn.1016fbe0
mov ecx, dword [0x1034ef4c]
mov esi, dword [0x10223ca0]
mov ax, word [0x101ee670]
add esi, 0x2b4
movq xmm0, qword [str.a_ZB_VI_]
shl ecx, 5
add esi, ecx
movq qword [esp + 0x20], xmm0
mov word [esp + 0x28], ax
test ah, ah
je 0x100d4c13
xor edx, edx
mov dword [esp + 0xc], edx
nop dword [eax]
mov eax, 0x29e4129f
mul edx
mov eax, dword [esp + 0xc]
sub eax, edx
shr eax, 1
add eax, edx
mov edx, dword [esp + 0xc]
shr eax, 5
mov cl, dl
movsx eax, al
imul eax, eax, 0x37
sub cl, al
add cl, 0x32
xor byte [esp + edx + 0x20], cl
inc edx
mov dword [esp + 0xc], edx
cmp edx, 0xa
jl 0x100d4be0
push 0
push str._.2f
lea eax, [esp + 0x38]
mov dword [esp + 0x18], 0x3f800000
push eax
lea eax, [esp + 0x1c]
mov dword [esp + 0x3c], 0x41a00000
push eax
push esi
mov edx, 8
lea ecx, [esp + 0x34]
call fcn.1016fbe0
mov ecx, dword [0x1034ef4c]
mov esi, dword [0x10223ca0]
mov eax, dword [0x101ed628]
add esi, 0x2b0
movq xmm0, qword [str._VUVBWW]
shl ecx, 5
mov dword [esp + 0x28], eax
add esi, ecx
mov ax, word [0x101ed62c]
movq qword [esp + 0x20], xmm0
mov word [esp + 0x2c], ax
test ah, ah
je 0x100d4dc1
xor edx, edx
cmp dword [0x10224d40], 2
mov dword [esp + 0xc], edx
jl 0x100d4d92
movaps xmm2, xmmword [0x101f7c30]
mov edx, 8
movaps xmm4, xmmword [0x101f7d90]
movaps xmm1, xmm2
punpckldq xmm1, xmm2
movaps xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm4
pmuldq xmm1, xmm4
shufps xmm1, xmm0, 0xdd
psrad xmm1, 1
mov eax, dword [0x101f7db0]
movaps xmm0, xmm1
mov dword [esp + 0xc], edx
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmmword [0x101f7cd0]
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
movaps xmm2, xmmword [0x101f7c70]
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
andps xmm1, xmmword [0x101f7d70]
packuswb xmm1, xmm1
movd xmm0, eax
paddb xmm1, xmm0
movd xmm0, dword [str._VUVBWW]
xorps xmm1, xmm0
movaps xmm0, xmm2
movd dword [esp + 0x20], xmm1
movaps xmm1, xmm2
punpckhdq xmm0, xmm2
punpckldq xmm1, xmm2
pmuldq xmm0, xmm4
pmuldq xmm1, xmm4
shufps xmm1, xmm0, 0xdd
psrad xmm1, 1
movaps xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmmword [0x101f7cd0]
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
andps xmm1, xmmword [0x101f7d70]
packuswb xmm1, xmm1
movd xmm0, eax
paddb xmm1, xmm0
movd xmm0, dword [esp + 0x24]
xorps xmm1, xmm0
movd dword [esp + 0x24], xmm1
mov eax, 0x94f2095
imul edx
sar edx, 1
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [esp + 0xc]
movsx eax, al
mov cl, dl
imul eax, eax, 0x37
sub cl, al
add cl, 0x32
xor byte [esp + edx + 0x20], cl
inc edx
mov dword [esp + 0xc], edx
cmp edx, 0xe
jl 0x100d4d92
push 0
push str._d_ms
lea eax, [esp + 0x38]
mov dword [esp + 0x38], 0x12c
push eax
lea eax, [esp + 0x1c]
mov dword [esp + 0x1c], edi
push eax
push esi
mov edx, 4
lea ecx, [esp + 0x34]
call fcn.1016fbe0
mov ecx, dword [0x1034ef4c]
xor edx, edx
mov esi, dword [0x10223ca0]
mov eax, dword [0x101ee234]
add esi, 0x2bc
movups xmm0, xmmword [0x101ee224]
shl ecx, 5
mov dword [esp + 0x60], eax
add esi, ecx
cmp dword [0x10224d40], 2
mov al, byte [0x101ee238]
movups xmmword [esp + 0x50], xmm0
mov byte [esp + 0x64], al
mov dword [esp + 0xc], edx
jl 0x100d4f60
movaps xmm0, xmmword [0x101f7db0]
movaps xmm4, xmmword [0x101f7c30]
movaps xmm3, xmmword [0x101f7d90]
movaps xmm5, xmmword [0x101f7cd0]
movaps xmmword [esp + 0x20], xmm0
mov ecx, dword [esp + 0x20]
nop word [eax + eax]
movd xmm0, edx
lea eax, [edx + 4]
pshufd xmm2, xmm0, 0
paddd xmm2, xmm4
movaps xmm1, xmm2
movaps xmm0, xmm2
punpckhdq xmm0, xmm2
punpckldq xmm1, xmm2
pmuldq xmm0, xmm3
pmuldq xmm1, xmm3
shufps xmm1, xmm0, 0xdd
psrad xmm1, 1
movaps xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm5
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
andps xmm1, xmmword [0x101f7d70]
packuswb xmm1, xmm1
movd xmm0, ecx
paddb xmm1, xmm0
movd xmm0, dword [esp + edx + 0x50]
xorps xmm1, xmm0
movd xmm0, eax
pshufd xmm2, xmm0, 0
movd dword [esp + edx + 0x50], xmm1
paddd xmm2, xmm4
movaps xmm1, xmm2
movaps xmm0, xmm2
punpckhdq xmm0, xmm2
punpckldq xmm1, xmm2
pmuldq xmm0, xmm3
pmuldq xmm1, xmm3
shufps xmm1, xmm0, 0xdd
psrad xmm1, 1
movaps xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm5
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
andps xmm1, xmmword [0x101f7d70]
packuswb xmm1, xmm1
movd xmm0, ecx
paddb xmm1, xmm0
movd xmm0, dword [esp + edx + 0x54]
xorps xmm1, xmm0
movd dword [esp + edx + 0x54], xmm1
add edx, 8
cmp edx, 0x10
jl 0x100d4e60
mov dword [esp + 0xc], edx
cmp edx, 0x15
jge 0x100d4f8f
mov eax, 0x94f2095
imul edx
sar edx, 1
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [esp + 0xc]
movsx eax, al
mov cl, dl
imul eax, eax, 0x37
sub cl, al
add cl, 0x32
xor byte [esp + edx + 0x50], cl
inc edx
mov dword [esp + 0xc], edx
cmp edx, 0x15
jl 0x100d4f60
push 0
push 0x101eb404
lea eax, [esp + 0x38]
mov dword [esp + 0x38], 0x64
push eax
lea eax, [esp + 0x1c]
mov dword [esp + 0x1c], edi
push eax
push esi
mov edx, 4
lea ecx, [esp + 0x64]
call fcn.1016fbe0
mov esi, dword [0x1034ef4c]
xor edx, edx
mov eax, dword [str.ZQYZ_]
movq xmm0, qword [0x101ed8c8]
mov dword [esp + 0x28], eax
mov ax, word [0x101ed8d4]
lea esi, [esi + 0x16]
shl esi, 5
add esi, dword [0x10223ca0]
cmp dword [0x10224d40], 2
mov word [esp + 0x2c], ax
mov al, byte [0x101ed8d6]
movq qword [esp + 0x20], xmm0
mov byte [esp + 0x2e], al
mov dword [esp + 0xc], edx
jl 0x100d5106
movaps xmm2, xmmword [0x101f7c30]
mov edx, 8
movaps xmm4, xmmword [0x101f7d90]
movaps xmm1, xmm2
punpckldq xmm1, xmm2
movaps xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm4
pmuldq xmm1, xmm4
shufps xmm1, xmm0, 0xdd
psrad xmm1, 1
mov eax, dword [0x101f7db0]
movaps xmm0, xmm1
mov dword [esp + 0xc], edx
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmmword [0x101f7cd0]
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
movaps xmm2, xmmword [0x101f7c70]
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
andps xmm1, xmmword [0x101f7d70]
packuswb xmm1, xmm1
movd xmm0, eax
paddb xmm1, xmm0
movd xmm0, dword [0x101ed8c8]
xorps xmm1, xmm0
movaps xmm0, xmm2
movd dword [esp + 0x20], xmm1
movaps xmm1, xmm2
punpckhdq xmm0, xmm2
punpckldq xmm1, xmm2
pmuldq xmm0, xmm4
pmuldq xmm1, xmm4
shufps xmm1, xmm0, 0xdd
psrad xmm1, 1
movaps xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmmword [0x101f7cd0]
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
andps xmm1, xmmword [0x101f7d70]
packuswb xmm1, xmm1
movd xmm0, eax
paddb xmm1, xmm0
movd xmm0, dword [esp + 0x24]
xorps xmm1, xmm0
movd dword [esp + 0x24], xmm1
mov eax, 0x94f2095
imul edx
sar edx, 1
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [esp + 0xc]
movsx eax, al
mov cl, dl
imul eax, eax, 0x37
sub cl, al
add cl, 0x32
xor byte [esp + edx + 0x20], cl
inc edx
mov dword [esp + 0xc], edx
cmp edx, 0xf
jl 0x100d5106
push 0
push 0x101eb404
lea eax, [esp + 0x38]
mov dword [esp + 0x38], 0x65
push eax
lea eax, [esp + 0x1c]
mov dword [esp + 0x1c], edi
push eax
push esi
mov edx, 4
lea ecx, [esp + 0x34]
call fcn.1016fbe0
mov ecx, dword [0x10223ca0]
mov esi, 0x10223b30
mov edx, dword [0x1034ef4c]
shl edx, 5
mov al, byte [edx + ecx + 0x2b8]
and al, 1
mov byte [0x1034ef24], al
mov eax, dword [edx + ecx + 0x2b8]
shr eax, 1
and al, 1
mov byte [0x1034ef25], al
mov eax, dword [edx + ecx + 0x2b8]
shr eax, 2
and al, 1
mov byte [0x1034ef26], al
mov eax, dword [edx + ecx + 0x2b8]
shr eax, 3
and al, 1
mov byte [0x1034ef27], al
mov eax, dword [edx + ecx + 0x2b8]
shr eax, 4
and al, 1
cmp dword [0x10223b44], 0xf
mov byte [0x1034ef28], al
mov eax, dword [str.zZ_WYO8]
mov dword [esp + 0x30], eax
mov ax, word [0x101ed40c]
mov word [esp + 0x34], ax
mov al, byte [0x101ed40e]
mov byte [esp + 0x36], al
jbe 0x100d51f2
mov esi, dword [0x10223b30]
xor edx, edx
mov dword [esp + 0xc], edx
nop dword [eax + eax]
mov eax, 0x29e4129f
mul edx
mov eax, dword [esp + 0xc]
sub eax, edx
shr eax, 1
add eax, edx
mov edx, dword [esp + 0xc]
shr eax, 5
mov cl, dl
movsx eax, al
imul eax, eax, 0x37
sub cl, al
add cl, 0x32
xor byte [esp + edx + 0x30], cl
inc edx
mov dword [esp + 0xc], edx
cmp edx, 7
jl 0x100d5200
push 1
push 0
mov edx, esi
lea ecx, [esp + 0x38]
call fcn.1016cf50
test al, al
je 0x100d52d8
push 0
push 0x101cf4ee
mov ecx, 0x10223b30
call fcn.10022cd0
xor esi, esi
mov dword [esp + 0x30], esi
mov dword [esp + 0x34], esi
mov dl, byte [esi + 0x1034ef24]
lea eax, [esp + 0x30]
mov ecx, dword [esi*4 + 0x101eee14]
push eax
push 1
call fcn.1017b8e0
test al, al
je 0x100d5292
cmp byte [esi + 0x1034ef24], 0
sete al
mov byte [esi + 0x1034ef24], al
inc esi
cmp esi, 5
jb 0x100d5265
mov esi, dword [0x1034f0f0]
mov eax, dword [esi + 0x1bec]
cmp dword [esi + 0x1d54], eax
jne 0x100d52bc
mov dword [esi + 0x1e58], eax
mov dword [esi + 0x1e5c], 2
test dword [eax + 8], 0x1000000
je 0x100d52cc
mov byte [esi + 0x1b9e], 1
call fcn.1015a560
mov byte [esi + 0x1b9e], 0
xor esi, esi
cmp byte [esp + 0x1b], 0
mov ecx, 0x202c
mov eax, dword [0x1034ef4c]
jne 0x100d530b
push 0
push 0x101cf4ee
mov ecx, 0x10223b30
call fcn.10022cd0
mov eax, dword [0x1034ef4c]
mov ecx, 0x202c
mov byte [esp + 0x1b], 1
cmp byte [esi + 0x1034ef24], 0
je 0x100d54d9
cmp dword [0x10223b40], 0
xorps xmm0, xmm0
mov edx, dword [esi*4 + 0x101eee14]
je 0x100d5388
or edi, 1
movaps xmmword [esp + 0x30], xmm0
mov word [esp + 0x30], cx
or edi, 2
push edx
lea ecx, [esp + 0x34]
mov dword [esp + 0x44], 2
mov dword [esp + 0x48], 0xf
mov byte [esp + 0x36], 0
mov dword [esp + 0x20], edi
call fcn.10020800
movups xmm0, xmmword [eax]
movups xmmword [esp + 0x50], xmm0
movq xmm0, qword [eax + 0x10]
movq qword [esp + 0x60], xmm0
mov dword [eax + 0x10], 0
mov dword [eax + 0x14], 0xf
mov byte [eax], 0
lea eax, [esp + 0x50]
jmp 0x100d53c8
mov ecx, edx
movaps xmmword [esp + 0x70], xmm0
or edi, 4
mov dword [esp + 0x80], 0
mov dword [esp + 0x1c], edi
mov dword [esp + 0x84], 0
lea edi, [ecx + 1]
nop
mov al, byte [ecx]
inc ecx
test al, al
jne 0x100d53b0
sub ecx, edi
push ecx
push edx
lea ecx, [esp + 0x78]
call fcn.100278e0
lea eax, [esp + 0x70]
push eax
mov ecx, 0x10223b30
call fcn.10020870
mov eax, dword [esp + 0x1c]
test al, 4
je 0x100d541f
mov ecx, dword [esp + 0x84]
and eax, 0xfffffffb
mov dword [esp + 0x1c], eax
cmp ecx, 0xf
jbe 0x100d541f
mov edx, dword [esp + 0x70]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x100d5411
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100d5edb
push ecx
push edx
call fcn.1019958d
mov eax, dword [esp + 0x24]
add esp, 8
test al, 2
je 0x100d5464
mov ecx, dword [esp + 0x64]
and eax, 0xfffffffd
mov dword [esp + 0x1c], eax
cmp ecx, 0xf
jbe 0x100d5464
mov edx, dword [esp + 0x50]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x100d5456
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100d5edb
push ecx
push edx
call fcn.1019958d
mov eax, dword [esp + 0x24]
add esp, 8
test al, 1
je 0x100d54ba
mov ecx, dword [esp + 0x44]
and eax, 0xfffffffe
mov dword [esp + 0x1c], eax
cmp ecx, 0xf
jbe 0x100d54a5
mov edx, dword [esp + 0x30]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x100d549b
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100d5edb
push ecx
push edx
call fcn.1019958d
add esp, 8
mov dword [esp + 0x40], 0
mov dword [esp + 0x44], 0xf
mov byte [esp + 0x30], 0
mov edx, dword [0x1034ef4c]
mov ecx, dword [0x10223ca0]
mov edi, dword [esp + 0x1c]
shl edx, 5
mov eax, dword [edx + ecx + 0x2b8]
bts eax, esi
jmp 0x100d54ee
mov ecx, dword [0x10223ca0]
mov edx, eax
shl edx, 5
mov eax, dword [edx + ecx + 0x2b8]
btr eax, esi
inc esi
mov dword [edx + ecx + 0x2b8], eax
cmp esi, 5
jb 0x100d52da
mov esi, dword [0x1034ef4c]
movups xmm0, xmmword [0x101eeb6c]
mov ax, word [0x101eeb7c]
mov edi, dword [0x10224d40]
shl esi, 5
add esi, dword [0x10223ca0]
mov word [esp + 0x60], ax
movups xmmword [esp + 0x50], xmm0
test ah, ah
je 0x100d569f
xor edx, edx
mov dword [esp + 0xc], edx
cmp edi, 2
jl 0x100d5670
movaps xmm0, xmmword [0x101f7db0]
movaps xmm4, xmmword [0x101f7c30]
movaps xmm3, xmmword [0x101f7d90]
movaps xmm5, xmmword [0x101f7cd0]
movaps xmmword [esp + 0x20], xmm0
mov ecx, dword [esp + 0x20]
nop word [eax + eax]
movd xmm0, edx
lea eax, [edx + 4]
pshufd xmm2, xmm0, 0
paddd xmm2, xmm4
movaps xmm1, xmm2
movaps xmm0, xmm2
punpckhdq xmm0, xmm2
punpckldq xmm1, xmm2
pmuldq xmm0, xmm3
pmuldq xmm1, xmm3
shufps xmm1, xmm0, 0xdd
psrad xmm1, 1
movaps xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm5
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
andps xmm1, xmmword [0x101f7d70]
packuswb xmm1, xmm1
movd xmm0, ecx
paddb xmm1, xmm0
movd xmm0, dword [esp + edx + 0x50]
xorps xmm1, xmm0
movd xmm0, eax
pshufd xmm2, xmm0, 0
movd dword [esp + edx + 0x50], xmm1
paddd xmm2, xmm4
movaps xmm1, xmm2
movaps xmm0, xmm2
punpckhdq xmm0, xmm2
punpckldq xmm1, xmm2
pmuldq xmm0, xmm3
pmuldq xmm1, xmm3
shufps xmm1, xmm0, 0xdd
psrad xmm1, 1
movaps xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm5
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
andps xmm1, xmmword [0x101f7d70]
packuswb xmm1, xmm1
movd xmm0, ecx
paddb xmm1, xmm0
movd xmm0, dword [esp + edx + 0x54]
xorps xmm1, xmm0
movd dword [esp + edx + 0x54], xmm1
add edx, 8
cmp edx, 0x10
jl 0x100d5570
mov dword [esp + 0xc], edx
cmp edx, 0x12
jge 0x100d569f
mov eax, 0x94f2095
imul edx
sar edx, 1
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [esp + 0xc]
movsx eax, al
mov cl, dl
imul eax, eax, 0x37
sub cl, al
add cl, 0x32
xor byte [esp + edx + 0x50], cl
inc edx
mov dword [esp + 0xc], edx
cmp edx, 0x12
jl 0x100d5670
lea edx, [esi + 0x2c4]
lea ecx, [esp + 0x50]
call fcn.1016c3b0
mov esi, dword [0x1034ef4c]
mov eax, dword [0x101ed54c]
movups xmm0, xmmword [str._VWZ__]
shl esi, 4
add esi, dword [0x10223ca0]
mov dword [esp + 0x80], eax
mov ax, word [0x101ed550]
mov word [esp + 0x84], ax
movups xmmword [esp + 0x70], xmm0
test ah, ah
je 0x100d584f
xor edx, edx
mov dword [esp + 0xc], edx
cmp edi, 2
jl 0x100d5820
movaps xmm0, xmmword [0x101f7db0]
movaps xmm4, xmmword [0x101f7c30]
movaps xmm3, xmmword [0x101f7d90]
movaps xmm5, xmmword [0x101f7cd0]
movaps xmmword [esp + 0x20], xmm0
mov ecx, dword [esp + 0x20]
nop
movd xmm0, edx
lea eax, [edx + 4]
pshufd xmm2, xmm0, 0
paddd xmm2, xmm4
movaps xmm1, xmm2
movaps xmm0, xmm2
punpckhdq xmm0, xmm2
punpckldq xmm1, xmm2
pmuldq xmm0, xmm3
pmuldq xmm1, xmm3
shufps xmm1, xmm0, 0xdd
psrad xmm1, 1
movaps xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm5
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
andps xmm1, xmmword [0x101f7d70]
packuswb xmm1, xmm1
movd xmm0, ecx
paddb xmm1, xmm0
movd xmm0, dword [esp + edx + 0x70]
xorps xmm1, xmm0
movd xmm0, eax
pshufd xmm2, xmm0, 0
movd dword [esp + edx + 0x70], xmm1
paddd xmm2, xmm4
movaps xmm1, xmm2
movaps xmm0, xmm2
punpckhdq xmm0, xmm2
punpckldq xmm1, xmm2
pmuldq xmm0, xmm3
pmuldq xmm1, xmm3
shufps xmm1, xmm0, 0xdd
psrad xmm1, 1
movaps xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm5
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
andps xmm1, xmmword [0x101f7d70]
packuswb xmm1, xmm1
movd xmm0, ecx
paddb xmm1, xmm0
movd xmm0, dword [esp + edx + 0x74]
xorps xmm1, xmm0
movd dword [esp + edx + 0x74], xmm1
add edx, 8
cmp edx, 0x10
jl 0x100d5720
mov dword [esp + 0xc], edx
cmp edx, 0x16
jge 0x100d584f
mov eax, 0x94f2095
imul edx
sar edx, 1
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [esp + 0xc]
movsx eax, al
mov cl, dl
imul eax, eax, 0x37
sub cl, al
add cl, 0x32
xor byte [esp + edx + 0x70], cl
inc edx
mov dword [esp + 0xc], edx
cmp edx, 0x16
jl 0x100d5820
lea edx, [esi + 0x7ac]
lea ecx, [esp + 0x70]
call fcn.1016c3b0
mov esi, dword [0x1034ef4c]
mov eax, dword [0x10223ca0]
shl esi, 4
cmp byte [esi + eax + 0x7ac], 0
je 0x100d5e8f
mov ecx, dword [0x1034f0f0]
mov eax, dword [ecx + 0x1bec]
mov byte [eax + 0xa8], 1
mov edx, dword [ecx + 0x1bec]
cmp byte [edx + 0xab], 0
jne 0x100d5913
movss xmm1, dword [ecx + 0x15a8]
movss xmm0, dword [edx + 0xf8]
addss xmm1, dword [edx + 0xf4]
movss dword [edx + 0xec], xmm1
movss dword [edx + 0xf0], xmm0
mov eax, dword [edx + 0x11c]
mov ecx, dword [edx + 0x120]
mov dword [edx + 0x114], eax
mov eax, dword [edx + 0x128]
mov dword [edx + 0x124], eax
mov eax, dword [str.aZXPXC8]
mov dword [esp + 0x30], eax
mov ax, word [0x101ed954]
mov word [esp + 0x34], ax
mov al, byte [0x101ed956]
mov byte [esp + 0x36], al
mov dword [edx + 0x118], ecx
mov eax, dword [0x10223ca0]
add eax, 0x7ad
add esi, eax
jmp 0x100d593c
mov eax, dword [0x10223ca0]
add eax, 0x7ad
add esi, eax
mov eax, dword [str.aZXPXC8]
mov dword [esp + 0x30], eax
mov ax, word [0x101ed954]
mov word [esp + 0x34], ax
mov al, byte [0x101ed956]
mov byte [esp + 0x36], al
xor edx, edx
mov dword [esp + 0xc], edx
mov eax, 0x29e4129f
mul edx
mov eax, dword [esp + 0xc]
sub eax, edx
shr eax, 1
add eax, edx
mov edx, dword [esp + 0xc]
shr eax, 5
mov cl, dl
movsx eax, al
imul eax, eax, 0x37
sub cl, al
add cl, 0x32
xor byte [esp + edx + 0x30], cl
inc edx
mov dword [esp + 0xc], edx
cmp edx, 7
jl 0x100d5942
mov edx, esi
lea ecx, [esp + 0x30]
call fcn.1016c3b0
mov esi, dword [0x1034ef4c]
xor edx, edx
movups xmm0, xmmword [0x101edfdc]
mov al, byte [0x101edfec]
mov byte [esp + 0x60], al
lea esi, [esi + 0x7b]
mov dword [esp + 0xc], edx
shl esi, 4
add esi, dword [0x10223ca0]
movups xmmword [esp + 0x50], xmm0
cmp edi, 2
jl 0x100d5ae0
movaps xmm0, xmmword [0x101f7db0]
movaps xmm4, xmmword [0x101f7c30]
movaps xmm3, xmmword [0x101f7d90]
movaps xmm5, xmmword [0x101f7cd0]
movaps xmmword [esp + 0x20], xmm0
mov ecx, dword [esp + 0x20]
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
psrad xmm1, 1
movaps xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm5
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
andps xmm1, xmmword [0x101f7d70]
packuswb xmm1, xmm1
movd xmm0, ecx
paddb xmm1, xmm0
movd xmm0, dword [esp + edx + 0x50]
xorps xmm1, xmm0
movd xmm0, eax
pshufd xmm2, xmm0, 0
movd dword [esp + edx + 0x50], xmm1
paddd xmm2, xmm4
movaps xmm1, xmm2
movaps xmm0, xmm2
punpckhdq xmm0, xmm2
punpckldq xmm1, xmm2
pmuldq xmm0, xmm3
pmuldq xmm1, xmm3
shufps xmm1, xmm0, 0xdd
psrad xmm1, 1
movaps xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm5
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
andps xmm1, xmmword [0x101f7d70]
packuswb xmm1, xmm1
movd xmm0, ecx
paddb xmm1, xmm0
movd xmm0, dword [esp + edx + 0x54]
xorps xmm1, xmm0
movd dword [esp + edx + 0x54], xmm1
add edx, 8
cmp edx, 0x10
jl 0x100d59e0
mov dword [esp + 0xc], edx
cmp edx, 0x11
jge 0x100d5b0f
mov eax, 0x94f2095
imul edx
sar edx, 1
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [esp + 0xc]
movsx eax, al
mov cl, dl
imul eax, eax, 0x37
sub cl, al
add cl, 0x32
xor byte [esp + edx + 0x50], cl
inc edx
mov dword [esp + 0xc], edx
cmp edx, 0x11
jl 0x100d5ae0
push 0
push 0x101eb404
lea eax, [esp + 0x38]
mov dword [esp + 0x38], 0x96
push eax
lea eax, [esp + 0x1c]
mov dword [esp + 0x1c], 0
push eax
push esi
mov edx, 4
lea ecx, [esp + 0x64]
call fcn.1016fbe0
mov eax, dword [0x101ee9dc]
xor edx, edx
mov ecx, dword [0x1034ef4c]
mov esi, dword [0x10223ca0]
movq xmm0, qword [0x101ee9d4]
add esi, 0x7b4
mov dword [esp + 0x28], eax
mov ax, word [0x101ee9e0]
shl ecx, 4
mov word [esp + 0x2c], ax
add esi, ecx
mov al, byte [0x101ee9e2]
movq qword [esp + 0x20], xmm0
mov byte [esp + 0x2e], al
mov dword [esp + 0xc], edx
cmp edi, 2
jl 0x100d5c90
movaps xmm2, xmmword [0x101f7c30]
mov edx, 8
movaps xmm4, xmmword [0x101f7d90]
movaps xmm1, xmm2
punpckldq xmm1, xmm2
movaps xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm4
pmuldq xmm1, xmm4
shufps xmm1, xmm0, 0xdd
psrad xmm1, 1
mov eax, dword [0x101f7db0]
movaps xmm0, xmm1
mov dword [esp + 0xc], edx
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmmword [0x101f7cd0]
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
movaps xmm2, xmmword [0x101f7c70]
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
andps xmm1, xmmword [0x101f7d70]
packuswb xmm1, xmm1
movd xmm0, eax
paddb xmm1, xmm0
movd xmm0, dword [0x101ee9d4]
xorps xmm1, xmm0
movaps xmm0, xmm2
movd dword [esp + 0x20], xmm1
movaps xmm1, xmm2
punpckhdq xmm0, xmm2
punpckldq xmm1, xmm2
pmuldq xmm0, xmm4
pmuldq xmm1, xmm4
shufps xmm1, xmm0, 0xdd
psrad xmm1, 1
movaps xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmmword [0x101f7cd0]
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
andps xmm1, xmmword [0x101f7d70]
packuswb xmm1, xmm1
movd xmm0, eax
paddb xmm1, xmm0
movd xmm0, dword [esp + 0x24]
xorps xmm1, xmm0
movd dword [esp + 0x24], xmm1
nop dword [eax + eax]
mov eax, 0x94f2095
imul edx
sar edx, 1
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [esp + 0xc]
movsx eax, al
mov cl, dl
imul eax, eax, 0x37
sub cl, al
add cl, 0x32
xor byte [esp + edx + 0x20], cl
inc edx
mov dword [esp + 0xc], edx
cmp edx, 0xf
jl 0x100d5c90
push 0
push str._.5f
lea eax, [esp + 0x38]
mov dword [esp + 0x18], 0
push eax
lea eax, [esp + 0x1c]
mov dword [esp + 0x3c], 0x3f800000
push eax
push esi
mov edx, 8
lea ecx, [esp + 0x34]
call fcn.1016fbe0
mov ecx, dword [0x1034ef4c]
xor edx, edx
mov esi, dword [0x10223ca0]
mov eax, dword [0x101eee94]
add esi, 0x7b8
movq xmm0, qword [0x101eee8c]
shl ecx, 4
mov dword [esp + 0x28], eax
add esi, ecx
mov al, byte [0x101eee98]
movq qword [esp + 0x20], xmm0
mov byte [esp + 0x2c], al
mov dword [esp + 0xc], edx
cmp edi, 2
jl 0x100d5e30
movaps xmm2, xmmword [0x101f7c30]
mov edx, 8
movaps xmm4, xmmword [0x101f7d90]
movaps xmm1, xmm2
punpckldq xmm1, xmm2
movaps xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm4
pmuldq xmm1, xmm4
shufps xmm1, xmm0, 0xdd
psrad xmm1, 1
mov eax, dword [0x101f7db0]
movaps xmm0, xmm1
mov dword [esp + 0xc], edx
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmmword [0x101f7cd0]
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
movaps xmm2, xmmword [0x101f7c70]
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
andps xmm1, xmmword [0x101f7d70]
packuswb xmm1, xmm1
movd xmm0, eax
paddb xmm1, xmm0
movd xmm0, dword [0x101eee8c]
xorps xmm1, xmm0
movaps xmm0, xmm2
movd dword [esp + 0x20], xmm1
movaps xmm1, xmm2
punpckhdq xmm0, xmm2
punpckldq xmm1, xmm2
pmuldq xmm0, xmm4
pmuldq xmm1, xmm4
shufps xmm1, xmm0, 0xdd
psrad xmm1, 1
movaps xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmmword [0x101f7cd0]
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
andps xmm1, xmmword [0x101f7d70]
packuswb xmm1, xmm1
movd xmm0, eax
paddb xmm1, xmm0
movd xmm0, dword [esp + 0x24]
xorps xmm1, xmm0
movd dword [esp + 0x24], xmm1
mov eax, 0x94f2095
imul edx
sar edx, 1
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [esp + 0xc]
movsx eax, al
mov cl, dl
imul eax, eax, 0x37
sub cl, al
add cl, 0x32
xor byte [esp + edx + 0x20], cl
inc edx
mov dword [esp + 0xc], edx
cmp edx, 0xd
jl 0x100d5e30
push 0
push str._.5f
lea eax, [esp + 0x38]
mov dword [esp + 0x18], 0
push eax
lea eax, [esp + 0x1c]
mov dword [esp + 0x3c], 0x3f800000
push eax
push esi
mov edx, 8
lea ecx, [esp + 0x34]
call fcn.1016fbe0
mov ecx, dword [0x1034f0f0]
pop edi
pop esi
mov eax, dword [ecx + 0x1bec]
mov byte [eax + 0xa8], 1
mov edx, dword [ecx + 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 ecx, dword [esp + 0xa4]
xor ecx, esp
mov dword [edx + 0x1f8], eax
call fcn.10199294
mov esp, ebp
pop ebp
ret
call fcn.1019e6c6
adc dword [edx], edi
or eax, 221944080
adc bh, cl
cmp cl, byte [0xd3b0d10]
adc byte [eax + 0x3b], cl
or eax, 0xcccccc10
int3