402435:	8b 45 08             	mov    0x8(%ebp),%eax
402438:	56                   	push   %esi
402439:	8b f1                	mov    %ecx,%esi
40243b:	89 06                	mov    %eax,(%esi)
40243d:	8b 45 0c             	mov    0xc(%ebp),%eax
402440:	89 46 04             	mov    %eax,0x4(%esi)
402443:	8b 45 10             	mov    0x10(%ebp),%eax
402446:	89 46 08             	mov    %eax,0x8(%esi)
402449:	8b 45 18             	mov    0x18(%ebp),%eax
40244c:	89 46 0c             	mov    %eax,0xc(%esi)
40244f:	8b 45 20             	mov    0x20(%ebp),%eax
402452:	89 46 10             	mov    %eax,0x10(%esi)
402455:	8b 45 24             	mov    0x24(%ebp),%eax
402458:	89 46 14             	mov    %eax,0x14(%esi)
40245b:	8b 45 1c             	mov    0x1c(%ebp),%eax
40245e:	89 46 18             	mov    %eax,0x18(%esi)
402461:	8b 45 28             	mov    0x28(%ebp),%eax
402464:	8b 08                	mov    (%eax),%ecx
402466:	8b 40 04             	mov    0x4(%eax),%eax
402469:	89 46 20             	mov    %eax,0x20(%esi)
40246c:	8b 45 14             	mov    0x14(%ebp),%eax
40246f:	89 4e 1c             	mov    %ecx,0x1c(%esi)
402472:	33 c9                	xor    %ecx,%ecx
402474:	89 46 28             	mov    %eax,0x28(%esi)
402477:	8d 46 40             	lea    0x40(%esi),%eax
40247a:	50                   	push   %eax
40247b:	89 4e 24             	mov    %ecx,0x24(%esi)
40247e:	89 4e 2c             	mov    %ecx,0x2c(%esi)
402481:	89 4e 30             	mov    %ecx,0x30(%esi)
402484:	89 4e 34             	mov    %ecx,0x34(%esi)
402487:	89 4e 38             	mov    %ecx,0x38(%esi)
40248a:	89 4e 3c             	mov    %ecx,0x3c(%esi)
40248d:	89 4e 48             	mov    %ecx,0x48(%esi)
402490:	ff 15 30 11 43 00    	call   *0x431130
402496:	8b c6                	mov    %esi,%eax
402498:	5e                   	pop    %esi
402499:	5d                   	pop    %ebp
40249a:	c2 24 00             	ret    $0x24
40249d:	55                   	push   %ebp
40249e:	8b ec                	mov    %esp,%ebp
4024a0:	83 ec 20             	sub    $0x20,%esp
4024a3:	53                   	push   %ebx
4024a4:	56                   	push   %esi
4024a5:	57                   	push   %edi
4024a6:	8b f9                	mov    %ecx,%edi
4024a8:	33 db                	xor    %ebx,%ebx
4024aa:	ff 77 04             	push   0x4(%edi)
4024ad:	53                   	push   %ebx
4024ae:	68 00 00 00 10       	push   $0x10000000
4024b3:	ff 15 28 11 43 00    	call   *0x431128
4024b9:	89 47 2c             	mov    %eax,0x2c(%edi)
4024bc:	85 c0                	test   %eax,%eax
4024be:	74 52                	je     0x402512
4024c0:	8d 4d f0             	lea    -0x10(%ebp),%ecx
4024c3:	51                   	push   %ecx
4024c4:	8d 4d e8             	lea    -0x18(%ebp),%ecx
4024c7:	51                   	push   %ecx
4024c8:	8d 4d e0             	lea    -0x20(%ebp),%ecx
4024cb:	51                   	push   %ecx
4024cc:	8d 4d f8             	lea    -0x8(%ebp),%ecx
4024cf:	51                   	push   %ecx
4024d0:	50                   	push   %eax
4024d1:	ff 15 34 11 43 00    	call   *0x431134
4024d7:	85 c0                	test   %eax,%eax
4024d9:	74 0c                	je     0x4024e7
4024db:	8b 45 f8             	mov    -0x8(%ebp),%eax
4024de:	8b 4d fc             	mov    -0x4(%ebp),%ecx
4024e1:	89 47 40             	mov    %eax,0x40(%edi)
4024e4:	89 4f 44             	mov    %ecx,0x44(%edi)
4024e7:	8b 47 40             	mov    0x40(%edi),%eax
4024ea:	8b 35 04 11 43 00    	mov    0x431104,%esi
4024f0:	53                   	push   %ebx
4024f1:	53                   	push   %ebx
4024f2:	6a 01                	push   $0x1
4024f4:	53                   	push   %ebx
4024f5:	89 47 48             	mov    %eax,0x48(%edi)
4024f8:	ff d6                	call   *%esi
4024fa:	89 47 30             	mov    %eax,0x30(%edi)
4024fd:	85 c0                	test   %eax,%eax
4024ff:	74 11                	je     0x402512
402501:	53                   	push   %ebx
402502:	53                   	push   %ebx
402503:	6a 01                	push   $0x1
402505:	53                   	push   %ebx
402506:	ff d6                	call   *%esi
402508:	85 c0                	test   %eax,%eax
40250a:	89 47 34             	mov    %eax,0x34(%edi)
40250d:	0f 95 c0             	setne  %al
402510:	eb 02                	jmp    0x402514
402512:	32 c0                	xor    %al,%al
402514:	5f                   	pop    %edi
402515:	5e                   	pop    %esi
402516:	5b                   	pop    %ebx
402517:	c9                   	leave
402518:	c3                   	ret
402519:	56                   	push   %esi
40251a:	8b f1                	mov    %ecx,%esi
40251c:	83 7e 38 00          	cmpl   $0x0,0x38(%esi)
402520:	74 0f                	je     0x402531
402522:	6a ff                	push   $0xffffffff
402524:	ff 76 38             	push   0x38(%esi)
402527:	ff 15 18 11 43 00    	call   *0x431118
40252d:	83 66 38 00          	andl   $0x0,0x38(%esi)
402531:	5e                   	pop    %esi
402532:	c3                   	ret
402533:	56                   	push   %esi
402534:	8b f1                	mov    %ecx,%esi
402536:	8b 46 3c             	mov    0x3c(%esi),%eax
402539:	85 c0                	test   %eax,%eax
40253b:	74 1d                	je     0x40255a
40253d:	80 7c 24 08 00       	cmpb   $0x0,0x8(%esp)
402542:	74 0b                	je     0x40254f
402544:	6a ff                	push   $0xffffffff
402546:	50                   	push   %eax
402547:	ff 15 18 11 43 00    	call   *0x431118
40254d:	eb 07                	jmp    0x402556
40254f:	50                   	push   %eax
402550:	ff 15 e8 10 43 00    	call   *0x4310e8
402556:	83 66 3c 00          	andl   $0x0,0x3c(%esi)
40255a:	5e                   	pop    %esi
40255b:	c2 04 00             	ret    $0x4
40255e:	56                   	push   %esi
40255f:	57                   	push   %edi
402560:	8b f1                	mov    %ecx,%esi
402562:	e8 b2 ff ff ff       	call   0x402519
402567:	6a 01                	push   $0x1
402569:	8b ce                	mov    %esi,%ecx
40256b:	e8 c3 ff ff ff       	call   0x402533
402570:	83 7e 2c 00          	cmpl   $0x0,0x2c(%esi)
402574:	8b 3d 20 10 43 00    	mov    0x431020,%edi
40257a:	74 05                	je     0x402581
40257c:	ff 76 2c             	push   0x2c(%esi)
40257f:	ff d7                	call   *%edi
402581:	83 7e 30 00          	cmpl   $0x0,0x30(%esi)
402585:	74 05                	je     0x40258c
402587:	ff 76 30             	push   0x30(%esi)
40258a:	ff d7                	call   *%edi
40258c:	83 7e 34 00          	cmpl   $0x0,0x34(%esi)
402590:	74 05                	je     0x402597
402592:	ff 76 34             	push   0x34(%esi)
402595:	ff d7                	call   *%edi
402597:	ff 76 24             	push   0x24(%esi)
40259a:	e8 51 44 00 00       	call   0x4069f0
40259f:	59                   	pop    %ecx
4025a0:	5f                   	pop    %edi
4025a1:	5e                   	pop    %esi
4025a2:	c3                   	ret
4025a3:	53                   	push   %ebx
4025a4:	55                   	push   %ebp
4025a5:	56                   	push   %esi
4025a6:	57                   	push   %edi
4025a7:	8b 79 20             	mov    0x20(%ecx),%edi
4025aa:	33 c0                	xor    %eax,%eax
4025ac:	85 ff                	test   %edi,%edi
4025ae:	7e 45                	jle    0x4025f5
4025b0:	8b 69 24             	mov    0x24(%ecx),%ebp
4025b3:	8b f5                	mov    %ebp,%esi
4025b5:	8b 54 24 14          	mov    0x14(%esp),%edx
4025b9:	8b ce                	mov    %esi,%ecx
4025bb:	66 8b 19             	mov    (%ecx),%bx
4025be:	66 3b 1a             	cmp    (%edx),%bx
4025c1:	75 1e                	jne    0x4025e1
4025c3:	66 85 db             	test   %bx,%bx
4025c6:	74 15                	je     0x4025dd
4025c8:	66 8b 59 02          	mov    0x2(%ecx),%bx
4025cc:	66 3b 5a 02          	cmp    0x2(%edx),%bx
4025d0:	75 0f                	jne    0x4025e1
4025d2:	83 c1 04             	add    $0x4,%ecx
4025d5:	83 c2 04             	add    $0x4,%edx
4025d8:	66 85 db             	test   %bx,%bx
4025db:	75 de                	jne    0x4025bb
4025dd:	33 c9                	xor    %ecx,%ecx
4025df:	eb 05                	jmp    0x4025e6
4025e1:	1b c9                	sbb    %ecx,%ecx
4025e3:	83 c9 01             	or     $0x1,%ecx
4025e6:	85 c9                	test   %ecx,%ecx
4025e8:	74 14                	je     0x4025fe
4025ea:	40                   	inc    %eax
4025eb:	81 c6 00 01 00 00    	add    $0x100,%esi
4025f1:	3b c7                	cmp    %edi,%eax
4025f3:	7c c0                	jl     0x4025b5
4025f5:	33 c0                	xor    %eax,%eax
4025f7:	5f                   	pop    %edi
4025f8:	5e                   	pop    %esi
4025f9:	5d                   	pop    %ebp
4025fa:	5b                   	pop    %ebx
4025fb:	c2 04 00             	ret    $0x4
4025fe:	c1 e0 08             	shl    $0x8,%eax
402601:	03 c5                	add    %ebp,%eax
402603:	eb f2                	jmp    0x4025f7
402605:	55                   	push   %ebp
402606:	8b ec                	mov    %esp,%ebp
402608:	83 e4 f8             	and    $0xfffffff8,%esp
40260b:	51                   	push   %ecx
40260c:	51                   	push   %ecx
40260d:	53                   	push   %ebx
40260e:	55                   	push   %ebp
40260f:	56                   	push   %esi
402610:	57                   	push   %edi
402611:	8d 44 24 10          	lea    0x10(%esp),%eax
402615:	33 ed                	xor    %ebp,%ebp
402617:	50                   	push   %eax
402618:	8b f1                	mov    %ecx,%esi
40261a:	89 6c 24 14          	mov    %ebp,0x14(%esp)
40261e:	89 6c 24 18          	mov    %ebp,0x18(%esp)
402622:	ff 15 30 11 43 00    	call   *0x431130
402628:	8b 7c 24 14          	mov    0x14(%esp),%edi
40262c:	8b ce                	mov    %esi,%ecx
40262e:	8b 5c 24 10          	mov    0x10(%esp),%ebx
402632:	68 50 93 43 00       	push   $0x439350
402637:	e8 67 ff ff ff       	call   0x4025a3
40263c:	85 c0                	test   %eax,%eax
40263e:	74 2f                	je     0x40266f
402640:	6a 0a                	push   $0xa
402642:	6a 40                	push   $0x40
402644:	83 e8 80             	sub    $0xffffff80,%eax
402647:	2b 5e 40             	sub    0x40(%esi),%ebx
40264a:	50                   	push   %eax
40264b:	1b 7e 44             	sbb    0x44(%esi),%edi
40264e:	55                   	push   %ebp
40264f:	6a 0a                	push   $0xa
402651:	57                   	push   %edi
402652:	53                   	push   %ebx
402653:	e8 c8 b6 02 00       	call   0x42dd20
402658:	55                   	push   %ebp
402659:	68 e8 03 00 00       	push   $0x3e8
40265e:	52                   	push   %edx
40265f:	50                   	push   %eax
402660:	e8 bb b6 02 00       	call   0x42dd20
402665:	52                   	push   %edx
402666:	50                   	push   %eax
402667:	e8 16 07 01 00       	call   0x412d82
40266c:	83 c4 14             	add    $0x14,%esp
40266f:	68 60 93 43 00       	push   $0x439360
402674:	8b ce                	mov    %esi,%ecx
402676:	e8 28 ff ff ff       	call   0x4025a3
40267b:	bf 00 80 3e d5       	mov    $0xd53e8000,%edi
402680:	bb de b1 9d 01       	mov    $0x19db1de,%ebx
402685:	85 c0                	test   %eax,%eax
402687:	74 29                	je     0x4026b2
402689:	8b 56 40             	mov    0x40(%esi),%edx
40268c:	83 e8 80             	sub    $0xffffff80,%eax
40268f:	8b 4e 44             	mov    0x44(%esi),%ecx
402692:	2b d7                	sub    %edi,%edx
402694:	6a 0a                	push   $0xa
402696:	6a 40                	push   $0x40
402698:	50                   	push   %eax
402699:	55                   	push   %ebp
40269a:	68 80 96 98 00       	push   $0x989680
40269f:	1b cb                	sbb    %ebx,%ecx
4026a1:	51                   	push   %ecx
4026a2:	52                   	push   %edx
4026a3:	e8 68 78 00 00       	call   0x409f10
4026a8:	52                   	push   %edx
4026a9:	50                   	push   %eax
4026aa:	e8 d3 06 01 00       	call   0x412d82
4026af:	83 c4 14             	add    $0x14,%esp
4026b2:	68 3c 93 43 00       	push   $0x43933c
4026b7:	8b ce                	mov    %esi,%ecx
4026b9:	e8 e5 fe ff ff       	call   0x4025a3
4026be:	85 c0                	test   %eax,%eax
4026c0:	74 2b                	je     0x4026ed
4026c2:	8b 54 24 10          	mov    0x10(%esp),%edx
4026c6:	83 e8 80             	sub    $0xffffff80,%eax
4026c9:	8b 4c 24 14          	mov    0x14(%esp),%ecx
4026cd:	2b d7                	sub    %edi,%edx
4026cf:	6a 0a                	push   $0xa
4026d1:	6a 40                	push   $0x40
4026d3:	50                   	push   %eax
4026d4:	55                   	push   %ebp
4026d5:	68 80 96 98 00       	push   $0x989680
4026da:	1b cb                	sbb    %ebx,%ecx
4026dc:	51                   	push   %ecx
4026dd:	52                   	push   %edx
4026de:	e8 2d 78 00 00       	call   0x409f10
4026e3:	52                   	push   %edx
4026e4:	50                   	push   %eax
4026e5:	e8 98 06 01 00       	call   0x412d82
4026ea:	83 c4 14             	add    $0x14,%esp
4026ed:	5f                   	pop    %edi
4026ee:	5e                   	pop    %esi
4026ef:	5d                   	pop    %ebp
4026f0:	5b                   	pop    %ebx
4026f1:	8b e5                	mov    %ebp,%esp
4026f3:	5d                   	pop    %ebp
4026f4:	c3                   	ret
4026f5:	51                   	push   %ecx
4026f6:	55                   	push   %ebp
4026f7:	56                   	push   %esi
4026f8:	8b f1                	mov    %ecx,%esi
4026fa:	57                   	push   %edi
4026fb:	8b 7e 20             	mov    0x20(%esi),%edi
4026fe:	81 ff 00 10 00 00    	cmp    $0x1000,%edi
402704:	0f 87 85 00 00 00    	ja     0x40278f
40270a:	83 64 24 0c 00       	andl   $0x0,0xc(%esp)
40270f:	8b ef                	mov    %edi,%ebp
402711:	8b 46 24             	mov    0x24(%esi),%eax
402714:	c1 e5 08             	shl    $0x8,%ebp
402717:	85 c0                	test   %eax,%eax
402719:	75 4d                	jne    0x402768
40271b:	b9 00 01 00 00       	mov    $0x100,%ecx
402720:	8b c7                	mov    %edi,%eax
402722:	f7 e1                	mul    %ecx
402724:	53                   	push   %ebx
402725:	6a ff                	push   $0xffffffff
402727:	59                   	pop    %ecx
402728:	0f 42 c1             	cmovb  %ecx,%eax
40272b:	50                   	push   %eax
40272c:	e8 8f 42 00 00       	call   0x4069c0
402731:	8b d8                	mov    %eax,%ebx
402733:	59                   	pop    %ecx
402734:	85 db                	test   %ebx,%ebx
402736:	74 1a                	je     0x402752
402738:	85 ff                	test   %edi,%edi
40273a:	74 18                	je     0x402754
40273c:	33 c9                	xor    %ecx,%ecx
40273e:	66 89 08             	mov    %cx,(%eax)
402741:	8d 80 00 01 00 00    	lea    0x100(%eax),%eax
402747:	66 89 48 80          	mov    %cx,-0x80(%eax)
40274b:	83 ef 01             	sub    $0x1,%edi
40274e:	75 ec                	jne    0x40273c
402750:	eb 02                	jmp    0x402754
402752:	33 db                	xor    %ebx,%ebx
402754:	8b 46 24             	mov    0x24(%esi),%eax
402757:	3b d8                	cmp    %eax,%ebx
402759:	74 0c                	je     0x402767
40275b:	50                   	push   %eax
40275c:	e8 8f 42 00 00       	call   0x4069f0
402761:	59                   	pop    %ecx
402762:	89 5e 24             	mov    %ebx,0x24(%esi)
402765:	8b c3                	mov    %ebx,%eax
402767:	5b                   	pop    %ebx
402768:	8d 4c 24 0c          	lea    0xc(%esp),%ecx
40276c:	51                   	push   %ecx
40276d:	55                   	push   %ebp
40276e:	50                   	push   %eax
40276f:	ff 76 1c             	push   0x1c(%esi)
402772:	ff 76 2c             	push   0x2c(%esi)
402775:	ff 15 2c 11 43 00    	call   *0x43112c
40277b:	85 c0                	test   %eax,%eax
40277d:	74 10                	je     0x40278f
40277f:	8b ce                	mov    %esi,%ecx
402781:	e8 7f fe ff ff       	call   0x402605
402786:	39 6c 24 0c          	cmp    %ebp,0xc(%esp)
40278a:	0f 94 c0             	sete   %al
40278d:	eb 02                	jmp    0x402791
40278f:	32 c0                	xor    %al,%al
402791:	5f                   	pop    %edi
402792:	5e                   	pop    %esi
402793:	5d                   	pop    %ebp