411217:	72 11                	jb     0x41122a
411219:	e8 42 4d 08 00       	call   0x495f60
41121e:	83 c4 04             	add    $0x4,%esp
411221:	8b c3                	mov    %ebx,%eax
411223:	5f                   	pop    %edi
411224:	5e                   	pop    %esi
411225:	5b                   	pop    %ebx
411226:	8b e5                	mov    %ebp,%esp
411228:	5d                   	pop    %ebp
411229:	c3                   	ret
41122a:	e8 53 84 06 00       	call   0x479682
41122f:	83 c4 04             	add    $0x4,%esp
411232:	8b c3                	mov    %ebx,%eax
411234:	5f                   	pop    %edi
411235:	5e                   	pop    %esi
411236:	5b                   	pop    %ebx
411237:	8b e5                	mov    %ebp,%esp
411239:	5d                   	pop    %ebp
41123a:	c3                   	ret
41123b:	cc                   	int3
41123c:	cc                   	int3
41123d:	cc                   	int3
41123e:	cc                   	int3
41123f:	cc                   	int3
411240:	55                   	push   %ebp
411241:	8b ec                	mov    %esp,%ebp
411243:	ff 75 0c             	push   0xc(%ebp)
411246:	33 d2                	xor    %edx,%edx
411248:	b8 04 00 00 00       	mov    $0x4,%eax
41124d:	39 51 38             	cmp    %edx,0x38(%ecx)
411250:	0f 45 c2             	cmovne %edx,%eax
411253:	0b 41 0c             	or     0xc(%ecx),%eax
411256:	0b 45 08             	or     0x8(%ebp),%eax
411259:	50                   	push   %eax
41125a:	e8 11 a9 ff ff       	call   0x40bb70
41125f:	5d                   	pop    %ebp
411260:	c2 08 00             	ret    $0x8
411263:	cc                   	int3
411264:	cc                   	int3
411265:	cc                   	int3
411266:	cc                   	int3
411267:	cc                   	int3
411268:	cc                   	int3
411269:	cc                   	int3
41126a:	cc                   	int3
41126b:	cc                   	int3
41126c:	cc                   	int3
41126d:	cc                   	int3
41126e:	cc                   	int3
41126f:	cc                   	int3
411270:	55                   	push   %ebp
411271:	8b ec                	mov    %esp,%ebp
411273:	83 ec 18             	sub    $0x18,%esp
411276:	8b 45 08             	mov    0x8(%ebp),%eax
411279:	8b 55 10             	mov    0x10(%ebp),%edx
41127c:	53                   	push   %ebx
41127d:	8b d9                	mov    %ecx,%ebx
41127f:	89 45 fc             	mov    %eax,-0x4(%ebp)
411282:	8b 4d 14             	mov    0x14(%ebp),%ecx
411285:	56                   	push   %esi
411286:	8b 75 0c             	mov    0xc(%ebp),%esi
411289:	57                   	push   %edi
41128a:	8b 7b 10             	mov    0x10(%ebx),%edi
41128d:	89 55 f0             	mov    %edx,-0x10(%ebp)
411290:	89 4d ec             	mov    %ecx,-0x14(%ebp)
411293:	3b f8                	cmp    %eax,%edi
411295:	0f 82 65 01 00 00    	jb     0x411400
41129b:	8b c7                	mov    %edi,%eax
41129d:	2b 45 fc             	sub    -0x4(%ebp),%eax
4112a0:	3b c6                	cmp    %esi,%eax
4112a2:	0f 42 f0             	cmovb  %eax,%esi
4112a5:	89 75 f4             	mov    %esi,-0xc(%ebp)
4112a8:	3b f1                	cmp    %ecx,%esi
4112aa:	75 28                	jne    0x4112d4
4112ac:	83 7b 14 08          	cmpl   $0x8,0x14(%ebx)
4112b0:	8b f3                	mov    %ebx,%esi
4112b2:	72 02                	jb     0x4112b6
4112b4:	8b 33                	mov    (%ebx),%esi
4112b6:	8b 45 fc             	mov    -0x4(%ebp),%eax
4112b9:	03 c9                	add    %ecx,%ecx
4112bb:	51                   	push   %ecx
4112bc:	52                   	push   %edx
4112bd:	8d 0c 46             	lea    (%esi,%eax,2),%ecx
4112c0:	51                   	push   %ecx
4112c1:	e8 5a a3 05 00       	call   0x46b620
4112c6:	83 c4 0c             	add    $0xc,%esp
4112c9:	8b c3                	mov    %ebx,%eax
4112cb:	5f                   	pop    %edi
4112cc:	5e                   	pop    %esi
4112cd:	5b                   	pop    %ebx
4112ce:	8b e5                	mov    %ebp,%esp
4112d0:	5d                   	pop    %ebp
4112d1:	c2 10 00             	ret    $0x10
4112d4:	8b c7                	mov    %edi,%eax
4112d6:	2b c6                	sub    %esi,%eax
4112d8:	2b 45 fc             	sub    -0x4(%ebp),%eax
4112db:	89 45 e8             	mov    %eax,-0x18(%ebp)
4112de:	8b c1                	mov    %ecx,%eax
4112e0:	2b c6                	sub    %esi,%eax
4112e2:	89 45 f8             	mov    %eax,-0x8(%ebp)
4112e5:	3b ce                	cmp    %esi,%ecx
4112e7:	73 49                	jae    0x411332
4112e9:	03 c7                	add    %edi,%eax
4112eb:	8b f3                	mov    %ebx,%esi
4112ed:	89 43 10             	mov    %eax,0x10(%ebx)
4112f0:	83 7b 14 08          	cmpl   $0x8,0x14(%ebx)
4112f4:	72 02                	jb     0x4112f8
4112f6:	8b 33                	mov    (%ebx),%esi
4112f8:	8b 45 fc             	mov    -0x4(%ebp),%eax
4112fb:	8d 3c 46             	lea    (%esi,%eax,2),%edi
4112fe:	8d 34 09             	lea    (%ecx,%ecx,1),%esi
411301:	56                   	push   %esi
411302:	52                   	push   %edx
411303:	57                   	push   %edi
411304:	e8 17 a3 05 00       	call   0x46b620
411309:	8b 45 e8             	mov    -0x18(%ebp),%eax
41130c:	8d 04 45 02 00 00 00 	lea    0x2(,%eax,2),%eax
411313:	50                   	push   %eax
411314:	8b 45 f4             	mov    -0xc(%ebp),%eax
411317:	8d 04 47             	lea    (%edi,%eax,2),%eax
41131a:	50                   	push   %eax
41131b:	8d 04 3e             	lea    (%esi,%edi,1),%eax
41131e:	50                   	push   %eax
41131f:	e8 fc a2 05 00       	call   0x46b620
411324:	83 c4 18             	add    $0x18,%esp
411327:	8b c3                	mov    %ebx,%eax
411329:	5f                   	pop    %edi
41132a:	5e                   	pop    %esi
41132b:	5b                   	pop    %ebx
41132c:	8b e5                	mov    %ebp,%esp
41132e:	5d                   	pop    %ebp
41132f:	c2 10 00             	ret    $0x10
411332:	8b 43 14             	mov    0x14(%ebx),%eax
411335:	2b c7                	sub    %edi,%eax
411337:	39 45 f8             	cmp    %eax,-0x8(%ebp)
41133a:	0f 87 a0 00 00 00    	ja     0x4113e0
411340:	8b 45 f8             	mov    -0x8(%ebp),%eax
411343:	03 c7                	add    %edi,%eax
411345:	89 5d f4             	mov    %ebx,-0xc(%ebp)
411348:	83 7b 14 08          	cmpl   $0x8,0x14(%ebx)
41134c:	89 43 10             	mov    %eax,0x10(%ebx)
41134f:	72 05                	jb     0x411356
411351:	8b 03                	mov    (%ebx),%eax
411353:	89 45 f4             	mov    %eax,-0xc(%ebp)
411356:	8b 45 fc             	mov    -0x4(%ebp),%eax
411359:	8b 55 f4             	mov    -0xc(%ebp),%edx
41135c:	8d 04 42             	lea    (%edx,%eax,2),%eax
41135f:	8b 55 f0             	mov    -0x10(%ebp),%edx
411362:	89 45 fc             	mov    %eax,-0x4(%ebp)
411365:	8d 34 70             	lea    (%eax,%esi,2),%esi
411368:	8d 04 4a             	lea    (%edx,%ecx,2),%eax
41136b:	3b 45 fc             	cmp    -0x4(%ebp),%eax
41136e:	76 1a                	jbe    0x41138a
411370:	8b 45 f4             	mov    -0xc(%ebp),%eax
411373:	8d 04 78             	lea    (%eax,%edi,2),%eax
411376:	3b d0                	cmp    %eax,%edx
411378:	77 10                	ja     0x41138a
41137a:	3b f2                	cmp    %edx,%esi
41137c:	77 04                	ja     0x411382
41137e:	33 ff                	xor    %edi,%edi
411380:	eb 0a                	jmp    0x41138c
411382:	8b fe                	mov    %esi,%edi
411384:	2b fa                	sub    %edx,%edi
411386:	d1 ff                	sar    $1,%edi
411388:	eb 02                	jmp    0x41138c
41138a:	8b f9                	mov    %ecx,%edi
41138c:	8b 45 e8             	mov    -0x18(%ebp),%eax
41138f:	8d 04 45 02 00 00 00 	lea    0x2(,%eax,2),%eax
411396:	50                   	push   %eax
411397:	8b 45 f8             	mov    -0x8(%ebp),%eax
41139a:	56                   	push   %esi
41139b:	8d 04 46             	lea    (%esi,%eax,2),%eax
41139e:	50                   	push   %eax
41139f:	e8 7c a2 05 00       	call   0x46b620
4113a4:	8d 34 3f             	lea    (%edi,%edi,1),%esi
4113a7:	56                   	push   %esi
4113a8:	ff 75 f0             	push   -0x10(%ebp)
4113ab:	ff 75 fc             	push   -0x4(%ebp)
4113ae:	e8 6d a2 05 00       	call   0x46b620
4113b3:	8b 45 ec             	mov    -0x14(%ebp),%eax
4113b6:	8b 4d f0             	mov    -0x10(%ebp),%ecx
4113b9:	2b c7                	sub    %edi,%eax
4113bb:	03 c0                	add    %eax,%eax
4113bd:	50                   	push   %eax
4113be:	8b 45 f8             	mov    -0x8(%ebp),%eax
4113c1:	03 c7                	add    %edi,%eax
4113c3:	8d 04 41             	lea    (%ecx,%eax,2),%eax
4113c6:	50                   	push   %eax
4113c7:	8b 45 fc             	mov    -0x4(%ebp),%eax
4113ca:	03 c6                	add    %esi,%eax
4113cc:	50                   	push   %eax
4113cd:	e8 4e a2 05 00       	call   0x46b620
4113d2:	83 c4 24             	add    $0x24,%esp
4113d5:	8b c3                	mov    %ebx,%eax
4113d7:	5f                   	pop    %edi
4113d8:	5e                   	pop    %esi
4113d9:	5b                   	pop    %ebx
4113da:	8b e5                	mov    %ebp,%esp
4113dc:	5d                   	pop    %ebp
4113dd:	c2 10 00             	ret    $0x10
4113e0:	51                   	push   %ecx
4113e1:	52                   	push   %edx
4113e2:	56                   	push   %esi
4113e3:	ff 75 fc             	push   -0x4(%ebp)
4113e6:	c6 45 ec 00          	movb   $0x0,-0x14(%ebp)
4113ea:	8b cb                	mov    %ebx,%ecx
4113ec:	ff 75 ec             	push   -0x14(%ebp)
4113ef:	ff 75 f8             	push   -0x8(%ebp)
4113f2:	e8 39 06 00 00       	call   0x411a30
4113f7:	5f                   	pop    %edi
4113f8:	5e                   	pop    %esi
4113f9:	5b                   	pop    %ebx
4113fa:	8b e5                	mov    %ebp,%esp
4113fc:	5d                   	pop    %ebp
4113fd:	c2 10 00             	ret    $0x10
411400:	e8 ab 92 ff ff       	call   0x40a6b0
411405:	cc                   	int3
411406:	cc                   	int3
411407:	cc                   	int3
411408:	cc                   	int3
411409:	cc                   	int3
41140a:	cc                   	int3
41140b:	cc                   	int3
41140c:	cc                   	int3
41140d:	cc                   	int3
41140e:	cc                   	int3
41140f:	cc                   	int3
411410:	55                   	push   %ebp
411411:	8b ec                	mov    %esp,%ebp
411413:	6a ff                	push   $0xffffffff
411415:	68 bd 87 49 00       	push   $0x4987bd
41141a:	64 a1 00 00 00 00    	mov    %fs:0x0,%eax
411420:	50                   	push   %eax
411421:	83 ec 18             	sub    $0x18,%esp
411424:	53                   	push   %ebx
411425:	56                   	push   %esi
411426:	57                   	push   %edi
411427:	a1 14 40 4c 00       	mov    0x4c4014,%eax
41142c:	33 c5                	xor    %ebp,%eax
41142e:	50                   	push   %eax
41142f:	8d 45 f4             	lea    -0xc(%ebp),%eax
411432:	64 a3 00 00 00 00    	mov    %eax,%fs:0x0
411438:	89 65 f0             	mov    %esp,-0x10(%ebp)
41143b:	8b f9                	mov    %ecx,%edi
41143d:	89 7d ec             	mov    %edi,-0x14(%ebp)
411440:	8b 07                	mov    (%edi),%eax
411442:	8b 40 04             	mov    0x4(%eax),%eax
411445:	8b 74 38 38          	mov    0x38(%eax,%edi,1),%esi
411449:	89 75 e8             	mov    %esi,-0x18(%ebp)
41144c:	85 f6                	test   %esi,%esi
41144e:	0f 84 c5 00 00 00    	je     0x411519
411454:	57                   	push   %edi
411455:	8d 4d dc             	lea    -0x24(%ebp),%ecx
411458:	e8 53 01 00 00       	call   0x4115b0
41145d:	c7 45 fc 00 00 00 00 	movl   $0x0,-0x4(%ebp)
411464:	80 7d e0 00          	cmpb   $0x0,-0x20(%ebp)
411468:	74 72                	je     0x4114dc
41146a:	c6 45 fc 01          	movb   $0x1,-0x4(%ebp)
41146e:	33 db                	xor    %ebx,%ebx
411470:	8b 06                	mov    (%esi),%eax
411472:	89 5d e4             	mov    %ebx,-0x1c(%ebp)
411475:	8b 70 34             	mov    0x34(%eax),%esi
411478:	8b ce                	mov    %esi,%ecx
41147a:	ff 15 d4 e2 49 00    	call   *0x49e2d4
411480:	8b 4d e8             	mov    -0x18(%ebp),%ecx
411483:	ff d6                	call   *%esi
411485:	83 f8 ff             	cmp    $0xffffffff,%eax
411488:	ba 04 00 00 00       	mov    $0x4,%edx
41148d:	0f 44 da             	cmove  %edx,%ebx
411490:	eb 24                	jmp    0x4114b6
411492:	8b 55 ec             	mov    -0x14(%ebp),%edx
411495:	6a 01                	push   $0x1
411497:	6a 04                	push   $0x4
411499:	8b 02                	mov    (%edx),%eax
41149b:	8b 48 04             	mov    0x4(%eax),%ecx
41149e:	03 ca                	add    %edx,%ecx
4114a0:	e8 9b fd ff ff       	call   0x411240
4114a5:	b8 ab 14 41 00       	mov    $0x4114ab,%eax
4114aa:	c3                   	ret
4114ab:	8b 7d ec             	mov    -0x14(%ebp),%edi
4114ae:	ba 04 00 00 00       	mov    $0x4,%edx
4114b3:	8b 5d e4             	mov    -0x1c(%ebp),%ebx
4114b6:	c7 45 fc 00 00 00 00 	movl   $0x0,-0x4(%ebp)
4114bd:	33 f6                	xor    %esi,%esi
4114bf:	8b 07                	mov    (%edi),%eax
4114c1:	6a 00                	push   $0x0
4114c3:	8b 48 04             	mov    0x4(%eax),%ecx
4114c6:	8b 44 39 0c          	mov    0xc(%ecx,%edi,1),%eax
4114ca:	03 cf                	add    %edi,%ecx
4114cc:	0b c3                	or     %ebx,%eax
4114ce:	39 71 38             	cmp    %esi,0x38(%ecx)
4114d1:	0f 45 d6             	cmovne %esi,%edx
4114d4:	0b d0                	or     %eax,%edx
4114d6:	52                   	push   %edx
4114d7:	e8 94 a6 ff ff       	call   0x40bb70
4114dc:	c7 45 fc 03 00 00 00 	movl   $0x3,-0x4(%ebp)
4114e3:	e8 e2 76 05 00       	call   0x468bca
4114e8:	84 c0                	test   %al,%al
4114ea:	75 08                	jne    0x4114f4
4114ec:	8b 4d dc             	mov    -0x24(%ebp),%ecx
4114ef:	e8 cc 01 00 00       	call   0x4116c0
4114f4:	c6 45 fc 04          	movb   $0x4,-0x4(%ebp)
4114f8:	8b 4d dc             	mov    -0x24(%ebp),%ecx
4114fb:	8b 01                	mov    (%ecx),%eax
4114fd:	8b 40 04             	mov    0x4(%eax),%eax
411500:	8b 5c 08 38          	mov    0x38(%eax,%ecx,1),%ebx
411504:	85 db                	test   %ebx,%ebx
411506:	74 11                	je     0x411519
411508:	8b 03                	mov    (%ebx),%eax
41150a:	8b 70 08             	mov    0x8(%eax),%esi
41150d:	8b ce                	mov    %esi,%ecx
41150f:	ff 15 d4 e2 49 00    	call   *0x49e2d4
411515:	8b cb                	mov    %ebx,%ecx
411517:	ff d6                	call   *%esi
411519:	8b c7                	mov    %edi,%eax
41151b:	8b 4d f4             	mov    -0xc(%ebp),%ecx
41151e:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
411525:	59                   	pop    %ecx
411526:	5f                   	pop    %edi
411527:	5e                   	pop    %esi
411528:	5b                   	pop    %ebx
411529:	8b e5                	mov    %ebp,%esp
41152b:	5d                   	pop    %ebp
41152c:	c3                   	ret
41152d:	cc                   	int3
41152e:	cc                   	int3
41152f:	cc                   	int3
411530:	55                   	push   %ebp
411531:	8b ec                	mov    %esp,%ebp
411533:	6a ff                	push   $0xffffffff
411535:	68 e0 87 49 00       	push   $0x4987e0
41153a:	64 a1 00 00 00 00    	mov    %fs:0x0,%eax
411540:	50                   	push   %eax
411541:	56                   	push   %esi
411542:	57                   	push   %edi
411543:	a1 14 40 4c 00       	mov    0x4c4014,%eax
411548:	33 c5                	xor    %ebp,%eax
41154a:	50                   	push   %eax
41154b:	8d 45 f4             	lea    -0xc(%ebp),%eax
41154e:	64 a3 00 00 00 00    	mov    %eax,%fs:0x0
411554:	8b f1                	mov    %ecx,%esi
411556:	e8 6f 76 05 00       	call   0x468bca
41155b:	84 c0                	test   %al,%al
41155d:	75 07                	jne    0x411566
41155f:	8b 0e                	mov    (%esi),%ecx
411561:	e8 5a 01 00 00       	call   0x4116c0
411566:	c7 45 fc 00 00 00 00 	movl   $0x0,-0x4(%ebp)
41156d:	8b 0e                	mov    (%esi),%ecx
41156f:	8b 01                	mov    (%ecx),%eax
411571:	8b 40 04             	mov    0x4(%eax),%eax