45d6d9:	e8 63 a8 fa ff       	call   0x407f41
45d6de:	8d 4d f0             	lea    -0x10(%ebp),%ecx
45d6e1:	e8 c9 a8 fa ff       	call   0x407faf
45d6e6:	ff 75 f4             	push   -0xc(%ebp)
45d6e9:	ff 75 f0             	push   -0x10(%ebp)
45d6ec:	ff 15 7c f6 48 00    	call   *0x48f67c
45d6f2:	ba d8 99 4b 00       	mov    $0x4b99d8,%edx
45d6f7:	8d 4d f0             	lea    -0x10(%ebp),%ecx
45d6fa:	e8 28 36 fc ff       	call   0x420d27
45d6ff:	84 c0                	test   %al,%al
45d701:	74 06                	je     0x45d709
45d703:	c7 06 19 fc ff ff    	movl   $0xfffffc19,(%esi)
45d709:	8d 4d f0             	lea    -0x10(%ebp),%ecx
45d70c:	e8 53 83 fa ff       	call   0x405a64
45d711:	33 c0                	xor    %eax,%eax
45d713:	eb 05                	jmp    0x45d71a
45d715:	b8 06 00 02 80       	mov    $0x80020006,%eax
45d71a:	5e                   	pop    %esi
45d71b:	8b e5                	mov    %ebp,%esp
45d71d:	5d                   	pop    %ebp
45d71e:	c2 18 00             	ret    $0x18
45d721:	55                   	push   %ebp
45d722:	8b ec                	mov    %esp,%ebp
45d724:	8b 4d 14             	mov    0x14(%ebp),%ecx
45d727:	85 c9                	test   %ecx,%ecx
45d729:	75 07                	jne    0x45d732
45d72b:	b8 57 00 07 80       	mov    $0x80070057,%eax
45d730:	eb 0a                	jmp    0x45d73c
45d732:	8b 45 08             	mov    0x8(%ebp),%eax
45d735:	8b 40 0c             	mov    0xc(%eax),%eax
45d738:	89 01                	mov    %eax,(%ecx)
45d73a:	33 c0                	xor    %eax,%eax
45d73c:	5d                   	pop    %ebp
45d73d:	c2 10 00             	ret    $0x10
45d740:	55                   	push   %ebp
45d741:	8b ec                	mov    %esp,%ebp
45d743:	8b 55 0c             	mov    0xc(%ebp),%edx
45d746:	85 d2                	test   %edx,%edx
45d748:	74 11                	je     0x45d75b
45d74a:	8b 45 08             	mov    0x8(%ebp),%eax
45d74d:	33 c9                	xor    %ecx,%ecx
45d74f:	39 48 0c             	cmp    %ecx,0xc(%eax)
45d752:	0f 95 c1             	setne  %cl
45d755:	33 c0                	xor    %eax,%eax
45d757:	89 0a                	mov    %ecx,(%edx)
45d759:	eb 05                	jmp    0x45d760
45d75b:	b8 57 00 07 80       	mov    $0x80070057,%eax
45d760:	5d                   	pop    %ebp
45d761:	c2 08 00             	ret    $0x8
45d764:	55                   	push   %ebp
45d765:	8b ec                	mov    %esp,%ebp
45d767:	51                   	push   %ecx
45d768:	81 7d 0c 19 fc ff ff 	cmpl   $0xfffffc19,0xc(%ebp)
45d76f:	56                   	push   %esi
45d770:	75 11                	jne    0x45d783
45d772:	8b 4d 08             	mov    0x8(%ebp),%ecx
45d775:	e8 e3 00 00 00       	call   0x45d85d
45d77a:	33 c0                	xor    %eax,%eax
45d77c:	5e                   	pop    %esi
45d77d:	8b e5                	mov    %ebp,%esp
45d77f:	5d                   	pop    %ebp
45d780:	c2 24 00             	ret    $0x24
45d783:	8b 75 08             	mov    0x8(%ebp),%esi
45d786:	8b 4e 0c             	mov    0xc(%esi),%ecx
45d789:	85 c9                	test   %ecx,%ecx
45d78b:	74 ed                	je     0x45d77a
45d78d:	83 65 08 00          	andl   $0x0,0x8(%ebp)
45d791:	8d 55 fc             	lea    -0x4(%ebp),%edx
45d794:	8b 01                	mov    (%ecx),%eax
45d796:	52                   	push   %edx
45d797:	6a 01                	push   $0x1
45d799:	8d 55 08             	lea    0x8(%ebp),%edx
45d79c:	52                   	push   %edx
45d79d:	ff 75 0c             	push   0xc(%ebp)
45d7a0:	51                   	push   %ecx
45d7a1:	ff 50 1c             	call   *0x1c(%eax)
45d7a4:	85 c0                	test   %eax,%eax
45d7a6:	78 d2                	js     0x45d77a
45d7a8:	83 7d 08 00          	cmpl   $0x0,0x8(%ebp)
45d7ac:	74 cc                	je     0x45d77a
45d7ae:	83 ec 10             	sub    $0x10,%esp
45d7b1:	8b cc                	mov    %esp,%ecx
45d7b3:	ff 75 08             	push   0x8(%ebp)
45d7b6:	e8 86 a7 fa ff       	call   0x407f41
45d7bb:	ff 75 1c             	push   0x1c(%ebp)
45d7be:	8b ce                	mov    %esi,%ecx
45d7c0:	e8 9d f8 ff ff       	call   0x45d062
45d7c5:	ff 75 08             	push   0x8(%ebp)
45d7c8:	8b f0                	mov    %eax,%esi
45d7ca:	ff 15 18 f4 48 00    	call   *0x48f418
45d7d0:	8b c6                	mov    %esi,%eax
45d7d2:	eb a8                	jmp    0x45d77c
45d7d4:	55                   	push   %ebp
45d7d5:	8b ec                	mov    %esp,%ebp
45d7d7:	56                   	push   %esi
45d7d8:	6a 10                	push   $0x10
45d7da:	68 ec 2b 49 00       	push   $0x492bec
45d7df:	ff 75 0c             	push   0xc(%ebp)
45d7e2:	e8 dd 3e fc ff       	call   0x4216c4
45d7e7:	8b 75 08             	mov    0x8(%ebp),%esi
45d7ea:	83 c4 0c             	add    $0xc,%esp
45d7ed:	85 c0                	test   %eax,%eax
45d7ef:	74 32                	je     0x45d823
45d7f1:	6a 10                	push   $0x10
45d7f3:	68 0c 2c 49 00       	push   $0x492c0c
45d7f8:	ff 75 0c             	push   0xc(%ebp)
45d7fb:	e8 c4 3e fc ff       	call   0x4216c4
45d800:	83 c4 0c             	add    $0xc,%esp
45d803:	85 c0                	test   %eax,%eax
45d805:	74 1c                	je     0x45d823
45d807:	6a 10                	push   $0x10
45d809:	8d 46 10             	lea    0x10(%esi),%eax
45d80c:	50                   	push   %eax
45d80d:	ff 75 0c             	push   0xc(%ebp)
45d810:	e8 af 3e fc ff       	call   0x4216c4
45d815:	83 c4 0c             	add    $0xc,%esp
45d818:	85 c0                	test   %eax,%eax
45d81a:	74 07                	je     0x45d823
45d81c:	b8 02 40 00 80       	mov    $0x80004002,%eax
45d821:	eb 0d                	jmp    0x45d830
45d823:	8b 06                	mov    (%esi),%eax
45d825:	56                   	push   %esi
45d826:	ff 50 04             	call   *0x4(%eax)
45d829:	8b 45 10             	mov    0x10(%ebp),%eax
45d82c:	89 30                	mov    %esi,(%eax)
45d82e:	33 c0                	xor    %eax,%eax
45d830:	5e                   	pop    %esi
45d831:	5d                   	pop    %ebp
45d832:	c2 0c 00             	ret    $0xc
45d835:	55                   	push   %ebp
45d836:	8b ec                	mov    %esp,%ebp
45d838:	56                   	push   %esi
45d839:	8b 75 08             	mov    0x8(%ebp),%esi
45d83c:	8d 46 24             	lea    0x24(%esi),%eax
45d83f:	50                   	push   %eax
45d840:	ff 15 50 f3 48 00    	call   *0x48f350
45d846:	85 c0                	test   %eax,%eax
45d848:	75 0e                	jne    0x45d858
45d84a:	85 f6                	test   %esi,%esi
45d84c:	74 08                	je     0x45d856
45d84e:	51                   	push   %ecx
45d84f:	8b ce                	mov    %esi,%ecx
45d851:	e8 01 f7 ff ff       	call   0x45cf57
45d856:	33 c0                	xor    %eax,%eax
45d858:	5e                   	pop    %esi
45d859:	5d                   	pop    %ebp
45d85a:	c2 04 00             	ret    $0x4
45d85d:	56                   	push   %esi
45d85e:	8b f1                	mov    %ecx,%esi
45d860:	8b 4e 20             	mov    0x20(%esi),%ecx
45d863:	85 c9                	test   %ecx,%ecx
45d865:	74 12                	je     0x45d879
45d867:	ff 76 08             	push   0x8(%esi)
45d86a:	8b 01                	mov    (%ecx),%eax
45d86c:	51                   	push   %ecx
45d86d:	ff 50 18             	call   *0x18(%eax)
45d870:	8b 46 20             	mov    0x20(%esi),%eax
45d873:	50                   	push   %eax
45d874:	8b 08                	mov    (%eax),%ecx
45d876:	ff 51 08             	call   *0x8(%ecx)
45d879:	83 66 20 00          	andl   $0x0,0x20(%esi)
45d87d:	5e                   	pop    %esi
45d87e:	c3                   	ret
45d87f:	55                   	push   %ebp
45d880:	8b ec                	mov    %esp,%ebp
45d882:	83 ec 1c             	sub    $0x1c,%esp
45d885:	f7 45 0c 00 40 00 00 	testl  $0x4000,0xc(%ebp)
45d88c:	56                   	push   %esi
45d88d:	57                   	push   %edi
45d88e:	0f 84 02 01 00 00    	je     0x45d996
45d894:	6a 01                	push   $0x1
45d896:	8d 45 f8             	lea    -0x8(%ebp),%eax
45d899:	33 ff                	xor    %edi,%edi
45d89b:	50                   	push   %eax
45d89c:	ff 75 08             	push   0x8(%ebp)
45d89f:	89 7d f8             	mov    %edi,-0x8(%ebp)
45d8a2:	e8 f3 ac fa ff       	call   0x40859a
45d8a7:	8b 4d 0c             	mov    0xc(%ebp),%ecx
45d8aa:	8b f0                	mov    %eax,%esi
45d8ac:	81 e1 ff 0f 00 00    	and    $0xfff,%ecx
45d8b2:	83 c1 fe             	add    $0xfffffffe,%ecx
45d8b5:	83 f9 17             	cmp    $0x17,%ecx
45d8b8:	0f 87 d8 00 00 00    	ja     0x45d996
45d8be:	0f b6 89 cb d9 45 00 	movzbl 0x45d9cb(%ecx),%ecx
45d8c5:	ff 24 8d 9f d9 45 00 	jmp    *0x45d99f(,%ecx,4)
45d8cc:	8b ce                	mov    %esi,%ecx
45d8ce:	e8 c6 ba fa ff       	call   0x409399
45d8d3:	0f b6 c8             	movzbl %al,%ecx
45d8d6:	f7 d9                	neg    %ecx
45d8d8:	1b c9                	sbb    %ecx,%ecx
45d8da:	8b 45 14             	mov    0x14(%ebp),%eax
45d8dd:	66 89 08             	mov    %cx,(%eax)
45d8e0:	e9 b1 00 00 00       	jmp    0x45d996
45d8e5:	39 7d 14             	cmp    %edi,0x14(%ebp)
45d8e8:	0f 84 a8 00 00 00    	je     0x45d996
45d8ee:	8b ce                	mov    %esi,%ecx
45d8f0:	e8 a2 c0 fa ff       	call   0x409997
45d8f5:	8b 46 08             	mov    0x8(%esi),%eax
45d8f8:	ff 30                	push   (%eax)
45d8fa:	ff 75 14             	push   0x14(%ebp)
45d8fd:	ff 15 14 f4 48 00    	call   *0x48f414
45d903:	e9 8e 00 00 00       	jmp    0x45d996
45d908:	56                   	push   %esi
45d909:	8d 4d e4             	lea    -0x1c(%ebp),%ecx
45d90c:	e8 56 97 ff ff       	call   0x457067
45d911:	8d 45 e4             	lea    -0x1c(%ebp),%eax
45d914:	50                   	push   %eax
45d915:	ff 75 14             	push   0x14(%ebp)
45d918:	ff 15 10 f4 48 00    	call   *0x48f410
45d91e:	8d 45 e4             	lea    -0x1c(%ebp),%eax
45d921:	50                   	push   %eax
45d922:	ff 15 5c f4 48 00    	call   *0x48f45c
45d928:	eb 6c                	jmp    0x45d996
45d92a:	8b ce                	mov    %esi,%ecx
45d92c:	e8 6b c3 fa ff       	call   0x409c9c
45d931:	8b 4d 14             	mov    0x14(%ebp),%ecx
45d934:	89 01                	mov    %eax,(%ecx)
45d936:	eb 5e                	jmp    0x45d996
45d938:	8b ce                	mov    %esi,%ecx
45d93a:	e8 07 c4 fa ff       	call   0x409d46
45d93f:	8b 4d 14             	mov    0x14(%ebp),%ecx
45d942:	89 01                	mov    %eax,(%ecx)
45d944:	8b 45 14             	mov    0x14(%ebp),%eax
45d947:	89 50 04             	mov    %edx,0x4(%eax)
45d94a:	eb 4a                	jmp    0x45d996
45d94c:	8b ce                	mov    %esi,%ecx
45d94e:	e8 49 c3 fa ff       	call   0x409c9c
45d953:	8b 4d 14             	mov    0x14(%ebp),%ecx
45d956:	66 89 01             	mov    %ax,(%ecx)
45d959:	eb 3b                	jmp    0x45d996
45d95b:	8b ce                	mov    %esi,%ecx
45d95d:	e8 3a c3 fa ff       	call   0x409c9c
45d962:	0f b6 c8             	movzbl %al,%ecx
45d965:	e9 70 ff ff ff       	jmp    0x45d8da
45d96a:	8b ce                	mov    %esi,%ecx
45d96c:	e8 87 c3 fa ff       	call   0x409cf8
45d971:	8b 45 14             	mov    0x14(%ebp),%eax
45d974:	d9 18                	fstps  (%eax)
45d976:	eb 1e                	jmp    0x45d996
45d978:	8b ce                	mov    %esi,%ecx
45d97a:	e8 79 c3 fa ff       	call   0x409cf8
45d97f:	8b 45 14             	mov    0x14(%ebp),%eax
45d982:	dd 18                	fstpl  (%eax)
45d984:	eb 10                	jmp    0x45d996
45d986:	83 7e 0c 08          	cmpl   $0x8,0xc(%esi)
45d98a:	75 02                	jne    0x45d98e
45d98c:	8b 3e                	mov    (%esi),%edi
45d98e:	8b 45 14             	mov    0x14(%ebp),%eax
45d991:	8b 4f 08             	mov    0x8(%edi),%ecx
45d994:	89 08                	mov    %ecx,(%eax)
45d996:	5f                   	pop    %edi
45d997:	5e                   	pop    %esi
45d998:	8b e5                	mov    %ebp,%esp
45d99a:	5d                   	pop    %ebp
45d99b:	c2 14 00             	ret    $0x14
45d99e:	90                   	nop
45d99f:	4c                   	dec    %esp
45d9a0:	d9 45 00             	flds   0x0(%ebp)
45d9a3:	2a d9                	sub    %cl,%bl
45d9a5:	45                   	inc    %ebp
45d9a6:	00 6a d9             	add    %ch,-0x27(%edx)
45d9a9:	45                   	inc    %ebp
45d9aa:	00 78 d9             	add    %bh,-0x27(%eax)
45d9ad:	45                   	inc    %ebp
45d9ae:	00 e5                	add    %ah,%ch
45d9b0:	d8 45 00             	fadds  0x0(%ebp)
45d9b3:	86 d9                	xchg   %bl,%cl
45d9b5:	45                   	inc    %ebp
45d9b6:	00 cc                	add    %cl,%ah
45d9b8:	d8 45 00             	fadds  0x0(%ebp)
45d9bb:	08 d9                	or     %bl,%cl
45d9bd:	45                   	inc    %ebp
45d9be:	00 5b d9             	add    %bl,-0x27(%ebx)
45d9c1:	45                   	inc    %ebp
45d9c2:	00 38                	add    %bh,(%eax)
45d9c4:	d9 45 00             	flds   0x0(%ebp)
45d9c7:	96                   	xchg   %eax,%esi
45d9c8:	d9 45 00             	flds   0x0(%ebp)
45d9cb:	00 01                	add    %al,(%ecx)
45d9cd:	02 03                	add    (%ebx),%al
45d9cf:	0a 0a                	or     (%edx),%cl
45d9d1:	04 05                	add    $0x5,%al
45d9d3:	0a 06                	or     (%esi),%al
45d9d5:	07                   	pop    %es
45d9d6:	05 0a 0a 08 08       	add    $0x8080a0a,%eax
45d9db:	00 01                	add    %al,(%ecx)
45d9dd:	09 09                	or     %ecx,(%ecx)
45d9df:	01 01                	add    %eax,(%ecx)
45d9e1:	0a 01                	or     (%ecx),%al
45d9e3:	56                   	push   %esi
45d9e4:	8b f1                	mov    %ecx,%esi
45d9e6:	57                   	push   %edi
45d9e7:	8b 46 04             	mov    0x4(%esi),%eax
45d9ea:	8b c8                	mov    %eax,%ecx
45d9ec:	8b 78 10             	mov    0x10(%eax),%edi
45d9ef:	85 c9                	test   %ecx,%ecx
45d9f1:	74 06                	je     0x45d9f9
45d9f3:	51                   	push   %ecx
45d9f4:	e8 2a f5 ff ff       	call   0x45cf23
45d9f9:	ff 0e                	decl   (%esi)
45d9fb:	89 7e 04             	mov    %edi,0x4(%esi)
45d9fe:	85 ff                	test   %edi,%edi
45da00:	75 03                	jne    0x45da05
45da02:	21 7e 08             	and    %edi,0x8(%esi)
45da05:	5f                   	pop    %edi
45da06:	5e                   	pop    %esi
45da07:	c3                   	ret
45da08:	55                   	push   %ebp
45da09:	8b ec                	mov    %esp,%ebp
45da0b:	56                   	push   %esi
45da0c:	57                   	push   %edi
45da0d:	6a 14                	push   $0x14
45da0f:	8b f9                	mov    %ecx,%edi
45da11:	e8 e0 35 fc ff       	call   0x420ff6
45da16:	8b f0                	mov    %eax,%esi
45da18:	59                   	pop    %ecx
45da19:	85 f6                	test   %esi,%esi
45da1b:	74 14                	je     0x45da31
45da1d:	83 66 04 00          	andl   $0x0,0x4(%esi)
45da21:	83 66 08 00          	andl   $0x0,0x8(%esi)
45da25:	83 66 0c 00          	andl   $0x0,0xc(%esi)
45da29:	c7 06 84 fb 48 00    	movl   $0x48fb84,(%esi)
45da2f:	eb 02                	jmp    0x45da33
45da31:	33 f6                	xor    %esi,%esi
45da33:	ff 75 08             	push   0x8(%ebp)
45da36:	83 66 10 00          	andl   $0x0,0x10(%esi)
45da3a:	8b ce                	mov    %esi,%ecx
45da3c:	e8 43 f4 ff ff       	call   0x45ce84
45da41:	83 7f 04 00          	cmpl   $0x0,0x4(%edi)
45da45:	74 08                	je     0x45da4f
45da47:	8b 47 08             	mov    0x8(%edi),%eax
45da4a:	89 70 10             	mov    %esi,0x10(%eax)
45da4d:	eb 03                	jmp    0x45da52
45da4f:	89 77 04             	mov    %esi,0x4(%edi)
45da52:	ff 07                	incl   (%edi)
45da54:	89 77 08             	mov    %esi,0x8(%edi)
45da57:	5f                   	pop    %edi
45da58:	5e                   	pop    %esi
45da59:	5d                   	pop    %ebp
45da5a:	c2 04 00             	ret    $0x4
45da5d:	55                   	push   %ebp
45da5e:	8b ec                	mov    %esp,%ebp
45da60:	51                   	push   %ecx
45da61:	51                   	push   %ecx
45da62:	53                   	push   %ebx
45da63:	56                   	push   %esi
45da64:	8b d9                	mov    %ecx,%ebx
45da66:	33 c0                	xor    %eax,%eax
45da68:	57                   	push   %edi
45da69:	b9 2c 2c 49 00       	mov    $0x492c2c,%ecx