4141f0:	89 7d cc             	mov    %edi,-0x34(%ebp)
4141f3:	8d 04 3f             	lea    (%edi,%edi,1),%eax
4141f6:	50                   	push   %eax
4141f7:	8d 75 bc             	lea    -0x44(%ebp),%esi
4141fa:	0f 43 f3             	cmovae %ebx,%esi
4141fd:	51                   	push   %ecx
4141fe:	56                   	push   %esi
4141ff:	e8 4c 92 00 00       	call   0x41d450
414204:	83 c4 0c             	add    $0xc,%esp
414207:	33 c0                	xor    %eax,%eax
414209:	66 89 04 7e          	mov    %ax,(%esi,%edi,2)
41420d:	eb 11                	jmp    0x414220
41420f:	51                   	push   %ecx
414210:	c6 45 84 00          	movb   $0x0,-0x7c(%ebp)
414214:	8d 4d bc             	lea    -0x44(%ebp),%ecx
414217:	ff 75 84             	push   -0x7c(%ebp)
41421a:	57                   	push   %edi
41421b:	e8 f0 e3 fe ff       	call   0x402610
414220:	8d 4d d4             	lea    -0x2c(%ebp),%ecx
414223:	e8 18 db ff ff       	call   0x411d40
414228:	84 c0                	test   %al,%al
41422a:	0f 85 40 ff ff ff    	jne    0x414170
414230:	8b 5d bc             	mov    -0x44(%ebp),%ebx
414233:	8b 7d d0             	mov    -0x30(%ebp),%edi
414236:	8b 45 d4             	mov    -0x2c(%ebp),%eax
414239:	83 ff 08             	cmp    $0x8,%edi
41423c:	72 32                	jb     0x414270
41423e:	8d 3c 7d 02 00 00 00 	lea    0x2(,%edi,2),%edi
414245:	8b c3                	mov    %ebx,%eax
414247:	81 ff 00 10 00 00    	cmp    $0x1000,%edi
41424d:	72 14                	jb     0x414263
41424f:	8b 58 fc             	mov    -0x4(%eax),%ebx
414252:	83 c7 23             	add    $0x23,%edi
414255:	2b c3                	sub    %ebx,%eax
414257:	83 c0 fc             	add    $0xfffffffc,%eax
41425a:	83 f8 1f             	cmp    $0x1f,%eax
41425d:	0f 87 d7 00 00 00    	ja     0x41433a
414263:	57                   	push   %edi
414264:	53                   	push   %ebx
414265:	e8 a4 76 00 00       	call   0x41b90e
41426a:	8b 45 d4             	mov    -0x2c(%ebp),%eax
41426d:	83 c4 08             	add    $0x8,%esp
414270:	8b 4d e8             	mov    -0x18(%ebp),%ecx
414273:	83 f9 08             	cmp    $0x8,%ecx
414276:	72 34                	jb     0x4142ac
414278:	8d 14 4d 02 00 00 00 	lea    0x2(,%ecx,2),%edx
41427f:	8b f0                	mov    %eax,%esi
414281:	81 fa 00 10 00 00    	cmp    $0x1000,%edx
414287:	72 19                	jb     0x4142a2
414289:	8b 4e fc             	mov    -0x4(%esi),%ecx
41428c:	83 c2 23             	add    $0x23,%edx
41428f:	2b f1                	sub    %ecx,%esi
414291:	89 4d 84             	mov    %ecx,-0x7c(%ebp)
414294:	8d 46 fc             	lea    -0x4(%esi),%eax
414297:	83 f8 1f             	cmp    $0x1f,%eax
41429a:	0f 87 9a 00 00 00    	ja     0x41433a
4142a0:	8b c1                	mov    %ecx,%eax
4142a2:	52                   	push   %edx
4142a3:	50                   	push   %eax
4142a4:	e8 65 76 00 00       	call   0x41b90e
4142a9:	83 c4 08             	add    $0x8,%esp
4142ac:	33 c0                	xor    %eax,%eax
4142ae:	8b 4d f4             	mov    -0xc(%ebp),%ecx
4142b1:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
4142b8:	59                   	pop    %ecx
4142b9:	5f                   	pop    %edi
4142ba:	5e                   	pop    %esi
4142bb:	5b                   	pop    %ebx
4142bc:	8b 4d ec             	mov    -0x14(%ebp),%ecx
4142bf:	33 cd                	xor    %ebp,%ecx
4142c1:	e8 0a 76 00 00       	call   0x41b8d0
4142c6:	8b e5                	mov    %ebp,%esp
4142c8:	5d                   	pop    %ebp
4142c9:	c3                   	ret
4142ca:	83 ff 08             	cmp    $0x8,%edi
4142cd:	72 2b                	jb     0x4142fa
4142cf:	8d 3c 7d 02 00 00 00 	lea    0x2(,%edi,2),%edi
4142d6:	8b c3                	mov    %ebx,%eax
4142d8:	81 ff 00 10 00 00    	cmp    $0x1000,%edi
4142de:	72 10                	jb     0x4142f0
4142e0:	8b 58 fc             	mov    -0x4(%eax),%ebx
4142e3:	83 c7 23             	add    $0x23,%edi
4142e6:	2b c3                	sub    %ebx,%eax
4142e8:	83 c0 fc             	add    $0xfffffffc,%eax
4142eb:	83 f8 1f             	cmp    $0x1f,%eax
4142ee:	77 4a                	ja     0x41433a
4142f0:	57                   	push   %edi
4142f1:	53                   	push   %ebx
4142f2:	e8 17 76 00 00       	call   0x41b90e
4142f7:	83 c4 08             	add    $0x8,%esp
4142fa:	8b 4d e8             	mov    -0x18(%ebp),%ecx
4142fd:	83 f9 08             	cmp    $0x8,%ecx
414300:	72 2e                	jb     0x414330
414302:	8b 55 d4             	mov    -0x2c(%ebp),%edx
414305:	8d 0c 4d 02 00 00 00 	lea    0x2(,%ecx,2),%ecx
41430c:	8b c2                	mov    %edx,%eax
41430e:	81 f9 00 10 00 00    	cmp    $0x1000,%ecx
414314:	72 10                	jb     0x414326
414316:	8b 50 fc             	mov    -0x4(%eax),%edx
414319:	83 c1 23             	add    $0x23,%ecx
41431c:	2b c2                	sub    %edx,%eax
41431e:	83 c0 fc             	add    $0xfffffffc,%eax
414321:	83 f8 1f             	cmp    $0x1f,%eax
414324:	77 14                	ja     0x41433a
414326:	51                   	push   %ecx
414327:	52                   	push   %edx
414328:	e8 e1 75 00 00       	call   0x41b90e
41432d:	83 c4 08             	add    $0x8,%esp
414330:	b8 02 00 00 00       	mov    $0x2,%eax
414335:	e9 74 ff ff ff       	jmp    0x4142ae
41433a:	e8 40 c7 00 00       	call   0x420a7f
41433f:	cc                   	int3
414340:	83 79 14 08          	cmpl   $0x8,0x14(%ecx)
414344:	53                   	push   %ebx
414345:	56                   	push   %esi
414346:	57                   	push   %edi
414347:	8b d9                	mov    %ecx,%ebx
414349:	72 02                	jb     0x41434d
41434b:	8b 19                	mov    (%ecx),%ebx
41434d:	8b 41 10             	mov    0x10(%ecx),%eax
414350:	83 f8 01             	cmp    $0x1,%eax
414353:	72 54                	jb     0x4143a9
414355:	48                   	dec    %eax
414356:	83 c9 ff             	or     $0xffffffff,%ecx
414359:	3b c1                	cmp    %ecx,%eax
41435b:	0f 42 c8             	cmovb  %eax,%ecx
41435e:	8d 3c 4b             	lea    (%ebx,%ecx,2),%edi
414361:	8b f7                	mov    %edi,%esi
414363:	81 ee 14 dc 44 00    	sub    $0x44dc14,%esi
414369:	0f 1f 80 00 00 00 00 	nopl   0x0(%eax)
414370:	66 83 3f 2e          	cmpw   $0x2e,(%edi)
414374:	75 27                	jne    0x41439d
414376:	ba 01 00 00 00       	mov    $0x1,%edx
41437b:	b8 14 dc 44 00       	mov    $0x44dc14,%eax
414380:	66 8b 0c 06          	mov    (%esi,%eax,1),%cx
414384:	66 3b 08             	cmp    (%eax),%cx
414387:	75 14                	jne    0x41439d
414389:	83 c0 02             	add    $0x2,%eax
41438c:	83 ea 01             	sub    $0x1,%edx
41438f:	75 ef                	jne    0x414380
414391:	2b fb                	sub    %ebx,%edi
414393:	d1 ff                	sar    $1,%edi
414395:	8b c7                	mov    %edi,%eax
414397:	5f                   	pop    %edi
414398:	5e                   	pop    %esi
414399:	5b                   	pop    %ebx
41439a:	c2 08 00             	ret    $0x8
41439d:	3b fb                	cmp    %ebx,%edi
41439f:	74 08                	je     0x4143a9
4143a1:	83 ef 02             	sub    $0x2,%edi
4143a4:	83 ee 02             	sub    $0x2,%esi
4143a7:	eb c7                	jmp    0x414370
4143a9:	5f                   	pop    %edi
4143aa:	5e                   	pop    %esi
4143ab:	83 c8 ff             	or     $0xffffffff,%eax
4143ae:	5b                   	pop    %ebx
4143af:	c2 08 00             	ret    $0x8
4143b2:	cc                   	int3
4143b3:	cc                   	int3
4143b4:	cc                   	int3
4143b5:	cc                   	int3
4143b6:	cc                   	int3
4143b7:	cc                   	int3
4143b8:	cc                   	int3
4143b9:	cc                   	int3
4143ba:	cc                   	int3
4143bb:	cc                   	int3
4143bc:	cc                   	int3
4143bd:	cc                   	int3
4143be:	cc                   	int3
4143bf:	cc                   	int3
4143c0:	55                   	push   %ebp
4143c1:	8b ec                	mov    %esp,%ebp
4143c3:	51                   	push   %ecx
4143c4:	53                   	push   %ebx
4143c5:	56                   	push   %esi
4143c6:	8b f1                	mov    %ecx,%esi
4143c8:	89 55 fc             	mov    %edx,-0x4(%ebp)
4143cb:	57                   	push   %edi
4143cc:	8b c6                	mov    %esi,%eax
4143ce:	83 7e 14 08          	cmpl   $0x8,0x14(%esi)
4143d2:	72 02                	jb     0x4143d6
4143d4:	8b 06                	mov    (%esi),%eax
4143d6:	6a 00                	push   $0x0
4143d8:	6a 00                	push   $0x0
4143da:	6a 00                	push   $0x0
4143dc:	6a 00                	push   $0x0
4143de:	6a ff                	push   $0xffffffff
4143e0:	50                   	push   %eax
4143e1:	6a 00                	push   $0x0
4143e3:	68 e9 fd 00 00       	push   $0xfde9
4143e8:	ff 15 c4 f0 43 00    	call   *0x43f0c4
4143ee:	8d 58 01             	lea    0x1(%eax),%ebx
4143f1:	53                   	push   %ebx
4143f2:	e8 24 7c 00 00       	call   0x41c01b
4143f7:	83 c4 04             	add    $0x4,%esp
4143fa:	8b f8                	mov    %eax,%edi
4143fc:	83 7e 14 08          	cmpl   $0x8,0x14(%esi)
414400:	72 02                	jb     0x414404
414402:	8b 36                	mov    (%esi),%esi
414404:	6a 00                	push   $0x0
414406:	6a 00                	push   $0x0
414408:	53                   	push   %ebx
414409:	57                   	push   %edi
41440a:	6a ff                	push   $0xffffffff
41440c:	56                   	push   %esi
41440d:	6a 00                	push   $0x0
41440f:	68 e9 fd 00 00       	push   $0xfde9
414414:	ff 15 c4 f0 43 00    	call   *0x43f0c4
41441a:	85 c0                	test   %eax,%eax
41441c:	7f 12                	jg     0x414430
41441e:	57                   	push   %edi
41441f:	e8 f2 7b 00 00       	call   0x41c016
414424:	83 c4 04             	add    $0x4,%esp
414427:	32 c0                	xor    %al,%al
414429:	5f                   	pop    %edi
41442a:	5e                   	pop    %esi
41442b:	5b                   	pop    %ebx
41442c:	8b e5                	mov    %ebp,%esp
41442e:	5d                   	pop    %ebp
41442f:	c3                   	ret
414430:	8b cf                	mov    %edi,%ecx
414432:	8d 51 01             	lea    0x1(%ecx),%edx
414435:	8a 01                	mov    (%ecx),%al
414437:	41                   	inc    %ecx
414438:	84 c0                	test   %al,%al
41443a:	75 f9                	jne    0x414435
41443c:	2b ca                	sub    %edx,%ecx
41443e:	51                   	push   %ecx
41443f:	8b 4d fc             	mov    -0x4(%ebp),%ecx
414442:	57                   	push   %edi
414443:	e8 78 f3 ff ff       	call   0x4137c0
414448:	57                   	push   %edi
414449:	e8 c8 7b 00 00       	call   0x41c016
41444e:	83 c4 04             	add    $0x4,%esp
414451:	b0 01                	mov    $0x1,%al
414453:	5f                   	pop    %edi
414454:	5e                   	pop    %esi
414455:	5b                   	pop    %ebx
414456:	8b e5                	mov    %ebp,%esp
414458:	5d                   	pop    %ebp
414459:	c3                   	ret
41445a:	cc                   	int3
41445b:	cc                   	int3
41445c:	cc                   	int3
41445d:	cc                   	int3
41445e:	cc                   	int3
41445f:	cc                   	int3
414460:	55                   	push   %ebp
414461:	8b ec                	mov    %esp,%ebp
414463:	51                   	push   %ecx
414464:	53                   	push   %ebx
414465:	56                   	push   %esi
414466:	8b f1                	mov    %ecx,%esi
414468:	8b da                	mov    %edx,%ebx
41446a:	57                   	push   %edi
41446b:	8b c6                	mov    %esi,%eax
41446d:	83 7e 14 10          	cmpl   $0x10,0x14(%esi)
414471:	72 02                	jb     0x414475
414473:	8b 06                	mov    (%esi),%eax
414475:	6a 00                	push   $0x0
414477:	6a 00                	push   $0x0
414479:	6a ff                	push   $0xffffffff
41447b:	50                   	push   %eax
41447c:	6a 00                	push   $0x0
41447e:	68 e9 fd 00 00       	push   $0xfde9
414483:	ff 15 b0 f0 43 00    	call   *0x43f0b0
414489:	89 45 fc             	mov    %eax,-0x4(%ebp)
41448c:	33 c9                	xor    %ecx,%ecx
41448e:	40                   	inc    %eax
41448f:	ba 02 00 00 00       	mov    $0x2,%edx
414494:	f7 e2                	mul    %edx
414496:	0f 90 c1             	seto   %cl
414499:	f7 d9                	neg    %ecx
41449b:	0b c8                	or     %eax,%ecx
41449d:	51                   	push   %ecx
41449e:	e8 b0 21 01 00       	call   0x426653
4144a3:	8b f8                	mov    %eax,%edi
4144a5:	83 c4 04             	add    $0x4,%esp
4144a8:	85 ff                	test   %edi,%edi
4144aa:	74 29                	je     0x4144d5
4144ac:	83 7e 14 10          	cmpl   $0x10,0x14(%esi)
4144b0:	72 02                	jb     0x4144b4
4144b2:	8b 36                	mov    (%esi),%esi
4144b4:	ff 75 fc             	push   -0x4(%ebp)
4144b7:	57                   	push   %edi
4144b8:	6a ff                	push   $0xffffffff
4144ba:	56                   	push   %esi
4144bb:	6a 00                	push   $0x0
4144bd:	68 e9 fd 00 00       	push   $0xfde9
4144c2:	ff 15 b0 f0 43 00    	call   *0x43f0b0
4144c8:	85 c0                	test   %eax,%eax
4144ca:	7f 12                	jg     0x4144de
4144cc:	57                   	push   %edi
4144cd:	e8 7b 1b 01 00       	call   0x42604d
4144d2:	83 c4 04             	add    $0x4,%esp
4144d5:	5f                   	pop    %edi
4144d6:	5e                   	pop    %esi
4144d7:	32 c0                	xor    %al,%al
4144d9:	5b                   	pop    %ebx
4144da:	8b e5                	mov    %ebp,%esp
4144dc:	5d                   	pop    %ebp
4144dd:	c3                   	ret
4144de:	8b 45 fc             	mov    -0x4(%ebp),%eax
4144e1:	33 c9                	xor    %ecx,%ecx
4144e3:	66 89 0c 47          	mov    %cx,(%edi,%eax,2)
4144e7:	8b cf                	mov    %edi,%ecx
4144e9:	8d 51 02             	lea    0x2(%ecx),%edx
4144ec:	0f 1f 40 00          	nopl   0x0(%eax)
4144f0:	66 8b 01             	mov    (%ecx),%ax
4144f3:	83 c1 02             	add    $0x2,%ecx
4144f6:	66 85 c0             	test   %ax,%ax
4144f9:	75 f5                	jne    0x4144f0
4144fb:	2b ca                	sub    %edx,%ecx
4144fd:	8b 53 14             	mov    0x14(%ebx),%edx
414500:	d1 f9                	sar    $1,%ecx
414502:	3b ca                	cmp    %edx,%ecx
414504:	77 3b                	ja     0x414541
414506:	89 5d fc             	mov    %ebx,-0x4(%ebp)
414509:	8b c3                	mov    %ebx,%eax
41450b:	83 fa 08             	cmp    $0x8,%edx
41450e:	72 05                	jb     0x414515
414510:	8b 03                	mov    (%ebx),%eax
414512:	89 45 fc             	mov    %eax,-0x4(%ebp)
414515:	8d 34 09             	lea    (%ecx,%ecx,1),%esi
414518:	89 4b 10             	mov    %ecx,0x10(%ebx)
41451b:	56                   	push   %esi
41451c:	57                   	push   %edi
41451d:	50                   	push   %eax
41451e:	e8 2d 8f 00 00       	call   0x41d450
414523:	8b 45 fc             	mov    -0x4(%ebp),%eax
414526:	83 c4 0c             	add    $0xc,%esp
414529:	33 c9                	xor    %ecx,%ecx
41452b:	57                   	push   %edi
41452c:	66 89 0c 06          	mov    %cx,(%esi,%eax,1)
414530:	e8 18 1b 01 00       	call   0x42604d
414535:	83 c4 04             	add    $0x4,%esp
414538:	b0 01                	mov    $0x1,%al
41453a:	5f                   	pop    %edi
41453b:	5e                   	pop    %esi
41453c:	5b                   	pop    %ebx
41453d:	8b e5                	mov    %ebp,%esp
41453f:	5d                   	pop    %ebp
414540:	c3                   	ret
414541:	57                   	push   %edi
414542:	c6 45 fc 00          	movb   $0x0,-0x4(%ebp)
414546:	ff 75 fc             	push   -0x4(%ebp)
414549:	51                   	push   %ecx
41454a:	8b cb                	mov    %ebx,%ecx
41454c:	e8 bf e0 fe ff       	call   0x402610