409140:	68 d8 d7 40 00       	push   $0x40d7d8
409145:	68 74 87 40 00       	push   $0x408774
40914a:	64 a1 00 00 00 00    	mov    %fs:0x0,%eax
409150:	50                   	push   %eax
409151:	64 89 25 00 00 00 00 	mov    %esp,%fs:0x0
409158:	83 ec 0c             	sub    $0xc,%esp
40915b:	53                   	push   %ebx
40915c:	56                   	push   %esi
40915d:	57                   	push   %edi
40915e:	89 65 e8             	mov    %esp,-0x18(%ebp)
409161:	8b 4d 10             	mov    0x10(%ebp),%ecx
409164:	8b 41 04             	mov    0x4(%ecx),%eax
409167:	85 c0                	test   %eax,%eax
409169:	0f 84 75 01 00 00    	je     0x4092e4
40916f:	80 78 08 00          	cmpb   $0x0,0x8(%eax)
409173:	0f 84 6b 01 00 00    	je     0x4092e4
409179:	8b 41 08             	mov    0x8(%ecx),%eax
40917c:	85 c0                	test   %eax,%eax
40917e:	0f 84 60 01 00 00    	je     0x4092e4
409184:	8b 55 0c             	mov    0xc(%ebp),%edx
409187:	8d 7c 10 0c          	lea    0xc(%eax,%edx,1),%edi
40918b:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
40918f:	f6 01 08             	testb  $0x8,(%ecx)
409192:	74 44                	je     0x4091d8
409194:	8b 75 08             	mov    0x8(%ebp),%esi
409197:	6a 01                	push   $0x1
409199:	ff 76 18             	push   0x18(%esi)
40919c:	e8 dc 25 00 00       	call   0x40b77d
4091a1:	59                   	pop    %ecx
4091a2:	59                   	pop    %ecx
4091a3:	85 c0                	test   %eax,%eax
4091a5:	0f 84 30 01 00 00    	je     0x4092db
4091ab:	6a 01                	push   $0x1
4091ad:	57                   	push   %edi
4091ae:	e8 e6 25 00 00       	call   0x40b799
4091b3:	59                   	pop    %ecx
4091b4:	59                   	pop    %ecx
4091b5:	85 c0                	test   %eax,%eax
4091b7:	0f 84 1e 01 00 00    	je     0x4092db
4091bd:	8b 46 18             	mov    0x18(%esi),%eax
4091c0:	89 07                	mov    %eax,(%edi)
4091c2:	8b 4d 14             	mov    0x14(%ebp),%ecx
4091c5:	83 c1 08             	add    $0x8,%ecx
4091c8:	51                   	push   %ecx
4091c9:	50                   	push   %eax
4091ca:	e8 97 01 00 00       	call   0x409366
4091cf:	59                   	pop    %ecx
4091d0:	59                   	pop    %ecx
4091d1:	89 07                	mov    %eax,(%edi)
4091d3:	e9 08 01 00 00       	jmp    0x4092e0
4091d8:	8b 75 14             	mov    0x14(%ebp),%esi
4091db:	f6 06 01             	testb  $0x1,(%esi)
4091de:	74 52                	je     0x409232
4091e0:	8b 5d 08             	mov    0x8(%ebp),%ebx
4091e3:	6a 01                	push   $0x1
4091e5:	ff 73 18             	push   0x18(%ebx)
4091e8:	e8 90 25 00 00       	call   0x40b77d
4091ed:	59                   	pop    %ecx
4091ee:	59                   	pop    %ecx
4091ef:	85 c0                	test   %eax,%eax
4091f1:	0f 84 e4 00 00 00    	je     0x4092db
4091f7:	6a 01                	push   $0x1
4091f9:	57                   	push   %edi
4091fa:	e8 9a 25 00 00       	call   0x40b799
4091ff:	59                   	pop    %ecx
409200:	59                   	pop    %ecx
409201:	85 c0                	test   %eax,%eax
409203:	0f 84 d2 00 00 00    	je     0x4092db
409209:	ff 76 14             	push   0x14(%esi)
40920c:	ff 73 18             	push   0x18(%ebx)
40920f:	57                   	push   %edi
409210:	e8 2b d4 ff ff       	call   0x406640
409215:	83 c4 0c             	add    $0xc,%esp
409218:	83 7e 14 04          	cmpl   $0x4,0x14(%esi)
40921c:	0f 85 be 00 00 00    	jne    0x4092e0
409222:	8b 07                	mov    (%edi),%eax
409224:	85 c0                	test   %eax,%eax
409226:	0f 84 b4 00 00 00    	je     0x4092e0
40922c:	83 c6 08             	add    $0x8,%esi
40922f:	56                   	push   %esi
409230:	eb 97                	jmp    0x4091c9
409232:	83 7e 18 00          	cmpl   $0x0,0x18(%esi)
409236:	8b 5d 08             	mov    0x8(%ebp),%ebx
409239:	6a 01                	push   $0x1
40923b:	ff 73 18             	push   0x18(%ebx)
40923e:	75 3a                	jne    0x40927a
409240:	e8 38 25 00 00       	call   0x40b77d
409245:	59                   	pop    %ecx
409246:	59                   	pop    %ecx
409247:	85 c0                	test   %eax,%eax
409249:	0f 84 8c 00 00 00    	je     0x4092db
40924f:	6a 01                	push   $0x1
409251:	57                   	push   %edi
409252:	e8 42 25 00 00       	call   0x40b799
409257:	59                   	pop    %ecx
409258:	59                   	pop    %ecx
409259:	85 c0                	test   %eax,%eax
40925b:	74 7e                	je     0x4092db
40925d:	ff 76 14             	push   0x14(%esi)
409260:	83 c6 08             	add    $0x8,%esi
409263:	56                   	push   %esi
409264:	ff 73 18             	push   0x18(%ebx)
409267:	e8 fa 00 00 00       	call   0x409366
40926c:	59                   	pop    %ecx
40926d:	59                   	pop    %ecx
40926e:	50                   	push   %eax
40926f:	57                   	push   %edi
409270:	e8 cb d3 ff ff       	call   0x406640
409275:	83 c4 0c             	add    $0xc,%esp
409278:	eb 66                	jmp    0x4092e0
40927a:	e8 fe 24 00 00       	call   0x40b77d
40927f:	59                   	pop    %ecx
409280:	59                   	pop    %ecx
409281:	85 c0                	test   %eax,%eax
409283:	74 56                	je     0x4092db
409285:	6a 01                	push   $0x1
409287:	57                   	push   %edi
409288:	e8 0c 25 00 00       	call   0x40b799
40928d:	59                   	pop    %ecx
40928e:	59                   	pop    %ecx
40928f:	85 c0                	test   %eax,%eax
409291:	74 48                	je     0x4092db
409293:	ff 76 18             	push   0x18(%esi)
409296:	e8 1a 25 00 00       	call   0x40b7b5
40929b:	59                   	pop    %ecx
40929c:	85 c0                	test   %eax,%eax
40929e:	74 3b                	je     0x4092db
4092a0:	f6 06 04             	testb  $0x4,(%esi)
4092a3:	74 1c                	je     0x4092c1
4092a5:	6a 01                	push   $0x1
4092a7:	8d 46 08             	lea    0x8(%esi),%eax
4092aa:	50                   	push   %eax
4092ab:	ff 73 18             	push   0x18(%ebx)
4092ae:	e8 b3 00 00 00       	call   0x409366
4092b3:	59                   	pop    %ecx
4092b4:	59                   	pop    %ecx
4092b5:	50                   	push   %eax
4092b6:	ff 76 18             	push   0x18(%esi)
4092b9:	57                   	push   %edi
4092ba:	e8 e6 c6 ff ff       	call   0x4059a5
4092bf:	eb 1f                	jmp    0x4092e0
4092c1:	8d 46 08             	lea    0x8(%esi),%eax
4092c4:	50                   	push   %eax
4092c5:	ff 73 18             	push   0x18(%ebx)
4092c8:	e8 99 00 00 00       	call   0x409366
4092cd:	59                   	pop    %ecx
4092ce:	59                   	pop    %ecx
4092cf:	50                   	push   %eax
4092d0:	ff 76 18             	push   0x18(%esi)
4092d3:	57                   	push   %edi
4092d4:	e8 c5 c6 ff ff       	call   0x40599e
4092d9:	eb 05                	jmp    0x4092e0
4092db:	e8 5d 01 00 00       	call   0x40943d
4092e0:	83 4d fc ff          	orl    $0xffffffff,-0x4(%ebp)
4092e4:	8b 4d f0             	mov    -0x10(%ebp),%ecx
4092e7:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
4092ee:	5f                   	pop    %edi
4092ef:	5e                   	pop    %esi
4092f0:	5b                   	pop    %ebx
4092f1:	c9                   	leave
4092f2:	c3                   	ret
4092f3:	6a 01                	push   $0x1
4092f5:	58                   	pop    %eax
4092f6:	c3                   	ret
4092f7:	8b 65 e8             	mov    -0x18(%ebp),%esp
4092fa:	e9 dd 00 00 00       	jmp    0x4093dc
4092ff:	55                   	push   %ebp
409300:	8b ec                	mov    %esp,%ebp
409302:	6a ff                	push   $0xffffffff
409304:	68 e8 d7 40 00       	push   $0x40d7e8
409309:	68 74 87 40 00       	push   $0x408774
40930e:	64 a1 00 00 00 00    	mov    %fs:0x0,%eax
409314:	50                   	push   %eax
409315:	64 89 25 00 00 00 00 	mov    %esp,%fs:0x0
40931c:	51                   	push   %ecx
40931d:	51                   	push   %ecx
40931e:	53                   	push   %ebx
40931f:	56                   	push   %esi
409320:	57                   	push   %edi
409321:	89 65 e8             	mov    %esp,-0x18(%ebp)
409324:	8b 45 08             	mov    0x8(%ebp),%eax
409327:	85 c0                	test   %eax,%eax
409329:	74 1b                	je     0x409346
40932b:	8b 48 1c             	mov    0x1c(%eax),%ecx
40932e:	8b 49 04             	mov    0x4(%ecx),%ecx
409331:	85 c9                	test   %ecx,%ecx
409333:	74 11                	je     0x409346
409335:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
409339:	51                   	push   %ecx
40933a:	ff 70 18             	push   0x18(%eax)
40933d:	e8 5c c6 ff ff       	call   0x40599e
409342:	83 4d fc ff          	orl    $0xffffffff,-0x4(%ebp)
409346:	8b 4d f0             	mov    -0x10(%ebp),%ecx
409349:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
409350:	5f                   	pop    %edi
409351:	5e                   	pop    %esi
409352:	5b                   	pop    %ebx
409353:	c9                   	leave
409354:	c3                   	ret
409355:	33 c0                	xor    %eax,%eax
409357:	38 45 0c             	cmp    %al,0xc(%ebp)
40935a:	0f 95 c0             	setne  %al
40935d:	c3                   	ret
40935e:	8b 65 e8             	mov    -0x18(%ebp),%esp
409361:	e9 76 00 00 00       	jmp    0x4093dc
409366:	8b 4c 24 08          	mov    0x8(%esp),%ecx
40936a:	56                   	push   %esi
40936b:	8b 74 24 08          	mov    0x8(%esp),%esi
40936f:	8b 01                	mov    (%ecx),%eax
409371:	8b 51 04             	mov    0x4(%ecx),%edx
409374:	03 c6                	add    %esi,%eax
409376:	85 d2                	test   %edx,%edx
409378:	7c 0d                	jl     0x409387
40937a:	8b 34 32             	mov    (%edx,%esi,1),%esi
40937d:	8b 49 08             	mov    0x8(%ecx),%ecx
409380:	8b 0c 0e             	mov    (%esi,%ecx,1),%ecx
409383:	03 ca                	add    %edx,%ecx
409385:	03 c1                	add    %ecx,%eax
409387:	5e                   	pop    %esi
409388:	c3                   	ret
409389:	cc                   	int3
40938a:	cc                   	int3
40938b:	cc                   	int3
40938c:	cc                   	int3
40938d:	cc                   	int3
40938e:	cc                   	int3
40938f:	cc                   	int3
409390:	55                   	push   %ebp
409391:	8b ec                	mov    %esp,%ebp
409393:	83 ec 04             	sub    $0x4,%esp
409396:	53                   	push   %ebx
409397:	51                   	push   %ecx
409398:	8b 45 0c             	mov    0xc(%ebp),%eax
40939b:	83 c0 0c             	add    $0xc,%eax
40939e:	89 45 fc             	mov    %eax,-0x4(%ebp)
4093a1:	8b 45 08             	mov    0x8(%ebp),%eax
4093a4:	55                   	push   %ebp
4093a5:	ff 75 10             	push   0x10(%ebp)
4093a8:	8b 4d 10             	mov    0x10(%ebp),%ecx
4093ab:	8b 6d fc             	mov    -0x4(%ebp),%ebp
4093ae:	e8 6a c9 ff ff       	call   0x405d1d
4093b3:	56                   	push   %esi
4093b4:	57                   	push   %edi
4093b5:	ff d0                	call   *%eax
4093b7:	5f                   	pop    %edi
4093b8:	5e                   	pop    %esi
4093b9:	8b dd                	mov    %ebp,%ebx
4093bb:	5d                   	pop    %ebp
4093bc:	8b 4d 10             	mov    0x10(%ebp),%ecx
4093bf:	55                   	push   %ebp
4093c0:	8b eb                	mov    %ebx,%ebp
4093c2:	81 f9 00 01 00 00    	cmp    $0x100,%ecx
4093c8:	75 05                	jne    0x4093cf
4093ca:	b9 02 00 00 00       	mov    $0x2,%ecx
4093cf:	51                   	push   %ecx
4093d0:	e8 48 c9 ff ff       	call   0x405d1d
4093d5:	5d                   	pop    %ebp
4093d6:	59                   	pop    %ecx
4093d7:	5b                   	pop    %ebx
4093d8:	c9                   	leave
4093d9:	c2 0c 00             	ret    $0xc
4093dc:	55                   	push   %ebp
4093dd:	8b ec                	mov    %esp,%ebp
4093df:	6a ff                	push   $0xffffffff
4093e1:	68 f8 d7 40 00       	push   $0x40d7f8
4093e6:	68 74 87 40 00       	push   $0x408774
4093eb:	64 a1 00 00 00 00    	mov    %fs:0x0,%eax
4093f1:	50                   	push   %eax
4093f2:	64 89 25 00 00 00 00 	mov    %esp,%fs:0x0
4093f9:	51                   	push   %ecx
4093fa:	51                   	push   %ecx
4093fb:	53                   	push   %ebx
4093fc:	56                   	push   %esi
4093fd:	57                   	push   %edi
4093fe:	89 65 e8             	mov    %esp,-0x18(%ebp)
409401:	33 f6                	xor    %esi,%esi
409403:	89 75 fc             	mov    %esi,-0x4(%ebp)
409406:	e8 bc f2 ff ff       	call   0x4086c7
40940b:	39 70 60             	cmp    %esi,0x60(%eax)
40940e:	74 1f                	je     0x40942f
409410:	c7 45 fc 01 00 00 00 	movl   $0x1,-0x4(%ebp)
409417:	e8 ab f2 ff ff       	call   0x4086c7
40941c:	ff 50 60             	call   *0x60(%eax)
40941f:	89 75 fc             	mov    %esi,-0x4(%ebp)
409422:	eb 0b                	jmp    0x40942f
409424:	6a 01                	push   $0x1
409426:	58                   	pop    %eax
409427:	c3                   	ret
409428:	8b 65 e8             	mov    -0x18(%ebp),%esp
40942b:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
40942f:	83 4d fc ff          	orl    $0xffffffff,-0x4(%ebp)
409433:	e8 00 00 00 00       	call   0x409438
409438:	e9 90 23 00 00       	jmp    0x40b7cd
40943d:	55                   	push   %ebp
40943e:	8b ec                	mov    %esp,%ebp
409440:	6a ff                	push   $0xffffffff
409442:	68 10 d8 40 00       	push   $0x40d810
409447:	68 74 87 40 00       	push   $0x408774
40944c:	64 a1 00 00 00 00    	mov    %fs:0x0,%eax
409452:	50                   	push   %eax
409453:	64 89 25 00 00 00 00 	mov    %esp,%fs:0x0
40945a:	51                   	push   %ecx
40945b:	51                   	push   %ecx
40945c:	53                   	push   %ebx
40945d:	56                   	push   %esi
40945e:	57                   	push   %edi
40945f:	89 65 e8             	mov    %esp,-0x18(%ebp)
409462:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
409466:	a1 e0 0e 41 00       	mov    0x410ee0,%eax
40946b:	85 c0                	test   %eax,%eax
40946d:	74 16                	je     0x409485
40946f:	c7 45 fc 01 00 00 00 	movl   $0x1,-0x4(%ebp)
409476:	ff d0                	call   *%eax
409478:	eb 07                	jmp    0x409481
40947a:	6a 01                	push   $0x1
40947c:	58                   	pop    %eax
40947d:	c3                   	ret
40947e:	8b 65 e8             	mov    -0x18(%ebp),%esp
409481:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
409485:	83 4d fc ff          	orl    $0xffffffff,-0x4(%ebp)
409489:	e8 00 00 00 00       	call   0x40948e
40948e:	e9 49 ff ff ff       	jmp    0x4093dc
409493:	56                   	push   %esi
409494:	8b 74 24 08          	mov    0x8(%esp),%esi
409498:	3b 35 c0 1e 41 00    	cmp    0x411ec0,%esi
40949e:	73 40                	jae    0x4094e0
4094a0:	8b ce                	mov    %esi,%ecx
4094a2:	8b c6                	mov    %esi,%eax
4094a4:	c1 f9 05             	sar    $0x5,%ecx
4094a7:	83 e0 1f             	and    $0x1f,%eax
4094aa:	8b 0c 8d c0 1d 41 00 	mov    0x411dc0(,%ecx,4),%ecx
4094b1:	8d 04 c0             	lea    (%eax,%eax,8),%eax
4094b4:	f6 44 81 04 01       	testb  $0x1,0x4(%ecx,%eax,4)
4094b9:	74 25                	je     0x4094e0
4094bb:	57                   	push   %edi
4094bc:	56                   	push   %esi
4094bd:	e8 e3 23 00 00       	call   0x40b8a5
4094c2:	ff 74 24 18          	push   0x18(%esp)
4094c6:	ff 74 24 18          	push   0x18(%esp)
4094ca:	56                   	push   %esi
4094cb:	e8 28 00 00 00       	call   0x4094f8
4094d0:	56                   	push   %esi
4094d1:	8b f8                	mov    %eax,%edi
4094d3:	e8 2c 24 00 00       	call   0x40b904
4094d8:	83 c4 14             	add    $0x14,%esp
4094db:	8b c7                	mov    %edi,%eax
4094dd:	5f                   	pop    %edi
4094de:	5e                   	pop    %esi
4094df:	c3                   	ret
4094e0:	e8 f9 db ff ff       	call   0x4070de