41371e:	8b f0                	mov    %eax,%esi
413720:	eb 0b                	jmp    0x41372d
413722:	8b 4d e0             	mov    -0x20(%ebp),%ecx
413725:	57                   	push   %edi
413726:	e8 7b 92 ff ff       	call   0x40c9a6
41372b:	8b fe                	mov    %esi,%edi
41372d:	85 ff                	test   %edi,%edi
41372f:	74 07                	je     0x413738
413731:	57                   	push   %edi
413732:	e8 04 46 01 00       	call   0x427d3b
413737:	59                   	pop    %ecx
413738:	8b c6                	mov    %esi,%eax
41373a:	eb 2a                	jmp    0x413766
41373c:	a1 00 b0 42 00       	mov    0x42b000,%eax
413741:	3d 00 b0 42 00       	cmp    $0x42b000,%eax
413746:	74 19                	je     0x413761
413748:	f6 40 1c 01          	testb  $0x1,0x1c(%eax)
41374c:	74 13                	je     0x413761
41374e:	ff 70 14             	push   0x14(%eax)
413751:	ba 90 28 40 00       	mov    $0x402890,%edx
413756:	ff 70 10             	push   0x10(%eax)
413759:	6a 0a                	push   $0xa
41375b:	59                   	pop    %ecx
41375c:	e8 4f 3c ff ff       	call   0x4073b0
413761:	b8 57 00 07 80       	mov    $0x80070057,%eax
413766:	e8 cb 48 01 00       	call   0x428036
41376b:	c3                   	ret
41376c:	8b d1                	mov    %ecx,%edx
41376e:	56                   	push   %esi
41376f:	85 d2                	test   %edx,%edx
413771:	75 29                	jne    0x41379c
413773:	a1 00 b0 42 00       	mov    0x42b000,%eax
413778:	3d 00 b0 42 00       	cmp    $0x42b000,%eax
41377d:	74 19                	je     0x413798
41377f:	f6 40 1c 01          	testb  $0x1,0x1c(%eax)
413783:	74 13                	je     0x413798
413785:	ff 70 14             	push   0x14(%eax)
413788:	ba 90 28 40 00       	mov    $0x402890,%edx
41378d:	ff 70 10             	push   0x10(%eax)
413790:	6a 1b                	push   $0x1b
413792:	59                   	pop    %ecx
413793:	e8 18 3c ff ff       	call   0x4073b0
413798:	33 c0                	xor    %eax,%eax
41379a:	5e                   	pop    %esi
41379b:	c3                   	ret
41379c:	8d 71 02             	lea    0x2(%ecx),%esi
41379f:	66 8b 01             	mov    (%ecx),%ax
4137a2:	83 c1 02             	add    $0x2,%ecx
4137a5:	66 85 c0             	test   %ax,%ax
4137a8:	75 f5                	jne    0x41379f
4137aa:	2b ce                	sub    %esi,%ecx
4137ac:	d1 f9                	sar    $1,%ecx
4137ae:	8d 04 4a             	lea    (%edx,%ecx,2),%eax
4137b1:	eb 15                	jmp    0x4137c8
4137b3:	83 e8 02             	sub    $0x2,%eax
4137b6:	0f b7 08             	movzwl (%eax),%ecx
4137b9:	83 f9 5c             	cmp    $0x5c,%ecx
4137bc:	74 10                	je     0x4137ce
4137be:	83 f9 2f             	cmp    $0x2f,%ecx
4137c1:	74 0b                	je     0x4137ce
4137c3:	83 f9 3a             	cmp    $0x3a,%ecx
4137c6:	74 06                	je     0x4137ce
4137c8:	8b f0                	mov    %eax,%esi
4137ca:	3b c2                	cmp    %edx,%eax
4137cc:	77 e5                	ja     0x4137b3
4137ce:	8b c6                	mov    %esi,%eax
4137d0:	5e                   	pop    %esi
4137d1:	c3                   	ret
4137d2:	8b ff                	mov    %edi,%edi
4137d4:	56                   	push   %esi
4137d5:	8b f2                	mov    %edx,%esi
4137d7:	ff 15 dc c2 42 00    	call   *0x42c2dc
4137dd:	6a 00                	push   $0x0
4137df:	68 10 27 00 00       	push   $0x2710
4137e4:	56                   	push   %esi
4137e5:	ff 15 5c c1 42 00    	call   *0x42c15c
4137eb:	8b f0                	mov    %eax,%esi
4137ed:	ff 15 dc c2 42 00    	call   *0x42c2dc
4137f3:	8b c6                	mov    %esi,%eax
4137f5:	5e                   	pop    %esi
4137f6:	c2 04 00             	ret    $0x4
4137f9:	8b ff                	mov    %edi,%edi
4137fb:	55                   	push   %ebp
4137fc:	8b ec                	mov    %esp,%ebp
4137fe:	83 ec 0c             	sub    $0xc,%esp
413801:	8b 45 0c             	mov    0xc(%ebp),%eax
413804:	53                   	push   %ebx
413805:	56                   	push   %esi
413806:	57                   	push   %edi
413807:	8b 7d 10             	mov    0x10(%ebp),%edi
41380a:	8b d9                	mov    %ecx,%ebx
41380c:	33 f6                	xor    %esi,%esi
41380e:	89 45 f8             	mov    %eax,-0x8(%ebp)
413811:	c7 45 f4 04 00 00 00 	movl   $0x4,-0xc(%ebp)
413818:	89 5d fc             	mov    %ebx,-0x4(%ebp)
41381b:	85 ff                	test   %edi,%edi
41381d:	74 02                	je     0x413821
41381f:	89 37                	mov    %esi,(%edi)
413821:	8d 45 fc             	lea    -0x4(%ebp),%eax
413824:	50                   	push   %eax
413825:	68 01 01 00 00       	push   $0x101
41382a:	56                   	push   %esi
41382b:	52                   	push   %edx
41382c:	53                   	push   %ebx
41382d:	ff 15 48 c0 42 00    	call   *0x42c048
413833:	85 c0                	test   %eax,%eax
413835:	75 1c                	jne    0x413853
413837:	8d 45 f4             	lea    -0xc(%ebp),%eax
41383a:	50                   	push   %eax
41383b:	8d 45 f8             	lea    -0x8(%ebp),%eax
41383e:	50                   	push   %eax
41383f:	56                   	push   %esi
413840:	6a 10                	push   $0x10
413842:	ff 75 08             	push   0x8(%ebp)
413845:	56                   	push   %esi
413846:	ff 75 fc             	push   -0x4(%ebp)
413849:	ff 15 28 c0 42 00    	call   *0x42c028
41384f:	85 c0                	test   %eax,%eax
413851:	74 09                	je     0x41385c
413853:	8b c8                	mov    %eax,%ecx
413855:	e8 50 7d ff ff       	call   0x40b5aa
41385a:	8b f0                	mov    %eax,%esi
41385c:	85 f6                	test   %esi,%esi
41385e:	79 10                	jns    0x413870
413860:	8b 45 0c             	mov    0xc(%ebp),%eax
413863:	89 45 f8             	mov    %eax,-0x8(%ebp)
413866:	85 ff                	test   %edi,%edi
413868:	74 06                	je     0x413870
41386a:	c7 07 01 00 00 00    	movl   $0x1,(%edi)
413870:	8b 45 fc             	mov    -0x4(%ebp),%eax
413873:	85 c0                	test   %eax,%eax
413875:	74 0b                	je     0x413882
413877:	3b c3                	cmp    %ebx,%eax
413879:	74 07                	je     0x413882
41387b:	50                   	push   %eax
41387c:	ff 15 44 c0 42 00    	call   *0x42c044
413882:	8b 45 f8             	mov    -0x8(%ebp),%eax
413885:	5f                   	pop    %edi
413886:	5e                   	pop    %esi
413887:	5b                   	pop    %ebx
413888:	c9                   	leave
413889:	c2 10 00             	ret    $0x10
41388c:	8b ff                	mov    %edi,%edi
41388e:	55                   	push   %ebp
41388f:	8b ec                	mov    %esp,%ebp
413891:	83 ec 10             	sub    $0x10,%esp
413894:	53                   	push   %ebx
413895:	56                   	push   %esi
413896:	8b 75 14             	mov    0x14(%ebp),%esi
413899:	33 db                	xor    %ebx,%ebx
41389b:	89 5d f0             	mov    %ebx,-0x10(%ebp)
41389e:	89 5d f4             	mov    %ebx,-0xc(%ebp)
4138a1:	c7 45 f8 08 00 00 00 	movl   $0x8,-0x8(%ebp)
4138a8:	57                   	push   %edi
4138a9:	8b f9                	mov    %ecx,%edi
4138ab:	89 7d fc             	mov    %edi,-0x4(%ebp)
4138ae:	85 f6                	test   %esi,%esi
4138b0:	74 02                	je     0x4138b4
4138b2:	89 1e                	mov    %ebx,(%esi)
4138b4:	8d 45 fc             	lea    -0x4(%ebp),%eax
4138b7:	50                   	push   %eax
4138b8:	68 01 01 00 00       	push   $0x101
4138bd:	53                   	push   %ebx
4138be:	52                   	push   %edx
4138bf:	57                   	push   %edi
4138c0:	ff 15 48 c0 42 00    	call   *0x42c048
4138c6:	85 c0                	test   %eax,%eax
4138c8:	74 09                	je     0x4138d3
4138ca:	8b c8                	mov    %eax,%ecx
4138cc:	e8 d9 7c ff ff       	call   0x40b5aa
4138d1:	eb 20                	jmp    0x4138f3
4138d3:	8d 45 f8             	lea    -0x8(%ebp),%eax
4138d6:	50                   	push   %eax
4138d7:	8d 45 f0             	lea    -0x10(%ebp),%eax
4138da:	50                   	push   %eax
4138db:	53                   	push   %ebx
4138dc:	6a 40                	push   $0x40
4138de:	68 b8 46 40 00       	push   $0x4046b8
4138e3:	53                   	push   %ebx
4138e4:	ff 75 fc             	push   -0x4(%ebp)
4138e7:	ff 15 28 c0 42 00    	call   *0x42c028
4138ed:	85 c0                	test   %eax,%eax
4138ef:	75 d9                	jne    0x4138ca
4138f1:	8b c3                	mov    %ebx,%eax
4138f3:	85 c0                	test   %eax,%eax
4138f5:	79 10                	jns    0x413907
4138f7:	89 5d f0             	mov    %ebx,-0x10(%ebp)
4138fa:	89 5d f4             	mov    %ebx,-0xc(%ebp)
4138fd:	85 f6                	test   %esi,%esi
4138ff:	74 06                	je     0x413907
413901:	c7 06 01 00 00 00    	movl   $0x1,(%esi)
413907:	8b 45 fc             	mov    -0x4(%ebp),%eax
41390a:	85 c0                	test   %eax,%eax
41390c:	74 0b                	je     0x413919
41390e:	3b c7                	cmp    %edi,%eax
413910:	74 07                	je     0x413919
413912:	50                   	push   %eax
413913:	ff 15 44 c0 42 00    	call   *0x42c044
413919:	8b 45 f0             	mov    -0x10(%ebp),%eax
41391c:	8b 55 f4             	mov    -0xc(%ebp),%edx
41391f:	5f                   	pop    %edi
413920:	5e                   	pop    %esi
413921:	5b                   	pop    %ebx
413922:	c9                   	leave
413923:	c2 14 00             	ret    $0x14
413926:	8b ff                	mov    %edi,%edi
413928:	55                   	push   %ebp
413929:	8b ec                	mov    %esp,%ebp
41392b:	83 ec 0c             	sub    $0xc,%esp
41392e:	53                   	push   %ebx
41392f:	56                   	push   %esi
413930:	57                   	push   %edi
413931:	8d 45 fc             	lea    -0x4(%ebp),%eax
413934:	33 ff                	xor    %edi,%edi
413936:	50                   	push   %eax
413937:	68 01 01 00 00       	push   $0x101
41393c:	57                   	push   %edi
41393d:	8b d9                	mov    %ecx,%ebx
41393f:	89 7d f8             	mov    %edi,-0x8(%ebp)
413942:	52                   	push   %edx
413943:	53                   	push   %ebx
413944:	be 05 40 00 80       	mov    $0x80004005,%esi
413949:	89 5d fc             	mov    %ebx,-0x4(%ebp)
41394c:	ff 15 48 c0 42 00    	call   *0x42c048
413952:	85 c0                	test   %eax,%eax
413954:	74 3e                	je     0x413994
413956:	8b c8                	mov    %eax,%ecx
413958:	e8 4d 7c ff ff       	call   0x40b5aa
41395d:	8b f0                	mov    %eax,%esi
41395f:	8b 0d 00 b0 42 00    	mov    0x42b000,%ecx
413965:	81 f9 00 b0 42 00    	cmp    $0x42b000,%ecx
41396b:	0f 84 43 01 00 00    	je     0x413ab4
413971:	f6 41 1c 01          	testb  $0x1,0x1c(%ecx)
413975:	0f 84 39 01 00 00    	je     0x413ab4
41397b:	56                   	push   %esi
41397c:	ff 71 14             	push   0x14(%ecx)
41397f:	ba 90 28 40 00       	mov    $0x402890,%edx
413984:	ff 71 10             	push   0x10(%ecx)
413987:	6a 67                	push   $0x67
413989:	59                   	pop    %ecx
41398a:	e8 3f 3a ff ff       	call   0x4073ce
41398f:	e9 20 01 00 00       	jmp    0x413ab4
413994:	8d 45 f8             	lea    -0x8(%ebp),%eax
413997:	50                   	push   %eax
413998:	57                   	push   %edi
413999:	57                   	push   %edi
41399a:	6a 02                	push   $0x2
41399c:	58                   	pop    %eax
41399d:	50                   	push   %eax
41399e:	ff 75 08             	push   0x8(%ebp)
4139a1:	57                   	push   %edi
4139a2:	ff 75 fc             	push   -0x4(%ebp)
4139a5:	ff 15 28 c0 42 00    	call   *0x42c028
4139ab:	85 c0                	test   %eax,%eax
4139ad:	74 2f                	je     0x4139de
4139af:	8b 4d 0c             	mov    0xc(%ebp),%ecx
4139b2:	85 c9                	test   %ecx,%ecx
4139b4:	74 1f                	je     0x4139d5
4139b6:	39 7d 14             	cmp    %edi,0x14(%ebp)
4139b9:	74 0f                	je     0x4139ca
4139bb:	8b 55 10             	mov    0x10(%ebp),%edx
4139be:	e8 7e fc ff ff       	call   0x413641
4139c3:	8b f0                	mov    %eax,%esi
4139c5:	e9 ea 00 00 00       	jmp    0x413ab4
4139ca:	51                   	push   %ecx
4139cb:	8b 4d 10             	mov    0x10(%ebp),%ecx
4139ce:	e8 e5 86 ff ff       	call   0x40c0b8
4139d3:	eb ee                	jmp    0x4139c3
4139d5:	8b c8                	mov    %eax,%ecx
4139d7:	e8 ce 7b ff ff       	call   0x40b5aa
4139dc:	eb e5                	jmp    0x4139c3
4139de:	8b 45 f8             	mov    -0x8(%ebp),%eax
4139e1:	33 c9                	xor    %ecx,%ecx
4139e3:	d1 e8                	shr    $1,%eax
4139e5:	6a 02                	push   $0x2
4139e7:	40                   	inc    %eax
4139e8:	5a                   	pop    %edx
4139e9:	f7 e2                	mul    %edx
4139eb:	0f 90 c1             	seto   %cl
4139ee:	f7 d9                	neg    %ecx
4139f0:	0b c8                	or     %eax,%ecx
4139f2:	51                   	push   %ecx
4139f3:	e8 1a 43 01 00       	call   0x427d12
4139f8:	8b f8                	mov    %eax,%edi
4139fa:	59                   	pop    %ecx
4139fb:	85 ff                	test   %edi,%edi
4139fd:	75 32                	jne    0x413a31
4139ff:	a1 00 b0 42 00       	mov    0x42b000,%eax
413a04:	3d 00 b0 42 00       	cmp    $0x42b000,%eax
413a09:	0f 84 a5 00 00 00    	je     0x413ab4
413a0f:	f6 40 1c 01          	testb  $0x1,0x1c(%eax)
413a13:	0f 84 9b 00 00 00    	je     0x413ab4
413a19:	ff 70 14             	push   0x14(%eax)
413a1c:	ba 90 28 40 00       	mov    $0x402890,%edx
413a21:	ff 70 10             	push   0x10(%eax)
413a24:	6a 68                	push   $0x68
413a26:	59                   	pop    %ecx
413a27:	e8 84 39 ff ff       	call   0x4073b0
413a2c:	e9 83 00 00 00       	jmp    0x413ab4
413a31:	8d 45 f8             	lea    -0x8(%ebp),%eax
413a34:	50                   	push   %eax
413a35:	57                   	push   %edi
413a36:	6a 00                	push   $0x0
413a38:	6a 02                	push   $0x2
413a3a:	58                   	pop    %eax
413a3b:	50                   	push   %eax
413a3c:	ff 75 08             	push   0x8(%ebp)
413a3f:	6a 00                	push   $0x0
413a41:	ff 75 fc             	push   -0x4(%ebp)
413a44:	ff 15 28 c0 42 00    	call   *0x42c028
413a4a:	85 c0                	test   %eax,%eax
413a4c:	74 31                	je     0x413a7f
413a4e:	8b c8                	mov    %eax,%ecx
413a50:	e8 55 7b ff ff       	call   0x40b5aa
413a55:	8b f0                	mov    %eax,%esi
413a57:	a1 00 b0 42 00       	mov    0x42b000,%eax
413a5c:	3d 00 b0 42 00       	cmp    $0x42b000,%eax
413a61:	74 4a                	je     0x413aad
413a63:	f6 40 1c 01          	testb  $0x1,0x1c(%eax)
413a67:	74 44                	je     0x413aad
413a69:	56                   	push   %esi
413a6a:	ff 70 14             	push   0x14(%eax)
413a6d:	ff 70 10             	push   0x10(%eax)
413a70:	6a 69                	push   $0x69
413a72:	ba 90 28 40 00       	mov    $0x402890,%edx
413a77:	59                   	pop    %ecx
413a78:	e8 51 39 ff ff       	call   0x4073ce
413a7d:	eb 2e                	jmp    0x413aad
413a7f:	8b 4d 10             	mov    0x10(%ebp),%ecx
413a82:	57                   	push   %edi
413a83:	e8 30 86 ff ff       	call   0x40c0b8
413a88:	8b f0                	mov    %eax,%esi
413a8a:	85 f6                	test   %esi,%esi
413a8c:	79 1d                	jns    0x413aab
413a8e:	a1 00 b0 42 00       	mov    0x42b000,%eax
413a93:	3d 00 b0 42 00       	cmp    $0x42b000,%eax
413a98:	74 13                	je     0x413aad
413a9a:	f6 40 1c 01          	testb  $0x1,0x1c(%eax)
413a9e:	74 0d                	je     0x413aad
413aa0:	56                   	push   %esi
413aa1:	ff 70 14             	push   0x14(%eax)
413aa4:	ff 70 10             	push   0x10(%eax)
413aa7:	6a 6a                	push   $0x6a
413aa9:	eb c7                	jmp    0x413a72
413aab:	33 f6                	xor    %esi,%esi
413aad:	57                   	push   %edi
413aae:	e8 88 42 01 00       	call   0x427d3b
413ab3:	59                   	pop    %ecx
413ab4:	8b 45 fc             	mov    -0x4(%ebp),%eax
413ab7:	85 c0                	test   %eax,%eax