423870:	50                   	push   %eax
423871:	e8 ec 54 fe ff       	call   0x408d62
423876:	59                   	pop    %ecx
423877:	ff 75 08             	push   0x8(%ebp)
42387a:	8b 08                	mov    (%eax),%ecx
42387c:	8b 51 30             	mov    0x30(%ecx),%edx
42387f:	8b c8                	mov    %eax,%ecx
423881:	ff d2                	call   *%edx
423883:	0f b7 f0             	movzwl %ax,%esi
423886:	83 4d fc ff          	orl    $0xffffffff,-0x4(%ebp)
42388a:	8d 4d ec             	lea    -0x14(%ebp),%ecx
42388d:	e8 55 bb fe ff       	call   0x40f3e7
423892:	66 8b c6             	mov    %si,%ax
423895:	e8 79 c1 01 00       	call   0x43fa13
42389a:	c2 04 00             	ret    $0x4
42389d:	55                   	push   %ebp
42389e:	8b ec                	mov    %esp,%ebp
4238a0:	51                   	push   %ecx
4238a1:	51                   	push   %ecx
4238a2:	80 7d 08 00          	cmpb   $0x0,0x8(%ebp)
4238a6:	b8 88 45 49 00       	mov    $0x494588,%eax
4238ab:	56                   	push   %esi
4238ac:	8b f1                	mov    %ecx,%esi
4238ae:	b9 80 45 49 00       	mov    $0x494580,%ecx
4238b3:	0f 44 c1             	cmove  %ecx,%eax
4238b6:	50                   	push   %eax
4238b7:	89 45 f8             	mov    %eax,-0x8(%ebp)
4238ba:	e8 91 3d 04 00       	call   0x467650
4238bf:	59                   	pop    %ecx
4238c0:	ff 76 04             	push   0x4(%esi)
4238c3:	8b 0e                	mov    (%esi),%ecx
4238c5:	89 45 fc             	mov    %eax,-0x4(%ebp)
4238c8:	8d 45 f8             	lea    -0x8(%ebp),%eax
4238cb:	50                   	push   %eax
4238cc:	e8 fc 6c fe ff       	call   0x40a5cd
4238d1:	5e                   	pop    %esi
4238d2:	c9                   	leave
4238d3:	c2 04 00             	ret    $0x4
4238d6:	6a 2c                	push   $0x2c
4238d8:	b8 2a 07 49 00       	mov    $0x49072a,%eax
4238dd:	e8 68 c1 01 00       	call   0x43fa4a
4238e2:	51                   	push   %ecx
4238e3:	8d 45 0c             	lea    0xc(%ebp),%eax
4238e6:	50                   	push   %eax
4238e7:	8d 4d c8             	lea    -0x38(%ebp),%ecx
4238ea:	e8 5f 6d fe ff       	call   0x40a64e
4238ef:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
4238f3:	8b c8                	mov    %eax,%ecx
4238f5:	ff 75 08             	push   0x8(%ebp)
4238f8:	e8 4c db ff ff       	call   0x421449
4238fd:	83 4d fc ff          	orl    $0xffffffff,-0x4(%ebp)
423901:	8d 45 e4             	lea    -0x1c(%ebp),%eax
423904:	89 45 f0             	mov    %eax,-0x10(%ebp)
423907:	83 4d fc ff          	orl    $0xffffffff,-0x4(%ebp)
42390b:	8b c8                	mov    %eax,%ecx
42390d:	e8 ac 97 ff ff       	call   0x41d0be
423912:	e8 fc c0 01 00       	call   0x43fa13
423917:	c2 14 00             	ret    $0x14
42391a:	55                   	push   %ebp
42391b:	8b ec                	mov    %esp,%ebp
42391d:	8b d1                	mov    %ecx,%edx
42391f:	56                   	push   %esi
423920:	57                   	push   %edi
423921:	83 ec 18             	sub    $0x18,%esp
423924:	8b 42 04             	mov    0x4(%edx),%eax
423927:	6a 06                	push   $0x6
423929:	c7 40 0c 08 00 00 00 	movl   $0x8,0xc(%eax)
423930:	8b 42 04             	mov    0x4(%edx),%eax
423933:	59                   	pop    %ecx
423934:	8b fc                	mov    %esp,%edi
423936:	ff 75 08             	push   0x8(%ebp)
423939:	c6 40 14 78          	movb   $0x78,0x14(%eax)
42393d:	8b 72 04             	mov    0x4(%edx),%esi
423940:	f3 a5                	rep movsl %ds:(%esi),%es:(%edi)
423942:	8b 0a                	mov    (%edx),%ecx
423944:	e8 3e 62 fe ff       	call   0x409b87
423949:	5f                   	pop    %edi
42394a:	5e                   	pop    %esi
42394b:	5d                   	pop    %ebp
42394c:	c2 04 00             	ret    $0x4
42394f:	55                   	push   %ebp
423950:	8b ec                	mov    %esp,%ebp
423952:	83 ec 10             	sub    $0x10,%esp
423955:	56                   	push   %esi
423956:	8b 75 0c             	mov    0xc(%ebp),%esi
423959:	8b c6                	mov    %esi,%eax
42395b:	57                   	push   %edi
42395c:	8b 7d 10             	mov    0x10(%ebp),%edi
42395f:	8b d7                	mov    %edi,%edx
423961:	89 4d fc             	mov    %ecx,-0x4(%ebp)
423964:	89 45 f4             	mov    %eax,-0xc(%ebp)
423967:	89 55 f0             	mov    %edx,-0x10(%ebp)
42396a:	85 ff                	test   %edi,%edi
42396c:	0f 8c af 00 00 00    	jl     0x423a21
423972:	7f 08                	jg     0x42397c
423974:	85 f6                	test   %esi,%esi
423976:	0f 84 a5 00 00 00    	je     0x423a21
42397c:	53                   	push   %ebx
42397d:	8b 41 1c             	mov    0x1c(%ecx),%eax
423980:	8b 00                	mov    (%eax),%eax
423982:	89 45 f8             	mov    %eax,-0x8(%ebp)
423985:	85 c0                	test   %eax,%eax
423987:	74 07                	je     0x423990
423989:	8b 41 2c             	mov    0x2c(%ecx),%eax
42398c:	8b 00                	mov    (%eax),%eax
42398e:	eb 02                	jmp    0x423992
423990:	33 c0                	xor    %eax,%eax
423992:	99                   	cltd
423993:	8b d8                	mov    %eax,%ebx
423995:	8b c2                	mov    %edx,%eax
423997:	89 45 10             	mov    %eax,0x10(%ebp)
42399a:	85 c0                	test   %eax,%eax
42399c:	7c 41                	jl     0x4239df
42399e:	7f 04                	jg     0x4239a4
4239a0:	85 db                	test   %ebx,%ebx
4239a2:	74 3b                	je     0x4239df
4239a4:	3b f8                	cmp    %eax,%edi
4239a6:	7f 0b                	jg     0x4239b3
4239a8:	7c 04                	jl     0x4239ae
4239aa:	3b f3                	cmp    %ebx,%esi
4239ac:	73 05                	jae    0x4239b3
4239ae:	8b de                	mov    %esi,%ebx
4239b0:	89 7d 10             	mov    %edi,0x10(%ebp)
4239b3:	8d 04 1b             	lea    (%ebx,%ebx,1),%eax
4239b6:	50                   	push   %eax
4239b7:	ff 75 f8             	push   -0x8(%ebp)
4239ba:	ff 75 08             	push   0x8(%ebp)
4239bd:	e8 9e f9 01 00       	call   0x443360
4239c2:	8b 4d fc             	mov    -0x4(%ebp),%ecx
4239c5:	8d 14 1b             	lea    (%ebx,%ebx,1),%edx
4239c8:	83 c4 0c             	add    $0xc,%esp
4239cb:	2b f3                	sub    %ebx,%esi
4239cd:	1b 7d 10             	sbb    0x10(%ebp),%edi
4239d0:	8b 41 2c             	mov    0x2c(%ecx),%eax
4239d3:	29 18                	sub    %ebx,(%eax)
4239d5:	8b 41 1c             	mov    0x1c(%ecx),%eax
4239d8:	01 10                	add    %edx,(%eax)
4239da:	8b 45 08             	mov    0x8(%ebp),%eax
4239dd:	eb 24                	jmp    0x423a03
4239df:	8b 01                	mov    (%ecx),%eax
4239e1:	ff 50 1c             	call   *0x1c(%eax)
4239e4:	0f b7 c8             	movzwl %ax,%ecx
4239e7:	b8 ff ff 00 00       	mov    $0xffff,%eax
4239ec:	66 3b c1             	cmp    %cx,%ax
4239ef:	74 29                	je     0x423a1a
4239f1:	8b 45 08             	mov    0x8(%ebp),%eax
4239f4:	83 c6 ff             	add    $0xffffffff,%esi
4239f7:	6a 02                	push   $0x2
4239f9:	83 d7 ff             	adc    $0xffffffff,%edi
4239fc:	5a                   	pop    %edx
4239fd:	66 89 08             	mov    %cx,(%eax)
423a00:	8b 4d fc             	mov    -0x4(%ebp),%ecx
423a03:	03 c2                	add    %edx,%eax
423a05:	89 45 08             	mov    %eax,0x8(%ebp)
423a08:	85 ff                	test   %edi,%edi
423a0a:	0f 8f 6d ff ff ff    	jg     0x42397d
423a10:	7c 08                	jl     0x423a1a
423a12:	85 f6                	test   %esi,%esi
423a14:	0f 85 63 ff ff ff    	jne    0x42397d
423a1a:	8b 45 f4             	mov    -0xc(%ebp),%eax
423a1d:	8b 55 f0             	mov    -0x10(%ebp),%edx
423a20:	5b                   	pop    %ebx
423a21:	2b c6                	sub    %esi,%eax
423a23:	1b d7                	sbb    %edi,%edx
423a25:	5f                   	pop    %edi
423a26:	5e                   	pop    %esi
423a27:	c9                   	leave
423a28:	c2 0c 00             	ret    $0xc
423a2b:	55                   	push   %ebp
423a2c:	8b ec                	mov    %esp,%ebp
423a2e:	83 ec 10             	sub    $0x10,%esp
423a31:	56                   	push   %esi
423a32:	8b 75 0c             	mov    0xc(%ebp),%esi
423a35:	8b c6                	mov    %esi,%eax
423a37:	57                   	push   %edi
423a38:	8b 7d 10             	mov    0x10(%ebp),%edi
423a3b:	8b d7                	mov    %edi,%edx
423a3d:	89 4d fc             	mov    %ecx,-0x4(%ebp)
423a40:	89 45 f4             	mov    %eax,-0xc(%ebp)
423a43:	89 55 f0             	mov    %edx,-0x10(%ebp)
423a46:	85 ff                	test   %edi,%edi
423a48:	0f 8c ab 00 00 00    	jl     0x423af9
423a4e:	7f 08                	jg     0x423a58
423a50:	85 f6                	test   %esi,%esi
423a52:	0f 84 a1 00 00 00    	je     0x423af9
423a58:	53                   	push   %ebx
423a59:	8b 41 20             	mov    0x20(%ecx),%eax
423a5c:	8b 00                	mov    (%eax),%eax
423a5e:	89 45 f8             	mov    %eax,-0x8(%ebp)
423a61:	85 c0                	test   %eax,%eax
423a63:	74 07                	je     0x423a6c
423a65:	8b 41 30             	mov    0x30(%ecx),%eax
423a68:	8b 00                	mov    (%eax),%eax
423a6a:	eb 02                	jmp    0x423a6e
423a6c:	33 c0                	xor    %eax,%eax
423a6e:	99                   	cltd
423a6f:	8b d8                	mov    %eax,%ebx
423a71:	8b c2                	mov    %edx,%eax
423a73:	89 45 10             	mov    %eax,0x10(%ebp)
423a76:	85 c0                	test   %eax,%eax
423a78:	7c 3f                	jl     0x423ab9
423a7a:	7f 04                	jg     0x423a80
423a7c:	85 db                	test   %ebx,%ebx
423a7e:	74 39                	je     0x423ab9
423a80:	3b f8                	cmp    %eax,%edi
423a82:	7f 0b                	jg     0x423a8f
423a84:	7c 04                	jl     0x423a8a
423a86:	3b f3                	cmp    %ebx,%esi
423a88:	73 05                	jae    0x423a8f
423a8a:	8b de                	mov    %esi,%ebx
423a8c:	89 7d 10             	mov    %edi,0x10(%ebp)
423a8f:	8d 04 1b             	lea    (%ebx,%ebx,1),%eax
423a92:	50                   	push   %eax
423a93:	8b 45 08             	mov    0x8(%ebp),%eax
423a96:	50                   	push   %eax
423a97:	ff 75 f8             	push   -0x8(%ebp)
423a9a:	e8 c1 f8 01 00       	call   0x443360
423a9f:	8b 4d fc             	mov    -0x4(%ebp),%ecx
423aa2:	8d 14 1b             	lea    (%ebx,%ebx,1),%edx
423aa5:	83 c4 0c             	add    $0xc,%esp
423aa8:	2b f3                	sub    %ebx,%esi
423aaa:	1b 7d 10             	sbb    0x10(%ebp),%edi
423aad:	8b 41 30             	mov    0x30(%ecx),%eax
423ab0:	29 18                	sub    %ebx,(%eax)
423ab2:	8b 41 20             	mov    0x20(%ecx),%eax
423ab5:	01 10                	add    %edx,(%eax)
423ab7:	eb 24                	jmp    0x423add
423ab9:	8b 01                	mov    (%ecx),%eax
423abb:	8b 50 0c             	mov    0xc(%eax),%edx
423abe:	8b 45 08             	mov    0x8(%ebp),%eax
423ac1:	0f b7 00             	movzwl (%eax),%eax
423ac4:	50                   	push   %eax
423ac5:	ff d2                	call   *%edx
423ac7:	b9 ff ff 00 00       	mov    $0xffff,%ecx
423acc:	66 3b c8             	cmp    %ax,%cx
423acf:	74 21                	je     0x423af2
423ad1:	8b 4d fc             	mov    -0x4(%ebp),%ecx
423ad4:	83 c6 ff             	add    $0xffffffff,%esi
423ad7:	6a 02                	push   $0x2
423ad9:	83 d7 ff             	adc    $0xffffffff,%edi
423adc:	5a                   	pop    %edx
423add:	01 55 08             	add    %edx,0x8(%ebp)
423ae0:	85 ff                	test   %edi,%edi
423ae2:	0f 8f 71 ff ff ff    	jg     0x423a59
423ae8:	7c 08                	jl     0x423af2
423aea:	85 f6                	test   %esi,%esi
423aec:	0f 85 67 ff ff ff    	jne    0x423a59
423af2:	8b 45 f4             	mov    -0xc(%ebp),%eax
423af5:	8b 55 f0             	mov    -0x10(%ebp),%edx
423af8:	5b                   	pop    %ebx
423af9:	2b c6                	sub    %esi,%eax
423afb:	1b d7                	sbb    %edi,%edx
423afd:	5f                   	pop    %edi
423afe:	5e                   	pop    %esi
423aff:	c9                   	leave
423b00:	c2 0c 00             	ret    $0xc
423b03:	b8 88 a5 4b 00       	mov    $0x4ba588,%eax
423b08:	c3                   	ret
423b09:	55                   	push   %ebp
423b0a:	8b ec                	mov    %esp,%ebp
423b0c:	8d 45 18             	lea    0x18(%ebp),%eax
423b0f:	50                   	push   %eax
423b10:	6a 00                	push   $0x0
423b12:	ff 75 14             	push   0x14(%ebp)
423b15:	ff 75 10             	push   0x10(%ebp)
423b18:	ff 75 0c             	push   0xc(%ebp)
423b1b:	ff 75 08             	push   0x8(%ebp)
423b1e:	e8 36 00 00 00       	call   0x423b59
423b23:	83 c4 18             	add    $0x18,%esp
423b26:	5d                   	pop    %ebp
423b27:	c3                   	ret
423b28:	55                   	push   %ebp
423b29:	8b ec                	mov    %esp,%ebp
423b2b:	ff 75 1c             	push   0x1c(%ebp)
423b2e:	ff 75 18             	push   0x18(%ebp)
423b31:	ff 75 14             	push   0x14(%ebp)
423b34:	ff 75 10             	push   0x10(%ebp)
423b37:	ff 75 0c             	push   0xc(%ebp)
423b3a:	ff 75 08             	push   0x8(%ebp)
423b3d:	e8 c1 ff ff ff       	call   0x423b03
423b42:	ff 70 04             	push   0x4(%eax)
423b45:	ff 30                	push   (%eax)
423b47:	e8 d2 20 04 00       	call   0x465c1e
423b4c:	83 c9 ff             	or     $0xffffffff,%ecx
423b4f:	83 c4 20             	add    $0x20,%esp
423b52:	85 c0                	test   %eax,%eax
423b54:	0f 48 c1             	cmovs  %ecx,%eax
423b57:	5d                   	pop    %ebp
423b58:	c3                   	ret
423b59:	55                   	push   %ebp
423b5a:	8b ec                	mov    %esp,%ebp
423b5c:	ff 75 1c             	push   0x1c(%ebp)
423b5f:	ff 75 18             	push   0x18(%ebp)
423b62:	ff 75 14             	push   0x14(%ebp)
423b65:	ff 75 10             	push   0x10(%ebp)
423b68:	ff 75 0c             	push   0xc(%ebp)
423b6b:	ff 75 08             	push   0x8(%ebp)
423b6e:	e8 90 ff ff ff       	call   0x423b03
423b73:	ff 70 04             	push   0x4(%eax)
423b76:	ff 30                	push   (%eax)
423b78:	e8 c8 20 04 00       	call   0x465c45
423b7d:	83 c9 ff             	or     $0xffffffff,%ecx
423b80:	83 c4 20             	add    $0x20,%esp
423b83:	85 c0                	test   %eax,%eax
423b85:	0f 48 c1             	cmovs  %ecx,%eax
423b88:	5d                   	pop    %ebp
423b89:	c3                   	ret
423b8a:	68 90 00 00 00       	push   $0x90
423b8f:	b8 86 07 49 00       	mov    $0x490786,%eax
423b94:	e8 53 bf 01 00       	call   0x43faec
423b99:	8d 45 bc             	lea    -0x44(%ebp),%eax
423b9c:	50                   	push   %eax
423b9d:	e8 22 dc fe ff       	call   0x4117c4
423ba2:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
423ba6:	e8 1a 18 00 00       	call   0x4253c5
423bab:	8b f8                	mov    %eax,%edi
423bad:	8b 0f                	mov    (%edi),%ecx
423baf:	8b 59 04             	mov    0x4(%ecx),%ebx
423bb2:	8d 75 bc             	lea    -0x44(%ebp),%esi
423bb5:	83 7d d0 08          	cmpl   $0x8,-0x30(%ebp)
423bb9:	0f 43 75 bc          	cmovae -0x44(%ebp),%esi
423bbd:	8d 45 d4             	lea    -0x2c(%ebp),%eax
423bc0:	50                   	push   %eax
423bc1:	e8 86 ec fe ff       	call   0x41284c
423bc6:	59                   	pop    %ecx
423bc7:	59                   	pop    %ecx
423bc8:	c6 45 fc 01          	movb   $0x1,-0x4(%ebp)
423bcc:	83 78 14 08          	cmpl   $0x8,0x14(%eax)
423bd0:	72 02                	jb     0x423bd4
423bd2:	8b 00                	mov    (%eax),%eax
423bd4:	6a 30                	push   $0x30
423bd6:	6a 00                	push   $0x0
423bd8:	68 00 00 a0 00       	push   $0xa00000
423bdd:	6a 01                	push   $0x1
423bdf:	6a 01                	push   $0x1
423be1:	6a 00                	push   $0x0
423be3:	68 e8 60 49 00       	push   $0x4960e8
423be8:	6a 00                	push   $0x0
423bea:	56                   	push   %esi
423beb:	50                   	push   %eax
423bec:	6a 01                	push   $0x1
423bee:	8b cf                	mov    %edi,%ecx
423bf0:	ff d3                	call   *%ebx
423bf2:	33 db                	xor    %ebx,%ebx
423bf4:	88 5d fc             	mov    %bl,-0x4(%ebp)
423bf7:	8d 4d d4             	lea    -0x2c(%ebp),%ecx
423bfa:	e8 fb 96 ff ff       	call   0x41d2fa
423bff:	e8 c1 17 00 00       	call   0x4253c5
423c04:	8b 08                	mov    (%eax),%ecx
423c06:	8b 51 0c             	mov    0xc(%ecx),%edx