41a73e:	ff 70 08             	push   0x8(%eax)
41a741:	33 c0                	xor    %eax,%eax
41a743:	85 f6                	test   %esi,%esi
41a745:	0f 95 c0             	setne  %al
41a748:	50                   	push   %eax
41a749:	ff 75 10             	push   0x10(%ebp)
41a74c:	ff 75 0c             	push   0xc(%ebp)
41a74f:	ff d1                	call   *%ecx
41a751:	85 f6                	test   %esi,%esi
41a753:	74 0b                	je     0x41a760
41a755:	83 f8 04             	cmp    $0x4,%eax
41a758:	75 06                	jne    0x41a760
41a75a:	c7 06 01 00 00 00    	movl   $0x1,(%esi)
41a760:	5e                   	pop    %esi
41a761:	5d                   	pop    %ebp
41a762:	c2 10 00             	ret    $0x10
41a765:	55                   	push   %ebp
41a766:	8b ec                	mov    %esp,%ebp
41a768:	56                   	push   %esi
41a769:	57                   	push   %edi
41a76a:	8b 7d 08             	mov    0x8(%ebp),%edi
41a76d:	33 f6                	xor    %esi,%esi
41a76f:	8b 17                	mov    (%edi),%edx
41a771:	85 d2                	test   %edx,%edx
41a773:	74 7d                	je     0x41a7f2
41a775:	ff 77 08             	push   0x8(%edi)
41a778:	8b 0d b4 aa 46 00    	mov    0x46aab4,%ecx
41a77e:	ff 75 1c             	push   0x1c(%ebp)
41a781:	a1 b0 aa 46 00       	mov    0x46aab0,%eax
41a786:	6a ff                	push   $0xffffffff
41a788:	56                   	push   %esi
41a789:	6a 01                	push   $0x1
41a78b:	51                   	push   %ecx
41a78c:	50                   	push   %eax
41a78d:	51                   	push   %ecx
41a78e:	50                   	push   %eax
41a78f:	ff 75 10             	push   0x10(%ebp)
41a792:	ff 75 0c             	push   0xc(%ebp)
41a795:	ff 75 18             	push   0x18(%ebp)
41a798:	ff 75 14             	push   0x14(%ebp)
41a79b:	ff d2                	call   *%edx
41a79d:	2b c6                	sub    %esi,%eax
41a79f:	74 51                	je     0x41a7f2
41a7a1:	83 e8 01             	sub    $0x1,%eax
41a7a4:	74 2a                	je     0x41a7d0
41a7a6:	83 e8 01             	sub    $0x1,%eax
41a7a9:	74 25                	je     0x41a7d0
41a7ab:	83 e8 01             	sub    $0x1,%eax
41a7ae:	74 1c                	je     0x41a7cc
41a7b0:	be ff ff 00 80       	mov    $0x8000ffff,%esi
41a7b5:	56                   	push   %esi
41a7b6:	68 5a 02 00 00       	push   $0x25a
41a7bb:	68 50 65 45 00       	push   $0x456550
41a7c0:	e8 0e 90 fe ff       	call   0x4037d3
41a7c5:	68 80 65 45 00       	push   $0x456580
41a7ca:	eb 1e                	jmp    0x41a7ea
41a7cc:	89 37                	mov    %esi,(%edi)
41a7ce:	eb 22                	jmp    0x41a7f2
41a7d0:	be 42 06 07 80       	mov    $0x80070642,%esi
41a7d5:	56                   	push   %esi
41a7d6:	68 51 02 00 00       	push   $0x251
41a7db:	68 50 65 45 00       	push   $0x456550
41a7e0:	e8 ee 8f fe ff       	call   0x4037d3
41a7e5:	68 5c 65 45 00       	push   $0x45655c
41a7ea:	56                   	push   %esi
41a7eb:	e8 3f 59 02 00       	call   0x44012f
41a7f0:	59                   	pop    %ecx
41a7f1:	59                   	pop    %ecx
41a7f2:	5f                   	pop    %edi
41a7f3:	8b c6                	mov    %esi,%eax
41a7f5:	5e                   	pop    %esi
41a7f6:	5d                   	pop    %ebp
41a7f7:	c2 18 00             	ret    $0x18
41a7fa:	55                   	push   %ebp
41a7fb:	8b ec                	mov    %esp,%ebp
41a7fd:	83 ec 10             	sub    $0x10,%esp
41a800:	53                   	push   %ebx
41a801:	8b 5d 0c             	mov    0xc(%ebp),%ebx
41a804:	33 c0                	xor    %eax,%eax
41a806:	56                   	push   %esi
41a807:	57                   	push   %edi
41a808:	89 45 f0             	mov    %eax,-0x10(%ebp)
41a80b:	bf ff ff ff 7f       	mov    $0x7fffffff,%edi
41a810:	89 45 f4             	mov    %eax,-0xc(%ebp)
41a813:	89 45 fc             	mov    %eax,-0x4(%ebp)
41a816:	89 45 f8             	mov    %eax,-0x8(%ebp)
41a819:	8d 45 f0             	lea    -0x10(%ebp),%eax
41a81c:	50                   	push   %eax
41a81d:	57                   	push   %edi
41a81e:	53                   	push   %ebx
41a81f:	e8 33 74 fe ff       	call   0x401c57
41a824:	8b f0                	mov    %eax,%esi
41a826:	85 f6                	test   %esi,%esi
41a828:	79 0a                	jns    0x41a834
41a82a:	68 b8 64 45 00       	push   $0x4564b8
41a82f:	e9 bb 00 00 00       	jmp    0x41a8ef
41a834:	8d 45 f4             	lea    -0xc(%ebp),%eax
41a837:	50                   	push   %eax
41a838:	57                   	push   %edi
41a839:	ff 75 10             	push   0x10(%ebp)
41a83c:	e8 16 74 fe ff       	call   0x401c57
41a841:	8b f0                	mov    %eax,%esi
41a843:	85 f6                	test   %esi,%esi
41a845:	79 0a                	jns    0x41a851
41a847:	68 e4 64 45 00       	push   $0x4564e4
41a84c:	e9 9e 00 00 00       	jmp    0x41a8ef
41a851:	8b 4d f4             	mov    -0xc(%ebp),%ecx
41a854:	8b 7d f0             	mov    -0x10(%ebp),%edi
41a857:	8d 41 03             	lea    0x3(%ecx),%eax
41a85a:	3b f8                	cmp    %eax,%edi
41a85c:	0f 82 b1 00 00 00    	jb     0x41a913
41a862:	6a ff                	push   $0xffffffff
41a864:	ff 75 10             	push   0x10(%ebp)
41a867:	2b f9                	sub    %ecx,%edi
41a869:	6a ff                	push   $0xffffffff
41a86b:	8d 04 7b             	lea    (%ebx,%edi,2),%eax
41a86e:	50                   	push   %eax
41a86f:	6a 01                	push   $0x1
41a871:	6a 00                	push   $0x0
41a873:	ff 15 28 b1 44 00    	call   *0x44b128
41a879:	83 f8 02             	cmp    $0x2,%eax
41a87c:	75 79                	jne    0x41a8f7
41a87e:	57                   	push   %edi
41a87f:	53                   	push   %ebx
41a880:	8d 45 fc             	lea    -0x4(%ebp),%eax
41a883:	50                   	push   %eax
41a884:	e8 1c 79 fe ff       	call   0x4021a5
41a889:	8b f0                	mov    %eax,%esi
41a88b:	85 f6                	test   %esi,%esi
41a88d:	79 07                	jns    0x41a896
41a88f:	68 14 65 45 00       	push   $0x456514
41a894:	eb 59                	jmp    0x41a8ef
41a896:	8d 45 f8             	lea    -0x8(%ebp),%eax
41a899:	bf 48 5f 45 00       	mov    $0x455f48,%edi
41a89e:	50                   	push   %eax
41a89f:	57                   	push   %edi
41a8a0:	ff 75 08             	push   0x8(%ebp)
41a8a3:	e8 e6 ca fe ff       	call   0x40738e
41a8a8:	8b f0                	mov    %eax,%esi
41a8aa:	85 f6                	test   %esi,%esi
41a8ac:	78 16                	js     0x41a8c4
41a8ae:	6a ff                	push   $0xffffffff
41a8b0:	ff 75 f8             	push   -0x8(%ebp)
41a8b3:	6a ff                	push   $0xffffffff
41a8b5:	ff 75 fc             	push   -0x4(%ebp)
41a8b8:	6a 01                	push   $0x1
41a8ba:	6a 00                	push   $0x0
41a8bc:	ff 15 28 b1 44 00    	call   *0x44b128
41a8c2:	eb 0d                	jmp    0x41a8d1
41a8c4:	81 fe 90 04 07 80    	cmp    $0x80070490,%esi
41a8ca:	75 0a                	jne    0x41a8d6
41a8cc:	6a 03                	push   $0x3
41a8ce:	58                   	pop    %eax
41a8cf:	33 f6                	xor    %esi,%esi
41a8d1:	83 f8 02             	cmp    $0x2,%eax
41a8d4:	74 21                	je     0x41a8f7
41a8d6:	6a 00                	push   $0x0
41a8d8:	ff 75 fc             	push   -0x4(%ebp)
41a8db:	57                   	push   %edi
41a8dc:	ff 75 08             	push   0x8(%ebp)
41a8df:	e8 12 d8 fe ff       	call   0x4080f6
41a8e4:	8b f0                	mov    %eax,%esi
41a8e6:	85 f6                	test   %esi,%esi
41a8e8:	79 0d                	jns    0x41a8f7
41a8ea:	68 34 65 45 00       	push   $0x456534
41a8ef:	56                   	push   %esi
41a8f0:	e8 3a 58 02 00       	call   0x44012f
41a8f5:	59                   	pop    %ecx
41a8f6:	59                   	pop    %ecx
41a8f7:	83 7d f8 00          	cmpl   $0x0,-0x8(%ebp)
41a8fb:	74 08                	je     0x41a905
41a8fd:	ff 75 f8             	push   -0x8(%ebp)
41a900:	e8 ea ab 02 00       	call   0x4454ef
41a905:	83 7d fc 00          	cmpl   $0x0,-0x4(%ebp)
41a909:	74 08                	je     0x41a913
41a90b:	ff 75 fc             	push   -0x4(%ebp)
41a90e:	e8 dc ab 02 00       	call   0x4454ef
41a913:	5f                   	pop    %edi
41a914:	8b c6                	mov    %esi,%eax
41a916:	5e                   	pop    %esi
41a917:	5b                   	pop    %ebx
41a918:	8b e5                	mov    %ebp,%esp
41a91a:	5d                   	pop    %ebp
41a91b:	c2 0c 00             	ret    $0xc
41a91e:	a1 a0 aa 46 00       	mov    0x46aaa0,%eax
41a923:	56                   	push   %esi
41a924:	33 f6                	xor    %esi,%esi
41a926:	85 c0                	test   %eax,%eax
41a928:	74 0c                	je     0x41a936
41a92a:	50                   	push   %eax
41a92b:	e8 bf ab 02 00       	call   0x4454ef
41a930:	89 35 a0 aa 46 00    	mov    %esi,0x46aaa0
41a936:	a1 9c aa 46 00       	mov    0x46aa9c,%eax
41a93b:	85 c0                	test   %eax,%eax
41a93d:	74 0c                	je     0x41a94b
41a93f:	50                   	push   %eax
41a940:	e8 aa ab 02 00       	call   0x4454ef
41a945:	89 35 9c aa 46 00    	mov    %esi,0x46aa9c
41a94b:	a1 98 aa 46 00       	mov    0x46aa98,%eax
41a950:	85 c0                	test   %eax,%eax
41a952:	74 0c                	je     0x41a960
41a954:	50                   	push   %eax
41a955:	e8 95 ab 02 00       	call   0x4454ef
41a95a:	89 35 98 aa 46 00    	mov    %esi,0x46aa98
41a960:	a1 94 aa 46 00       	mov    0x46aa94,%eax
41a965:	85 c0                	test   %eax,%eax
41a967:	74 0c                	je     0x41a975
41a969:	50                   	push   %eax
41a96a:	e8 80 ab 02 00       	call   0x4454ef
41a96f:	89 35 94 aa 46 00    	mov    %esi,0x46aa94
41a975:	a1 90 aa 46 00       	mov    0x46aa90,%eax
41a97a:	85 c0                	test   %eax,%eax
41a97c:	74 0c                	je     0x41a98a
41a97e:	50                   	push   %eax
41a97f:	e8 6b ab 02 00       	call   0x4454ef
41a984:	89 35 90 aa 46 00    	mov    %esi,0x46aa90
41a98a:	89 35 a8 aa 46 00    	mov    %esi,0x46aaa8
41a990:	89 35 a4 aa 46 00    	mov    %esi,0x46aaa4
41a996:	5e                   	pop    %esi
41a997:	c3                   	ret
41a998:	55                   	push   %ebp
41a999:	8b ec                	mov    %esp,%ebp
41a99b:	83 ec 58             	sub    $0x58,%esp
41a99e:	a1 08 a0 46 00       	mov    0x46a008,%eax
41a9a3:	33 c5                	xor    %ebp,%eax
41a9a5:	89 45 fc             	mov    %eax,-0x4(%ebp)
41a9a8:	8b 45 08             	mov    0x8(%ebp),%eax
41a9ab:	53                   	push   %ebx
41a9ac:	56                   	push   %esi
41a9ad:	57                   	push   %edi
41a9ae:	89 45 e8             	mov    %eax,-0x18(%ebp)
41a9b1:	8d 7d d8             	lea    -0x28(%ebp),%edi
41a9b4:	8b 5d 0c             	mov    0xc(%ebp),%ebx
41a9b7:	33 c0                	xor    %eax,%eax
41a9b9:	8b 75 10             	mov    0x10(%ebp),%esi
41a9bc:	ab                   	stos   %eax,%es:(%edi)
41a9bd:	6a 30                	push   $0x30
41a9bf:	c7 45 ec 6b c5 aa 00 	movl   $0xaac56b,-0x14(%ebp)
41a9c6:	c7 45 f0 44 cd d0 11 	movl   $0x11d0cd44,-0x10(%ebp)
41a9cd:	ab                   	stos   %eax,%es:(%edi)
41a9ce:	c7 45 f4 8c c2 00 c0 	movl   $0xc000c28c,-0xc(%ebp)
41a9d5:	c7 45 f8 4f c2 95 ee 	movl   $0xee95c24f,-0x8(%ebp)
41a9dc:	ab                   	stos   %eax,%es:(%edi)
41a9dd:	ab                   	stos   %eax,%es:(%edi)
41a9de:	8d 45 a8             	lea    -0x58(%ebp),%eax
41a9e1:	5f                   	pop    %edi
41a9e2:	57                   	push   %edi
41a9e3:	6a 00                	push   $0x0
41a9e5:	50                   	push   %eax
41a9e6:	e8 85 4c 01 00       	call   0x42f670
41a9eb:	83 c4 0c             	add    $0xc,%esp
41a9ee:	c7 45 d8 10 00 00 00 	movl   $0x10,-0x28(%ebp)
41a9f5:	8d 45 d8             	lea    -0x28(%ebp),%eax
41a9f8:	89 5d dc             	mov    %ebx,-0x24(%ebp)
41a9fb:	89 45 c0             	mov    %eax,-0x40(%ebp)
41a9fe:	33 c9                	xor    %ecx,%ecx
41aa00:	8d 45 a8             	lea    -0x58(%ebp),%eax
41aa03:	89 75 e0             	mov    %esi,-0x20(%ebp)
41aa06:	50                   	push   %eax
41aa07:	8d 45 ec             	lea    -0x14(%ebp),%eax
41aa0a:	89 7d a8             	mov    %edi,-0x58(%ebp)
41aa0d:	41                   	inc    %ecx
41aa0e:	c7 45 d0 80 00 00 00 	movl   $0x80,-0x30(%ebp)
41aa15:	50                   	push   %eax
41aa16:	6a ff                	push   $0xffffffff
41aa18:	89 4d bc             	mov    %ecx,-0x44(%ebp)
41aa1b:	89 4d c4             	mov    %ecx,-0x3c(%ebp)
41aa1e:	c7 45 b4 02 00 00 00 	movl   $0x2,-0x4c(%ebp)
41aa25:	e8 02 4a 02 00       	call   0x43f42c
41aa2a:	85 c0                	test   %eax,%eax
41aa2c:	74 56                	je     0x41aa84
41aa2e:	81 4d d0 00 10 00 00 	orl    $0x1000,-0x30(%ebp)
41aa35:	8d 45 a8             	lea    -0x58(%ebp),%eax
41aa38:	50                   	push   %eax
41aa39:	8d 45 ec             	lea    -0x14(%ebp),%eax
41aa3c:	50                   	push   %eax
41aa3d:	6a ff                	push   $0xffffffff
41aa3f:	e8 e8 49 02 00       	call   0x43f42c
41aa44:	85 c0                	test   %eax,%eax
41aa46:	74 3c                	je     0x41aa84
41aa48:	0f b7 f0             	movzwl %ax,%esi
41aa4b:	81 ce 00 00 07 80    	or     $0x80070000,%esi
41aa51:	85 c0                	test   %eax,%eax
41aa53:	0f 4e f0             	cmovle %eax,%esi
41aa56:	b8 05 40 00 80       	mov    $0x80004005,%eax
41aa5b:	85 f6                	test   %esi,%esi
41aa5d:	0f 49 f0             	cmovns %eax,%esi
41aa60:	56                   	push   %esi
41aa61:	68 e9 03 00 00       	push   $0x3e9
41aa66:	68 50 65 45 00       	push   $0x456550
41aa6b:	e8 63 8d fe ff       	call   0x4037d3
41aa70:	53                   	push   %ebx
41aa71:	68 60 6b 45 00       	push   $0x456b60
41aa76:	56                   	push   %esi
41aa77:	e8 b3 56 02 00       	call   0x44012f
41aa7c:	83 c4 0c             	add    $0xc,%esp
41aa7f:	e9 a3 00 00 00       	jmp    0x41ab27
41aa84:	ff 75 c8             	push   -0x38(%ebp)
41aa87:	e8 c0 49 02 00       	call   0x43f44c
41aa8c:	85 c0                	test   %eax,%eax
41aa8e:	75 35                	jne    0x41aac5
41aa90:	ff 15 e8 b0 44 00    	call   *0x44b0e8
41aa96:	0f b7 f0             	movzwl %ax,%esi
41aa99:	81 ce 00 00 07 80    	or     $0x80070000,%esi
41aa9f:	85 c0                	test   %eax,%eax
41aaa1:	0f 4e f0             	cmovle %eax,%esi
41aaa4:	b8 05 40 00 80       	mov    $0x80004005,%eax
41aaa9:	85 f6                	test   %esi,%esi
41aaab:	0f 49 f0             	cmovns %eax,%esi
41aaae:	56                   	push   %esi
41aaaf:	68 ed 03 00 00       	push   $0x3ed
41aab4:	68 50 65 45 00       	push   $0x456550
41aab9:	e8 15 8d fe ff       	call   0x4037d3
41aabe:	68 94 6b 45 00       	push   $0x456b94
41aac3:	eb 5a                	jmp    0x41ab1f
41aac5:	33 c9                	xor    %ecx,%ecx
41aac7:	51                   	push   %ecx
41aac8:	51                   	push   %ecx
41aac9:	51                   	push   %ecx
41aaca:	50                   	push   %eax
41aacb:	e8 6c 49 02 00       	call   0x43f43c
41aad0:	85 c0                	test   %eax,%eax
41aad2:	75 35                	jne    0x41ab09
41aad4:	ff 15 e8 b0 44 00    	call   *0x44b0e8
41aada:	0f b7 f0             	movzwl %ax,%esi
41aadd:	81 ce 00 00 07 80    	or     $0x80070000,%esi
41aae3:	85 c0                	test   %eax,%eax
41aae5:	0f 4e f0             	cmovle %eax,%esi
41aae8:	b8 05 40 00 80       	mov    $0x80004005,%eax
41aaed:	85 f6                	test   %esi,%esi
41aaef:	0f 49 f0             	cmovns %eax,%esi
41aaf2:	56                   	push   %esi
41aaf3:	68 f0 03 00 00       	push   $0x3f0
41aaf8:	68 50 65 45 00       	push   $0x456550
41aafd:	e8 d1 8c fe ff       	call   0x4037d3
41ab02:	68 d0 6b 45 00       	push   $0x456bd0
41ab07:	eb 16                	jmp    0x41ab1f
41ab09:	ff 70 28             	push   0x28(%eax)
41ab0c:	ff 75 e8             	push   -0x18(%ebp)
41ab0f:	e8 6c e5 ff ff       	call   0x419080
41ab14:	8b f0                	mov    %eax,%esi
41ab16:	85 f6                	test   %esi,%esi
41ab18:	79 0d                	jns    0x41ab27
41ab1a:	68 10 6c 45 00       	push   $0x456c10
41ab1f:	56                   	push   %esi
41ab20:	e8 0a 56 02 00       	call   0x44012f
41ab25:	59                   	pop    %ecx
41ab26:	59                   	pop    %ecx
41ab27:	8b 4d fc             	mov    -0x4(%ebp),%ecx
41ab2a:	8b c6                	mov    %esi,%eax