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
402794:	59                   	pop    %ecx
402795:	c3                   	ret
402796:	8b 44 24 04          	mov    0x4(%esp),%eax
40279a:	8b 51 24             	mov    0x24(%ecx),%edx
40279d:	8b 49 20             	mov    0x20(%ecx),%ecx
4027a0:	89 10                	mov    %edx,(%eax)
4027a2:	89 48 04             	mov    %ecx,0x4(%eax)
4027a5:	c2 04 00             	ret    $0x4
4027a8:	b8 88 ff 43 00       	mov    $0x43ff88,%eax
4027ad:	c3                   	ret
4027ae:	8d 44 24 10          	lea    0x10(%esp),%eax
4027b2:	50                   	push   %eax
4027b3:	6a 00                	push   $0x0
4027b5:	ff 74 24 14          	push   0x14(%esp)
4027b9:	ff 74 24 14          	push   0x14(%esp)
4027bd:	ff 74 24 14          	push   0x14(%esp)
4027c1:	e8 e2 ff ff ff       	call   0x4027a8
4027c6:	ff 70 04             	push   0x4(%eax)
4027c9:	ff 30                	push   (%eax)
4027cb:	e8 3c f5 00 00       	call   0x411d0c
4027d0:	83 c9 ff             	or     $0xffffffff,%ecx
4027d3:	83 c4 1c             	add    $0x1c,%esp
4027d6:	85 c0                	test   %eax,%eax
4027d8:	0f 48 c1             	cmovs  %ecx,%eax
4027db:	c3                   	ret
4027dc:	8b 4c 24 0c          	mov    0xc(%esp),%ecx
4027e0:	85 c9                	test   %ecx,%ecx
4027e2:	74 1d                	je     0x402801
4027e4:	8b 44 24 08          	mov    0x8(%esp),%eax
4027e8:	0f b7 d0             	movzwl %ax,%edx
4027eb:	8b c2                	mov    %edx,%eax
4027ed:	c1 e2 10             	shl    $0x10,%edx
4027f0:	57                   	push   %edi
4027f1:	8b 7c 24 08          	mov    0x8(%esp),%edi
4027f5:	0b c2                	or     %edx,%eax
4027f7:	d1 e9                	shr    $1,%ecx
4027f9:	f3 ab                	rep stos %eax,%es:(%edi)
4027fb:	13 c9                	adc    %ecx,%ecx
4027fd:	66 f3 ab             	rep stos %ax,%es:(%edi)
402800:	5f                   	pop    %edi
402801:	8b 44 24 04          	mov    0x4(%esp),%eax
402805:	c3                   	ret
402806:	56                   	push   %esi
402807:	8b f1                	mov    %ecx,%esi
402809:	83 3e 00             	cmpl   $0x0,(%esi)
40280c:	74 08                	je     0x402816
40280e:	ff 36                	push   (%esi)
402810:	ff 15 44 11 43 00    	call   *0x431144
402816:	8d 4e 18             	lea    0x18(%esi),%ecx
402819:	e8 aa 0b 00 00       	call   0x4033c8
40281e:	8d 4e 10             	lea    0x10(%esi),%ecx
402821:	5e                   	pop    %esi
402822:	e9 39 0b 00 00       	jmp    0x403360
402827:	51                   	push   %ecx
402828:	51                   	push   %ecx
402829:	55                   	push   %ebp
40282a:	56                   	push   %esi
40282b:	8b 35 2c 11 43 00    	mov    0x43112c,%esi
402831:	8d 44 24 08          	lea    0x8(%esp),%eax
402835:	57                   	push   %edi
402836:	33 ed                	xor    %ebp,%ebp
402838:	8b f9                	mov    %ecx,%edi
40283a:	55                   	push   %ebp
40283b:	6a 08                	push   $0x8
40283d:	50                   	push   %eax
40283e:	ff 74 24 28          	push   0x28(%esp)
402842:	ff 74 24 28          	push   0x28(%esp)
402846:	ff d6                	call   *%esi
402848:	85 c0                	test   %eax,%eax
40284a:	0f 84 fa 00 00 00    	je     0x40294a
402850:	55                   	push   %ebp
402851:	6a 04                	push   $0x4
402853:	8d 44 24 24          	lea    0x24(%esp),%eax
402857:	50                   	push   %eax
402858:	ff 74 24 18          	push   0x18(%esp)
40285c:	ff 74 24 28          	push   0x28(%esp)
402860:	ff d6                	call   *%esi
402862:	85 c0                	test   %eax,%eax
402864:	0f 84 e0 00 00 00    	je     0x40294a
40286a:	81 7c 24 1c 08 00 00 	cmpl   $0xc0000008,0x1c(%esp)
402871:	c0
402872:	0f 85 ce 00 00 00    	jne    0x402946
402878:	68 b0 93 43 00       	push   $0x4393b0
40287d:	ff 15 3c 11 43 00    	call   *0x43113c
402883:	89 07                	mov    %eax,(%edi)
402885:	85 c0                	test   %eax,%eax
402887:	0f 84 bd 00 00 00    	je     0x40294a
40288d:	68 cc 93 43 00       	push   $0x4393cc
402892:	50                   	push   %eax
402893:	ff 15 40 11 43 00    	call   *0x431140
402899:	89 47 04             	mov    %eax,0x4(%edi)
40289c:	85 c0                	test   %eax,%eax
40289e:	0f 84 a6 00 00 00    	je     0x40294a
4028a4:	57                   	push   %edi
4028a5:	68 54 29 40 00       	push   $0x402954
4028aa:	6a 01                	push   $0x1
4028ac:	55                   	push   %ebp
4028ad:	ff 74 24 28          	push   0x28(%esp)
4028b1:	ff d0                	call   *%eax
4028b3:	85 c0                	test   %eax,%eax
4028b5:	0f 85 8b 00 00 00    	jne    0x402946
4028bb:	8b 77 10             	mov    0x10(%edi),%esi
4028be:	53                   	push   %ebx
4028bf:	8b 0e                	mov    (%esi),%ecx
4028c1:	3b ce                	cmp    %esi,%ecx
4028c3:	74 36                	je     0x4028fb
4028c5:	8b 41 08             	mov    0x8(%ecx),%eax
4028c8:	8b 19                	mov    (%ecx),%ebx
4028ca:	3b 47 08             	cmp    0x8(%edi),%eax
4028cd:	75 08                	jne    0x4028d7
4028cf:	8b 41 0c             	mov    0xc(%ecx),%eax
4028d2:	3b 47 0c             	cmp    0xc(%edi),%eax
4028d5:	74 1e                	je     0x4028f5
4028d7:	8b 41 04             	mov    0x4(%ecx),%eax
4028da:	68 28 01 00 00       	push   $0x128
4028df:	89 18                	mov    %ebx,(%eax)
4028e1:	8b 11                	mov    (%ecx),%edx
4028e3:	8b 41 04             	mov    0x4(%ecx),%eax
4028e6:	89 42 04             	mov    %eax,0x4(%edx)
4028e9:	33 d2                	xor    %edx,%edx
4028eb:	ff 4f 14             	decl   0x14(%edi)
4028ee:	42                   	inc    %edx
4028ef:	e8 ea e8 ff ff       	call   0x4011de
4028f4:	59                   	pop    %ecx
4028f5:	8b cb                	mov    %ebx,%ecx
4028f7:	3b de                	cmp    %esi,%ebx
4028f9:	75 ca                	jne    0x4028c5
4028fb:	69 47 14 20 01 00 00 	imul   $0x120,0x14(%edi),%eax
402902:	8d 4f 18             	lea    0x18(%edi),%ecx
402905:	6a 10                	push   $0x10
402907:	5b                   	pop    %ebx
402908:	03 c3                	add    %ebx,%eax
40290a:	50                   	push   %eax
40290b:	e8 0d 0a 00 00       	call   0x40331d
402910:	8b 4f 18             	mov    0x18(%edi),%ecx
402913:	89 19                	mov    %ebx,(%ecx)
402915:	8d 59 10             	lea    0x10(%ecx),%ebx
402918:	c7 41 04 20 01 00 00 	movl   $0x120,0x4(%ecx)
40291f:	8b 47 14             	mov    0x14(%edi),%eax
402922:	89 41 08             	mov    %eax,0x8(%ecx)
402925:	89 69 0c             	mov    %ebp,0xc(%ecx)
402928:	8b 47 10             	mov    0x10(%edi),%eax
40292b:	8b 10                	mov    (%eax),%edx
40292d:	eb 12                	jmp    0x402941
40292f:	6a 48                	push   $0x48
402931:	8d 72 08             	lea    0x8(%edx),%esi
402934:	8b fb                	mov    %ebx,%edi
402936:	59                   	pop    %ecx
402937:	f3 a5                	rep movsl %ds:(%esi),%es:(%edi)
402939:	8b 12                	mov    (%edx),%edx
40293b:	81 c3 20 01 00 00    	add    $0x120,%ebx
402941:	3b d0                	cmp    %eax,%edx
402943:	75 ea                	jne    0x40292f
402945:	5b                   	pop    %ebx
402946:	b0 01                	mov    $0x1,%al
402948:	eb 02                	jmp    0x40294c
40294a:	32 c0                	xor    %al,%al
40294c:	5f                   	pop    %edi
40294d:	5e                   	pop    %esi
40294e:	5d                   	pop    %ebp
40294f:	59                   	pop    %ecx
402950:	59                   	pop    %ecx
402951:	c2 08 00             	ret    $0x8
402954:	53                   	push   %ebx
402955:	8b 5c 24 0c          	mov    0xc(%esp),%ebx
402959:	55                   	push   %ebp
40295a:	56                   	push   %esi
40295b:	8b 74 24 10          	mov    0x10(%esp),%esi
40295f:	83 7e 10 03          	cmpl   $0x3,0x10(%esi)
402963:	75 0b                	jne    0x402970
402965:	8b 06                	mov    (%esi),%eax
402967:	8b 4e 04             	mov    0x4(%esi),%ecx
40296a:	89 43 08             	mov    %eax,0x8(%ebx)
40296d:	89 4b 0c             	mov    %ecx,0xc(%ebx)
402970:	8b 6b 10             	mov    0x10(%ebx),%ebp