41c005:	3b 47 50             	cmp    0x50(%edi),%eax
41c008:	75 07                	jne    0x41c011
41c00a:	8b 5f 60             	mov    0x60(%edi),%ebx
41c00d:	d1 eb                	shr    $1,%ebx
41c00f:	eb da                	jmp    0x41bfeb
41c011:	6a 0a                	push   $0xa
41c013:	59                   	pop    %ecx
41c014:	66 39 08             	cmp    %cx,(%eax)
41c017:	eb df                	jmp    0x41bff8
41c019:	8b cf                	mov    %edi,%ecx
41c01b:	e8 ba f5 ff ff       	call   0x41b5da
41c020:	8b 4e 08             	mov    0x8(%esi),%ecx
41c023:	33 d2                	xor    %edx,%edx
41c025:	42                   	inc    %edx
41c026:	23 ca                	and    %edx,%ecx
41c028:	3a c1                	cmp    %cl,%al
41c02a:	0f 94 c3             	sete   %bl
41c02d:	eb cc                	jmp    0x41bffb
41c02f:	8b 07                	mov    (%edi),%eax
41c031:	3b 47 50             	cmp    0x50(%edi),%eax
41c034:	74 19                	je     0x41c04f
41c036:	0f b7 08             	movzwl (%eax),%ecx
41c039:	66 3b 4d ec          	cmp    -0x14(%ebp),%cx
41c03d:	74 10                	je     0x41c04f
41c03f:	66 3b 4d e8          	cmp    -0x18(%ebp),%cx
41c043:	74 0a                	je     0x41c04f
41c045:	83 c0 02             	add    $0x2,%eax
41c048:	89 07                	mov    %eax,(%edi)
41c04a:	e9 b6 00 00 00       	jmp    0x41c105
41c04f:	8a da                	mov    %dl,%bl
41c051:	eb a8                	jmp    0x41bffb
41c053:	ff 77 5c             	push   0x5c(%edi)
41c056:	8b 4e 1c             	mov    0x1c(%esi),%ecx
41c059:	8b 46 18             	mov    0x18(%esi),%eax
41c05c:	ff 77 70             	push   0x70(%edi)
41c05f:	8d 04 41             	lea    (%ecx,%eax,2),%eax
41c062:	50                   	push   %eax
41c063:	51                   	push   %ecx
41c064:	ff 77 50             	push   0x50(%edi)
41c067:	8d 45 e0             	lea    -0x20(%ebp),%eax
41c06a:	ff 37                	push   (%edi)
41c06c:	50                   	push   %eax
41c06d:	e8 47 6f fe ff       	call   0x402fb9
41c072:	83 c4 1c             	add    $0x1c,%esp
41c075:	8b 00                	mov    (%eax),%eax
41c077:	3b 07                	cmp    (%edi),%eax
41c079:	75 cd                	jne    0x41c048
41c07b:	33 d2                	xor    %edx,%edx
41c07d:	8d 5a 01             	lea    0x1(%edx),%ebx
41c080:	e9 76 ff ff ff       	jmp    0x41bffb
41c085:	8b 07                	mov    (%edi),%eax
41c087:	3b 47 50             	cmp    0x50(%edi),%eax
41c08a:	0f 84 0f 02 00 00    	je     0x41c29f
41c090:	56                   	push   %esi
41c091:	8b cf                	mov    %edi,%ecx
41c093:	e8 bc c2 ff ff       	call   0x418354
41c098:	84 c0                	test   %al,%al
41c09a:	0f 84 fc 01 00 00    	je     0x41c29c
41c0a0:	32 db                	xor    %bl,%bl
41c0a2:	89 5d f0             	mov    %ebx,-0x10(%ebp)
41c0a5:	eb 66                	jmp    0x41c10d
41c0a7:	8b 37                	mov    (%edi),%esi
41c0a9:	83 f9 0b             	cmp    $0xb,%ecx
41c0ac:	57                   	push   %edi
41c0ad:	8d 4d c8             	lea    -0x38(%ebp),%ecx
41c0b0:	0f 94 c3             	sete   %bl
41c0b3:	e8 6d e7 fe ff       	call   0x40a825
41c0b8:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
41c0bc:	8b cf                	mov    %edi,%ecx
41c0be:	8b 45 08             	mov    0x8(%ebp),%eax
41c0c1:	ff 70 14             	push   0x14(%eax)
41c0c4:	e8 9d fe ff ff       	call   0x41bf66
41c0c9:	3a c3                	cmp    %bl,%al
41c0cb:	75 1b                	jne    0x41c0e8
41c0cd:	8b 45 c8             	mov    -0x38(%ebp),%eax
41c0d0:	8d 4f 04             	lea    0x4(%edi),%ecx
41c0d3:	89 07                	mov    %eax,(%edi)
41c0d5:	8d 45 cc             	lea    -0x34(%ebp),%eax
41c0d8:	50                   	push   %eax
41c0d9:	e8 81 3b ff ff       	call   0x40fc5f
41c0de:	33 d2                	xor    %edx,%edx
41c0e0:	8d 5a 01             	lea    0x1(%edx),%ebx
41c0e3:	89 5d f0             	mov    %ebx,-0x10(%ebp)
41c0e6:	eb 05                	jmp    0x41c0ed
41c0e8:	8b 5d f0             	mov    -0x10(%ebp),%ebx
41c0eb:	89 37                	mov    %esi,(%edi)
41c0ed:	83 4d fc ff          	orl    $0xffffffff,-0x4(%ebp)
41c0f1:	8d 45 cc             	lea    -0x34(%ebp),%eax
41c0f4:	89 45 e4             	mov    %eax,-0x1c(%ebp)
41c0f7:	83 4d fc ff          	orl    $0xffffffff,-0x4(%ebp)
41c0fb:	8b c8                	mov    %eax,%ecx
41c0fd:	e8 96 0f 00 00       	call   0x41d098
41c102:	8b 75 08             	mov    0x8(%ebp),%esi
41c105:	84 db                	test   %bl,%bl
41c107:	0f 85 9b 01 00 00    	jne    0x41c2a8
41c10d:	85 f6                	test   %esi,%esi
41c10f:	0f 84 93 01 00 00    	je     0x41c2a8
41c115:	8b 76 0c             	mov    0xc(%esi),%esi
41c118:	89 75 08             	mov    %esi,0x8(%ebp)
41c11b:	85 f6                	test   %esi,%esi
41c11d:	0f 84 85 01 00 00    	je     0x41c2a8
41c123:	e9 97 fe ff ff       	jmp    0x41bfbf
41c128:	8b 56 14             	mov    0x14(%esi),%edx
41c12b:	8b 4f 14             	mov    0x14(%edi),%ecx
41c12e:	8b 07                	mov    (%edi),%eax
41c130:	89 04 d1             	mov    %eax,(%ecx,%edx,8)
41c133:	8b 47 10             	mov    0x10(%edi),%eax
41c136:	39 46 14             	cmp    %eax,0x14(%esi)
41c139:	73 ca                	jae    0x41c105
41c13b:	8b 5d 08             	mov    0x8(%ebp),%ebx
41c13e:	8b 57 04             	mov    0x4(%edi),%edx
41c141:	48                   	dec    %eax
41c142:	8b f0                	mov    %eax,%esi
41c144:	89 45 e4             	mov    %eax,-0x1c(%ebp)
41c147:	c1 ee 05             	shr    $0x5,%esi
41c14a:	8b c8                	mov    %eax,%ecx
41c14c:	83 e1 1f             	and    $0x1f,%ecx
41c14f:	8b 04 b2             	mov    (%edx,%esi,4),%eax
41c152:	0f b3 c8             	btr    %ecx,%eax
41c155:	89 04 b2             	mov    %eax,(%edx,%esi,4)
41c158:	8b 45 e4             	mov    -0x1c(%ebp),%eax
41c15b:	39 43 14             	cmp    %eax,0x14(%ebx)
41c15e:	72 de                	jb     0x41c13e
41c160:	8b 5d f0             	mov    -0x10(%ebp),%ebx
41c163:	eb 9d                	jmp    0x41c102
41c165:	80 7f 65 00          	cmpb   $0x0,0x65(%edi)
41c169:	8b 46 14             	mov    0x14(%esi),%eax
41c16c:	89 45 e4             	mov    %eax,-0x1c(%ebp)
41c16f:	75 06                	jne    0x41c177
41c171:	83 78 14 00          	cmpl   $0x0,0x14(%eax)
41c175:	74 8e                	je     0x41c105
41c177:	8b 70 14             	mov    0x14(%eax),%esi
41c17a:	8b d6                	mov    %esi,%edx
41c17c:	8b 4f 04             	mov    0x4(%edi),%ecx
41c17f:	83 e6 1f             	and    $0x1f,%esi
41c182:	c1 ea 05             	shr    $0x5,%edx
41c185:	8b 04 91             	mov    (%ecx,%edx,4),%eax
41c188:	0f ab f0             	bts    %esi,%eax
41c18b:	89 04 91             	mov    %eax,(%ecx,%edx,4)
41c18e:	8b 55 e4             	mov    -0x1c(%ebp),%edx
41c191:	8b 4f 14             	mov    0x14(%edi),%ecx
41c194:	8b 07                	mov    (%edi),%eax
41c196:	8b 52 14             	mov    0x14(%edx),%edx
41c199:	89 44 d1 04          	mov    %eax,0x4(%ecx,%edx,8)
41c19d:	e9 60 ff ff ff       	jmp    0x41c102
41c1a2:	8b 46 14             	mov    0x14(%esi),%eax
41c1a5:	8b f0                	mov    %eax,%esi
41c1a7:	8b 57 04             	mov    0x4(%edi),%edx
41c1aa:	8b c8                	mov    %eax,%ecx
41c1ac:	89 45 e4             	mov    %eax,-0x1c(%ebp)
41c1af:	83 e1 1f             	and    $0x1f,%ecx
41c1b2:	33 c0                	xor    %eax,%eax
41c1b4:	c1 ee 05             	shr    $0x5,%esi
41c1b7:	40                   	inc    %eax
41c1b8:	d3 e0                	shl    %cl,%eax
41c1ba:	85 04 b2             	test   %eax,(%edx,%esi,4)
41c1bd:	0f 84 3f ff ff ff    	je     0x41c102
41c1c3:	8b 57 14             	mov    0x14(%edi),%edx
41c1c6:	8b 75 e4             	mov    -0x1c(%ebp),%esi
41c1c9:	8b 07                	mov    (%edi),%eax
41c1cb:	8b 4c f2 04          	mov    0x4(%edx,%esi,8),%ecx
41c1cf:	39 0c f2             	cmp    %ecx,(%edx,%esi,8)
41c1d2:	74 24                	je     0x41c1f8
41c1d4:	ff 77 5c             	push   0x5c(%edi)
41c1d7:	ff 77 70             	push   0x70(%edi)
41c1da:	51                   	push   %ecx
41c1db:	ff 34 f2             	push   (%edx,%esi,8)
41c1de:	ff 77 50             	push   0x50(%edi)
41c1e1:	50                   	push   %eax
41c1e2:	8d 45 dc             	lea    -0x24(%ebp),%eax
41c1e5:	50                   	push   %eax
41c1e6:	e8 3f 6e fe ff       	call   0x40302a
41c1eb:	83 c4 1c             	add    $0x1c,%esp
41c1ee:	8b 00                	mov    (%eax),%eax
41c1f0:	3b 07                	cmp    (%edi),%eax
41c1f2:	0f 84 ab 00 00 00    	je     0x41c2a3
41c1f8:	89 07                	mov    %eax,(%edi)
41c1fa:	e9 03 ff ff ff       	jmp    0x41c102
41c1ff:	56                   	push   %esi
41c200:	8b cf                	mov    %edi,%ecx
41c202:	e8 d6 c7 ff ff       	call   0x4189dd
41c207:	84 c0                	test   %al,%al
41c209:	0f b6 db             	movzbl %bl,%ebx
41c20c:	6a 01                	push   $0x1
41c20e:	58                   	pop    %eax
41c20f:	0f 44 d8             	cmove  %eax,%ebx
41c212:	89 5d f0             	mov    %ebx,-0x10(%ebp)
41c215:	33 f6                	xor    %esi,%esi
41c217:	e9 e9 fe ff ff       	jmp    0x41c105
41c21c:	8b 46 08             	mov    0x8(%esi),%eax
41c21f:	d1 e8                	shr    $1,%eax
41c221:	22 c2                	and    %dl,%al
41c223:	6a 00                	push   $0x0
41c225:	0f b6 c0             	movzbl %al,%eax
41c228:	50                   	push   %eax
41c229:	56                   	push   %esi
41c22a:	8b cf                	mov    %edi,%ecx
41c22c:	e8 72 cf ff ff       	call   0x4191a3
41c231:	eb d4                	jmp    0x41c207
41c233:	8b 4e 14             	mov    0x14(%esi),%ecx
41c236:	8b 57 40             	mov    0x40(%edi),%edx
41c239:	83 79 24 00          	cmpl   $0x0,0x24(%ecx)
41c23d:	8b 41 20             	mov    0x20(%ecx),%eax
41c240:	75 d3                	jne    0x41c215
41c242:	ff 34 c2             	push   (%edx,%eax,8)
41c245:	8b 41 08             	mov    0x8(%ecx),%eax
41c248:	33 d2                	xor    %edx,%edx
41c24a:	d1 e8                	shr    $1,%eax
41c24c:	42                   	inc    %edx
41c24d:	22 c2                	and    %dl,%al
41c24f:	0f b6 c0             	movzbl %al,%eax
41c252:	50                   	push   %eax
41c253:	51                   	push   %ecx
41c254:	eb d4                	jmp    0x41c22a
41c256:	f7 47 60 20 20 00 00 	testl  $0x2020,0x60(%edi)
41c25d:	74 07                	je     0x41c266
41c25f:	8b 47 4c             	mov    0x4c(%edi),%eax
41c262:	3b 07                	cmp    (%edi),%eax
41c264:	74 0d                	je     0x41c273
41c266:	80 7f 74 00          	cmpb   $0x0,0x74(%edi)
41c26a:	74 0b                	je     0x41c277
41c26c:	8b 07                	mov    (%edi),%eax
41c26e:	3b 47 50             	cmp    0x50(%edi),%eax
41c271:	74 04                	je     0x41c277
41c273:	8a da                	mov    %dl,%bl
41c275:	eb 9b                	jmp    0x41c212
41c277:	80 7f 64 00          	cmpb   $0x0,0x64(%edi)
41c27b:	74 0b                	je     0x41c288
41c27d:	8b cf                	mov    %edi,%ecx
41c27f:	e8 c6 a6 ff ff       	call   0x41694a
41c284:	84 c0                	test   %al,%al
41c286:	74 8d                	je     0x41c215
41c288:	57                   	push   %edi
41c289:	8d 4f 20             	lea    0x20(%edi),%ecx
41c28c:	e8 cd 33 ff ff       	call   0x40f65e
41c291:	33 c0                	xor    %eax,%eax
41c293:	40                   	inc    %eax
41c294:	88 47 64             	mov    %al,0x64(%edi)
41c297:	e9 79 ff ff ff       	jmp    0x41c215
41c29c:	33 d2                	xor    %edx,%edx
41c29e:	42                   	inc    %edx
41c29f:	8a da                	mov    %dl,%bl
41c2a1:	eb 05                	jmp    0x41c2a8
41c2a3:	33 c0                	xor    %eax,%eax
41c2a5:	8d 58 01             	lea    0x1(%eax),%ebx
41c2a8:	8b 4f 7c             	mov    0x7c(%edi),%ecx
41c2ab:	85 c9                	test   %ecx,%ecx
41c2ad:	7e 06                	jle    0x41c2b5
41c2af:	8d 41 01             	lea    0x1(%ecx),%eax
41c2b2:	89 47 7c             	mov    %eax,0x7c(%edi)
41c2b5:	84 db                	test   %bl,%bl
41c2b7:	0f 94 c0             	sete   %al
41c2ba:	e8 54 37 02 00       	call   0x43fa13
41c2bf:	c2 04 00             	ret    $0x4
41c2c2:	6a 0d                	push   $0xd
41c2c4:	58                   	pop    %eax
41c2c5:	50                   	push   %eax
41c2c6:	eb 02                	jmp    0x41c2ca
41c2c8:	6a 0c                	push   $0xc
41c2ca:	e8 71 9a 00 00       	call   0x425d40
41c2cf:	0f 1f 00             	nopl   (%eax)
41c2d2:	05 c1 41 00 d8       	add    $0xd80041c1,%eax
41c2d7:	bf 41 00 03 c0       	mov    $0xc0030041,%edi
41c2dc:	41                   	inc    %ecx
41c2dd:	00 19                	add    %bl,(%ecx)
41c2df:	c0 41 00 2f          	rolb   $0x2f,0x0(%ecx)
41c2e3:	c0 41 00 53          	rolb   $0x53,0x0(%ecx)
41c2e7:	c0 41 00 85          	rolb   $0x85,0x0(%ecx)
41c2eb:	c0 41 00 05          	rolb   $0x5,0x0(%ecx)
41c2ef:	c1 41 00 05          	roll   $0x5,0x0(%ecx)
41c2f3:	c1 41 00 a7          	roll   $0xa7,0x0(%ecx)
41c2f7:	c0 41 00 a7          	rolb   $0xa7,0x0(%ecx)
41c2fb:	c0 41 00 15          	rolb   $0x15,0x0(%ecx)
41c2ff:	c2 41 00             	ret    $0x41
41c302:	28 c1                	sub    %al,%cl
41c304:	41                   	inc    %ecx
41c305:	00 65 c1             	add    %ah,-0x3f(%ebp)
41c308:	41                   	inc    %ecx
41c309:	00 a2 c1 41 00 ff    	add    %ah,-0xffbe3f(%edx)
41c30f:	c1 41 00 05          	roll   $0x5,0x0(%ecx)
41c313:	c1 41 00 1c          	roll   $0x1c,0x0(%ecx)
41c317:	c2 41 00             	ret    $0x41
41c31a:	33 c2                	xor    %edx,%eax
41c31c:	41                   	inc    %ecx
41c31d:	00 05 c1 41 00 56    	add    %al,0x560041c1
41c323:	c2 41 00             	ret    $0x41
41c326:	55                   	push   %ebp
41c327:	8b ec                	mov    %esp,%ebp
41c329:	8b 45 08             	mov    0x8(%ebp),%eax
41c32c:	c7 00 ec 63 49 00    	movl   $0x4963ec,(%eax)
41c332:	5d                   	pop    %ebp
41c333:	c2 04 00             	ret    $0x4
41c336:	6a 04                	push   $0x4
41c338:	b8 23 f9 48 00       	mov    $0x48f923,%eax
41c33d:	e8 08 37 02 00       	call   0x43fa4a
41c342:	8b f1                	mov    %ecx,%esi
41c344:	6a 14                	push   $0x14
41c346:	e8 58 2f 02 00       	call   0x43f2a3
41c34b:	59                   	pop    %ecx
41c34c:	89 45 f0             	mov    %eax,-0x10(%ebp)
41c34f:	33 d2                	xor    %edx,%edx
41c351:	89 55 fc             	mov    %edx,-0x4(%ebp)
41c354:	85 c0                	test   %eax,%eax
41c356:	74 17                	je     0x41c36f
41c358:	8b 4d 08             	mov    0x8(%ebp),%ecx
41c35b:	c7 00 7c 4b 49 00    	movl   $0x494b7c,(%eax)
41c361:	89 48 04             	mov    %ecx,0x4(%eax)
41c364:	89 50 08             	mov    %edx,0x8(%eax)
41c367:	89 50 0c             	mov    %edx,0xc(%eax)
41c36a:	89 50 10             	mov    %edx,0x10(%eax)
41c36d:	eb 02                	jmp    0x41c371
41c36f:	8b c2                	mov    %edx,%eax
41c371:	83 4d fc ff          	orl    $0xffffffff,-0x4(%ebp)
41c375:	8b ce                	mov    %esi,%ecx
41c377:	50                   	push   %eax
41c378:	e8 d4 f2 ff ff       	call   0x41b651
41c37d:	e8 91 36 02 00       	call   0x43fa13
41c382:	c2 04 00             	ret    $0x4
41c385:	6a 04                	push   $0x4
41c387:	b8 4b f9 48 00       	mov    $0x48f94b,%eax
41c38c:	e8 b9 36 02 00       	call   0x43fa4a
41c391:	8b f1                	mov    %ecx,%esi
41c393:	6a 14                	push   $0x14
41c395:	e8 09 2f 02 00       	call   0x43f2a3
41c39a:	59                   	pop    %ecx
41c39b:	89 45 f0             	mov    %eax,-0x10(%ebp)
41c39e:	33 d2                	xor    %edx,%edx
41c3a0:	89 55 fc             	mov    %edx,-0x4(%ebp)
41c3a3:	85 c0                	test   %eax,%eax
41c3a5:	74 17                	je     0x41c3be
41c3a7:	8b 4d 08             	mov    0x8(%ebp),%ecx
41c3aa:	c7 00 7c 4b 49 00    	movl   $0x494b7c,(%eax)
41c3b0:	89 48 04             	mov    %ecx,0x4(%eax)
41c3b3:	89 50 08             	mov    %edx,0x8(%eax)
41c3b6:	89 50 0c             	mov    %edx,0xc(%eax)
41c3b9:	89 50 10             	mov    %edx,0x10(%eax)
41c3bc:	eb 02                	jmp    0x41c3c0
41c3be:	8b c2                	mov    %edx,%eax
41c3c0:	83 4d fc ff          	orl    $0xffffffff,-0x4(%ebp)
41c3c4:	8b ce                	mov    %esi,%ecx
41c3c6:	50                   	push   %eax
41c3c7:	e8 ba f2 ff ff       	call   0x41b686
41c3cc:	e8 42 36 02 00       	call   0x43fa13
41c3d1:	c2 04 00             	ret    $0x4
41c3d4:	56                   	push   %esi
41c3d5:	8b f1                	mov    %ecx,%esi
41c3d7:	57                   	push   %edi
41c3d8:	8b 3e                	mov    (%esi),%edi
41c3da:	3b 7e 08             	cmp    0x8(%esi),%edi
41c3dd:	74 1a                	je     0x41c3f9