Function at 0x1019de00
Capabilities:
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff0
sub esp, 0xb0
mov esi, dword [ebp + 0xc]
mov ebx, dword [ebp + 8]
mov eax, dword [0x10305014]
xor eax, ebp
mov dword [esp + 0xa8], eax
mov ecx, dword [ebx + 0xb2284]
mov dword [esp + 0x88], 0xffffffff
mov eax, dword [ebx + 0xb2280]
mov eax, dword [eax + 0x40]
mov dword [esp + 0x1c], eax
mov eax, dword [esi + 0x51fc]
mov edx, dword [ebx + 0xb1dd8]
imul edx, eax
mov edi, dword [esi + 0x51f8]
add edx, edi
mov dword [esp + 0x44], ecx
mov ecx, dword [ecx + 0xc]
mov dword [esp + 0x2c], ecx
mov ecx, dword [ebx + 0xb188c]
mov dword [esp + 0x34], ecx
mov ecx, edx
mov dword [esp + 0x60], edx
mov dword [esi + 0x5200], edx
cmp dword [esi + 0x24], 1
jne 0x1019e300
cmp dword [ebx + 0xb1b58], 0
jne 0x1019e5ed
xor eax, eax
mov esi, dword [ebp + 0xc]
mov dword [esi + 0x516c], eax
sub eax, dword [esi + 0x5220]
mov ecx, ebx
mov edx, esi
push eax
call fcn.101a2fa0
add esp, 4
mov eax, dword [esi + 0x24]
cmp eax, 2
je 0x1019e669
mov esi, dword [ebp + 0xc]
cmp eax, 3
je 0x1019e6dd
mov ecx, esi
mov edx, 3
push 1
call fcn.101a3240
add esp, 4
cmp dword [esi + 0x20], 5
jne 0x1019dee5
test eax, eax
jne 0x1019fd32
movzx ecx, byte [eax*4 + 0x102de99d]
mov dword [esp + 0x30], ecx
movzx ecx, byte [eax*4 + 0x102de99c]
mov esi, dword [ebp + 0xc]
mov dword [esi + 0x5178], ecx
movzx eax, word [eax*4 + 0x102de99a]
mov dword [esp + 0x88], eax
mov dword [esp + 0xc], 0
cmp dword [esi + 0x5220], 0
jne 0x1019e79e
movzx eax, word [esi + 0x1c]
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0xb1b54]
mov edi, dword [esp + 0x60]
mov word [edx + edi*2], ax
mov ebx, dword [esp + 0x88]
test bl, 4
jne 0x1019e7af
mov edx, esi
push ebx
call fcn.101a33b0
add esp, 4
test bl, 7
je 0x1019e801
test bl, 1
jne 0x1019e936
push 0
mov esi, dword [ebp + 0xc]
push dword [esi + 0x5178]
push dword [esi + 0x51e4]
push dword [esi + 0x51dc]
mov eax, dword [ebp + 8]
push dword [eax + 4]
call fcn.100825f0
add esp, 0x14
mov dword [esi + 0x5178], eax
test eax, eax
js 0x1019e7f9
mov eax, dword [esp + 0x2c]
dec eax
cmp eax, 1
ja 0x1019ea0d
xor eax, eax
mov esi, dword [ebp + 0xc]
cmp dword [esi + 0x51c8], 0
jne 0x1019ea1f
cmp dword [esi + 0x51c0], 0
jne 0x1019ea3c
mov esi, dword [ebp + 0xc]
lea edx, [eax + esi]
add edx, 0x7d7c
lea ebx, [esi + 0x7d28]
mov ecx, ebx
call fcn.10079370
xor ecx, ecx
test eax, eax
jne 0x1019ea5a
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0xb1b6c]
mov edi, dword [esp + 0x60]
mov byte [eax + edi], cl
push 1
push ecx
push dword [esi + 0x51e4]
push dword [esi + 0x51dc]
push dword [edx + 4]
call fcn.100825f0
add esp, 0x14
test eax, eax
js 0x1019e7f9
mov dword [esi + 0x5174], eax
mov edi, dword [esp + 0x1c]
test byte [esp + 0x88], 0x78
jne 0x1019ea8c
test byte [esp + 0x88], 2
je 0x1019eb7e
mov eax, dword [esp + 0x2c]
add eax, 0xfffffffd
cmp eax, 0xfffffffd
ja 0x1019e062
mov edx, dword [esp + 0x30]
cmp edx, 0xf
jbe 0x1019e066
mov ebx, 0xbebbb1b7
jmp 0x1019e2e8
mov edx, dword [esp + 0x30]
mov eax, dword [ebp + 0xc]
mov dword [eax + 0x523c], edx
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0xb1b68]
mov ecx, dword [esp + 0x60]
mov dword [esp + 0x30], edx
mov word [eax + ecx*2], dx
test edi, edi
je 0x1019e095
mov eax, dword [esp + 0x30]
and eax, 0xf
jne 0x1019fd38
mov edi, dword [ebp + 8]
mov eax, dword [edi + 0xb2284]
cmp dword [eax + 0xc], 3
mov eax, dword [esp + 0x88]
je 0x1019ecb5
mov ecx, dword [edi + 0xb133c]
mov edx, dword [esp + 0x60]
mov dword [ecx + edx*4], eax
cmp dword [esp + 0x30], 0
jne 0x1019e0d1
test byte [esp + 0x88], 2
je 0x1019ed77
mov esi, dword [ebp + 0xc]
cmp dword [esi + 0x3c], 1
mov edx, esi
sbb edx, 0
add edx, 0x7d79
lea ecx, [esi + 0x7d28]
mov dword [esp + 0x2c], ecx
call fcn.10079370
test eax, eax
jne 0x1019edcc
mov dword [esi + 0x3c], 0
mov ebx, dword [esp + 0x88]
mov edi, dword [esi + 0x2c]
mov ecx, dword [ebp + 8]
test bl, 0x80
jne 0x1019ee2c
lea edx, [ecx + 0xb1b9c]
lea eax, [ecx + 0xb1cbc]
test edi, edi
cmove edx, eax
mov dword [esp + 0x44], edx
lea eax, [ecx + 0xb1b8c]
lea ecx, [ecx + 0xb1cac]
cmovne ecx, eax
mov dword [esp + 0x1c], ecx
test bl, 2
je 0x1019ee52
mov esi, dword [ebp + 0xc]
pxor xmm0, xmm0
movdqa xmmword [esi + 0x7860], xmm0
pxor xmm0, xmm0
movdqa xmmword [esi + 0x7870], xmm0
pxor xmm0, xmm0
movdqa xmmword [esi + 0x7880], xmm0
pxor xmm0, xmm0
movdqa xmmword [esi + 0x7890], xmm0
mov eax, dword [esi + 0x5240]
mov ecx, dword [esi + 0x5244]
shr ecx, 8
and ecx, 1
shr eax, 7
and eax, 2
or eax, ecx
lea edx, [esi + eax]
add edx, 0x7d91
mov ecx, dword [esp + 0x2c]
call fcn.10079370
test eax, eax
je 0x1019f1e2
lea eax, [esi + 0x7860]
mov ecx, dword [ebp + 8]
mov edx, esi
push 0x10
push dword [esp + 0x20]
push 0x30
push 0
push eax
call fcn.10079430
add esp, 0x14
test byte [esp + 0x30], 0xf
jne 0x1019f1ee
xor eax, eax
mov ecx, dword [ebp + 0xc]
mov dword [ecx + 0x6994], eax
mov dword [ecx + 0x699c], eax
mov dword [ecx + 0x69a4], eax
mov dword [ecx + 0x69ac], eax
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0xb2284]
mov eax, dword [eax + 0xc]
cmp eax, 2
je 0x1019f2a0
cmp eax, 3
je 0x1019f610
mov eax, dword [esp + 0x30]
test al, 0x30
jne 0x1019f97b
test al, 0x20
jne 0x1019fa46
xor eax, eax
mov ecx, dword [ebp + 0xc]
mov dword [ecx + 0x69bc], eax
mov dword [ecx + 0x69c4], eax
mov dword [ecx + 0x69cc], eax
mov dword [ecx + 0x69d4], eax
mov dword [ecx + 0x69e4], eax
mov dword [ecx + 0x69ec], eax
mov dword [ecx + 0x69f4], eax
lea eax, [ecx + 0x69fc]
mov dword [eax], 0
mov esi, dword [ebp + 0xc]
mov al, byte [esi + 0x2c]
mov edi, dword [ebp + 8]
mov ecx, dword [edi + 0xb1324]
mov edx, dword [esp + 0x60]
mov byte [ecx + edx], al
mov ecx, dword [esi + 0x5200]
mov eax, dword [edi + 0xb19c4]
lea ecx, [ecx + ecx*2]
shl ecx, 4
mov edx, dword [esi + 0x6994]
mov dword [eax + ecx], edx
mov edx, dword [esi + 0x699c]
mov dword [eax + ecx + 4], edx
mov edx, dword [esi + 0x69a4]
mov dword [eax + ecx + 8], edx
mov edx, dword [esi + 0x69ac]
mov dword [eax + ecx + 0xc], edx
mov edx, dword [esi + 0x69bc]
mov dword [eax + ecx + 0x10], edx
mov edx, dword [esi + 0x69c4]
mov dword [eax + ecx + 0x14], edx
mov edx, dword [esi + 0x69e4]
mov dword [eax + ecx + 0x20], edx
mov edx, dword [esi + 0x69ec]
mov dword [eax + ecx + 0x24], edx
xor ebx, ebx
cmp dword [edi + 0xb189c], 0
je 0x1019fca6
mov ecx, dword [esp + 0xa8]
xor ecx, ebp
call fcn.10130483
mov eax, ebx
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
cmp dword [ebx + 0xb1b58], 0
je 0x101a1414
mov ecx, eax
and ecx, 1
je 0x101a1414
mov ecx, dword [ebp + 0xc]
cmp dword [ecx + 0x516c], 0
je 0x101a1414
mov eax, dword [ebp + 0xc]
mov eax, dword [eax + 0x5170]
test eax, eax
mov ebx, dword [ebp + 8]
je 0x1019de83
cmp dword [ebx + 0xb1b58], 0
je 0x1019e355
mov eax, dword [ebp + 0xc]
test byte [eax + 0x51fc], 1
je 0x101a2a47
mov edx, dword [ebp + 0xc]
mov ecx, dword [edx + 0x5200]
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0xb19c4]
mov dword [esp + 0x2c], ecx
lea ecx, [ecx + ecx*2]
shl ecx, 4
pxor xmm0, xmm0
movdqu xmmword [eax + ecx + 0x20], xmm0
movdqu xmmword [eax + ecx + 0x10], xmm0
movdqu xmmword [eax + ecx], xmm0
xor eax, eax
cmp dword [edx + 0x5220], 0
setne al
shl eax, 7
cmp dword [edx + 0x24], 3
jne 0x101a1938
mov ecx, eax
or ecx, 0xf900
mov eax, ecx
mov dword [esp + 0x8c], ecx
mov ecx, dword [ebp + 0xc]
cmp dword [ecx + 0x5230], 0
jne 0x101a1bb5
lea edi, [esp + 0x8c]
push edi
push dword [ebp + 0xc]
push dword [ebp + 8]
call fcn.101a61e0
add esp, 0xc
mov eax, 0x800
or eax, dword [edi]
mov dword [esp + 0x30], eax
mov dword [edi], eax
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0xb1b50]
mov esi, dword [ebp + 0xc]
mov eax, dword [esi + 0x51f8]
shl eax, 2
mov edx, dword [esi + 0x51fc]
imul edx, ecx
lea edx, [eax + edx*4]
mov eax, dword [esi + 0x5200]
test dword [esp + 0x30], 0x3000
je 0x101a00f5
mov edi, dword [ebp + 8]
mov edi, dword [edi + 0xb1330]
lea ebx, [edi + edx*4]
mov esi, dword [ebp + 0xc]
movaps xmm0, xmmword [esi + 0x6a30]
movaps xmmword [edi + edx*4], xmm0
movaps xmm0, xmmword [esi + 0x6a50]
movaps xmmword [ebx + ecx*4], xmm0
movaps xmm0, xmmword [esi + 0x6a70]
movaps xmmword [ebx + ecx*8], xmm0
lea edi, [ecx + ecx*2]
movaps xmm0, xmmword [esi + 0x6a90]
movaps xmmword [ebx + edi*4], xmm0
mov edi, dword [ebp + 8]
mov edi, dword [edi + 0xb1b4c]
mov ebx, dword [esi + 0x5200]
mov edi, dword [edi + ebx*4]
mov ebx, dword [esi + 0x7d20]
pxor xmm0, xmm0
movdqa xmmword [ebx + edi*2], xmm0
mov bl, byte [esi + 0x6b4c]
mov edi, dword [ebp + 8]
mov edi, dword [edi + 0xb1350]
mov byte [edi + eax*4], bl
mov bl, byte [esi + 0x6b4e]
mov byte [edi + eax*4 + 1], bl
mov bl, byte [esi + 0x6b5c]
mov byte [edi + eax*4 + 2], bl
mov bl, byte [esi + 0x6b5e]
mov byte [edi + eax*4 + 3], bl
test dword [esp + 0x30], 0xc000
je 0x1019e53e
mov ebx, dword [ebp + 8]
mov edi, dword [ebx + 0xb1334]
mov esi, dword [ebp + 0xc]
movaps xmm0, xmmword [esi + 0x6ad0]
movaps xmmword [edi + edx*4], xmm0
lea edx, [edi + edx*4]
movaps xmm0, xmmword [esi + 0x6af0]
movaps xmmword [edx + ecx*4], xmm0
movaps xmm0, xmmword [esi + 0x6b10]
movaps xmmword [edx + ecx*8], xmm0
lea ecx, [ecx + ecx*2]
movaps xmm0, xmmword [esi + 0x6b30]
movaps xmmword [edx + ecx*4], xmm0
mov ecx, dword [ebx + 0xb1b4c]
mov edx, dword [esi + 0x5200]
mov ecx, dword [ecx + edx*4]
mov edx, dword [esi + 0x7d24]
pxor xmm0, xmm0
movdqa xmmword [edx + ecx*2], xmm0
mov cl, byte [esi + 0x6b74]
mov edx, dword [ebx + 0xb1354]
mov byte [edx + eax*4], cl
mov cl, byte [esi + 0x6b76]
mov byte [edx + eax*4 + 1], cl
mov cl, byte [esi + 0x6b84]
mov byte [edx + eax*4 + 2], cl
mov cl, byte [esi + 0x6b86]
mov byte [edx + eax*4 + 3], cl
test byte [esp + 0x30], 0x40
je 0x1019e587
mov eax, dword [ebp + 0xc]
cmp dword [eax + 0x24], 3
jne 0x1019e587
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0xb1b78]
mov esi, dword [ebp + 0xc]
mov ecx, dword [esi + 0x5200]
movzx edx, word [esi + 0x6c5a]
shr edx, 1
mov byte [eax + ecx*4 + 1], dl
movzx edx, word [esi + 0x6c5c]
shr edx, 1
mov byte [eax + ecx*4 + 2], dl
movzx edx, word [esi + 0x6c5e]
shr edx, 1
mov byte [eax + ecx*4 + 3], dl
mov eax, dword [esp + 0x8c]
mov edx, dword [ebp + 8]
mov ecx, dword [edx + 0xb133c]
mov edi, dword [esp + 0x2c]
mov dword [ecx + edi*4], eax
mov esi, dword [ebp + 0xc]
mov al, byte [esi + 0x2c]
mov ecx, dword [edx + 0xb1324]
mov byte [ecx + edi], al
movzx eax, word [esi + 0x1c]
mov ecx, dword [edx + 0xb1b54]
mov word [ecx + edi*2], ax
mov dword [esi + 0x516c], 1
mov eax, dword [edx + 0xb1b68]
mov ecx, dword [esp + 0x60]
mov word [eax + ecx*2], 0
mov eax, dword [edx + 0xb1b6c]
mov byte [eax + ecx], 0
mov dword [esi + 0x3c], 0
xor ebx, ebx
jmp 0x1019e2e8
mov eax, dword [ebp + 0xc]
test byte [eax + 0x51fc], 1
jne 0x1019de90
mov esi, dword [ebp + 0xc]
mov ecx, dword [esi + 0x5200]
mov eax, dword [ebx + 0xb1dd8]
add eax, eax
sub ecx, eax
xor eax, eax
cmp dword [esi + 0x51f8], 0
setne al
and eax, dword [esi + 0x5220]
mov edx, dword [ebx + 0xb133c]
mov edx, dword [edx + ecx*4]
shr edx, 7
mov edi, dword [ebx + 0xb1b54]
movzx edi, word [edi + ecx*2]
xor ecx, ecx
cmp dword [esi + 0x1c], edi
sete cl
and ecx, edx
add ecx, eax
lea edx, [esi + ecx]
add edx, 0x7d82
lea ecx, [esi + 0x7d28]
call fcn.10079370
mov dword [esi + 0x5220], eax
mov dword [esi + 0x5224], eax
jmp 0x1019de90
mov eax, dword [ebp + 0xc]
lea edx, [eax + 0x7d4a]
lea ebx, [eax + 0x7d28]
mov ecx, ebx
call fcn.10079370
test eax, eax
jne 0x101a1921
mov eax, dword [ebp + 0xc]
lea edx, [eax + 0x7d4b]
mov ecx, ebx
call fcn.10079370
test eax, eax
je 0x101a010a
mov eax, dword [ebp + 0xc]
lea edx, [eax + 0x7d4d]
mov ecx, ebx
call fcn.10079370
mov ecx, 2
sub ecx, eax
mov al, byte [ecx*4 + 0x102dea04]
mov dword [esp + 0xc], eax
movzx eax, word [ecx*4 + 0x102dea02]
mov dword [esp + 0x88], eax
mov dword [esp + 0x30], 0
jmp 0x101a0e22
mov ecx, dword [esi + 0x51c0]
mov eax, dword [esi + 0x51c8]
dec eax
shr eax, 8
and eax, 1
dec ecx
mov edx, 2
sub edx, eax
xor eax, 1
bt ecx, 8
cmovae eax, edx
lea edx, [eax + esi]
add edx, 0x7d57
lea ecx, [esi + 0x7d28]
mov dword [esp + 0xc], ecx
call fcn.10079370
mov dword [esp + 0x30], 0
mov edi, 0
test eax, eax
je 0x101a0e08
mov eax, dword [ebp + 0xc]
lea edx, [eax + 0x7d5a]
mov ecx, dword [esp + 0xc]
call fcn.10079370
test eax, eax
je 0x101a0df3
mov esi, dword [ebp + 0xc]
lea edx, [esi + 0x7d5b]
mov edi, dword [esp + 0xc]
mov ecx, edi
call fcn.10079370
mov ebx, eax
shl ebx, 3
add esi, 0x7d5c
mov ecx, edi
mov edx, esi
call fcn.10079370
lea ebx, [ebx + eax*4]
mov ecx, edi
mov edx, esi
call fcn.10079370
lea ebx, [ebx + eax*2]
mov ecx, edi
mov edx, esi
call fcn.10079370
mov edi, eax
add edi, ebx
cmp edi, 7
jg 0x101a0e3b
add edi, 3
jmp 0x101a0e08
or eax, 0x80
mov dword [esp + 0x88], eax
jmp 0x1019df26
mov ecx, dword [esp + 0x44]
mov eax, dword [ecx + 0xc]
movzx eax, word [eax + eax + 0x102dee14]
imul eax, dword [ecx + 0x6a4]
sar eax, 3
mov edx, dword [esi + 0x7d28]
mov ecx, dword [esi + 0x7d34]
mov edi, edx
and edi, 1
sub ecx, edi
and edx, 0x1ff
cmp edx, 1
adc ecx, 0xffffffff
mov edx, dword [esi + 0x7d38]
mov edi, edx
sub edi, ecx
cmp edi, eax
jge 0x1019fd72
xor ebx, ebx
dec ebx
jmp 0x1019e2e8
mov dword [esp + 0x14], ebx
cmp byte [esp + 0xc], 4
jne 0x1019fe03
pcmpeqd xmm0, xmm0
movdqa xmmword [esp + 0x90], xmm0
mov ecx, dword [ebp + 0xc]
lea eax, [ecx + 0x7d28]
mov dword [esp + 0xc], eax
cmp dword [ecx + 0x24], 3
jne 0x101a029d
mov ecx, dword [ebp + 0xc]
lea eax, [ecx + 0x7d60]
mov dword [esp + 0x18], eax
lea eax, [ecx + 0x7d61]
mov dword [esp + 0x24], eax
lea eax, [ecx + 0x7d62]
mov dword [esp + 0x10], eax
lea eax, [ecx + 0x7d63]
mov dword [esp + 0x14], eax
xor edi, edi
mov esi, dword [esp + 0xc]
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0x18]
call fcn.10079370
mov ecx, eax
mov eax, 0
test ecx, ecx
je 0x1019e8fa
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0x24]
call fcn.10079370
test eax, eax
je 0x1019e8c6
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0x10]
call fcn.10079370
test eax, eax
je 0x1019e8da
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0x14]
call fcn.10079370
test eax, eax
je 0x1019e92f
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0x14]
call fcn.10079370
mov ebx, eax
mov eax, 0xb
jmp 0x1019e8f8
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0x14]
call fcn.10079370
mov ebx, eax
xor eax, eax
inc eax
jmp 0x1019e8f8
mov ebx, 3
mov ecx, esi
mov edx, dword [esp + 0x14]
call fcn.10079370
lea ebx, [ebx + eax*2]
mov ecx, esi
mov edx, dword [esp + 0x14]
call fcn.10079370
add eax, ebx
movzx eax, ax
shl eax, 2
movzx ecx, byte [eax + 0x102dea84]
mov dword [esp + edi*4 + 0x90], ecx
movzx eax, word [eax + 0x102dea82]
mov ecx, dword [ebp + 0xc]
mov word [ecx + edi*2 + 0x6c58], ax
inc edi
cmp edi, 4
jne 0x1019e865
jmp 0x101a0bb0
mov ebx, 7
jmp 0x1019e8df
cmp dword [esp + 0x1c], 0
je 0x1019e962
mov ecx, dword [ebp + 0xc]
mov eax, dword [ecx + 0x522c]
lea edx, [eax + ecx]
add edx, 0x7ecb
add ecx, 0x7d28
call fcn.10079370
test eax, eax
jne 0x101a1bdc
mov edi, 0xfffffff0
movzx ebx, byte [edi + 0x102dd690]
mov eax, dword [ebp + 0xc]
movzx ecx, byte [eax + ebx + 0x517b]
movzx eax, byte [eax + ebx + 0x5174]
cmp cl, al
cmovl eax, ecx
mov ecx, 2
test al, al
js 0x1019e991
mov ecx, eax
movzx edx, cl
mov esi, dword [ebp + 0xc]
mov ecx, esi
call fcn.101a4450
mov byte [esi + ebx + 0x517c], al
inc edi
jne 0x1019e967
mov esi, dword [ebp + 0xc]
mov eax, dword [esi + 0x51a0]
mov edi, dword [ebp + 8]
mov ecx, dword [edi + 0xb1b4c]
mov edx, dword [esi + 0x5200]
mov ecx, dword [ecx + edx*4]
mov edx, dword [esi + 0x51a4]
mov dword [edx + ecx], eax
mov al, byte [esi + 0x519b]
mov byte [edx + ecx + 4], al
mov al, byte [esi + 0x5193]
mov byte [edx + ecx + 5], al
mov al, byte [esi + 0x518b]
mov byte [edx + ecx + 6], al
lea eax, [esi + 0x517c]
push dword [esi + 0x51e4]
push dword [esi + 0x51dc]
push dword [edi + 4]
push eax
call fcn.101c57e0
add esp, 0x10
jmp 0x1019df93
mov eax, dword [ebp + 0xc]
mov dword [eax + 0x5174], 6
jmp 0x1019e023
mov ecx, dword [esi + 0x51b4]
mov eax, dword [ebp + 8]
mov edx, dword [eax + 0xb1b6c]
xor eax, eax
cmp byte [edx + ecx], 0
setne al
jmp 0x1019dfbb
mov ecx, dword [ebp + 0xc]
mov ecx, dword [ecx + 0x51ac]
mov edx, dword [ebp + 8]
mov edx, dword [edx + 0xb1b6c]
cmp byte [edx + ecx], 1
sbb eax, 0xffffffff
jmp 0x1019dfc8
add esi, 0x7d7f
mov ecx, ebx
mov edx, esi
call fcn.10079370
test eax, eax
je 0x101a00b6
mov ecx, ebx
mov edx, esi
call fcn.10079370
xor ecx, ecx
test eax, eax
sete cl
xor ecx, 3
mov esi, dword [ebp + 0xc]
jmp 0x1019dfeb
mov dword [esp + 0x6c], edi
mov ecx, dword [ebp + 8]
mov eax, dword [ecx + 0xb1b6c]
mov edx, dword [esp + 0x60]
mov byte [eax + edx], 0
mov edi, dword [esp + 0x88]
mov edx, dword [ecx + 0xb1b50]
mov esi, dword [ebp + 0xc]
mov eax, dword [esi + 0x51f8]
shl eax, 2
mov ecx, dword [esi + 0x51fc]
imul ecx, edx
lea eax, [eax + ecx*4]
mov dword [esp + 0x14], eax
mov eax, dword [esi + 0x5200]
mov dword [esp + 0xc], eax
mov dword [esp + 0x1c], edi
test edi, 0x3000
je 0x101a00be
mov edi, dword [ebp + 8]
mov eax, dword [edi + 0xb1330]
mov ecx, dword [esp + 0x14]
lea ebx, [eax + ecx*4]
mov esi, dword [ebp + 0xc]
movaps xmm0, xmmword [esi + 0x6a30]
movaps xmmword [eax + ecx*4], xmm0
movaps xmm0, xmmword [esi + 0x6a50]
movaps xmmword [ebx + edx*4], xmm0
movaps xmm0, xmmword [esi + 0x6a70]
movaps xmmword [ebx + edx*8], xmm0
lea eax, [edx + edx*2]
movaps xmm0, xmmword [esi + 0x6a90]
movaps xmmword [ebx + eax*4], xmm0
mov eax, dword [edi + 0xb1b4c]
mov ebx, dword [esi + 0x5200]
mov ebx, dword [eax + ebx*4]
mov eax, dword [esi + 0x7d20]
bt dword [esp + 0x1c], 0xb
jb 0x101a0122
mov esi, dword [ebp + 0xc]
movq mm0, qword [esi + 0x6bd8]
movq qword [eax + ebx*2], mm0
movzx edi, word [esi + 0x6bae]
mov word [eax + ebx*2 + 0xc], di
movzx edi, word [esi + 0x6bbe]
mov word [eax + ebx*2 + 0xa], di
movzx edi, word [esi + 0x6bce]
mov word [eax + ebx*2 + 8], di
jmp 0x101a012b
mov dword [esp + 0x6c], edi
mov esi, dword [ebp + 0xc]
mov edi, dword [esi + 0x5240]
mov eax, dword [esi + 0x5244]
mov dword [esp + 0x30], eax
shl eax, 0x1e
sar eax, 0x1f
mov ecx, edi
shr ecx, 1
and ecx, 2
sub eax, ecx
lea edx, [eax + esi]
add edx, 0x7d88
add esi, 0x7d28
mov ecx, esi
call fcn.10079370
mov ebx, eax
and eax, 1
shr edi, 2
and edi, 2
or edi, eax
neg edi
mov eax, dword [ebp + 0xc]
lea edx, [eax + edi]
add edx, 0x7d88
mov ecx, esi
call fcn.10079370
lea edi, [ebx + eax*2]
mov eax, dword [esp + 0x30]
shl eax, 0x1c
sar eax, 0x1f
add ebx, ebx
and ebx, 2
sub eax, ebx
mov ecx, dword [ebp + 0xc]
lea edx, [eax + ecx]
add edx, 0x7d88
mov ecx, esi
call fcn.10079370
lea ebx, [edi + eax*4]
mov eax, ebx
shl eax, 0x1d
sar eax, 0x1f
and edi, 2
sub eax, edi
mov ecx, dword [ebp + 0xc]
lea edx, [eax + ecx]
add edx, 0x7d88
mov dword [esp + 0x1c], esi
mov ecx, esi
call fcn.10079370
lea eax, [ebx + eax*8]
mov dword [esp + 0x30], eax
mov eax, dword [esp + 0x2c]
dec eax
cmp eax, 1
ja 0x1019ff5d
mov edx, dword [ebp + 0xc]
mov edi, dword [edx + 0x5240]
mov ebx, dword [edx + 0x5244]
shr ebx, 4
shr edi, 4
xor eax, eax
and ebx, 3
setne al
lea ecx, [eax + 2]
and edi, 3
cmove ecx, eax
add edx, ecx
add edx, 0x7d89
mov ecx, dword [esp + 0x1c]
call fcn.10079370
test eax, eax
je 0x101a0e69
xor eax, eax
cmp ebx, 2
sete al
xor ecx, ecx
cmp edi, 2
sete cl
lea eax, [eax + ecx*2]
mov ecx, dword [ebp + 0xc]
lea edx, [ecx + eax]
add edx, 0x7d8d
mov ecx, dword [esp + 0x1c]
call fcn.10079370
inc eax
shl eax, 4
mov edx, dword [esp + 0x30]
or edx, eax
jmp 0x1019ff61
bt eax, 0x18
jae 0x1019e0af
cmp dword [edi + 0xb18b4], 0x97
jae 0x101a0c92
test al, 7
setne dl
sete cl
shl dl, 6
mov esi, dword [ebp + 0xc]
mov edi, dword [esi + 0x51c8]
test edi, edi
je 0x1019ed16
and edi, 0x1000000
jne 0x1019ed16
mov esi, dword [ebp + 0xc]
mov byte [esi + 0x69eb], dl
mov byte [esi + 0x69e3], dl
mov byte [esi + 0x69c3], dl
mov byte [esi + 0x69bb], dl
mov byte [esi + 0x699b], dl
mov byte [esi + 0x6993], dl
mov esi, dword [ebp + 0xc]
mov edi, dword [esi + 0x51cc]
test edi, edi
je 0x1019ed52
and edi, 0x1000000
jne 0x1019ed52
mov esi, dword [ebp + 0xc]
mov byte [esi + 0x69fb], dl
mov byte [esi + 0x69f3], dl
mov byte [esi + 0x69d3], dl
mov byte [esi + 0x69cb], dl
mov byte [esi + 0x69ab], dl
mov byte [esi + 0x69a3], dl
mov edx, dword [ebp + 0xc]
mov edx, dword [edx + 0x51c0]
test edx, edx
mov edi, dword [ebp + 8]
je 0x1019e0af
and edx, 0x1000000
je 0x101a0d42
jmp 0x1019e0af
xor eax, eax
mov ecx, dword [ebp + 0xc]
mov dword [ecx + 0x6994], eax
mov dword [ecx + 0x699c], eax
mov dword [ecx + 0x69a4], eax
mov dword [ecx + 0x69ac], eax
mov dword [ecx + 0x69bc], eax
mov dword [ecx + 0x69c4], eax
mov dword [ecx + 0x69cc], eax
mov dword [ecx + 0x69d4], eax
mov dword [ecx + 0x69e4], eax
mov dword [ecx + 0x69ec], eax
mov dword [ecx + 0x69f4], eax
mov dword [ecx + 0x69fc], eax
lea eax, [ecx + 0x3c]
jmp 0x1019e25c
mov eax, dword [esp + 0x44]
mov eax, dword [eax + 0x6a4]
add eax, eax
lea ecx, [eax + eax*2]
mov dword [esp + 0x1c], ecx
lea edi, [ecx + ecx]
add edi, 6
xor ebx, ebx
inc ebx
cmp edi, 2
cmovl edi, ebx
lea esi, [eax + eax*2]
add esi, 3
neg edi
mov eax, 0x3e
mov ecx, dword [ebp + 0xc]
lea edx, [ecx + eax]
add edx, 0x7d3c
mov ecx, dword [esp + 0x2c]
call fcn.10079370
test eax, eax
je 0x1019fcd1
lea ecx, [edi + ebx]
inc ecx
inc ebx
mov eax, 0x3f
cmp ecx, 1
jne 0x1019edfb
jmp 0x1019e7f9
lea edx, [ecx + 0xb1c2c]
lea eax, [ecx + 0xb1d4c]
test edi, edi
cmove edx, eax
mov dword [esp + 0x44], edx
lea eax, [ecx + 0xb1c1c]
lea ecx, [ecx + 0xb1d3c]
jmp 0x1019e138
xor eax, eax
test bl, 7
sete al
lea eax, [eax + eax*2]
mov dword [esp + 0x24], eax
mov eax, dword [ebp + 0xc]
add eax, 0x6c60
mov dword [esp + 0x20], eax
mov dword [esp + 0xc], 3
mov dword [esp + 0x18], 0
mov dword [esp + 0x14], 0
mov eax, dword [esp + 0x30]
mov ecx, dword [esp + 0x14]
bt eax, ecx
jae 0x1019eff3
bt ebx, 0x18
jb 0x1019f035
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0xb2280]
mov edx, edi
shl edx, 6
mov ecx, dword [esp + 0x24]
add edx, dword [eax + ecx*4 + 0x2a6dc]
mov dword [esp + 0x10], edx
mov eax, dword [esp + 0xc]
movzx esi, byte [eax + 0x102dd67d]
xor eax, eax
mov edx, dword [ebp + 0xc]
cmp byte [edx + esi + 0x6987], 0
setne al
cmp byte [edx + esi + 0x6980], 0
lea ecx, [eax + 2]
cmove ecx, eax
add edx, ecx
add edx, 0x7d99
mov ecx, dword [esp + 0x2c]
call fcn.10079370
test eax, eax
jne 0x1019f101
mov eax, dword [ebp + 0xc]
mov byte [eax + esi + 0x6988], 0
mov eax, dword [esp + 0xc]
movzx esi, byte [eax + 0x102dd67e]
xor eax, eax
mov edx, dword [ebp + 0xc]
cmp byte [edx + esi + 0x6987], 0
setne al
cmp byte [edx + esi + 0x6980], 0
lea ecx, [eax + 2]
cmove ecx, eax
add edx, ecx
add edx, 0x7d99
mov ecx, dword [esp + 0x2c]
call fcn.10079370
test eax, eax
jne 0x1019f13a
mov eax, dword [ebp + 0xc]
mov byte [eax + esi + 0x6988], 0
mov eax, dword [esp + 0xc]
movzx esi, byte [eax + 0x102dd67f]
xor eax, eax
mov edx, dword [ebp + 0xc]
cmp byte [edx + esi + 0x6987], 0
setne al
cmp byte [edx + esi + 0x6980], 0
lea ecx, [eax + 2]
cmove ecx, eax
add edx, ecx
add edx, 0x7d99
mov ecx, dword [esp + 0x2c]
call fcn.10079370
test eax, eax
jne 0x1019f176
mov eax, dword [ebp + 0xc]
mov byte [eax + esi + 0x6988], 0
mov eax, dword [esp + 0xc]
movzx esi, byte [eax + 0x102dd680]
xor eax, eax
mov edx, dword [ebp + 0xc]
cmp byte [edx + esi + 0x6987], 0
setne al
cmp byte [edx + esi + 0x6980], 0
lea ecx, [eax + 2]
cmove ecx, eax
add edx, ecx
add edx, 0x7d99
mov ecx, dword [esp + 0x2c]
call fcn.10079370
test eax, eax
jne 0x1019f1b2
mov eax, dword [ebp + 0xc]
mov byte [eax + esi + 0x6988], 0
jmp 0x1019f013
mov eax, dword [esp + 0xc]
movzx eax, byte [eax + 0x102dd67d]
xor ecx, ecx
mov edx, dword [ebp + 0xc]
mov word [edx + eax + 0x6988], cx
mov word [edx + eax + 0x6990], cx
inc dword [esp + 0x14]
mov eax, dword [esp + 0xc]
add eax, 4
add dword [esp + 0x18], 0x40
mov dword [esp + 0xc], eax
cmp eax, 0x13
jne 0x1019ee85
jmp 0x1019e1f5
mov esi, edi
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x34]
shl eax, cl
mov dword [esp + 0x28], eax
shl esi, 8
mov ecx, dword [ebp + 8]
mov eax, dword [ecx + 0xb2280]
mov edx, dword [esp + 0x24]
add esi, dword [eax + edx*4 + 0x2a6f4]
mov eax, dword [ecx + 0xb2284]
cmp dword [eax + 0xc], 3
jne 0x1019f0ca
mov eax, dword [esp + 0xc]
movzx edx, byte [eax + 0x102dd67d]
xor eax, eax
mov ecx, dword [ebp + 0xc]
cmp byte [ecx + edx + 0x6987], 0
setne al
mov dword [esp + 0x10], edx
cmp byte [ecx + edx + 0x6980], 0
mov edx, ecx
lea ecx, [eax + 2]
cmove ecx, eax
add edx, ecx
add edx, 0x8130
mov ecx, dword [esp + 0x2c]
call fcn.10079370
test eax, eax
jne 0x1019f0ca
xor eax, eax
mov ecx, dword [ebp + 0xc]
mov edx, dword [esp + 0x10]
mov word [ecx + edx + 0x6988], ax
mov word [ecx + edx + 0x6990], ax
jmp 0x1019f013
mov eax, dword [esp + 0xc]
add eax, 0xfffffffd
mov ecx, dword [esp + 0x20]
mov edx, dword [esp + 0x28]
lea ecx, [ecx + edx*2]
mov dword [esp + 0x10], ecx
mov ecx, dword [ebp + 8]
mov edx, dword [ebp + 0xc]
push 0x40
push esi
push dword [esp + 0x4c]
push eax
push 5
push dword [esp + 0x24]
call fcn.101a50d0
add esp, 0x18
jmp 0x1019f013
mov eax, dword [esp + 0xc]
lea esi, [eax - 3]
mov edx, dword [esp + 0x18]
mov ecx, dword [esp + 0x34]
shl edx, cl
mov eax, dword [esp + 0x20]
lea eax, [eax + edx*2]
mov ecx, dword [ebp + 8]
mov edx, dword [ebp + 0xc]
push 0x10
push dword [esp + 0x14]
push dword [esp + 0x24]
push esi
push 2
push eax
call fcn.101a50d0
add esp, 0x18
jmp 0x1019ef0a
mov eax, dword [esp + 0xc]
lea esi, [eax - 2]
mov eax, dword [esp + 0x18]
lea edx, [eax + 0x10]
mov ecx, dword [esp + 0x34]
shl edx, cl
mov eax, dword [esp + 0x20]
lea eax, [eax + edx*2]
mov ecx, dword [ebp + 8]
mov edx, dword [ebp + 0xc]
push 0x10
push dword [esp + 0x14]
push dword [esp + 0x24]
push esi
push 2
push eax
call fcn.101a50d0
add esp, 0x18
jmp 0x1019ef57
mov eax, dword [esp + 0xc]
lea esi, [eax - 1]
mov eax, dword [esp + 0x18]
lea edx, [eax + 0x20]
mov ecx, dword [esp + 0x34]
shl edx, cl
mov eax, dword [esp + 0x20]
lea eax, [eax + edx*2]
mov ecx, dword [ebp + 8]
mov edx, dword [ebp + 0xc]
push 0x10
push dword [esp + 0x14]
push dword [esp + 0x24]
push esi
push 2
push eax
call fcn.101a50d0
add esp, 0x18
jmp 0x1019efa4
mov eax, dword [esp + 0x18]
add eax, 0x30
mov ecx, dword [esp + 0x34]
shl eax, cl
mov ecx, dword [esp + 0x20]
lea eax, [ecx + eax*2]
mov ecx, dword [ebp + 8]
mov edx, dword [ebp + 0xc]
push 0x10
push dword [esp + 0x14]
push dword [esp + 0x24]
push dword [esp + 0x18]
push 2
push eax
jmp 0x1019f0f4
mov byte [esi + 0x6988], 0
jmp 0x1019e1cd
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0xb2280]
shl edi, 6
add edi, dword [eax + 0x2a6dc]
mov eax, dword [ebp + 0xc]
add eax, 0x6c60
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x1c]
inc eax
mov dword [esp + 0x18], eax
mov dword [esp + 0xc], 0
xor ebx, ebx
movzx esi, byte [ebx + 0x102dd680]
xor eax, eax
mov edx, dword [ebp + 0xc]
cmp byte [edx + esi + 0x6987], 0
setne al
cmp byte [edx + esi + 0x6980], 0
lea ecx, [eax + 2]
cmove ecx, eax
add edx, ecx
add edx, 0x7d95
mov ecx, dword [esp + 0x2c]
call fcn.10079370
test eax, eax
jne 0x1019f274
mov eax, dword [ebp + 0xc]
mov byte [eax + esi + 0x6988], 0
inc ebx
add dword [esp + 0xc], 0x10
cmp ebx, 0x10
jne 0x1019f21f
jmp 0x1019e1f5
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x34]
shl eax, cl
mov ecx, dword [esp + 0x14]
lea eax, [ecx + eax*2]
mov ecx, dword [ebp + 8]
mov edx, dword [ebp + 0xc]
push 0xf
push edi
push dword [esp + 0x20]
push ebx
push 1
push eax
call fcn.101a50d0
add esp, 0x18
jmp 0x1019f264
test byte [esp + 0x30], 0x30
je 0x1019f331
mov edx, dword [ebp + 0xc]
lea edi, [edx + 0x6c60]
mov eax, dword [edx + 0x5240]
mov ecx, dword [edx + 0x5244]
shr ecx, 6
and ecx, 1
shr eax, 5
and eax, 2
or eax, ecx
add edx, eax
add edx, 0x7d9d
mov ecx, dword [esp + 0x2c]
call fcn.10079370
test eax, eax
jne 0x101a1cc5
mov eax, dword [ebp + 0xc]
mov byte [eax + 0x69b0], 0
mov edx, dword [ebp + 0xc]
mov eax, dword [edx + 0x5240]
mov ecx, dword [edx + 0x5244]
shr ecx, 7
and ecx, 1
shr eax, 6
and eax, 2
or eax, ecx
add edx, eax
add edx, 0x7d9d
mov ecx, dword [esp + 0x2c]
call fcn.10079370
test eax, eax
jne 0x101a1ce9
mov eax, dword [ebp + 0xc]
mov byte [eax + 0x69d8], 0
test byte [esp + 0x30], 0x20
je 0x1019e227
mov eax, 0x10
mov ecx, dword [esp + 0x34]
shl eax, cl
mov ecx, dword [ebp + 0xc]
add ecx, 0x6c60
mov dword [esp + 0x38], ecx
inc dword [esp + 0x1c]
lea ecx, [eax + eax]
mov dword [esp + 0x28], ecx
lea ecx, [ecx + ecx*2]
mov dword [esp + 0x20], ecx
mov dword [esp + 0x18], eax
lea eax, [eax*4]
mov dword [esp + 0x3c], eax
xor eax, eax
mov cl, 1
mov dword [esp + 0x10], ecx
mov edx, eax
shl edx, 4
add edx, 0x10
mov dword [esp + 0x14], edx
shl edx, 4
mov ecx, dword [esp + 0x34]
shl edx, cl
mov ecx, dword [esp + 0x38]
lea ecx, [ecx + edx*2]
mov dword [esp + 0x44], ecx
mov ecx, dword [ebp + 8]
mov ecx, dword [ecx + 0xb2280]
xor edx, edx
test byte [esp + 0x88], 7
sete dl
lea edx, [edx + edx*2]
add edx, eax
mov esi, dword [ebp + 0xc]
mov eax, dword [esi + eax*4 + 0x30]
shl eax, 6
add eax, dword [ecx + edx*4 + 0x2a6e0]
mov dword [esp + 0x24], eax
mov al, 1
mov dword [esp + 0xc], eax
xor eax, eax
or eax, dword [esp + 0x14]
mov dword [esp + 0x30], eax
movzx edi, byte [eax + 0x102dd680]
xor eax, eax
mov edx, dword [ebp + 0xc]
cmp byte [edx + edi + 0x6987], 0
setne al
cmp byte [edx + edi + 0x6980], 0
lea ecx, [eax + 2]
cmove ecx, eax
add edx, ecx
add edx, 0x7da1
mov ecx, dword [esp + 0x2c]
call fcn.10079370
test eax, eax
jne 0x1019f54d
mov eax, dword [ebp + 0xc]
mov byte [eax + edi + 0x6988], 0
mov edi, dword [esp + 0x30]
or edi, 1
movzx ebx, byte [edi + 0x102dd680]
xor eax, eax
mov edx, dword [ebp + 0xc]
cmp byte [edx + ebx + 0x6987], 0
setne al
cmp byte [edx + ebx + 0x6980], 0
lea ecx, [eax + 2]
cmove ecx, eax
add edx, ecx
add edx, 0x7da1
mov ecx, dword [esp + 0x2c]
call fcn.10079370
test eax, eax
jne 0x1019f574
mov eax, dword [ebp + 0xc]
mov byte [eax + ebx + 0x6988], 0
mov edi, dword [esp + 0x30]
or edi, 2
movzx ebx, byte [edi + 0x102dd680]
xor eax, eax
mov edx, dword [ebp + 0xc]
cmp byte [edx + ebx + 0x6987], 0
setne al
cmp byte [edx + ebx + 0x6980], 0
lea ecx, [eax + 2]
cmove ecx, eax
add edx, ecx
add edx, 0x7da1
mov ecx, dword [esp + 0x2c]
call fcn.10079370
test eax, eax
jne 0x1019f59f
mov eax, dword [ebp + 0xc]
mov byte [eax + ebx + 0x6988], 0
mov eax, dword [esp + 0x30]
or eax, 3
mov ebx, eax
movzx edi, byte [eax + 0x102dd680]
xor eax, eax
mov edx, dword [ebp + 0xc]
cmp byte [edx + edi + 0x6987], 0
setne al
cmp byte [edx + edi + 0x6980], 0
lea ecx, [eax + 2]
cmove ecx, eax
add edx, ecx
add edx, 0x7da1
mov ecx, dword [esp + 0x2c]
call fcn.10079370
test eax, eax
jne 0x1019f5ca
mov eax, dword [ebp + 0xc]
mov byte [eax + edi + 0x6988], 0
mov ecx, dword [esp + 0x18]
mov eax, dword [esp + 0x44]
lea eax, [eax + ecx*2]
lea eax, [eax + ecx*2]
lea eax, [eax + ecx*2]
lea eax, [eax + ecx*2]
mov dword [esp + 0x44], eax
mov eax, 8
test byte [esp + 0xc], 1
mov dword [esp + 0xc], 0
jne 0x1019f3d5
jmp 0x1019f5f5
mov ecx, dword [ebp + 8]
mov edx, dword [ebp + 0xc]
push 0xf
push dword [esp + 0x28]
push dword [esp + 0x24]
push dword [esp + 0x3c]
push 4
push dword [esp + 0x58]
call fcn.101a50d0
add esp, 0x18
jmp 0x1019f426
mov eax, dword [esp + 0x28]
mov ecx, dword [esp + 0x44]
add eax, ecx
mov ecx, dword [ebp + 8]
mov edx, dword [ebp + 0xc]
push 0xf
push dword [esp + 0x28]
push dword [esp + 0x24]
push edi
push 4
push eax
call fcn.101a50d0
add esp, 0x18
jmp 0x1019f476
mov eax, dword [esp + 0x3c]
mov ecx, dword [esp + 0x44]
add eax, ecx
mov ecx, dword [ebp + 8]
mov edx, dword [ebp + 0xc]
push 0xf
push dword [esp + 0x28]
push dword [esp + 0x24]
push edi
push 4
push eax
call fcn.101a50d0
add esp, 0x18
jmp 0x1019f4c6
mov eax, dword [esp + 0x20]
mov ecx, dword [esp + 0x44]
add eax, ecx
mov ecx, dword [ebp + 8]
mov edx, dword [ebp + 0xc]
push 0xf
push dword [esp + 0x28]
push dword [esp + 0x24]
push ebx
push 4
push eax
call fcn.101a50d0
add esp, 0x18
jmp 0x1019f518
xor eax, eax
inc eax
test byte [esp + 0x10], 1
mov dword [esp + 0x10], 0
jne 0x1019f37d
jmp 0x1019e262
mov ecx, dword [esp + 0x88]
mov eax, dword [ebp + 0xc]
mov eax, dword [eax + 0x30]
mov dword [esp + 0x10], eax
mov dword [esp + 0x18], ecx
test cl, 2
jne 0x1019ff6a
xor eax, eax
test byte [esp + 0x18], 7
sete al
lea eax, [eax + eax*2 + 1]
mov dword [esp + 0x24], eax
mov eax, dword [ebp + 0xc]
add eax, 0x6c60
mov dword [esp + 0x20], eax
mov edi, 0x13
mov dword [esp + 0x14], 0x130
mov dword [esp + 0xc], 0
mov eax, dword [esp + 0x30]
mov ecx, dword [esp + 0xc]
bt eax, ecx
jae 0x1019f7c3
bt dword [esp + 0x18], 0x18
jb 0x1019f7f9
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0xb2280]
mov edx, dword [esp + 0x10]
shl edx, 6
mov ecx, dword [esp + 0x24]
add edx, dword [eax + ecx*4 + 0x2a6dc]
mov dword [esp + 0x28], edx
movzx ebx, byte [edi + 0x102dd67d]
xor eax, eax
mov edx, dword [ebp + 0xc]
cmp byte [edx + ebx + 0x6987], 0
setne al
cmp byte [edx + ebx + 0x6980], 0
lea ecx, [eax + 2]
cmove ecx, eax
add edx, ecx
add edx, 0x7f10
mov ecx, dword [esp + 0x2c]
call fcn.10079370
test eax, eax
jne 0x1019f86a
mov eax, dword [ebp + 0xc]
mov byte [eax + ebx + 0x6988], 0
movzx ebx, byte [edi + 0x102dd67e]
xor eax, eax
mov edx, dword [ebp + 0xc]
cmp byte [edx + ebx + 0x6987], 0
setne al
cmp byte [edx + ebx + 0x6980], 0
lea ecx, [eax + 2]
cmove ecx, eax
add edx, ecx
add edx, 0x7f10
mov ecx, dword [esp + 0x2c]
call fcn.10079370
test eax, eax
jne 0x1019f8a2
mov eax, dword [ebp + 0xc]
mov byte [eax + ebx + 0x6988], 0
movzx ebx, byte [edi + 0x102dd67f]
xor eax, eax
mov edx, dword [ebp + 0xc]
cmp byte [edx + ebx + 0x6987], 0
setne al
cmp byte [edx + ebx + 0x6980], 0
lea ecx, [eax + 2]
cmove ecx, eax
add edx, ecx
add edx, 0x7f10
mov ecx, dword [esp + 0x2c]
call fcn.10079370
test eax, eax
jne 0x1019f8da
mov eax, dword [ebp + 0xc]
mov byte [eax + ebx + 0x6988], 0
movzx ebx, byte [edi + 0x102dd680]
xor eax, eax
mov edx, dword [ebp + 0xc]
cmp byte [edx + ebx + 0x6987], 0
setne al
cmp byte [edx + ebx + 0x6980], 0
lea ecx, [eax + 2]
cmove ecx, eax
add edx, ecx
add edx, 0x7f10
mov ecx, dword [esp + 0x2c]
call fcn.10079370
test eax, eax
jne 0x1019f912
mov eax, dword [ebp + 0xc]
mov byte [eax + ebx + 0x6988], 0
jmp 0x1019f7df
movzx eax, byte [edi + 0x102dd67d]
xor ecx, ecx
mov edx, dword [ebp + 0xc]
mov word [edx + eax + 0x6988], cx
mov word [edx + eax + 0x6990], cx
inc dword [esp + 0xc]
add edi, 4
add dword [esp + 0x14], 0x40
cmp edi, 0x23
jne 0x1019f661
jmp 0x101a0ea3
movzx ebx, byte [edi + 0x102dd67d]
xor eax, eax
mov esi, dword [ebp + 0xc]
cmp byte [esi + ebx + 0x6987], 0
setne al
lea ecx, [eax + 2]
cmp byte [esi + ebx + 0x6980], 0
cmove ecx, eax
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0xb2280]
mov edx, dword [esp + 0x24]
mov eax, dword [eax + edx*4 + 0x2a6f4]
mov dword [esp + 0x28], eax
lea edx, [esi + ecx]
add edx, 0x8134
mov ecx, dword [esp + 0x2c]
call fcn.10079370
test eax, eax
jne 0x1019f939
xor eax, eax
mov ecx, dword [ebp + 0xc]
mov word [ecx + ebx + 0x6988], ax
mov word [ecx + ebx + 0x6990], ax
jmp 0x1019f7df
lea eax, [edi - 3]
mov ecx, dword [esp + 0x14]
lea edx, [ecx - 0x30]
mov ecx, dword [esp + 0x34]
shl edx, cl
mov ecx, dword [esp + 0x20]
lea ebx, [ecx + edx*2]
mov ecx, dword [ebp + 8]
mov edx, dword [ebp + 0xc]
push 0x10
push dword [esp + 0x2c]
push dword [esp + 0x24]
push eax
push 8
push ebx
call fcn.101a50d0
add esp, 0x18
jmp 0x1019f6e6
lea eax, [edi - 2]
mov ecx, dword [esp + 0x14]
lea edx, [ecx - 0x20]
mov ecx, dword [esp + 0x34]
shl edx, cl
mov ecx, dword [esp + 0x20]
lea ebx, [ecx + edx*2]
mov ecx, dword [ebp + 8]
mov edx, dword [ebp + 0xc]
push 0x10
push dword [esp + 0x2c]
push dword [esp + 0x24]
push eax
push 8
push ebx
call fcn.101a50d0
add esp, 0x18
jmp 0x1019f72f
lea eax, [edi - 1]
mov ecx, dword [esp + 0x14]
lea edx, [ecx - 0x10]
mov ecx, dword [esp + 0x34]
shl edx, cl
mov ecx, dword [esp + 0x20]
lea ebx, [ecx + edx*2]
mov ecx, dword [ebp + 8]
mov edx, dword [ebp + 0xc]
push 0x10
push dword [esp + 0x2c]
push dword [esp + 0x24]
push eax
push 8
push ebx
call fcn.101a50d0
add esp, 0x18
jmp 0x1019f778
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x34]
shl eax, cl
mov ecx, dword [esp + 0x20]
lea eax, [ecx + eax*2]
mov ecx, dword [ebp + 8]
mov edx, dword [ebp + 0xc]
push 0x10
push dword [esp + 0x2c]
push dword [esp + 0x24]
push edi
push 8
push eax
jmp 0x1019f96e
lea eax, [edi - 3]
mov ecx, dword [esp + 0x10]
shl ecx, 8
mov esi, dword [esp + 0x28]
add esi, ecx
mov ecx, dword [esp + 0x14]
lea edx, [ecx - 0x30]
mov ecx, dword [esp + 0x34]
shl edx, cl
mov ecx, dword [esp + 0x20]
lea ebx, [ecx + edx*2]
mov ecx, dword [ebp + 8]
mov edx, dword [ebp + 0xc]
push 0x40
push esi
push dword [esp + 0x4c]
push eax
push 9
push ebx
call fcn.101a50d0
add esp, 0x18
jmp 0x1019f7df
mov edx, dword [ebp + 0xc]
lea edi, [edx + 0x6c60]
mov eax, dword [edx + 0x5240]
mov ecx, dword [edx + 0x5244]
shr ecx, 6
and ecx, 1
shr eax, 5
and eax, 2
or eax, ecx
add edx, eax
add edx, 0x7d9d
mov ecx, dword [esp + 0x2c]
call fcn.10079370
test eax, eax
je 0x101a00d7
mov eax, 0x100
mov ecx, dword [esp + 0x34]
shl eax, cl
lea eax, [edi + eax*2]
mov ecx, dword [ebp + 8]
mov edx, dword [ebp + 0xc]
push 4
push 0x102de98d
push 0x31
push 3
push eax
call fcn.10079430
add esp, 0x14
mov edx, dword [ebp + 0xc]
mov eax, dword [edx + 0x5240]
mov ecx, dword [edx + 0x5244]
shr ecx, 7
and ecx, 1
shr eax, 6
and eax, 2
or eax, ecx
add edx, eax
add edx, 0x7d9d
mov ecx, dword [esp + 0x2c]
call fcn.10079370
test eax, eax
je 0x101a00e6
mov eax, 0x200
mov ecx, dword [esp + 0x34]
shl eax, cl
lea eax, [edi + eax*2]
mov ecx, dword [ebp + 8]
mov edx, dword [ebp + 0xc]
push 4
push 0x102de98d
push 0x32
push 3
push eax
call fcn.10079430
add esp, 0x14
mov eax, dword [esp + 0x30]
jmp 0x1019e21f
mov eax, dword [ebp + 0xc]
add eax, 0x6c60
mov dword [esp + 0xc], eax
inc dword [esp + 0x1c]
xor edi, edi
mov al, 1
mov dword [esp + 0x30], eax
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0xb2280]
xor ecx, ecx
test byte [esp + 0x88], 7
sete cl
lea ecx, [ecx + ecx*2]
add ecx, edi
mov esi, dword [ebp + 0xc]
mov edx, dword [esi + edi*4 + 0x30]
shl edx, 6
add edx, dword [eax + ecx*4 + 0x2a6e0]
mov dword [esp + 0x44], edx
shl edi, 4
movzx ebx, byte [edi + 0x102dd690]
xor eax, eax
cmp byte [esi + ebx + 0x6987], 0
setne al
cmp byte [esi + ebx + 0x6980], 0
lea ecx, [eax + 2]
cmove ecx, eax
lea edx, [ecx + esi]
add edx, 0x7da1
mov ecx, dword [esp + 0x2c]
call fcn.10079370
test eax, eax
jne 0x1019fbce
mov eax, dword [ebp + 0xc]
mov byte [eax + ebx + 0x6988], 0
movzx ebx, byte [edi + 0x102dd691]
xor eax, eax
mov edx, dword [ebp + 0xc]
cmp byte [edx + ebx + 0x6987], 0
setne al
cmp byte [edx + ebx + 0x6980], 0
lea ecx, [eax + 2]
cmove ecx, eax
add edx, ecx
add edx, 0x7da1
mov ecx, dword [esp + 0x2c]
call fcn.10079370
test eax, eax
jne 0x1019fc04
mov eax, dword [ebp + 0xc]
mov byte [eax + ebx + 0x6988], 0
movzx ebx, byte [edi + 0x102dd692]
xor eax, eax
mov edx, dword [ebp + 0xc]
cmp byte [edx + ebx + 0x6987], 0
setne al
cmp byte [edx + ebx + 0x6980], 0
lea ecx, [eax + 2]
cmove ecx, eax
add edx, ecx
add edx, 0x7da1
mov ecx, dword [esp + 0x2c]
call fcn.10079370
test eax, eax
jne 0x1019fc3a
mov eax, dword [ebp + 0xc]
mov byte [eax + ebx + 0x6988], 0
movzx ebx, byte [edi + 0x102dd693]
xor eax, eax
mov edx, dword [ebp + 0xc]
cmp byte [edx + ebx + 0x6987], 0
setne al
cmp byte [edx + ebx + 0x6980], 0
lea ecx, [eax + 2]
cmove ecx, eax
add edx, ecx
add edx, 0x7da1
mov ecx, dword [esp + 0x2c]
call fcn.10079370
test eax, eax
jne 0x1019fc70
mov eax, dword [ebp + 0xc]
mov byte [eax + ebx + 0x6988], 0
xor edi, edi
inc edi
test byte [esp + 0x30], 1
mov dword [esp + 0x30], 0
jne 0x1019fa5e
jmp 0x1019e262
lea eax, [edi + 0x10]
mov edx, eax
shl edx, 4
mov ecx, dword [esp + 0x34]
shl edx, cl
mov ecx, dword [esp + 0xc]
lea ebx, [ecx + edx*2]
mov ecx, dword [ebp + 8]
mov edx, dword [ebp + 0xc]
push 0xf
push dword [esp + 0x48]
push dword [esp + 0x24]
push eax
push 4
push ebx
call fcn.101a50d0
add esp, 0x18
jmp 0x1019fad8
lea eax, [edi + 0x11]
mov edx, eax
shl edx, 4
mov ecx, dword [esp + 0x34]
shl edx, cl
mov ecx, dword [esp + 0xc]
lea ebx, [ecx + edx*2]
mov ecx, dword [ebp + 8]
mov edx, dword [ebp + 0xc]
push 0xf
push dword [esp + 0x48]
push dword [esp + 0x24]
push eax
push 4
push ebx
call fcn.101a50d0
add esp, 0x18
jmp 0x1019fb21
lea eax, [edi + 0x12]
mov edx, eax
shl edx, 4
mov ecx, dword [esp + 0x34]
shl edx, cl
mov ecx, dword [esp + 0xc]
lea ebx, [ecx + edx*2]
mov ecx, dword [ebp + 8]
mov edx, dword [ebp + 0xc]
push 0xf
push dword [esp + 0x48]
push dword [esp + 0x24]
push eax
push 4
push ebx
call fcn.101a50d0
add esp, 0x18
jmp 0x1019fb6a
add edi, 0x13
mov eax, edi
shl eax, 4
mov ecx, dword [esp + 0x34]
shl eax, cl
mov ecx, dword [esp + 0xc]
lea eax, [ecx + eax*2]
mov ecx, dword [ebp + 8]
mov edx, dword [ebp + 0xc]
push 0xf
push dword [esp + 0x48]
push dword [esp + 0x24]
push edi
push 4
push eax
call fcn.101a50d0
add esp, 0x18
jmp 0x1019fbb3
add eax, ecx
mov ecx, dword [esi + 0x69cc]
mov dword [eax + 0x18], ecx
mov ecx, dword [esi + 0x69d4]
mov dword [eax + 0x1c], ecx
mov ecx, dword [esi + 0x69f4]
mov dword [eax + 0x28], ecx
mov ecx, dword [esi + 0x69fc]
mov dword [eax + 0x2c], ecx
jmp 0x1019e2e8
mov ecx, ebx
inc ecx
shr ecx, 1
mov eax, ecx
neg eax
test bl, 1
cmovne eax, ecx
mov ecx, dword [ebp + 0xc]
mov dword [ecx + 0x3c], eax
add eax, dword [ecx + 0x2c]
cmp eax, esi
jbe 0x1019fd02
mov ecx, 0xfffffffc
mov edx, dword [esp + 0x1c]
sub ecx, edx
add edx, 4
test eax, eax
cmovns edx, ecx
add eax, edx
mov esi, dword [ebp + 0xc]
mov dword [esi + 0x2c], eax
mov edx, dword [ebp + 8]
mov ecx, dword [edx + 0xb2280]
movzx ecx, byte [ecx + eax + 0x224]
mov dword [esi + 0x30], ecx
mov ecx, dword [edx + 0xb2280]
movzx eax, byte [ecx + eax + 0x27c]
mov dword [esi + 0x34], eax
jmp 0x1019e101
dec eax
jmp 0x1019dee5
test byte [esp + 0x88], 7
jne 0x1019e095
mov ecx, dword [ebp + 0xc]
mov eax, dword [ecx + 0x522c]
lea edx, [eax + ecx]
add edx, 0x7ecb
add ecx, 0x7d28
call fcn.10079370
shl eax, 0x18
or dword [esp + 0x88], eax
jmp 0x1019e095
mov esi, dword [ebp + 0xc]
lea edi, [esi + 0x7d28]
mov dword [esi + 0x6960], ecx
add eax, ecx
sub edx, eax
push edx
push eax
push edi
call fcn.1019d9a0
add esp, 0xc
test eax, eax
js 0x101a0e70
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0xb1b68]
mov edi, dword [esp + 0x60]
mov word [eax + edi*2], 0xf7ef
mov eax, dword [edx + 0xb1b6c]
xor ebx, ebx
mov byte [eax + edi], bl
mov eax, dword [edx + 0xb1324]
mov byte [eax + edi], bl
lea eax, [edi + edi*2]
shl eax, 4
movdqa xmm0, xmmword [0x102db660]
mov ecx, dword [edx + 0xb19c4]
movdqu xmmword [ecx + eax + 0x20], xmm0
movdqu xmmword [ecx + eax + 0x10], xmm0
movdqu xmmword [ecx + eax], xmm0
mov eax, dword [esp + 0x88]
mov ecx, dword [edx + 0xb133c]
mov dword [ecx + edi*4], eax
mov eax, dword [ebp + 0xc]
mov dword [eax + 0x3c], 0
jmp 0x1019e2e8
bt dword [esp + 0x14], 8
jb 0x101a0d68
test byte [esp + 0x14], 8
jne 0x101a136e
mov eax, dword [ebp + 0xc]
mov eax, dword [eax + 0x5850]
test byte [esp + 0x14], 0x10
jne 0x101a180d
test eax, eax
je 0x1019e023
mov eax, dword [ebp + 0xc]
lea edi, [eax + 0x6b4c]
mov dword [esp + 0x18], 0
mov dword [esp + 0xc], 0
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
shr eax, cl
bt eax, 0xc
jae 0x1019ff09
mov eax, dword [esp + 0xc]
mov ecx, dword [ebp + 0xc]
mov ebx, dword [ecx + eax*4 + 0x5848]
mov cl, byte [ecx + 0x5224]
shl ebx, cl
xor eax, eax
cmp ebx, 2
jae 0x1019ff21
mov ecx, eax
shl ecx, 8
add ecx, eax
mov word [edi], cx
mov word [edi + 8], cx
mov word [edi + 0x10], cx
mov word [edi + 0x18], cx
mov eax, dword [esp + 0x18]
mov ecx, eax
inc cl
mov eax, dword [esp + 0x14]
shr eax, cl
bt eax, 0xc
jae 0x1019ff16
mov eax, dword [esp + 0xc]
mov ecx, dword [ebp + 0xc]
mov ebx, dword [ecx + eax*4 + 0x5848]
mov cl, byte [ecx + 0x5224]
shl ebx, cl
xor eax, eax
cmp ebx, 2
jae 0x1019ff3f
mov ecx, eax
shl ecx, 8
add ecx, eax
mov word [edi + 2], cx
mov word [edi + 0xa], cx
mov word [edi + 0x12], cx
mov word [edi + 0x1a], cx
mov ecx, dword [esp + 0xc]
inc ecx
mov eax, dword [ebp + 0xc]
mov eax, dword [eax + 0x5850]
add edi, 0x28
add dword [esp + 0x18], 2
mov dword [esp + 0xc], ecx
cmp ecx, eax
jb 0x1019fe4f
jmp 0x101a1d0d
mov word [edi], 0xffff
xor ecx, ecx
dec ecx
jmp 0x1019fe8e
mov word [edi + 2], 0xffff
xor ecx, ecx
dec ecx
jmp 0x1019fed6
mov ecx, dword [ebp + 0xc]
mov edx, dword [esp + 0xc]
push 0
call fcn.101a44c0
add esp, 4
cmp eax, ebx
jb 0x1019fe84
jmp 0x1019e7f9
mov ecx, dword [ebp + 0xc]
mov edx, dword [esp + 0xc]
push 4
call fcn.101a44c0
add esp, 4
cmp eax, ebx
jb 0x1019fecb
jmp 0x1019e7f9
mov edx, dword [esp + 0x30]
mov edi, dword [esp + 0x6c]
jmp 0x1019e066
mov edx, dword [ebp + 0xc]
pxor xmm0, xmm0
movdqa xmmword [edx + 0x78a0], xmm0
pxor xmm0, xmm0
movdqa xmmword [edx + 0x78b0], xmm0
pxor xmm0, xmm0
movdqa xmmword [edx + 0x78c0], xmm0
pxor xmm0, xmm0
movdqa xmmword [edx + 0x78d0], xmm0
mov eax, dword [edx + 0x5240]
mov ecx, dword [edx + 0x5244]
shr ecx, 9
and ecx, 1
shr eax, 8
and eax, 2
or eax, ecx
add edx, eax
add edx, 0x7f08
mov ecx, dword [esp + 0x2c]
call fcn.10079370
test eax, eax
je 0x101a0e77
mov edx, dword [ebp + 0xc]
lea eax, [edx + 0x78a0]
mov ecx, dword [ebp + 8]
push 0x10
push dword [esp + 0x20]
push 0x31
push 6
push eax
call fcn.10079430
add esp, 0x14
test byte [esp + 0x30], 0xf
je 0x101a0e86
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0xb2280]
mov ecx, dword [esp + 0x10]
shl ecx, 6
add ecx, dword [eax + 0x2a6e0]
mov dword [esp + 0x10], ecx
mov eax, dword [ebp + 0xc]
add eax, 0x6c60
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0x1c]
inc eax
mov dword [esp + 0x14], eax
mov edi, 0x100
mov ebx, 0x10
movzx esi, byte [ebx + 0x102dd680]
xor eax, eax
mov edx, dword [ebp + 0xc]
cmp byte [edx + esi + 0x6987], 0
setne al
cmp byte [edx + esi + 0x6980], 0
lea ecx, [eax + 2]
cmove ecx, eax
add edx, ecx
add edx, 0x7f0c
mov ecx, dword [esp + 0x2c]
call fcn.10079370
test eax, eax
jne 0x101a0089
mov eax, dword [ebp + 0xc]
mov byte [eax + esi + 0x6988], 0
add edi, 0x10
inc ebx
cmp edi, 0x200
jne 0x101a0033
jmp 0x101a0ea3
mov eax, edi
mov ecx, dword [esp + 0x34]
shl eax, cl
mov ecx, dword [esp + 0xc]
lea eax, [ecx + eax*2]
mov ecx, dword [ebp + 8]
mov edx, dword [ebp + 0xc]
push 0xf
push dword [esp + 0x14]
push dword [esp + 0x1c]
push ebx
push 7
push eax
call fcn.101a50d0
add esp, 0x18
jmp 0x101a0078
xor ecx, ecx
inc ecx
jmp 0x1019ea84
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0xb1350]
mov ecx, dword [esp + 0xc]
mov dword [eax + ecx*4], 0xffffffff
jmp 0x101a0162
mov eax, dword [ebp + 0xc]
mov byte [eax + 0x69b0], 0
jmp 0x1019f9df
mov eax, dword [ebp + 0xc]
mov byte [eax + 0x69d8], 0
jmp 0x1019fa3d
mov edi, dword [ebp + 8]
mov edi, dword [edi + 0xb1350]
mov dword [edi + eax*4], 0xffffffff
jmp 0x1019e4a7
mov eax, dword [ebp + 0xc]
lea edx, [eax + 0x7d4c]
mov ecx, ebx
call fcn.10079370
lea ecx, [eax + eax*2]
jmp 0x1019e6b6
pxor xmm0, xmm0
movdqa xmmword [eax + ebx*2], xmm0
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0xb1350]
mov esi, dword [ebp + 0xc]
mov bl, byte [esi + 0x6b4c]
mov ecx, dword [esp + 0xc]
mov byte [eax + ecx*4], bl
mov bl, byte [esi + 0x6b4e]
mov byte [eax + ecx*4 + 1], bl
mov bl, byte [esi + 0x6b5c]
mov byte [eax + ecx*4 + 2], bl
mov bl, byte [esi + 0x6b5e]
mov byte [eax + ecx*4 + 3], bl
test dword [esp + 0x1c], 0xc000
je 0x101a0243
mov edi, dword [ebp + 8]
mov eax, dword [edi + 0xb1334]
mov esi, dword [ebp + 0xc]
mov ecx, dword [esp + 0x14]
movaps xmm0, xmmword [esi + 0x6ad0]
movaps xmmword [eax + ecx*4], xmm0
lea eax, [eax + ecx*4]
movaps xmm0, xmmword [esi + 0x6af0]
movaps xmmword [eax + edx*4], xmm0
movaps xmm0, xmmword [esi + 0x6b10]
movaps xmmword [eax + edx*8], xmm0
lea edx, [edx + edx*2]
movaps xmm0, xmmword [esi + 0x6b30]
movaps xmmword [eax + edx*4], xmm0
mov eax, dword [edi + 0xb1b4c]
mov edx, dword [esi + 0x5200]
mov edx, dword [eax + edx*4]
mov eax, dword [esi + 0x7d24]
bt dword [esp + 0x1c], 0xb
jb 0x101a0203
mov esi, dword [ebp + 0xc]
movq mm0, qword [esi + 0x6c28]
movq qword [eax + edx*2], mm0
movzx edi, word [esi + 0x6bfe]
mov word [eax + edx*2 + 0xc], di
movzx edi, word [esi + 0x6c0e]
mov word [eax + edx*2 + 0xa], di
movzx edi, word [esi + 0x6c1e]
mov word [eax + edx*2 + 8], di
jmp 0x101a020c
pxor xmm0, xmm0
movdqa xmmword [eax + edx*2], xmm0
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0xb1354]
mov esi, dword [ebp + 0xc]
mov dl, byte [esi + 0x6b74]
mov ecx, dword [esp + 0xc]
mov byte [eax + ecx*4], dl
mov dl, byte [esi + 0x6b76]
mov byte [eax + ecx*4 + 1], dl
mov dl, byte [esi + 0x6b84]
mov byte [eax + ecx*4 + 2], dl
mov dl, byte [esi + 0x6b86]
mov byte [eax + ecx*4 + 3], dl
test byte [esp + 0x1c], 0x40
mov edi, dword [esp + 0x6c]
je 0x1019e035
mov eax, dword [ebp + 0xc]
cmp dword [eax + 0x24], 3
jne 0x1019e035
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0xb1b78]
mov esi, dword [ebp + 0xc]
mov ecx, dword [esi + 0x5200]
movzx edx, word [esi + 0x6c5a]
shr edx, 1
mov byte [eax + ecx*4 + 1], dl
movzx edx, word [esi + 0x6c5c]
shr edx, 1
mov byte [eax + ecx*4 + 2], dl
movzx edx, word [esi + 0x6c5e]
shr edx, 1
mov byte [eax + ecx*4 + 3], dl
jmp 0x1019e035
mov ecx, dword [ebp + 0xc]
lea edx, [ecx + 0x7d51]
lea eax, [ecx + 0x7d52]
mov dword [esp + 0x14], eax
lea eax, [ecx + 0x7d53]
mov dword [esp + 0x18], eax
mov ecx, dword [esp + 0xc]
mov edi, edx
call fcn.10079370
xor ebx, ebx
mov ecx, 0
test eax, eax
je 0x101a1429
movzx eax, byte [ecx*4 + 0x102dea18]
mov dword [esp + 0x90], eax
movzx eax, word [ecx*4 + 0x102dea16]
mov ecx, dword [ebp + 0xc]
mov word [ecx + 0x6c58], ax
mov ecx, dword [esp + 0xc]
mov edx, edi
call fcn.10079370
test eax, eax
je 0x101a145a
movzx eax, byte [ebx*4 + 0x102dea18]
mov dword [esp + 0x94], eax
movzx eax, word [ebx*4 + 0x102dea16]
mov ecx, dword [ebp + 0xc]
mov word [ecx + 0x6c5a], ax
mov ecx, dword [esp + 0xc]
mov edx, edi
call fcn.10079370
xor ebx, ebx
mov ecx, 0
test eax, eax
je 0x101a148b
movzx eax, byte [ecx*4 + 0x102dea18]
mov dword [esp + 0x98], eax
movzx eax, word [ecx*4 + 0x102dea16]
mov ecx, dword [ebp + 0xc]
mov word [ecx + 0x6c5c], ax
mov ecx, dword [esp + 0xc]
mov edx, edi
call fcn.10079370
test eax, eax
je 0x101a14bc
movzx eax, byte [ebx*4 + 0x102dea18]
mov dword [esp + 0x9c], eax
movzx eax, word [ebx*4 + 0x102dea16]
mov ecx, dword [ebp + 0xc]
mov word [ecx + 0x6c5e], ax
mov dword [esp + 0x6c], 0
mov eax, dword [ebp + 0xc]
cmp dword [eax + 0x5850], 0
mov eax, 0
je 0x101a0482
mov eax, dword [ebp + 0xc]
add eax, 0x6c58
mov dword [esp + 0x18], eax
mov dword [esp + 0xc], 0
xor eax, eax
dec eax
mov dword [esp + 0x24], eax
mov eax, dword [esp + 0xc]
lea ecx, [eax + eax]
mov eax, 0x1000
shl eax, cl
mov dword [esp + 0x14], eax
mov edi, dword [esp + 0x18]
xor ebx, ebx
movzx ecx, word [edi]
bt ecx, 8
jb 0x101a0440
xor eax, eax
dec eax
test dword [esp + 0x14], ecx
je 0x101a0417
mov eax, dword [esp + 0xc]
mov ecx, dword [ebp + 0xc]
mov esi, dword [ecx + eax*4 + 0x5848]
mov cl, byte [ecx + 0x5224]
shl esi, cl
xor eax, eax
cmp esi, 2
jae 0x101a044d
movzx ecx, byte [ebx + 0x102dd680]
mov edx, dword [esp + 0xc]
lea edx, [edx + edx*4]
mov esi, dword [ebp + 0xc]
lea edx, [esi + edx*8]
mov byte [ecx + edx + 0x6b49], al
mov byte [ecx + edx + 0x6b48], al
mov byte [ecx + edx + 0x6b41], al
add ebx, 4
add edi, 2
cmp ebx, 0x10
jne 0x101a03e8
jmp 0x101a0466
mov ecx, dword [ebp + 0xc]
mov edx, dword [esp + 0xc]
push ebx
call fcn.101a44c0
add esp, 4
cmp eax, esi
jb 0x101a0417
jmp 0x101a0e32
mov edx, dword [esp + 0xc]
inc edx
mov eax, dword [ebp + 0xc]
mov eax, dword [eax + 0x5850]
mov ecx, edx
mov dword [esp + 0xc], edx
cmp edx, eax
jb 0x101a03d0
cmp dword [esp + 0x1c], 0
je 0x101a04bd
mov ecx, dword [ebp + 8]
mov ecx, dword [ecx + 0xb2284]
cmp dword [ecx + 0x48], 0
mov esi, dword [ebp + 0xc]
mov ecx, dword [esi + 0x6c58]
mov edx, 0x1700170
mov edi, 0x700070
cmove edi, edx
or ecx, dword [esi + 0x6c5c]
xor edx, edx
test ecx, edi
sete dl
mov dword [esp + 0x6c], edx
test eax, eax
je 0x101a0ba7
mov dword [esp + 0x68], 0
mov eax, dword [esp + 0x68]
lea ecx, [eax + eax]
mov edx, 0x1000
shl edx, cl
mov dword [esp + 0x78], edx
lea eax, [eax + eax*4]
mov esi, dword [ebp + 0xc]
lea edx, [esi + eax*8]
add edx, 0x6b4b
mov dword [esp + 0x80], edx
mov dword [esp + 0x10], eax
mov edx, 0x3000
shl edx, cl
mov dword [esp + 0x7c], edx
shl eax, 5
mov dword [esp + 0x58], eax
add eax, esi
add eax, 0x6a28
mov dword [esp + 0x74], eax
mov dword [esp + 0x50], 0x102dd680
mov dword [esp + 0x1c], 0
mov edx, dword [esp + 0x1c]
movzx eax, byte [edx*4 + 0x102dd680]
mov ecx, dword [esp + 0x10]
mov esi, dword [ebp + 0xc]
lea edi, [esi + ecx*8]
mov cl, byte [eax + edi + 0x6b41]
mov dword [esp + 0x28], edi
mov byte [eax + edi + 0x6b40], cl
movzx ecx, word [esi + edx*2 + 0x6c58]
mov dword [esp + 0xc], ecx
bt ecx, 8
jb 0x101a0a77
mov ecx, dword [esp + 0xc]
test dword [esp + 0x78], ecx
je 0x101a0a50
mov eax, dword [esp + 0xc]
and eax, 0x18
cmp eax, 1
mov eax, 2
sbb eax, 0
mov dword [esp + 0x3c], eax
mov eax, dword [esp + 0x1c]
mov eax, dword [esp + eax*4 + 0x90]
mov dword [esp + 0x70], eax
test eax, eax
jle 0x101a0a91
mov eax, dword [esp + 0x50]
mov dword [esp + 0x20], eax
xor eax, eax
dec eax
mov dword [esp + 0x8c], eax
mov dword [esp + 0x84], eax
mov eax, dword [esp + 0x20]
mov dl, byte [eax]
movzx edi, dl
mov eax, dword [esp + 0x10]
mov ecx, eax
shl ecx, 4
mov dword [esp + 0x14], ecx
mov esi, dword [ebp + 0xc]
lea ecx, [esi + eax*8]
add ecx, 0x6b40
mov eax, dword [esp + 0x3c]
lea eax, [edi + eax - 8]
mov dword [esp + 0x54], eax
mov al, byte [ecx + eax]
mov byte [esp + 0x38], al
mov ecx, edi
and ecx, 7
mov eax, dword [esp + 0x28]
mov dh, byte [edi + eax + 0x6b38]
mov byte [esp + 0x4c], dh
mov dh, byte [edi + eax + 0x6b3f]
mov byte [esp + 0x40], dh
mov ebx, dword [esp + 0x58]
add ebx, esi
mov dword [esp + 0x18], ebx
mov dword [esp + 0x24], edi
movsx eax, byte [edi + eax + 0x6b40]
mov dword [esp + 0x5c], eax
cmp ecx, 4
jne 0x101a06e2
cmp dl, 0x14
jb 0x101a06e2
mov edx, dword [ebp + 8]
cmp dword [edx + 0xb1b58], 0
je 0x101a06e2
cmp byte [esp + 0x38], 0xfe
jne 0x101a06e2
mov eax, dword [esp + 0x80]
cmp byte [eax], 0xfe
je 0x101a06f3
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0xb1304]
mov eax, dword [eax + 0x34]
mov ecx, dword [esp + 0x74]
mov dword [ecx], 0
mov ecx, dword [ebp + 0xc]
cmp dword [ecx + 0x5220], 0
mov ecx, dword [ecx + 0x51c8]
jne 0x101a0992
test cl, 0x80
je 0x101a06f3
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0xb1dd8]
mov esi, dword [ebp + 0xc]
mov ecx, dword [esi + 0x51b4]
add ecx, edx
mov edi, dword [esi + 0x51fc]
and edi, 1
mov ebx, dword [esp + 0x24]
shr ebx, 5
lea esi, [ebx + edi*2]
mov ebx, esi
shr ebx, 2
imul ebx, edx
add ebx, ecx
mov edx, dword [esp + 0x74]
mov dword [esp + 0x48], edx
xor edx, edx
dec edx
mov dword [esp + 0x38], edx
mov edi, dword [esp + 0x7c]
test dword [eax + ebx*4], edi
je 0x101a0717
jmp 0x101a0aaf
movsx eax, byte [esp + 0x38]
mov dword [esp + 0x38], eax
cmp al, 0xfe
jne 0x101a0936
mov ecx, dword [esp + 0x24]
mov eax, dword [esp + 0x18]
lea eax, [eax + ecx*4]
add eax, 0x69dc
mov dword [esp + 0x48], eax
mov eax, dword [esp + 0x28]
movsx eax, byte [ecx + eax + 0x6b37]
mov dword [esp + 0x38], eax
mov eax, dword [ebp + 0xc]
add dword [esp + 0x14], eax
xor eax, eax
mov edx, dword [esp + 0x5c]
cmp dword [esp + 0x38], edx
sete al
xor ecx, ecx
cmp byte [esp + 0x4c], dl
sete cl
xor ebx, ebx
cmp byte [esp + 0x40], dl
sete bl
add ebx, ecx
add ebx, eax
mov ecx, dword [esp + 0x24]
lea eax, [ecx - 8]
mov dword [esp + 0x54], eax
lea eax, [ecx - 1]
mov dword [esp + 0x64], eax
mov edi, dword [esp + 0x18]
lea ecx, [edi + ecx*4]
add ecx, 0x69fc
cmp ebx, 2
jb 0x101a088d
mov eax, dword [esp + 0x48]
movsx esi, word [eax]
movsx ebx, word [ecx - 0x1c]
movsx edi, word [ecx]
mov edx, ebx
cmp edi, ebx
cmovg edx, edi
cmovg edi, ebx
cmp edi, esi
cmovl edi, esi
cmp edx, edi
cmovg edx, edi
mov dword [esp + 0x38], edx
movsx edx, word [eax + 2]
movsx edi, word [ecx - 0x1a]
movsx ecx, word [ecx + 2]
mov eax, edi
cmp ecx, edi
cmovg eax, ecx
cmovg ecx, edi
cmp ecx, edx
cmovl ecx, edx
cmp eax, ecx
cmovg eax, ecx
mov dword [esp + 0x40], eax
mov edx, dword [esp + 0x14]
mov eax, dword [esp + 0x64]
movzx ecx, byte [edx + eax*2 + 0x6b90]
mov edi, dword [esp + 0x54]
movzx ebx, byte [edx + edi*2 + 0x6b90]
add ebx, ecx
movzx eax, byte [edx + eax*2 + 0x6b91]
movzx edi, byte [edx + edi*2 + 0x6b91]
add edi, eax
mov esi, dword [ebp + 0xc]
mov ecx, esi
mov edx, 0x28
lea eax, [esp + 0x8c]
push eax
push ebx
call fcn.101a4580
add esp, 8
mov ebx, eax
mov ecx, esi
mov edx, 0x2f
lea eax, [esp + 0x84]
push eax
push edi
call fcn.101a4580
add esp, 8
mov edx, 0x80000000
cmp ebx, edx
sete cl
cmp eax, edx
sete dl
or dl, cl
mov ecx, 0
cmovne ebx, ecx
cmovne eax, ecx
jne 0x101a0e2a
add ebx, dword [esp + 0x38]
mov ecx, dword [esp + 0x24]
mov edx, dword [esp + 0x18]
lea edi, [edx + ecx*4]
add edi, 0x6a00
add eax, dword [esp + 0x40]
mov edx, dword [esp + 0x14]
lea edx, [edx + ecx*2]
add edx, 0x6b90
test byte [esp + 0xc], 8
jne 0x101a08c3
test byte [esp + 0xc], 0x10
jne 0x101a0974
test byte [esp + 0xc], 0x20
jne 0x101a0a1b
mov cl, byte [esp + 0x8c]
mov ch, byte [esp + 0x84]
jmp 0x101a08fb
cmp ebx, 1
jne 0x101a094f
mov edx, dword [esp + 0x5c]
cmp byte [esp + 0x40], dl
je 0x101a0964
mov edx, dword [esp + 0x5c]
cmp byte [esp + 0x4c], dl
jne 0x101a0a3c
movzx eax, word [ecx - 0x1c]
mov dword [esp + 0x38], eax
movzx eax, word [ecx - 0x1a]
jmp 0x101a07af
mov word [edi + 0x24], bx
mov word [edi + 0x20], bx
mov word [edi + 4], bx
mov word [edi + 0x26], ax
mov word [edi + 0x22], ax
mov word [edi + 6], ax
mov cl, byte [esp + 0x8c]
mov byte [edx + 0x12], cl
mov byte [edx + 0x10], cl
mov byte [edx + 2], cl
mov ch, byte [esp + 0x84]
mov byte [edx + 0x13], ch
mov byte [edx + 0x11], ch
mov byte [edx + 3], ch
mov word [edi], bx
mov edi, dword [esp + 0x24]
mov ebx, dword [esp + 0x18]
mov word [ebx + edi*4 + 0x6a02], ax
mov byte [edx], cl
mov eax, dword [esp + 0x14]
mov byte [eax + edi*2 + 0x6b91], ch
mov eax, dword [esp + 0x20]
add eax, dword [esp + 0x3c]
mov dword [esp + 0x20], eax
dec dword [esp + 0x70]
jne 0x101a05a7
jmp 0x101a0a91
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x54]
lea eax, [eax + ecx*4]
add eax, 0x6a00
mov dword [esp + 0x48], eax
jmp 0x101a0717
cmp byte [esp + 0x4c], 0xfe
jne 0x101a09d0
cmp dword [esp + 0x38], 0xfffffffe
jne 0x101a09d0
cmp byte [esp + 0x40], 0xfe
je 0x101a09d0
movzx eax, word [ecx]
mov dword [esp + 0x38], eax
movzx eax, word [ecx + 2]
jmp 0x101a07af
mov word [edi + 4], bx
mov word [edi + 6], ax
mov cl, byte [esp + 0x8c]
mov byte [edx + 2], cl
mov ch, byte [esp + 0x84]
jmp 0x101a08f8
test cl, 0x80
jne 0x101a06f3
xor ecx, ecx
cmp byte [esp + 0x24], 0x24
setae cl
mov edx, dword [ebp + 0xc]
mov ecx, dword [edx + ecx*4 + 0x51b4]
mov edx, dword [esp + 0x74]
mov dword [esp + 0x48], edx
xor edx, edx
dec edx
mov dword [esp + 0x38], edx
mov edi, dword [esp + 0x7c]
test dword [eax + ecx*4], edi
je 0x101a0717
jmp 0x101a0b16
mov eax, dword [esp + 0x48]
movsx esi, word [eax]
movsx edi, word [ecx - 0x1c]
movsx ebx, word [ecx]
mov edx, edi
cmp ebx, edi
cmovg edx, ebx
cmovg ebx, edi
cmp ebx, esi
cmovl ebx, esi
cmp edx, ebx
cmovg edx, ebx
mov dword [esp + 0x38], edx
movsx edx, word [eax + 2]
movsx edi, word [ecx - 0x1a]
movsx ecx, word [ecx + 2]
mov eax, edi
cmp ecx, edi
cmovg eax, ecx
cmovg ecx, edi
cmp ecx, edx
cmovl ecx, edx
cmp eax, ecx
cmovg eax, ecx
jmp 0x101a07af
mov word [edi + 0x20], bx
mov word [edi + 0x22], ax
mov cl, byte [esp + 0x8c]
mov byte [edx + 0x10], cl
mov ch, byte [esp + 0x84]
mov byte [edx + 0x11], ch
jmp 0x101a08fb
mov eax, dword [esp + 0x48]
movzx ecx, word [eax]
mov dword [esp + 0x38], ecx
movzx eax, word [eax + 2]
jmp 0x101a07af
mov ecx, dword [esp + 0x58]
mov edx, dword [ebp + 0xc]
add ecx, edx
xor edx, edx
mov dword [ecx + eax*4 + 0x6a00], edx
mov dword [ecx + eax*4 + 0x6a04], edx
mov dword [ecx + eax*4 + 0x6a20], edx
mov dword [ecx + eax*4 + 0x6a24], edx
mov ecx, dword [esp + 0x10]
shl ecx, 4
add ecx, dword [ebp + 0xc]
xor edx, edx
mov dword [ecx + eax*2 + 0x6b90], edx
mov dword [ecx + eax*2 + 0x6ba0], edx
mov ecx, dword [esp + 0x1c]
inc ecx
add dword [esp + 0x50], 4
mov eax, ecx
mov dword [esp + 0x1c], ecx
cmp ecx, 4
jne 0x101a0526
jmp 0x101a0b8f
mov edi, dword [ebp + 8]
mov eax, dword [edi + 0xb1304]
mov edx, dword [esp + 0x68]
mov eax, dword [eax + edx*4 + 0x28]
mov edx, dword [edi + 0xb1b48]
mov ebx, dword [edi + 0xb1b50]
imul ebx, esi
add ebx, dword [edx + ecx*4]
movzx edx, word [eax + ebx*4 + 0xc]
mov edi, dword [esp + 0x74]
mov word [edi], dx
movzx eax, word [eax + ebx*4 + 0xe]
add eax, eax
mov word [edi + 2], ax
and esi, 0xfffffffe
lea eax, [esi + ecx*4]
mov ecx, dword [ebp + 8]
mov ecx, dword [ecx + 0xb1304]
mov edx, dword [esp + 0x68]
mov ecx, dword [ecx + edx*4 + 0x48]
mov al, byte [ecx + eax + 1]
sar al, 1
movsx eax, al
mov dword [esp + 0x38], eax
mov dword [esp + 0x48], edi
jmp 0x101a0717
mov eax, dword [esp + 0x24]
shr eax, 2
mov edx, eax
and edx, 3
mov esi, dword [ebp + 8]
mov edi, dword [esi + 0xb1304]
mov ebx, dword [esp + 0x68]
mov edi, dword [edi + ebx*4 + 0x28]
mov ebx, dword [esi + 0xb1b48]
imul edx, dword [esi + 0xb1b50]
add edx, dword [ebx + ecx*4]
movzx ebx, word [edi + edx*4 + 0xc]
mov esi, dword [esp + 0x74]
mov word [esi], bx
movzx edx, word [edi + edx*4 + 0xe]
mov edi, edx
shr edi, 0xf
add edi, edx
movsx edx, di
shr edx, 1
mov word [esi + 2], dx
and eax, 2
lea eax, [eax + ecx*4]
mov ecx, dword [ebp + 8]
mov ecx, dword [ecx + 0xb1304]
mov edx, dword [esp + 0x68]
mov ecx, dword [ecx + edx*4 + 0x48]
movsx eax, byte [ecx + eax + 1]
add eax, eax
mov dword [esp + 0x38], eax
mov dword [esp + 0x48], esi
jmp 0x101a0717
mov eax, dword [esp + 0x68]
inc eax
mov dword [esp + 0x68], eax
mov ecx, dword [ebp + 0xc]
cmp eax, dword [ecx + 0x5850]
jb 0x101a04cd
mov edi, dword [esp + 0x6c]
jmp 0x1019e027
mov ecx, dword [ebp + 0xc]
movzx eax, word [ecx + 0x6c5a]
or ax, word [ecx + 0x6c58]
or ax, word [ecx + 0x6c5c]
or ax, word [ecx + 0x6c5e]
bt eax, 8
jae 0x101a0398
lea eax, [esp + 0x88]
push eax
mov esi, dword [ebp + 0xc]
push esi
push dword [ebp + 8]
call fcn.101a61e0
add esp, 0xc
mov al, 0xfe
mov byte [esi + 0x6b86], al
mov byte [esi + 0x6b5e], al
mov byte [esi + 0x6b76], al
mov byte [esi + 0x6b4e], al
movzx ecx, word [esi + 0x6c58]
shr ecx, 1
mov eax, 0xff
mov edx, ecx
and edx, eax
shl ecx, 8
or ecx, edx
mov word [esi + 0x6c3c], cx
mov word [esi + 0x6c44], cx
movzx ecx, word [esi + 0x6c5a]
shr ecx, 1
mov edx, ecx
and edx, eax
shl ecx, 8
or ecx, edx
mov word [esi + 0x6c3e], cx
mov word [esi + 0x6c46], cx
movzx ecx, word [esi + 0x6c5c]
shr ecx, 1
mov edx, ecx
and edx, eax
shl ecx, 8
or ecx, edx
mov word [esi + 0x6c4c], cx
mov word [esi + 0x6c54], cx
movzx ecx, word [esi + 0x6c5e]
shr ecx, 1
and eax, ecx
shl ecx, 8
or ecx, eax
mov word [esi + 0x6c4e], cx
mov word [esi + 0x6c56], cx
jmp 0x101a0398
mov ecx, dword [ebp + 0xc]
mov ecx, dword [ecx + 0x51c8]
test ecx, ecx
je 0x101a0cd6
mov edx, ecx
and edx, 0x1000000
jne 0x101a0cd6
shl cl, 4
and cl, 0x40
mov edx, dword [ebp + 0xc]
mov byte [edx + 0x69eb], cl
mov byte [edx + 0x69e3], cl
mov byte [edx + 0x69c3], cl
mov byte [edx + 0x69bb], cl
mov byte [edx + 0x699b], cl
mov byte [edx + 0x6993], cl
mov ecx, dword [ebp + 0xc]
mov ecx, dword [ecx + 0x51cc]
test ecx, ecx
je 0x101a0d1a
mov edx, ecx
and edx, 0x1000000
jne 0x101a0d1a
shl cl, 4
and cl, 0x40
mov edx, dword [ebp + 0xc]
mov byte [edx + 0x69fb], cl
mov byte [edx + 0x69f3], cl
mov byte [edx + 0x69d3], cl
mov byte [edx + 0x69cb], cl
mov byte [edx + 0x69ab], cl
mov byte [edx + 0x69a3], cl
mov ecx, dword [ebp + 0xc]
mov ecx, dword [ecx + 0x51c0]
test ecx, ecx
mov edi, dword [ebp + 8]
je 0x1019e0af
mov edx, ecx
and edx, 0x1000000
jne 0x1019e0af
test cl, 4
sete cl
xor edx, edx
test cl, cl
mov ecx, 0x40404040
cmovne ecx, edx
mov edx, dword [ebp + 0xc]
mov dword [edx + 0x698c], ecx
mov dword [edx + 0x69b4], ecx
mov dword [edx + 0x69dc], ecx
jmp 0x1019e0af
lea eax, [esp + 0x88]
push eax
mov esi, dword [ebp + 0xc]
push esi
push dword [ebp + 8]
call fcn.101a61e0
add esp, 0xc
xor eax, eax
mov dword [esi + 0x6ba8], eax
mov dword [esi + 0x6bac], eax
mov dword [esi + 0x6bb8], eax
mov dword [esi + 0x6bbc], eax
mov dword [esi + 0x6bc8], eax
mov dword [esi + 0x6bcc], eax
mov dword [esi + 0x6bd8], eax
mov dword [esi + 0x6bdc], eax
mov dword [esi + 0x6bf8], eax
mov dword [esi + 0x6bfc], eax
mov dword [esi + 0x6c08], eax
mov dword [esi + 0x6c0c], eax
mov dword [esi + 0x6c18], eax
mov dword [esi + 0x6c1c], eax
mov dword [esi + 0x6c28], eax
mov dword [esi + 0x6c2c], eax
mov eax, dword [esp + 0x44]
mov ecx, dword [esp + 0x1c]
and ecx, dword [eax + 0x48]
mov edi, ecx
jmp 0x1019e027
mov eax, dword [ebp + 0xc]
lea edx, [eax + 0x7d5c]
mov ecx, dword [esp + 0xc]
call fcn.10079370
mov edi, eax
inc edi
mov al, byte [edi*4 + 0x102dea28]
mov dword [esp + 0xc], eax
movzx eax, word [edi*4 + 0x102dea26]
mov dword [esp + 0x88], eax
mov esi, dword [ebp + 0xc]
jmp 0x1019df19
mov dword [esp + 0x24], 0xbebbb1b7
mov ebx, dword [esp + 0x24]
jmp 0x1019e2e8
cmp edi, 0xe
je 0x101a17f9
cmp edi, 0xf
je 0x101a1803
cmp edi, 0xd
je 0x101a2d3b
mov ecx, dword [esp + 0xc]
mov edx, esi
call fcn.10079370
lea edi, [eax + edi*2]
add edi, 0xfffffffc
jmp 0x101a0e08
xor eax, eax
jmp 0x1019eca7
mov ebx, eax
jmp 0x1019e2e8
mov eax, dword [ebp + 0xc]
mov byte [eax + 0x69b0], 0
jmp 0x1019ffef
xor eax, eax
mov ecx, dword [ebp + 0xc]
mov dword [ecx + 0x69bc], eax
mov dword [ecx + 0x69c4], eax
mov dword [ecx + 0x69cc], eax
mov dword [ecx + 0x69d4], eax
mov ecx, dword [esp + 0x88]
mov eax, dword [ebp + 0xc]
mov eax, dword [eax + 0x34]
mov dword [esp + 0x10], eax
mov dword [esp + 0x18], ecx
test cl, 2
jne 0x101a120e
xor eax, eax
test byte [esp + 0x18], 7
sete al
lea eax, [eax + eax*2 + 2]
mov dword [esp + 0x24], eax
mov eax, dword [ebp + 0xc]
add eax, 0x6c60
mov dword [esp + 0x20], eax
mov edi, 0x23
mov dword [esp + 0x14], 0x230
mov dword [esp + 0xc], 0
mov eax, dword [esp + 0x30]
mov ecx, dword [esp + 0xc]
bt eax, ecx
jae 0x101a1056
bt dword [esp + 0x18], 0x18
jb 0x101a108c
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0xb2280]
mov edx, dword [esp + 0x10]
shl edx, 6
mov ecx, dword [esp + 0x24]
add edx, dword [eax + ecx*4 + 0x2a6dc]
mov dword [esp + 0x28], edx
movzx ebx, byte [edi + 0x102dd67d]
xor eax, eax
mov edx, dword [ebp + 0xc]
cmp byte [edx + ebx + 0x6987], 0
setne al
cmp byte [edx + ebx + 0x6980], 0
lea ecx, [eax + 2]
cmove ecx, eax
add edx, ecx
add edx, 0x7f1c
mov ecx, dword [esp + 0x2c]
call fcn.10079370
test eax, eax
jne 0x101a10fd
mov eax, dword [ebp + 0xc]
mov byte [eax + ebx + 0x6988], 0
movzx ebx, byte [edi + 0x102dd67e]
xor eax, eax
mov edx, dword [ebp + 0xc]
cmp byte [edx + ebx + 0x6987], 0
setne al
cmp byte [edx + ebx + 0x6980], 0
lea ecx, [eax + 2]
cmove ecx, eax
add edx, ecx
add edx, 0x7f1c
mov ecx, dword [esp + 0x2c]
call fcn.10079370
test eax, eax
jne 0x101a1135
mov eax, dword [ebp + 0xc]
mov byte [eax + ebx + 0x6988], 0
movzx ebx, byte [edi + 0x102dd67f]
xor eax, eax
mov edx, dword [ebp + 0xc]
cmp byte [edx + ebx + 0x6987], 0
setne al
cmp byte [edx + ebx + 0x6980], 0
lea ecx, [eax + 2]
cmove ecx, eax
add edx, ecx
add edx, 0x7f1c
mov ecx, dword [esp + 0x2c]
call fcn.10079370
test eax, eax
jne 0x101a116d
mov eax, dword [ebp + 0xc]
mov byte [eax + ebx + 0x6988], 0
movzx ebx, byte [edi + 0x102dd680]
xor eax, eax
mov edx, dword [ebp + 0xc]
cmp byte [edx + ebx + 0x6987], 0
setne al
cmp byte [edx + ebx + 0x6980], 0
lea ecx, [eax + 2]
cmove ecx, eax
add edx, ecx
add edx, 0x7f1c
mov ecx, dword [esp + 0x2c]
call fcn.10079370
test eax, eax
jne 0x101a11a5
mov eax, dword [ebp + 0xc]
mov byte [eax + ebx + 0x6988], 0
jmp 0x101a1072
movzx eax, byte [edi + 0x102dd67d]
xor ecx, ecx
mov edx, dword [ebp + 0xc]
mov word [edx + eax + 0x6988], cx
mov word [edx + eax + 0x6990], cx
inc dword [esp + 0xc]
add edi, 4
add dword [esp + 0x14], 0x40
cmp edi, 0x33
jne 0x101a0ef4
jmp 0x1019e262
movzx ebx, byte [edi + 0x102dd67d]
xor eax, eax
mov esi, dword [ebp + 0xc]
cmp byte [esi + ebx + 0x6987], 0
setne al
lea ecx, [eax + 2]
cmp byte [esi + ebx + 0x6980], 0
cmove ecx, eax
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0xb2280]
mov edx, dword [esp + 0x24]
mov eax, dword [eax + edx*4 + 0x2a6f4]
mov dword [esp + 0x28], eax
lea edx, [esi + ecx]
add edx, 0x8138
mov ecx, dword [esp + 0x2c]
call fcn.10079370
test eax, eax
jne 0x101a11cc
xor eax, eax
mov ecx, dword [ebp + 0xc]
mov word [ecx + ebx + 0x6988], ax
mov word [ecx + ebx + 0x6990], ax
jmp 0x101a1072
lea eax, [edi - 3]
mov ecx, dword [esp + 0x14]
lea edx, [ecx - 0x30]
mov ecx, dword [esp + 0x34]
shl edx, cl
mov ecx, dword [esp + 0x20]
lea ebx, [ecx + edx*2]
mov ecx, dword [ebp + 8]
mov edx, dword [ebp + 0xc]
push 0x10
push dword [esp + 0x2c]
push dword [esp + 0x24]
push eax
push 0xc
push ebx
call fcn.101a50d0
add esp, 0x18
jmp 0x101a0f79
lea eax, [edi - 2]
mov ecx, dword [esp + 0x14]
lea edx, [ecx - 0x20]
mov ecx, dword [esp + 0x34]
shl edx, cl
mov ecx, dword [esp + 0x20]
lea ebx, [ecx + edx*2]
mov ecx, dword [ebp + 8]
mov edx, dword [ebp + 0xc]
push 0x10
push dword [esp + 0x2c]
push dword [esp + 0x24]
push eax
push 0xc
push ebx
call fcn.101a50d0
add esp, 0x18
jmp 0x101a0fc2
lea eax, [edi - 1]
mov ecx, dword [esp + 0x14]
lea edx, [ecx - 0x10]
mov ecx, dword [esp + 0x34]
shl edx, cl
mov ecx, dword [esp + 0x20]
lea ebx, [ecx + edx*2]
mov ecx, dword [ebp + 8]
mov edx, dword [ebp + 0xc]
push 0x10
push dword [esp + 0x2c]
push dword [esp + 0x24]
push eax
push 0xc
push ebx
call fcn.101a50d0
add esp, 0x18
jmp 0x101a100b
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x34]
shl eax, cl
mov ecx, dword [esp + 0x20]
lea eax, [ecx + eax*2]
mov ecx, dword [ebp + 8]
mov edx, dword [ebp + 0xc]
push 0x10
push dword [esp + 0x2c]
push dword [esp + 0x24]
push edi
push 0xc
push eax
jmp 0x101a1201
lea eax, [edi - 3]
mov ecx, dword [esp + 0x10]
shl ecx, 8
mov esi, dword [esp + 0x28]
add esi, ecx
mov ecx, dword [esp + 0x14]
lea edx, [ecx - 0x30]
mov ecx, dword [esp + 0x34]
shl edx, cl
mov ecx, dword [esp + 0x20]
lea ebx, [ecx + edx*2]
mov ecx, dword [ebp + 8]
mov edx, dword [ebp + 0xc]
push 0x40
push esi
push dword [esp + 0x4c]
push eax
push 0xd
push ebx
call fcn.101a50d0
add esp, 0x18
jmp 0x101a1072
mov edx, dword [ebp + 0xc]
pxor xmm0, xmm0
movdqa xmmword [edx + 0x78e0], xmm0
pxor xmm0, xmm0
movdqa xmmword [edx + 0x78f0], xmm0
pxor xmm0, xmm0
movdqa xmmword [edx + 0x7900], xmm0
pxor xmm0, xmm0
movdqa xmmword [edx + 0x7910], xmm0
mov eax, dword [edx + 0x5240]
mov ecx, dword [edx + 0x5244]
shr ecx, 0xa
and ecx, 1
shr eax, 9
and eax, 2
or eax, ecx
add edx, eax
add edx, 0x7f14
mov ecx, dword [esp + 0x2c]
call fcn.10079370
test eax, eax
je 0x101a1355
mov edx, dword [ebp + 0xc]
lea eax, [edx + 0x78e0]
mov ecx, dword [ebp + 8]
push 0x10
push dword [esp + 0x20]
push 0x32
push 0xa
push eax
call fcn.10079430
add esp, 0x14
test byte [esp + 0x30], 0xf
je 0x101a1364
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0xb2280]
mov ecx, dword [esp + 0x10]
shl ecx, 6
add ecx, dword [eax + 0x2a6e4]
mov dword [esp + 0x10], ecx
mov eax, dword [ebp + 0xc]
add eax, 0x6c60
mov dword [esp + 0x30], eax
inc dword [esp + 0x1c]
mov ebx, 0x200
mov edi, 0x20
movzx esi, byte [edi + 0x102dd680]
xor eax, eax
mov edx, dword [ebp + 0xc]
cmp byte [edx + esi + 0x6987], 0
setne al
cmp byte [edx + esi + 0x6980], 0
lea ecx, [eax + 2]
cmove ecx, eax
add edx, ecx
add edx, 0x7f18
mov ecx, dword [esp + 0x2c]
call fcn.10079370
test eax, eax
jne 0x101a1328
mov eax, dword [ebp + 0xc]
mov byte [eax + esi + 0x6988], 0
add ebx, 0x10
inc edi
cmp ebx, 0x300
jne 0x101a12d2
jmp 0x1019e262
mov eax, ebx
mov ecx, dword [esp + 0x34]
shl eax, cl
mov ecx, dword [esp + 0x30]
lea eax, [ecx + eax*2]
mov ecx, dword [ebp + 8]
mov edx, dword [ebp + 0xc]
push 0xf
push dword [esp + 0x14]
push dword [esp + 0x24]
push edi
push 0xb
push eax
call fcn.101a50d0
add esp, 0x18
jmp 0x101a1317
mov eax, dword [ebp + 0xc]
mov byte [eax + 0x69d8], 0
jmp 0x101a1293
xor eax, eax
mov ecx, dword [ebp + 0xc]
jmp 0x1019e244
mov eax, dword [ebp + 0xc]
mov edx, dword [eax + 0x5850]
test edx, edx
je 0x1019e023
mov eax, dword [ebp + 0xc]
lea edi, [eax + 0x6b64]
mov dword [esp + 0x18], 0
mov dword [esp + 0xc], 0
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
shr eax, cl
bt eax, 0xc
jae 0x101a13d6
mov eax, dword [esp + 0xc]
mov ecx, dword [ebp + 0xc]
mov ebx, dword [ecx + eax*4 + 0x5848]
mov cl, byte [ecx + 0x5224]
shl ebx, cl
xor eax, eax
cmp ebx, 2
jae 0x101a13f0
imul eax, eax, 0x1010101
mov dword [edi - 0x18], eax
mov dword [edi - 0x10], eax
mov dword [edi - 8], eax
mov dword [edi], eax
mov eax, dword [esp + 0xc]
inc eax
add edi, 0x28
add dword [esp + 0x18], 2
mov dword [esp + 0xc], eax
cmp eax, edx
jb 0x101a1398
jmp 0x101a14ed
mov ecx, dword [ebp + 0xc]
mov edx, dword [esp + 0xc]
push 0
call fcn.101a44c0
add esp, 4
cmp eax, ebx
jae 0x1019e7f9
mov ecx, dword [ebp + 0xc]
mov edx, dword [ecx + 0x5850]
jmp 0x101a13c5
mov ecx, dword [ebp + 8]
mov edx, dword [ebp + 0xc]
push eax
push edi
call fcn.101a2e20
add esp, 8
jmp 0x1019e331
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0x14]
call fcn.10079370
test eax, eax
je 0x101a2a27
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0x18]
call fcn.10079370
xor ecx, ecx
test eax, eax
sete cl
or ecx, 2
jmp 0x101a02d4
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0x14]
call fcn.10079370
test eax, eax
je 0x101a2a2f
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0x18]
call fcn.10079370
xor ebx, ebx
test eax, eax
sete bl
or ebx, 2
jmp 0x101a0308
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0x14]
call fcn.10079370
test eax, eax
je 0x101a2a37
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0x18]
call fcn.10079370
xor ecx, ecx
test eax, eax
sete cl
or ecx, 2
jmp 0x101a0343
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0x14]
call fcn.10079370
test eax, eax
je 0x101a2a3f
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0x18]
call fcn.10079370
xor ebx, ebx
test eax, eax
sete bl
or ebx, 2
jmp 0x101a0377
test edx, edx
je 0x1019e023
mov eax, dword [ebp + 0xc]
lea edi, [eax + 0x6a0c]
mov dword [esp + 0x14], 0x1ae6
mov dword [esp + 0xc], 0
xor ebx, ebx
mov eax, dword [esp + 0x88]
mov ecx, dword [esp + 0xc]
shr eax, cl
bt eax, 0xc
jb 0x101a153d
inc ebx
add edi, 0xa0
add dword [esp + 0x14], 0x14
add dword [esp + 0xc], 2
cmp ebx, edx
jb 0x101a1510
jmp 0x1019e023
xor eax, eax
dec eax
mov dword [esp + 0x90], eax
mov dword [esp + 0x8c], eax
mov eax, dword [esp + 0x14]
mov ecx, dword [ebp + 0xc]
mov al, byte [ecx + eax*2 + 0x357c]
mov byte [esp + 0x18], al
cmp al, 0xfe
jne 0x101a157c
mov eax, dword [esp + 0x14]
mov ecx, dword [ebp + 0xc]
mov al, byte [ecx + eax*2 + 0x3577]
mov byte [esp + 0x18], al
mov dword [esp + 0x24], edi
jmp 0x101a1590
lea eax, [ebx + ebx*4]
shl eax, 5
mov ecx, dword [ebp + 0xc]
add eax, ecx
add eax, 0x6a20
mov dword [esp + 0x24], eax
mov eax, dword [esp + 0x14]
mov esi, dword [ebp + 0xc]
mov dl, byte [esi + eax*2 + 0x3580]
mov cl, byte [esi + eax*2 + 0x3578]
mov dh, byte [esi + eax*2 + 0x357f]
xor eax, eax
cmp byte [esp + 0x18], dl
sete al
mov esi, eax
xor eax, eax
mov byte [esp + 0x28], cl
cmp cl, dl
sete al
xor ecx, ecx
mov byte [esp + 0x10], dh
mov byte [esp + 0x20], dl
cmp dh, dl
sete cl
add ecx, eax
add ecx, esi
cmp ecx, 2
jb 0x101a1759
mov eax, dword [esp + 0x24]
movsx eax, word [eax]
mov dword [esp + 0x18], eax
movsx ecx, word [edi + 4]
movsx edx, word [edi + 0x20]
mov eax, ecx
mov esi, dword [esp + 0x18]
cmp edx, ecx
cmovg eax, edx
cmovg edx, ecx
cmp edx, esi
cmovl edx, esi
cmp eax, edx
cmovg eax, edx
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x24]
movsx esi, word [eax + 2]
movsx ecx, word [edi + 6]
movsx edx, word [edi + 0x22]
mov eax, ecx
cmp edx, ecx
cmovg eax, edx
cmovg edx, ecx
cmp edx, esi
cmovl edx, esi
cmp eax, edx
cmovg eax, edx
mov dword [esp + 0x28], eax
mov edx, dword [esp + 0x14]
mov esi, dword [ebp + 0xc]
movzx ecx, byte [esi + edx*4 + 0xe]
movzx eax, byte [esi + edx*4]
add eax, ecx
mov dword [esp + 0x24], eax
movzx ecx, byte [esi + edx*4 + 0xf]
movzx eax, byte [esi + edx*4 + 1]
add eax, ecx
mov dword [esp + 0x18], eax
mov ecx, esi
mov edx, 0x28
lea eax, [esp + 0x90]
push eax
push dword [esp + 0x28]
call fcn.101a4580
add esp, 8
mov esi, eax
mov ecx, dword [ebp + 0xc]
mov edx, 0x2f
lea eax, [esp + 0x8c]
push eax
push dword [esp + 0x1c]
call fcn.101a4580
add esp, 8
cmp esi, 0x80000000
je 0x1019e058
cmp eax, 0x80000000
je 0x1019e058
mov ecx, esi
add eax, dword [esp + 0x28]
add ecx, dword [esp + 0x10]
mov dword [esp + 0x18], ecx
mov ecx, dword [esp + 0x8c]
movzx edx, byte [esp + 0x90]
shl ecx, 8
mov esi, 0xffff
and ecx, esi
or ecx, edx
mov edx, ecx
shl edx, 0x10
or edx, ecx
mov ecx, dword [esp + 0x14]
mov esi, dword [ebp + 0xc]
mov dword [esi + ecx*4 + 0x10], edx
mov dword [esi + ecx*4 + 0x14], edx
mov dword [esi + ecx*4 + 0x20], edx
mov dword [esi + ecx*4 + 0x24], edx
mov dword [esi + ecx*4 + 0x30], edx
mov dword [esi + ecx*4 + 0x34], edx
mov dword [esi + ecx*4 + 0x40], edx
mov dword [esi + ecx*4 + 0x44], edx
mov ecx, dword [esp + 0x18]
mov edx, 0xffff
and ecx, edx
shl eax, 0x10
or eax, ecx
mov dword [edi + 0x24], eax
mov dword [edi + 0x28], eax
mov dword [edi + 0x2c], eax
mov dword [edi + 0x30], eax
mov dword [edi + 0x44], eax
mov dword [edi + 0x48], eax
mov dword [edi + 0x4c], eax
mov dword [edi + 0x50], eax
mov dword [edi + 0x64], eax
mov dword [edi + 0x68], eax
mov dword [edi + 0x6c], eax
mov dword [edi + 0x70], eax
mov dword [edi + 0x84], eax
mov dword [edi + 0x88], eax
mov dword [edi + 0x8c], eax
mov dword [edi + 0x90], eax
mov edx, dword [esi + 0x5850]
jmp 0x101a1523
cmp ecx, 1
jne 0x101a177b
mov al, byte [esp + 0x20]
cmp byte [esp + 0x10], al
je 0x101a1790
mov al, byte [esp + 0x20]
cmp byte [esp + 0x28], al
jne 0x101a2cff
jmp 0x101a2cee
cmp byte [esp + 0x28], 0xfe
jne 0x101a17a1
cmp byte [esp + 0x18], 0xfe
jne 0x101a17a1
cmp byte [esp + 0x10], 0xfe
je 0x101a17a1
movzx eax, word [edi + 0x20]
mov dword [esp + 0x10], eax
movzx eax, word [edi + 0x22]
jmp 0x101a1631
mov eax, dword [esp + 0x24]
movsx eax, word [eax]
mov dword [esp + 0x18], eax
movsx ecx, word [edi + 4]
movsx edx, word [edi + 0x20]
mov eax, ecx
mov esi, dword [esp + 0x18]
cmp edx, ecx
cmovg eax, edx
cmovg edx, ecx
cmp edx, esi
cmovl edx, esi
cmp eax, edx
cmovg eax, edx
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x24]
movsx esi, word [eax + 2]
movsx ecx, word [edi + 6]
movsx edx, word [edi + 0x22]
mov eax, ecx
cmp edx, ecx
cmovg eax, edx
cmovg edx, ecx
cmp edx, esi
cmovl edx, esi
cmp eax, edx
cmovg eax, edx
jmp 0x101a1631
mov edi, 0xb
jmp 0x101a0e08
mov edi, 0x16
jmp 0x101a0e08
test eax, eax
je 0x1019e023
mov eax, dword [ebp + 0xc]
lea edi, [eax + 0x6b4c]
mov dword [esp + 0x18], 0
mov dword [esp + 0xc], 0
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
shr eax, cl
bt eax, 0xc
jae 0x101a18d2
mov eax, dword [esp + 0xc]
mov ecx, dword [ebp + 0xc]
mov ebx, dword [ecx + eax*4 + 0x5848]
mov cl, byte [ecx + 0x5224]
shl ebx, cl
xor eax, eax
cmp ebx, 2
jae 0x101a18e9
imul eax, eax, 0x1010101
mov dword [edi], eax
mov dword [edi + 8], eax
mov eax, dword [esp + 0x18]
mov ecx, eax
inc cl
mov eax, dword [esp + 0x14]
shr eax, cl
bt eax, 0xc
jae 0x101a18dd
mov eax, dword [esp + 0xc]
mov ecx, dword [ebp + 0xc]
mov ebx, dword [ecx + eax*4 + 0x5848]
mov cl, byte [ecx + 0x5224]
shl ebx, cl
xor eax, eax
cmp ebx, 2
jae 0x101a1907
imul eax, eax, 0x1010101
mov dword [edi + 0x10], eax
mov dword [edi + 0x18], eax
mov ecx, dword [esp + 0xc]
inc ecx
mov eax, dword [ebp + 0xc]
mov eax, dword [eax + 0x5850]
add edi, 0x28
add dword [esp + 0x18], 2
mov dword [esp + 0xc], ecx
cmp ecx, eax
jb 0x101a182e
jmp 0x101a23ab
mov dword [edi], 0xffffffff
xor eax, eax
dec eax
jmp 0x101a186b
mov dword [edi + 0x10], 0xffffffff
xor eax, eax
dec eax
jmp 0x101a18a8
mov ecx, dword [ebp + 0xc]
mov edx, dword [esp + 0xc]
push 0
call fcn.101a44c0
add esp, 4
cmp eax, ebx
jb 0x101a1863
jmp 0x1019e7f9
mov ecx, dword [ebp + 0xc]
mov edx, dword [esp + 0xc]
push 8
call fcn.101a44c0
add esp, 4
cmp eax, ebx
jb 0x101a189f
jmp 0x1019e7f9
mov ecx, dword [ebp + 0xc]
mov edx, 0x11
push 0
call fcn.101a3240
add esp, 4
jmp 0x1019dee5
or eax, 0x3808
mov dword [esp + 0x8c], eax
mov edi, dword [ebp + 8]
mov ecx, edi
mov esi, dword [ebp + 0xc]
mov edx, esi
mov dword [esp + 0x30], eax
push eax
call fcn.101a2fa0
add esp, 4
xor eax, eax
dec eax
mov dword [esp + 0x98], eax
mov dword [esp + 0x94], eax
mov dword [esp + 0x18], eax
mov dword [esp + 0x90], eax
mov eax, dword [edi + 0xb1330]
mov dword [esp + 0x1c], eax
mov eax, dword [edi + 0xb1350]
mov dword [esp + 0x34], eax
mov eax, dword [edi + 0xb1b50]
mov dword [esp + 0x44], eax
xor edx, edx
mov dword [esi + 0x6b4c], edx
mov dword [esi + 0x6b54], edx
mov dword [esi + 0x6b5c], edx
mov dword [esi + 0x6b64], edx
mov edx, dword [esi + 0x51c8]
test edx, 0x3000
je 0x101a2af3
mov eax, dword [ebp + 0xc]
mov edi, dword [eax + 0x51b4]
mov ecx, dword [eax + 0x51d0]
movzx ecx, byte [ecx]
mov eax, ecx
mov ebx, dword [ebp + 8]
mov esi, dword [ebx + 0xb1b48]
imul ecx, dword [esp + 0x44]
add ecx, dword [esi + edi*4]
and eax, 0xfffffffe
lea eax, [eax + edi*4]
mov edi, dword [esp + 0x34]
movsx eax, byte [edi + eax + 1]
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0x1c]
lea eax, [eax + ecx*4]
add eax, 0xc
mov dword [esp + 0x14], eax
cmp dword [ebx + 0xb1b58], 0
je 0x101a1a5a
mov eax, dword [ebp + 0xc]
cmp dword [eax + 0x5220], 0
je 0x101a2b4f
test dl, 0x80
jne 0x101a1a5a
mov eax, dword [esp + 0xc]
add eax, eax
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0x14]
mov eax, dword [eax]
mov dword [esp + 0x90], eax
mov ecx, eax
shr ecx, 0x10
shr eax, 0x1f
add eax, ecx
movsx edx, ax
shr edx, 1
lea eax, [esp + 0x90]
mov dword [esp + 0x14], eax
mov word [eax + 2], dx
mov eax, dword [esp + 0x14]
mov eax, dword [eax]
or eax, dword [esp + 0xc]
je 0x101a2b23
mov eax, dword [ebp + 0xc]
mov edx, dword [eax + 0x51c0]
test edx, 0x3000
je 0x101a2b0b
mov eax, dword [ebp + 0xc]
mov eax, dword [eax + 0x51ac]
mov ebx, dword [ebp + 8]
mov ecx, dword [ebx + 0xb1b48]
mov edi, dword [esp + 0x44]
lea edi, [edi + edi*2]
add edi, dword [ecx + eax*4]
mov ecx, dword [esp + 0x34]
movsx eax, byte [ecx + eax*4 + 2]
mov dword [esp + 0x24], eax
mov eax, dword [esp + 0x1c]
lea eax, [eax + edi*4]
mov dword [esp + 0x10], eax
cmp dword [ebx + 0xb1b58], 0
je 0x101a1b06
mov eax, dword [ebp + 0xc]
cmp dword [eax + 0x5220], 0
je 0x101a2d13
test dl, 0x80
jne 0x101a1b06
mov eax, dword [esp + 0x24]
add eax, eax
mov dword [esp + 0x24], eax
mov eax, dword [esp + 0x10]
mov eax, dword [eax]
mov dword [esp + 0x94], eax
mov ecx, eax
shr ecx, 0x10
shr eax, 0x1f
add eax, ecx
movsx edx, ax
shr edx, 1
lea eax, [esp + 0x94]
mov dword [esp + 0x10], eax
mov word [eax + 2], dx
mov eax, dword [esp + 0x10]
mov eax, dword [eax]
or eax, dword [esp + 0x24]
je 0x101a2b23
mov eax, dword [ebp + 0xc]
mov edx, dword [eax + 0x51c4]
test edx, 0x3000
je 0x101a2b77
mov eax, dword [ebp + 0xc]
mov eax, dword [eax + 0x51b0]
mov ebx, dword [ebp + 8]
mov ecx, dword [ebx + 0xb1b48]
mov edi, dword [esp + 0x44]
lea edi, [edi + edi*2]
add edi, dword [ecx + eax*4]
mov ecx, dword [esp + 0x34]
movsx eax, byte [ecx + eax*4 + 2]
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0x1c]
lea edi, [eax + edi*4]
cmp dword [ebx + 0xb1b58], 0
je 0x101a2b84
mov eax, dword [ebp + 0xc]
cmp dword [eax + 0x5220], 0
je 0x101a2d48
test dl, 0x80
jne 0x101a2b84
mov eax, dword [esp + 0x18]
add eax, eax
mov dword [esp + 0x18], eax
mov eax, dword [edi]
mov dword [esp + 0x98], eax
mov ecx, eax
shr ecx, 0x10
shr eax, 0x1f
add eax, ecx
movsx ecx, ax
shr ecx, 1
lea eax, [esp + 0x98]
mov edi, eax
mov word [eax + 2], cx
jmp 0x101a2b84
mov edi, dword [ebp + 8]
mov ecx, edi
mov esi, dword [ebp + 0xc]
mov edx, esi
mov ebx, eax
push eax
call fcn.101a2fa0
add esp, 4
mov ecx, edi
mov edx, esi
push ebx
call fcn.101a33b0
add esp, 4
jmp 0x1019e3c0
or ebx, 0x1000000
mov dword [esp + 0x88], ebx
mov esi, dword [ebp + 0xc]
movzx eax, byte [esi + 0x5187]
movzx edx, byte [esi + 0x5180]
cmp al, dl
cmovl edx, eax
test dl, dl
mov edi, 2
cmovs edx, edi
mov ebx, 0xff
and edx, ebx
mov ecx, esi
call fcn.101a4450
mov ecx, eax
shl ecx, 8
or ecx, eax
mov word [esi + 0x5188], cx
mov word [esi + 0x5190], cx
movzx edx, byte [esi + 0x5182]
cmp al, dl
cmovl edx, eax
test dl, dl
cmovs edx, edi
and edx, ebx
mov ecx, esi
call fcn.101a4450
mov ecx, eax
shl ecx, 8
or ecx, eax
mov word [esi + 0x518a], cx
mov word [esi + 0x5192], cx
movzx eax, byte [esi + 0x5197]
movzx edx, byte [esi + 0x5190]
cmp al, dl
cmovl edx, eax
test dl, dl
cmovs edx, edi
and edx, ebx
mov ecx, esi
call fcn.101a4450
mov ecx, eax
shl ecx, 8
or ecx, eax
mov word [esi + 0x5198], cx
mov word [esi + 0x51a0], cx
movzx edx, byte [esi + 0x5192]
cmp al, dl
cmovl edx, eax
test dl, dl
cmovs edx, edi
and edx, ebx
mov ecx, esi
call fcn.101a4450
mov ecx, eax
shl ecx, 8
or ecx, eax
mov word [esi + 0x519a], cx
mov word [esi + 0x51a2], cx
jmp 0x1019e9a8
mov eax, 0x100
mov ecx, dword [esp + 0x34]
shl eax, cl
lea eax, [edi + eax*2]
mov ecx, dword [ebp + 8]
mov edx, dword [ebp + 0xc]
push 0x31
push eax
call fcn.101a47f0
add esp, 8
jmp 0x1019f2f1
mov eax, 0x200
mov ecx, dword [esp + 0x34]
shl eax, cl
lea eax, [edi + eax*2]
mov ecx, dword [ebp + 8]
mov edx, dword [ebp + 0xc]
push 0x32
push eax
call fcn.101a47f0
add esp, 8
jmp 0x1019f331
test eax, eax
je 0x1019e023
mov dword [esp + 0x38], 0
mov eax, dword [esp + 0x38]
lea ecx, [eax + eax]
lea eax, [eax + eax*4]
mov esi, dword [ebp + 0xc]
lea edx, [esi + eax*8]
add edx, 0x6b48
mov dword [esp + 0x28], edx
mov dword [esp + 0x14], eax
shl eax, 5
mov edx, 0x3000
mov dword [esp + 0x24], ecx
shl edx, cl
mov dword [esp + 0x70], edx
lea ecx, [esi + eax]
add ecx, 0x6a20
mov dword [esp + 0x4c], ecx
lea ecx, [esi + eax + 0x6a14]
mov dword [esp + 0x64], ecx
mov dword [esp + 0x18], eax
lea eax, [esi + eax + 0x6a28]
mov dword [esp + 0x48], eax
mov al, 1
mov dword [esp + 0xc], eax
xor eax, eax
mov edx, dword [esp + 0x88]
mov ecx, eax
or ecx, dword [esp + 0x24]
shr edx, cl
bt edx, 0xc
jb 0x101a1e1d
add eax, eax
or eax, 0xc
mov ecx, dword [esp + 0x14]
shl ecx, 4
mov esi, dword [ebp + 0xc]
add ecx, esi
xor edx, edx
mov dword [ecx + eax*2 + 0x6b90], edx
mov dword [ecx + eax*2 + 0x6ba0], edx
mov dword [ecx + eax*2 + 0x6bb0], edx
mov dword [ecx + eax*2 + 0x6bc0], edx
mov ecx, dword [esp + 0x18]
add ecx, esi
mov dword [ecx + eax*4 + 0x6a00], edx
mov dword [ecx + eax*4 + 0x6a04], edx
mov dword [ecx + eax*4 + 0x6a20], edx
mov dword [ecx + eax*4 + 0x6a24], edx
mov dword [ecx + eax*4 + 0x6a40], edx
mov dword [ecx + eax*4 + 0x6a44], edx
mov dword [ecx + eax*4 + 0x6a60], edx
mov dword [ecx + eax*4 + 0x6a64], edx
xor eax, eax
inc eax
test byte [esp + 0xc], 1
mov dword [esp + 0xc], 0
jne 0x101a1d7c
jmp 0x101a2180
xor ecx, ecx
dec ecx
mov dword [esp + 0x90], ecx
mov dword [esp + 0x8c], ecx
lea edx, [eax + eax]
or edx, 0xc
mov ecx, dword [esp + 0x14]
mov esi, dword [ebp + 0xc]
lea ecx, [esi + ecx*8]
mov dword [esp + 0x20], edx
movsx edx, byte [edx + ecx + 0x6b40]
mov dword [esp + 0x10], edx
test byte [esp + 0xc], 1
je 0x101a1e78
mov edx, dword [esp + 0x28]
mov ebx, dword [esp + 0x10]
cmp byte [edx + 3], bl
jne 0x101a1fcb
mov ecx, dword [esp + 0x4c]
movzx edx, word [ecx + 0xc]
mov dword [esp + 0x10], edx
movzx ecx, word [ecx + 0xe]
jmp 0x101a1ea7
mov edx, dword [esp + 0x28]
mov bl, byte [edx]
mov edi, dword [esp + 0x4c]
cmp bl, 0xfe
jne 0x101a1e92
mov edx, dword [esp + 0x28]
mov bl, byte [edx - 3]
mov edi, dword [esp + 0x64]
cmp bl, byte [esp + 0x10]
jne 0x101a1fcb
movzx ecx, word [edi]
mov dword [esp + 0x10], ecx
movzx ecx, word [edi + 2]
mov dword [esp + 0x3c], ecx
movzx eax, byte [eax*4 + 0x102dd680]
mov ebx, dword [esp + 0x14]
shl ebx, 4
mov esi, dword [ebp + 0xc]
add ebx, esi
mov ecx, esi
movzx edx, byte [ebx + eax*2 + 0x6b8e]
movzx edi, byte [ebx + eax*2 + 0x6b80]
add edi, edx
movzx edx, byte [ebx + eax*2 + 0x6b8f]
movzx esi, byte [ebx + eax*2 + 0x6b81]
add esi, edx
mov edx, 0x28
lea eax, [esp + 0x90]
push eax
push edi
call fcn.101a4580
add esp, 8
mov edi, eax
mov ecx, dword [ebp + 0xc]
mov edx, 0x2f
lea eax, [esp + 0x8c]
push eax
push esi
call fcn.101a4580
add esp, 8
cmp edi, 0x80000000
je 0x1019e058
cmp eax, 0x80000000
je 0x1019e058
mov esi, edi
mov ecx, dword [esp + 0x8c]
shl ecx, 8
mov edx, 0xffff
and ecx, edx
movzx edx, byte [esp + 0x90]
or ecx, edx
mov edx, ecx
shl edx, 0x10
or edx, ecx
mov edi, dword [esp + 0x20]
mov dword [ebx + edi*2 + 0x6b90], edx
mov dword [ebx + edi*2 + 0x6ba0], edx
mov dword [ebx + edi*2 + 0x6bb0], edx
mov dword [ebx + edi*2 + 0x6bc0], edx
add eax, dword [esp + 0x3c]
add esi, dword [esp + 0x10]
mov ecx, 0xffff
and esi, ecx
shl eax, 0x10
or eax, esi
mov ecx, dword [esp + 0x18]
mov edx, dword [ebp + 0xc]
add ecx, edx
mov dword [ecx + edi*4 + 0x6a00], eax
mov dword [ecx + edi*4 + 0x6a04], eax
mov dword [ecx + edi*4 + 0x6a20], eax
mov dword [ecx + edi*4 + 0x6a24], eax
mov dword [ecx + edi*4 + 0x6a40], eax
mov dword [ecx + edi*4 + 0x6a44], eax
mov dword [ecx + edi*4 + 0x6a60], eax
mov dword [ecx + edi*4 + 0x6a64], eax
jmp 0x101a1e02
mov bh, byte [eax*4 + 0x102dd680]
movzx edi, bh
mov dl, byte [edi + ecx + 0x6b38]
mov byte [esp + 0x54], dl
mov bl, byte [edi + ecx + 0x6b3a]
mov dl, byte [edi + ecx + 0x6b3f]
mov byte [esp + 0x5c], dl
mov edx, dword [esp + 0x18]
mov esi, dword [ebp + 0xc]
add edx, esi
mov dword [esp + 0x40], edx
mov dword [esp + 0x3c], edi
mov edx, edi
and edx, 7
cmp edx, 4
jne 0x101a205e
cmp bh, 0x14
jb 0x101a205e
mov edx, dword [ebp + 8]
cmp dword [edx + 0xb1b58], 0
je 0x101a205e
cmp bl, 0xfe
jne 0x101a205e
mov edx, dword [esp + 0x28]
cmp byte [edx + 3], 0xfe
je 0x101a206a
mov edx, dword [ebp + 8]
mov edx, dword [edx + 0xb1304]
mov esi, dword [edx + 0x34]
mov edx, dword [esp + 0x48]
mov dword [edx], 0
mov edx, dword [ebp + 0xc]
cmp dword [edx + 0x5220], 0
mov ebx, dword [edx + 0x51c8]
jne 0x101a2264
jmp 0x101a219d
movsx edx, bl
cmp dl, 0xfe
jne 0x101a2139
mov edx, dword [esp + 0x3c]
mov edi, dword [esp + 0x40]
lea edi, [edi + edx*4]
add edi, 0x69dc
mov dword [esp + 0x50], edi
movsx edi, byte [edx + ecx + 0x6b37]
mov ecx, dword [esp + 0x3c]
mov edx, dword [esp + 0x40]
lea ecx, [edx + ecx*4]
add ecx, 0x69fc
mov dword [esp + 0x3c], ecx
xor ebx, ebx
mov ecx, dword [esp + 0x10]
mov edx, edi
cmp edi, ecx
sete bl
mov esi, ebx
xor edx, edx
cmp byte [esp + 0x54], cl
sete dl
xor ebx, ebx
cmp byte [esp + 0x5c], cl
sete bl
add ebx, edx
add ebx, esi
cmp ebx, 2
jb 0x101a2125
mov ecx, dword [esp + 0x50]
movsx ecx, word [ecx]
mov dword [esp + 0x40], ecx
mov ecx, dword [esp + 0x3c]
movsx edx, word [ecx - 0x1c]
movsx ebx, word [ecx]
mov edi, edx
mov esi, dword [esp + 0x40]
cmp ebx, edx
cmovg edi, ebx
cmovg ebx, edx
cmp ebx, esi
cmovl ebx, esi
cmp edi, ebx
cmovg edi, ebx
mov dword [esp + 0x10], edi
mov edx, dword [esp + 0x50]
movsx esi, word [edx + 2]
movsx edx, word [ecx - 0x1a]
movsx ebx, word [ecx + 2]
mov edi, edx
cmp ebx, edx
cmovg edi, ebx
cmovg ebx, edx
cmp ebx, esi
cmovl ebx, esi
cmp edi, ebx
cmovg edi, ebx
mov dword [esp + 0x3c], edi
jmp 0x101a1eab
cmp ebx, 1
jne 0x101a2158
mov cl, byte [esp + 0x5c]
cmp cl, byte [esp + 0x10]
je 0x101a2177
jmp 0x101a2328
mov edi, edx
mov ecx, dword [esp + 0x3c]
add ecx, 0xfffffffa
mov edx, dword [esp + 0x40]
lea ecx, [edx + ecx*4]
add ecx, 0x6a00
mov dword [esp + 0x50], ecx
jmp 0x101a2087
cmp byte [esp + 0x54], 0xfe
jne 0x101a2347
cmp edi, 0xfffffffe
jne 0x101a2347
cmp byte [esp + 0x5c], 0xfe
je 0x101a2347
mov edi, dword [esp + 0x3c]
jmp 0x101a1e9c
mov eax, dword [esp + 0x38]
inc eax
mov dword [esp + 0x38], eax
mov ecx, dword [ebp + 0xc]
cmp eax, dword [ecx + 0x5850]
jb 0x101a1d1d
jmp 0x1019e023
test bl, 0x80
je 0x101a206a
mov ecx, dword [ebp + 8]
mov ecx, dword [ecx + 0xb1dd8]
mov edx, dword [ebp + 0xc]
mov edi, dword [edx + 0x51b4]
add edi, ecx
mov edx, dword [edx + 0x51fc]
and edx, 1
mov ebx, dword [esp + 0x3c]
shr ebx, 5
lea edx, [ebx + edx*2]
mov dword [esp + 0x78], edx
shr edx, 2
imul edx, ecx
mov dword [esp + 0x58], edi
add edx, edi
mov ecx, dword [esp + 0x48]
mov dword [esp + 0x50], ecx
xor edi, edi
dec edi
mov ecx, dword [esp + 0x70]
test dword [esi + edx*4], ecx
je 0x101a2087
mov edi, dword [ebp + 8]
mov ecx, dword [edi + 0xb1304]
mov edx, dword [esp + 0x38]
mov esi, dword [ecx + edx*4 + 0x28]
mov edx, dword [edi + 0xb1b48]
mov ebx, dword [edi + 0xb1b50]
mov edi, dword [esp + 0x78]
imul ebx, edi
mov ecx, dword [esp + 0x58]
add ebx, dword [edx + ecx*4]
movzx edx, word [esi + ebx*4 + 0xc]
mov ecx, dword [esp + 0x48]
mov word [ecx], dx
movzx ecx, word [esi + ebx*4 + 0xe]
add ecx, ecx
mov edx, dword [esp + 0x4c]
mov word [edx + 0xa], cx
and edi, 0xfffffffe
mov ecx, dword [esp + 0x58]
lea ecx, [edi + ecx*4]
mov edx, dword [ebp + 8]
mov edx, dword [edx + 0xb1304]
mov esi, dword [esp + 0x38]
mov edx, dword [edx + esi*4 + 0x48]
mov cl, byte [edx + ecx + 1]
sar cl, 1
movsx edi, cl
jmp 0x101a231f
test bl, 0x80
jne 0x101a206a
xor ecx, ecx
cmp byte [esp + 0x3c], 0x24
setae cl
mov edx, dword [ebp + 0xc]
mov edx, dword [edx + ecx*4 + 0x51b4]
mov ecx, dword [esp + 0x48]
mov dword [esp + 0x50], ecx
xor edi, edi
dec edi
mov ecx, dword [esp + 0x70]
mov dword [esp + 0x58], edx
test dword [esi + edx*4], ecx
je 0x101a2087
mov ebx, dword [esp + 0x3c]
shr ebx, 2
mov edx, ebx
and edx, 3
mov edi, dword [ebp + 8]
mov ecx, dword [edi + 0xb1304]
mov esi, dword [esp + 0x38]
mov esi, dword [ecx + esi*4 + 0x28]
mov ecx, dword [edi + 0xb1b48]
mov dword [esp + 0x50], ecx
imul edx, dword [edi + 0xb1b50]
mov ecx, dword [esp + 0x58]
mov edi, dword [esp + 0x50]
add edx, dword [edi + ecx*4]
movzx ecx, word [esi + edx*4 + 0xc]
mov edi, esi
mov esi, dword [esp + 0x48]
mov word [esi], cx
movzx ecx, word [edi + edx*4 + 0xe]
mov edx, ecx
shr edx, 0xf
add edx, ecx
movsx ecx, dx
shr ecx, 1
mov edx, dword [esp + 0x4c]
mov word [edx + 0xa], cx
and ebx, 2
mov ecx, dword [esp + 0x58]
lea ecx, [ebx + ecx*4]
mov edx, dword [ebp + 8]
mov edx, dword [edx + 0xb1304]
mov esi, dword [esp + 0x38]
mov edx, dword [edx + esi*4 + 0x48]
movsx edi, byte [edx + ecx + 1]
add edi, edi
mov ecx, dword [esp + 0x48]
jmp 0x101a214f
mov cl, byte [esp + 0x54]
cmp cl, byte [esp + 0x10]
jne 0x101a23a2
mov edi, dword [esp + 0x3c]
movzx ecx, word [edi - 0x1c]
mov dword [esp + 0x10], ecx
movzx ecx, word [edi - 0x1a]
jmp 0x101a1ea7
mov ecx, dword [esp + 0x50]
movsx ecx, word [ecx]
mov dword [esp + 0x40], ecx
mov ecx, dword [esp + 0x3c]
movsx edx, word [ecx - 0x1c]
movsx ebx, word [ecx]
mov edi, edx
mov esi, dword [esp + 0x40]
cmp ebx, edx
cmovg edi, ebx
cmovg ebx, edx
cmp ebx, esi
cmovl ebx, esi
cmp edi, ebx
cmovg edi, ebx
mov dword [esp + 0x10], edi
mov edx, dword [esp + 0x50]
movsx esi, word [edx + 2]
movsx edx, word [ecx - 0x1a]
movsx ebx, word [ecx + 2]
mov edi, edx
cmp ebx, edx
cmovg edi, ebx
cmovg ebx, edx
cmp ebx, esi
cmovl ebx, esi
cmp edi, ebx
cmovg edi, ebx
jmp 0x101a211c
mov edi, dword [esp + 0x50]
jmp 0x101a1e9c
test eax, eax
je 0x1019e023
mov dword [esp + 0x38], 0
mov eax, dword [esp + 0x38]
lea ecx, [eax + eax]
lea eax, [eax + eax*4]
mov esi, dword [ebp + 0xc]
lea edx, [esi + eax*8]
add edx, 0x6b5b
mov dword [esp + 0x3c], edx
mov dword [esp + 0x14], eax
shl eax, 5
mov edx, 0x3000
mov dword [esp + 0x24], ecx
shl edx, cl
mov dword [esp + 0x70], edx
lea ecx, [esi + eax]
add ecx, 0x6a6c
mov dword [esp + 0x64], ecx
mov dword [esp + 0x18], eax
lea eax, [esi + eax + 0x6a28]
mov dword [esp + 0x48], eax
mov al, 1
mov dword [esp + 0xc], eax
xor eax, eax
mov edx, dword [esp + 0x88]
mov ecx, eax
or ecx, dword [esp + 0x24]
shr edx, cl
bt edx, 0xc
jb 0x101a2484
shl eax, 4
mov ecx, dword [esp + 0x14]
shl ecx, 4
mov esi, dword [ebp + 0xc]
add ecx, esi
xor edx, edx
mov dword [ecx + eax*2 + 0x6ba8], edx
mov dword [ecx + eax*2 + 0x6bac], edx
mov dword [ecx + eax*2 + 0x6bb8], edx
mov dword [ecx + eax*2 + 0x6bbc], edx
mov ecx, dword [esp + 0x18]
add ecx, esi
pxor xmm0, xmm0
movdqu xmmword [ecx + eax*4 + 0x6a30], xmm0
movdqu xmmword [ecx + eax*4 + 0x6a50], xmm0
xor eax, eax
inc eax
test byte [esp + 0xc], 1
mov dword [esp + 0xc], 0
jne 0x101a240f
jmp 0x101a27ea
xor ecx, ecx
dec ecx
mov dword [esp + 0x90], ecx
mov dword [esp + 0x8c], ecx
mov edx, eax
shl edx, 4
mov ecx, dword [esp + 0x14]
mov esi, dword [ebp + 0xc]
lea edi, [esi + ecx*8]
mov dword [esp + 0x28], edx
movsx ecx, byte [edx + edi + 0x6b4c]
mov dword [esp + 0x10], ecx
test byte [esp + 0xc], 1
je 0x101a24de
mov ecx, dword [esp + 0x3c]
mov edx, dword [esp + 0x10]
cmp byte [ecx - 0x17], dl
jne 0x101a2624
mov ecx, dword [esp + 0x64]
movzx edx, word [ecx - 0x5c]
mov dword [esp + 0x10], edx
movzx ecx, word [ecx - 0x5a]
jmp 0x101a24fd
mov ecx, dword [esp + 0x3c]
mov edx, dword [esp + 0x10]
cmp byte [ecx], dl
jne 0x101a2624
mov ecx, dword [esp + 0x64]
movzx edx, word [ecx]
mov dword [esp + 0x10], edx
movzx ecx, word [ecx + 2]
mov dword [esp + 0x20], ecx
movzx eax, byte [eax*8 + 0x102dd680]
mov edi, dword [esp + 0x14]
shl edi, 4
mov esi, dword [ebp + 0xc]
add edi, esi
mov ecx, esi
movzx edx, byte [edi + eax*2 + 0x6b8e]
movzx ebx, byte [edi + eax*2 + 0x6b80]
add ebx, edx
movzx edx, byte [edi + eax*2 + 0x6b8f]
movzx esi, byte [edi + eax*2 + 0x6b81]
add esi, edx
mov edx, 0x28
lea eax, [esp + 0x90]
push eax
push ebx
call fcn.101a4580
add esp, 8
mov ebx, eax
mov ecx, dword [ebp + 0xc]
mov edx, 0x2f
lea eax, [esp + 0x8c]
push eax
push esi
call fcn.101a4580
add esp, 8
cmp ebx, 0x80000000
je 0x1019e058
cmp eax, 0x80000000
je 0x1019e058
mov esi, ebx
mov ecx, dword [esp + 0x8c]
shl ecx, 8
mov edx, 0xffff
and ecx, edx
movzx edx, byte [esp + 0x90]
or ecx, edx
mov edx, ecx
shl edx, 0x10
or edx, ecx
mov ebx, dword [esp + 0x28]
or ebx, 0xc
mov dword [edi + ebx*2 + 0x6b90], edx
mov dword [edi + ebx*2 + 0x6b94], edx
mov dword [edi + ebx*2 + 0x6ba0], edx
mov dword [edi + ebx*2 + 0x6ba4], edx
add eax, dword [esp + 0x20]
add esi, dword [esp + 0x10]
mov ecx, 0xffff
and esi, ecx
shl eax, 0x10
or eax, esi
mov ecx, dword [esp + 0x18]
mov edx, dword [ebp + 0xc]
add ecx, edx
mov dword [ecx + ebx*4 + 0x6a00], eax
mov dword [ecx + ebx*4 + 0x6a04], eax
mov dword [ecx + ebx*4 + 0x6a08], eax
mov dword [ecx + ebx*4 + 0x6a0c], eax
mov dword [ecx + ebx*4 + 0x6a20], eax
mov dword [ecx + ebx*4 + 0x6a24], eax
mov dword [ecx + ebx*4 + 0x6a28], eax
mov dword [ecx + ebx*4 + 0x6a2c], eax
jmp 0x101a246d
mov ch, byte [eax*8 + 0x102dd680]
movzx ebx, ch
mov cl, byte [ebx + edi + 0x6b38]
mov byte [esp + 0x50], cl
mov cl, byte [ebx + edi + 0x6b3c]
mov dl, byte [ebx + edi + 0x6b3f]
mov byte [esp + 0x5c], dl
mov edx, dword [esp + 0x18]
mov esi, dword [ebp + 0xc]
add edx, esi
mov dword [esp + 0x40], edx
mov dword [esp + 0x20], ebx
and ebx, 7
cmp ebx, 4
jne 0x101a26b5
cmp ch, 0x14
jb 0x101a26b5
mov edx, dword [ebp + 8]
cmp dword [edx + 0xb1b58], 0
je 0x101a26b5
cmp cl, 0xfe
jne 0x101a26b5
mov ecx, dword [esp + 0x3c]
cmp byte [ecx - 0x10], 0xfe
je 0x101a26c5
mov ecx, dword [ebp + 8]
mov ecx, dword [ecx + 0xb1304]
mov esi, dword [ecx + 0x34]
mov ecx, dword [esp + 0x48]
mov dword [ecx], 0
mov ecx, dword [ebp + 0xc]
cmp dword [ecx + 0x5220], 0
mov ecx, dword [ecx + 0x51c8]
jne 0x101a28d6
jmp 0x101a2807
movsx ecx, cl
mov dword [esp + 0x4c], ecx
cmp cl, 0xfe
jne 0x101a2798
mov ecx, dword [esp + 0x20]
mov edx, dword [esp + 0x40]
lea edx, [edx + ecx*4]
add edx, 0x69dc
mov dword [esp + 0x54], edx
movsx ecx, byte [ecx + edi + 0x6b37]
mov dword [esp + 0x4c], ecx
mov ecx, dword [esp + 0x20]
mov edx, dword [esp + 0x40]
lea ecx, [edx + ecx*4]
add ecx, 0x69fc
mov dword [esp + 0x20], ecx
xor ecx, ecx
mov ebx, dword [esp + 0x10]
cmp dword [esp + 0x4c], ebx
sete cl
mov esi, ecx
xor ecx, ecx
cmp byte [esp + 0x50], bl
sete cl
xor edx, edx
cmp byte [esp + 0x5c], bl
sete dl
add edx, ecx
add edx, esi
cmp edx, 2
jb 0x101a2784
mov ecx, dword [esp + 0x54]
movsx ecx, word [ecx]
mov dword [esp + 0x40], ecx
mov ecx, dword [esp + 0x20]
movsx edi, word [ecx - 0x1c]
movsx edx, word [ecx]
mov ebx, edi
mov esi, dword [esp + 0x40]
cmp edx, edi
cmovg ebx, edx
cmovg edx, edi
cmp edx, esi
cmovl edx, esi
cmp ebx, edx
cmovg ebx, edx
mov dword [esp + 0x10], ebx
mov edx, dword [esp + 0x54]
movsx esi, word [edx + 2]
movsx edx, word [ecx - 0x1a]
movsx edi, word [ecx + 2]
mov ebx, edx
cmp edi, edx
cmovg ebx, edi
cmovg edi, edx
cmp edi, esi
cmovl edi, esi
cmp ebx, edi
cmovg ebx, edi
mov dword [esp + 0x20], ebx
jmp 0x101a2501
cmp edx, 1
jne 0x101a27b5
mov ecx, dword [esp + 0x10]
cmp byte [esp + 0x5c], cl
je 0x101a27d6
jmp 0x101a29a4
mov ecx, dword [esp + 0x20]
add ecx, 0xfffffffc
mov edx, dword [esp + 0x40]
lea ecx, [edx + ecx*4]
add ecx, 0x6a00
mov dword [esp + 0x54], ecx
jmp 0x101a26e6
cmp byte [esp + 0x50], 0xfe
jne 0x101a29c3
cmp dword [esp + 0x4c], 0xfffffffe
jne 0x101a29c3
cmp byte [esp + 0x5c], 0xfe
je 0x101a29c3
mov edx, dword [esp + 0x20]
movzx ecx, word [edx]
mov dword [esp + 0x10], ecx
movzx ecx, word [edx + 2]
jmp 0x101a24fd
mov eax, dword [esp + 0x38]
inc eax
mov dword [esp + 0x38], eax
mov ecx, dword [ebp + 0xc]
cmp eax, dword [ecx + 0x5850]
jb 0x101a23bb
jmp 0x1019e023
test cl, 0x80
je 0x101a26c5
mov ecx, dword [ebp + 8]
mov ecx, dword [ecx + 0xb1dd8]
mov edx, dword [ebp + 0xc]
mov ebx, dword [edx + 0x51b4]
add ebx, ecx
mov edx, dword [edx + 0x51fc]
and edx, 1
mov edi, dword [esp + 0x20]
shr edi, 5
lea edx, [edi + edx*2]
mov dword [esp + 0x58], edx
shr edx, 2
imul edx, ecx
add edx, ebx
mov ecx, dword [esp + 0x48]
mov dword [esp + 0x54], ecx
xor ecx, ecx
dec ecx
mov dword [esp + 0x4c], ecx
mov ecx, dword [esp + 0x70]
test dword [esi + edx*4], ecx
je 0x101a26e6
mov esi, dword [ebp + 8]
mov ecx, dword [esi + 0xb1304]
mov edx, dword [esp + 0x38]
mov ecx, dword [ecx + edx*4 + 0x28]
mov dword [esp + 0x4c], ecx
mov edx, dword [esi + 0xb1b48]
mov edi, dword [esi + 0xb1b50]
mov esi, dword [esp + 0x58]
imul edi, esi
add edi, dword [edx + ebx*4]
movzx edx, word [ecx + edi*4 + 0xc]
mov ecx, dword [esp + 0x48]
mov word [ecx], dx
mov ecx, dword [esp + 0x4c]
movzx ecx, word [ecx + edi*4 + 0xe]
add ecx, ecx
mov edx, dword [esp + 0x64]
mov word [edx - 0x42], cx
and esi, 0xfffffffe
lea ecx, [esi + ebx*4]
mov edx, dword [ebp + 8]
mov edx, dword [edx + 0xb1304]
mov esi, dword [esp + 0x38]
mov edx, dword [edx + esi*4 + 0x48]
mov cl, byte [edx + ecx + 1]
sar cl, 1
movsx ecx, cl
mov dword [esp + 0x4c], ecx
mov ecx, dword [esp + 0x48]
jmp 0x101a27ac
test cl, 0x80
jne 0x101a26c5
xor ecx, ecx
cmp byte [esp + 0x20], 0x24
setae cl
mov edx, dword [ebp + 0xc]
mov edx, dword [edx + ecx*4 + 0x51b4]
mov ecx, dword [esp + 0x48]
mov dword [esp + 0x54], ecx
xor ecx, ecx
dec ecx
mov dword [esp + 0x4c], ecx
mov ecx, dword [esp + 0x70]
test dword [esi + edx*4], ecx
je 0x101a26e6
mov ebx, edx
mov ecx, dword [esp + 0x20]
shr ecx, 2
mov edx, ecx
and edx, 3
mov edi, dword [ebp + 8]
mov edi, dword [edi + 0xb1304]
mov esi, dword [esp + 0x38]
mov esi, dword [edi + esi*4 + 0x28]
mov edi, dword [ebp + 8]
mov edi, dword [edi + 0xb1b48]
mov dword [esp + 0x4c], edi
mov edi, dword [ebp + 8]
imul edx, dword [edi + 0xb1b50]
mov dword [esp + 0x58], ebx
mov edi, dword [esp + 0x4c]
add edx, dword [edi + ebx*4]
movzx edi, word [esi + edx*4 + 0xc]
mov ebx, dword [esp + 0x48]
mov word [ebx], di
movzx edx, word [esi + edx*4 + 0xe]
mov edi, edx
shr edi, 0xf
add edi, edx
movsx edx, di
shr edx, 1
mov edi, dword [esp + 0x64]
mov word [edi - 0x42], dx
and ecx, 2
mov edx, dword [esp + 0x58]
lea ecx, [ecx + edx*4]
mov edx, dword [ebp + 8]
mov edx, dword [edx + 0xb1304]
mov esi, dword [esp + 0x38]
mov edx, dword [edx + esi*4 + 0x48]
movsx ecx, byte [edx + ecx + 1]
add ecx, ecx
mov dword [esp + 0x4c], ecx
mov dword [esp + 0x54], ebx
jmp 0x101a26e6
mov ecx, dword [esp + 0x10]
cmp byte [esp + 0x50], cl
jne 0x101a2a1e
mov edx, dword [esp + 0x20]
movzx ecx, word [edx - 0x1c]
mov dword [esp + 0x10], ecx
movzx ecx, word [edx - 0x1a]
jmp 0x101a24fd
mov ecx, dword [esp + 0x54]
movsx ecx, word [ecx]
mov dword [esp + 0x40], ecx
mov ecx, dword [esp + 0x20]
movsx edi, word [ecx - 0x1c]
movsx edx, word [ecx]
mov ebx, edi
mov esi, dword [esp + 0x40]
cmp edx, edi
cmovg ebx, edx
cmovg edx, edi
cmp edx, esi
cmovl edx, esi
cmp ebx, edx
cmovg ebx, edx
mov dword [esp + 0x10], ebx
mov edx, dword [esp + 0x54]
movsx esi, word [edx + 2]
movsx edx, word [ecx - 0x1a]
movsx edi, word [ecx + 2]
mov ebx, edx
cmp edi, edx
cmovg ebx, edi
cmovg edi, edx
cmp edi, esi
cmovl edi, esi
cmp ebx, edi
cmovg ebx, edi
jmp 0x101a277b
mov edx, dword [esp + 0x54]
jmp 0x101a27da
xor ecx, ecx
inc ecx
jmp 0x101a02d4
xor ebx, ebx
inc ebx
jmp 0x101a0308
xor ecx, ecx
inc ecx
jmp 0x101a0343
xor ebx, ebx
inc ebx
jmp 0x101a0377
mov ecx, dword [ebp + 8]
mov eax, dword [ecx + 0xb133c]
mov edx, dword [esp + 0x60]
mov dword [eax + edx*4], 0x800
mov esi, dword [ebp + 0xc]
mov eax, dword [esi + 0x51fc]
inc eax
mov edx, esi
push eax
push dword [esi + 0x51f8]
call fcn.101a2e20
add esp, 8
mov dword [esi + 0x5170], eax
test eax, eax
jne 0x1019e355
mov esi, dword [ebp + 0xc]
mov ecx, dword [esi + 0x5200]
mov edi, dword [ebp + 8]
mov eax, dword [edi + 0xb1dd8]
add eax, eax
sub ecx, eax
xor eax, eax
cmp dword [esi + 0x51f8], 0
setne al
and eax, dword [esi + 0x5220]
mov edx, dword [edi + 0xb133c]
mov edx, dword [edx + ecx*4]
shr edx, 7
mov edi, dword [edi + 0xb1b54]
movzx edi, word [edi + ecx*2]
xor ecx, ecx
cmp dword [esi + 0x1c], edi
sete cl
and ecx, edx
add ecx, eax
lea edx, [esi + ecx]
add edx, 0x7d82
lea ecx, [esi + 0x7d28]
call fcn.10079370
mov dword [esi + 0x5220], eax
mov dword [esi + 0x5224], eax
jmp 0x1019e355
test edx, edx
je 0x101a2b23
mov dword [esp + 0x14], 0x102dd6b4
xor eax, eax
dec eax
mov dword [esp + 0xc], eax
jmp 0x101a1a6a
test edx, edx
je 0x101a2b23
mov dword [esp + 0x10], 0x102dd6b4
xor eax, eax
dec eax
mov dword [esp + 0x24], eax
jmp 0x101a1b16
pxor xmm0, xmm0
mov eax, dword [ebp + 0xc]
movdqu xmmword [eax + 0x6a30], xmm0
movdqu xmmword [eax + 0x6a50], xmm0
movdqu xmmword [eax + 0x6a70], xmm0
movdqu xmmword [eax + 0x6a90], xmm0
jmp 0x1019e3e3
test dl, 0x80
je 0x101a1a5a
sar dword [esp + 0xc], 1
mov eax, dword [esp + 0x14]
mov edx, dword [eax]
mov dword [esp + 0x90], edx
shr edx, 0xf
and edx, 0xfffe
jmp 0x101a1a4b
mov edi, 0x102dd6b4
test edx, edx
je 0x101a2d6c
xor edx, edx
cmp dword [esp + 0x24], 0
sete dl
xor ecx, ecx
cmp dword [esp + 0xc], 0
sete cl
cmp dword [esp + 0x18], 1
adc ecx, edx
cmp ecx, 2
jb 0x101a2c6d
mov dword [esp + 0x1c], edi
movsx eax, word [edi]
mov dword [esp + 0x34], eax
mov ebx, dword [esp + 0x10]
movsx edx, word [ebx]
mov ecx, dword [esp + 0x14]
movsx edi, word [ecx]
mov esi, edx
mov eax, dword [esp + 0x34]
cmp edi, edx
cmovg esi, edi
cmovg edi, edx
cmp edi, eax
cmovl edi, eax
cmp esi, edi
cmovg esi, edi
mov eax, dword [esp + 0x1c]
movsx edx, word [eax + 2]
movsx edi, word [ebx + 2]
movsx ecx, word [ecx + 2]
mov eax, edi
cmp ecx, edi
cmovg eax, ecx
cmovg ecx, edi
cmp ecx, edx
cmovl ecx, edx
cmp eax, ecx
cmovg eax, ecx
movzx ecx, si
shl eax, 0x10
or eax, ecx
mov ecx, dword [ebp + 0xc]
mov dword [ecx + 0x6a30], eax
mov dword [ecx + 0x6a34], eax
mov dword [ecx + 0x6a38], eax
mov dword [ecx + 0x6a3c], eax
mov dword [ecx + 0x6a50], eax
mov dword [ecx + 0x6a54], eax
mov dword [ecx + 0x6a58], eax
mov dword [ecx + 0x6a5c], eax
mov dword [ecx + 0x6a70], eax
mov dword [ecx + 0x6a74], eax
mov dword [ecx + 0x6a78], eax
mov dword [ecx + 0x6a7c], eax
mov dword [ecx + 0x6a90], eax
mov dword [ecx + 0x6a94], eax
mov dword [ecx + 0x6a98], eax
mov dword [ecx + 0x6a9c], eax
jmp 0x1019e3e3
cmp ecx, 1
jne 0x101a2c94
cmp dword [esp + 0xc], 0
je 0x101a2df0
cmp dword [esp + 0x24], 0
je 0x101a2e00
movzx esi, word [edi]
movzx eax, word [edi + 2]
jmp 0x101a2bfd
mov dword [esp + 0x1c], edi
movsx eax, word [edi]
mov dword [esp + 0x34], eax
mov ebx, dword [esp + 0x10]
movsx ecx, word [ebx]
mov edi, dword [esp + 0x14]
movsx edx, word [edi]
mov esi, ecx
mov eax, dword [esp + 0x34]
cmp edx, ecx
cmovg esi, edx
cmovg edx, ecx
cmp edx, eax
cmovl edx, eax
cmp esi, edx
cmovg esi, edx
mov eax, dword [esp + 0x1c]
movsx ecx, word [eax + 2]
movsx edx, word [ebx + 2]
movsx edi, word [edi + 2]
mov eax, edx
cmp edi, edx
cmovg eax, edi
cmovg edi, edx
cmp edi, ecx
cmovl edi, ecx
cmp eax, edi
cmovg eax, edi
jmp 0x101a2bfd
movzx eax, word [edi + 4]
mov dword [esp + 0x10], eax
movzx eax, word [edi + 6]
jmp 0x101a1631
mov ecx, dword [esp + 0x24]
movzx eax, word [ecx]
mov dword [esp + 0x10], eax
movzx eax, word [ecx + 2]
jmp 0x101a1631
test dl, 0x80
je 0x101a1b06
sar dword [esp + 0x24], 1
mov eax, dword [esp + 0x10]
mov edx, dword [eax]
mov dword [esp + 0x94], edx
shr edx, 0xf
and edx, 0xfffe
jmp 0x101a1af7
mov ecx, dword [ebp + 0xc]
mov edx, 0x20
jmp 0x101a1929
test dl, 0x80
je 0x101a2b84
sar dword [esp + 0x18], 1
mov ecx, dword [edi]
mov dword [esp + 0x98], ecx
shr ecx, 0xf
and ecx, 0xfffe
jmp 0x101a1ba3
mov eax, dword [ebp + 0xc]
mov eax, dword [eax + 0x51bc]
mov dword [esp + 0x28], eax
test eax, 0x3000
je 0x101a2b84
mov esi, dword [ebp + 0xc]
mov eax, dword [esi + 0x51d4]
mov edx, dword [esp + 0x44]
lea ecx, [edx + edx]
and ecx, eax
add ecx, edx
mov edx, dword [esi + 0x51a8]
mov ebx, dword [ebp + 8]
mov edi, dword [ebx + 0xb1b48]
add ecx, dword [edi + edx*4]
and eax, 2
lea eax, [eax + edx*4]
mov edx, dword [esp + 0x34]
movsx eax, byte [edx + eax + 1]
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0x1c]
lea edi, [eax + ecx*4]
add edi, 0xc
cmp dword [ebx + 0xb1b58], 0
je 0x101a2b84
mov eax, dword [ebp + 0xc]
cmp dword [eax + 0x5220], 0
je 0x101a2e06
test byte [esp + 0x28], 0x80
je 0x101a1b81
jmp 0x101a2b84
mov eax, dword [esp + 0x14]
movzx esi, word [eax]
movzx eax, word [eax + 2]
jmp 0x101a2bfd
mov eax, dword [esp + 0x10]
jmp 0x101a2df4
test byte [esp + 0x28], 0x80
je 0x101a2b84
jmp 0x101a2d51