45c6dc:	39 7d e8             	cmp    %edi,-0x18(%ebp)
45c6df:	74 09                	je     0x45c6ea
45c6e1:	8b 45 a0             	mov    -0x60(%ebp),%eax
45c6e4:	2b 45 a8             	sub    -0x58(%ebp),%eax
45c6e7:	01 45 e8             	add    %eax,-0x18(%ebp)
45c6ea:	39 7d 0c             	cmp    %edi,0xc(%ebp)
45c6ed:	74 05                	je     0x45c6f4
45c6ef:	39 7d 10             	cmp    %edi,0x10(%ebp)
45c6f2:	74 0e                	je     0x45c702
45c6f4:	39 7d ec             	cmp    %edi,-0x14(%ebp)
45c6f7:	74 09                	je     0x45c702
45c6f9:	8b 45 a4             	mov    -0x5c(%ebp),%eax
45c6fc:	2b 45 ac             	sub    -0x54(%ebp),%eax
45c6ff:	01 45 ec             	add    %eax,-0x14(%ebp)
45c702:	8b 45 08             	mov    0x8(%ebp),%eax
45c705:	8b 4d e8             	mov    -0x18(%ebp),%ecx
45c708:	5f                   	pop    %edi
45c709:	89 08                	mov    %ecx,(%eax)
45c70b:	8b 4d ec             	mov    -0x14(%ebp),%ecx
45c70e:	5e                   	pop    %esi
45c70f:	89 48 04             	mov    %ecx,0x4(%eax)
45c712:	5b                   	pop    %ebx
45c713:	c9                   	leave
45c714:	c2 0c 00             	ret    $0xc
45c717:	53                   	push   %ebx
45c718:	56                   	push   %esi
45c719:	8b f1                	mov    %ecx,%esi
45c71b:	33 db                	xor    %ebx,%ebx
45c71d:	39 9e 9c 00 00 00    	cmp    %ebx,0x9c(%esi)
45c723:	7e 2e                	jle    0x45c753
45c725:	57                   	push   %edi
45c726:	53                   	push   %ebx
45c727:	8b ce                	mov    %esi,%ecx
45c729:	e8 81 f6 ff ff       	call   0x45bdaf
45c72e:	8b f8                	mov    %eax,%edi
45c730:	85 ff                	test   %edi,%edi
45c732:	74 15                	je     0x45c749
45c734:	8b cf                	mov    %edi,%ecx
45c736:	e8 27 41 00 00       	call   0x460862
45c73b:	6a 01                	push   $0x1
45c73d:	ff 74 24 14          	push   0x14(%esp)
45c741:	8b c8                	mov    %eax,%ecx
45c743:	57                   	push   %edi
45c744:	e8 51 4c 00 00       	call   0x46139a
45c749:	43                   	inc    %ebx
45c74a:	3b 9e 9c 00 00 00    	cmp    0x9c(%esi),%ebx
45c750:	7c d4                	jl     0x45c726
45c752:	5f                   	pop    %edi
45c753:	5e                   	pop    %esi
45c754:	5b                   	pop    %ebx
45c755:	c2 04 00             	ret    $0x4
45c758:	b8 39 44 48 00       	mov    $0x484439,%eax
45c75d:	e8 1a b5 fb ff       	call   0x417c7c
45c762:	51                   	push   %ecx
45c763:	56                   	push   %esi
45c764:	8b f1                	mov    %ecx,%esi
45c766:	89 75 f0             	mov    %esi,-0x10(%ebp)
45c769:	e8 5f 86 00 00       	call   0x464dcd
45c76e:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
45c772:	6a 01                	push   $0x1
45c774:	8d 8e e0 00 00 00    	lea    0xe0(%esi),%ecx
45c77a:	c7 06 14 13 49 00    	movl   $0x491314,(%esi)
45c780:	e8 75 f4 ff ff       	call   0x45bbfa
45c785:	83 a6 34 01 00 00 00 	andl   $0x0,0x134(%esi)
45c78c:	8b 4d f4             	mov    -0xc(%ebp),%ecx
45c78f:	8b c6                	mov    %esi,%eax
45c791:	5e                   	pop    %esi
45c792:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
45c799:	c9                   	leave
45c79a:	c3                   	ret
45c79b:	6a 00                	push   $0x0
45c79d:	81 c1 e0 00 00 00    	add    $0xe0,%ecx
45c7a3:	e8 6f ff ff ff       	call   0x45c717
45c7a8:	c3                   	ret
45c7a9:	56                   	push   %esi
45c7aa:	8b f1                	mov    %ecx,%esi
45c7ac:	e8 64 f8 ff ff       	call   0x45c015
45c7b1:	f6 44 24 08 01       	testb  $0x1,0x8(%esp)
45c7b6:	74 07                	je     0x45c7bf
45c7b8:	56                   	push   %esi
45c7b9:	e8 c2 38 fe ff       	call   0x440080
45c7be:	59                   	pop    %ecx
45c7bf:	8b c6                	mov    %esi,%eax
45c7c1:	5e                   	pop    %esi
45c7c2:	c2 04 00             	ret    $0x4
45c7c5:	55                   	push   %ebp
45c7c6:	8d ac 24 50 ff ff ff 	lea    -0xb0(%esp),%ebp
45c7cd:	81 ec 30 01 00 00    	sub    $0x130,%esp
45c7d3:	a1 40 8b 4a 00       	mov    0x4a8b40,%eax
45c7d8:	53                   	push   %ebx
45c7d9:	56                   	push   %esi
45c7da:	8b b5 b8 00 00 00    	mov    0xb8(%ebp),%esi
45c7e0:	89 85 ac 00 00 00    	mov    %eax,0xac(%ebp)
45c7e6:	57                   	push   %edi
45c7e7:	8d 45 80             	lea    -0x80(%ebp),%eax
45c7ea:	50                   	push   %eax
45c7eb:	ff 76 1c             	push   0x1c(%esi)
45c7ee:	8b d9                	mov    %ecx,%ebx
45c7f0:	ff 15 40 07 4b 00    	call   *0x4b0740
45c7f6:	33 ff                	xor    %edi,%edi
45c7f8:	39 9e 88 00 00 00    	cmp    %ebx,0x88(%esi)
45c7fe:	75 24                	jne    0x45c824
45c800:	39 bd bc 00 00 00    	cmp    %edi,0xbc(%ebp)
45c806:	0f 84 0d 02 00 00    	je     0x45ca19
45c80c:	ff b5 bc 00 00 00    	push   0xbc(%ebp)
45c812:	8d 45 80             	lea    -0x80(%ebp),%eax
45c815:	50                   	push   %eax
45c816:	ff 15 0c 07 4b 00    	call   *0x4b070c
45c81c:	85 c0                	test   %eax,%eax
45c81e:	0f 85 f5 01 00 00    	jne    0x45ca19
45c824:	39 bb 90 00 00 00    	cmp    %edi,0x90(%ebx)
45c82a:	74 0d                	je     0x45c839
45c82c:	f6 86 80 00 00 00 40 	testb  $0x40,0x80(%esi)
45c833:	74 04                	je     0x45c839
45c835:	83 4b 7c 40          	orl    $0x40,0x7c(%ebx)
45c839:	83 63 7c f9          	andl   $0xfffffff9,0x7c(%ebx)
45c83d:	8b 46 7c             	mov    0x7c(%esi),%eax
45c840:	8b 4b 7c             	mov    0x7c(%ebx),%ecx
45c843:	83 e0 06             	and    $0x6,%eax
45c846:	0b c1                	or     %ecx,%eax
45c848:	a8 40                	test   $0x40,%al
45c84a:	89 43 7c             	mov    %eax,0x7c(%ebx)
45c84d:	75 1c                	jne    0x45c86b
45c84f:	68 04 01 00 00       	push   $0x104
45c854:	8d 45 a8             	lea    -0x58(%ebp),%eax
45c857:	50                   	push   %eax
45c858:	8b ce                	mov    %esi,%ecx
45c85a:	e8 6b 4b fe ff       	call   0x4413ca
45c85f:	8d 45 a8             	lea    -0x58(%ebp),%eax
45c862:	50                   	push   %eax
45c863:	ff 73 1c             	push   0x1c(%ebx)
45c866:	e8 c8 49 ff ff       	call   0x451233
45c86b:	8b 46 7c             	mov    0x7c(%esi),%eax
45c86e:	33 43 7c             	xor    0x7c(%ebx),%eax
45c871:	25 00 f0 00 00       	and    $0xf000,%eax
45c876:	33 46 7c             	xor    0x7c(%esi),%eax
45c879:	0d 00 0f 00 00       	or     $0xf00,%eax
45c87e:	39 bb 90 00 00 00    	cmp    %edi,0x90(%ebx)
45c884:	74 05                	je     0x45c88b
45c886:	83 c8 01             	or     $0x1,%eax
45c889:	eb 03                	jmp    0x45c88e
45c88b:	83 e0 fe             	and    $0xfffffffe,%eax
45c88e:	50                   	push   %eax
45c88f:	8b ce                	mov    %esi,%ecx
45c891:	e8 bd 3e 01 00       	call   0x470753
45c896:	39 9e 88 00 00 00    	cmp    %ebx,0x88(%esi)
45c89c:	89 7d 94             	mov    %edi,-0x6c(%ebp)
45c89f:	74 25                	je     0x45c8c6
45c8a1:	ff 76 1c             	push   0x1c(%esi)
45c8a4:	ff 15 a0 07 4b 00    	call   *0x4b07a0
45c8aa:	85 c0                	test   %eax,%eax
45c8ac:	74 18                	je     0x45c8c6
45c8ae:	68 97 00 00 00       	push   $0x97
45c8b3:	57                   	push   %edi
45c8b4:	57                   	push   %edi
45c8b5:	57                   	push   %edi
45c8b6:	57                   	push   %edi
45c8b7:	57                   	push   %edi
45c8b8:	8b ce                	mov    %esi,%ecx
45c8ba:	e8 aa 46 fe ff       	call   0x440f69
45c8bf:	c7 45 94 01 00 00 00 	movl   $0x1,-0x6c(%ebp)
45c8c6:	83 4d 90 ff          	orl    $0xffffffff,-0x70(%ebp)
45c8ca:	39 bd bc 00 00 00    	cmp    %edi,0xbc(%ebp)
45c8d0:	0f 84 87 00 00 00    	je     0x45c95d
45c8d6:	ff b5 bc 00 00 00    	push   0xbc(%ebp)
45c8dc:	8d 45 98             	lea    -0x68(%ebp),%eax
45c8df:	50                   	push   %eax
45c8e0:	ff 15 44 07 4b 00    	call   *0x4b0744
45c8e6:	8d 45 98             	lea    -0x68(%ebp),%eax
45c8e9:	50                   	push   %eax
45c8ea:	8b cb                	mov    %ebx,%ecx
45c8ec:	e8 2d 27 ff ff       	call   0x44f01e
45c8f1:	8b 45 a0             	mov    -0x60(%ebp),%eax
45c8f4:	2b 45 98             	sub    -0x68(%ebp),%eax
45c8f7:	8d 75 98             	lea    -0x68(%ebp),%esi
45c8fa:	99                   	cltd
45c8fb:	2b c2                	sub    %edx,%eax
45c8fd:	8b c8                	mov    %eax,%ecx
45c8ff:	8b 45 a4             	mov    -0x5c(%ebp),%eax
45c902:	2b 45 9c             	sub    -0x64(%ebp),%eax
45c905:	d1 f9                	sar    $1,%ecx
45c907:	03 4d 98             	add    -0x68(%ebp),%ecx
45c90a:	99                   	cltd
45c90b:	2b c2                	sub    %edx,%eax
45c90d:	d1 f8                	sar    $1,%eax
45c90f:	03 45 9c             	add    -0x64(%ebp),%eax
45c912:	50                   	push   %eax
45c913:	51                   	push   %ecx
45c914:	83 ec 10             	sub    $0x10,%esp
45c917:	8b fc                	mov    %esp,%edi
45c919:	ff b5 b8 00 00 00    	push   0xb8(%ebp)
45c91f:	a5                   	movsl  %ds:(%esi),%es:(%edi)
45c920:	a5                   	movsl  %ds:(%esi),%es:(%edi)
45c921:	a5                   	movsl  %ds:(%esi),%es:(%edi)
45c922:	8b cb                	mov    %ebx,%ecx
45c924:	a5                   	movsl  %ds:(%esi),%es:(%edi)
45c925:	e8 a4 f4 ff ff       	call   0x45bdce
45c92a:	8b 8d b8 00 00 00    	mov    0xb8(%ebp),%ecx
45c930:	89 45 90             	mov    %eax,-0x70(%ebp)
45c933:	8b 45 a4             	mov    -0x5c(%ebp),%eax
45c936:	2b 45 9c             	sub    -0x64(%ebp),%eax
45c939:	68 14 01 00 00       	push   $0x114
45c93e:	50                   	push   %eax
45c93f:	8b 45 a0             	mov    -0x60(%ebp),%eax
45c942:	2b 45 98             	sub    -0x68(%ebp),%eax
45c945:	50                   	push   %eax
45c946:	ff 75 9c             	push   -0x64(%ebp)
45c949:	ff 75 98             	push   -0x68(%ebp)
45c94c:	6a 00                	push   $0x0
45c94e:	e8 16 46 fe ff       	call   0x440f69
45c953:	8b b5 b8 00 00 00    	mov    0xb8(%ebp),%esi
45c959:	33 ff                	xor    %edi,%edi
45c95b:	eb 3e                	jmp    0x45c99b
45c95d:	8d bb 94 00 00 00    	lea    0x94(%ebx),%edi
45c963:	56                   	push   %esi
45c964:	ff 77 08             	push   0x8(%edi)
45c967:	8b cf                	mov    %edi,%ecx
45c969:	e8 d5 04 fe ff       	call   0x43ce43
45c96e:	6a 00                	push   $0x0
45c970:	ff 77 08             	push   0x8(%edi)
45c973:	8b cf                	mov    %edi,%ecx
45c975:	e8 c9 04 fe ff       	call   0x43ce43
45c97a:	a1 ec c3 4a 00       	mov    0x4ac3ec,%eax
45c97f:	68 15 01 00 00       	push   $0x115
45c984:	33 ff                	xor    %edi,%edi
45c986:	57                   	push   %edi
45c987:	57                   	push   %edi
45c988:	f7 d8                	neg    %eax
45c98a:	50                   	push   %eax
45c98b:	a1 e8 c3 4a 00       	mov    0x4ac3e8,%eax
45c990:	f7 d8                	neg    %eax
45c992:	50                   	push   %eax
45c993:	57                   	push   %edi
45c994:	8b ce                	mov    %esi,%ecx
45c996:	e8 ce 45 fe ff       	call   0x440f69
45c99b:	ff 76 1c             	push   0x1c(%esi)
45c99e:	ff 15 d8 07 4b 00    	call   *0x4b07d8
45c9a4:	50                   	push   %eax
45c9a5:	e8 f8 82 fe ff       	call   0x444ca2
45c9aa:	3b c3                	cmp    %ebx,%eax
45c9ac:	74 08                	je     0x45c9b6
45c9ae:	53                   	push   %ebx
45c9af:	8b ce                	mov    %esi,%ecx
45c9b1:	e8 e9 98 fb ff       	call   0x41629f
45c9b6:	8b 8e 88 00 00 00    	mov    0x88(%esi),%ecx
45c9bc:	3b cb                	cmp    %ebx,%ecx
45c9be:	75 06                	jne    0x45c9c6
45c9c0:	57                   	push   %edi
45c9c1:	ff 75 90             	push   -0x70(%ebp)
45c9c4:	eb 1e                	jmp    0x45c9e4
45c9c6:	3b cf                	cmp    %edi,%ecx
45c9c8:	74 20                	je     0x45c9ea
45c9ca:	39 bb 90 00 00 00    	cmp    %edi,0x90(%ebx)
45c9d0:	74 0d                	je     0x45c9df
45c9d2:	39 b9 90 00 00 00    	cmp    %edi,0x90(%ecx)
45c9d8:	75 05                	jne    0x45c9df
45c9da:	33 c0                	xor    %eax,%eax
45c9dc:	40                   	inc    %eax
45c9dd:	eb 02                	jmp    0x45c9e1
45c9df:	33 c0                	xor    %eax,%eax
45c9e1:	50                   	push   %eax
45c9e2:	6a ff                	push   $0xffffffff
45c9e4:	56                   	push   %esi
45c9e5:	e8 6c f7 ff ff       	call   0x45c156
45c9ea:	39 7d 94             	cmp    %edi,-0x6c(%ebp)
45c9ed:	89 9e 88 00 00 00    	mov    %ebx,0x88(%esi)
45c9f3:	74 0e                	je     0x45ca03
45c9f5:	6a 57                	push   $0x57
45c9f7:	57                   	push   %edi
45c9f8:	57                   	push   %edi
45c9f9:	57                   	push   %edi
45c9fa:	57                   	push   %edi
45c9fb:	57                   	push   %edi
45c9fc:	8b ce                	mov    %esi,%ecx
45c9fe:	e8 66 45 fe ff       	call   0x440f69
45ca03:	56                   	push   %esi
45ca04:	8b cb                	mov    %ebx,%ecx
45ca06:	e8 e4 f6 ff ff       	call   0x45c0ef
45ca0b:	8b cb                	mov    %ebx,%ecx
45ca0d:	e8 50 3e 00 00       	call   0x460862
45ca12:	83 88 cc 00 00 00 0c 	orl    $0xc,0xcc(%eax)
45ca19:	8b 8d ac 00 00 00    	mov    0xac(%ebp),%ecx
45ca1f:	e8 ba b1 fb ff       	call   0x417bde
45ca24:	5f                   	pop    %edi
45ca25:	5e                   	pop    %esi
45ca26:	5b                   	pop    %ebx
45ca27:	81 c5 b0 00 00 00    	add    $0xb0,%ebp
45ca2d:	c9                   	leave
45ca2e:	c2 08 00             	ret    $0x8
45ca31:	55                   	push   %ebp
45ca32:	8d ac 24 58 ff ff ff 	lea    -0xa8(%esp),%ebp
45ca39:	81 ec 28 01 00 00    	sub    $0x128,%esp
45ca3f:	a1 40 8b 4a 00       	mov    0x4a8b40,%eax
45ca44:	53                   	push   %ebx
45ca45:	56                   	push   %esi
45ca46:	8b b5 b0 00 00 00    	mov    0xb0(%ebp),%esi
45ca4c:	89 85 a4 00 00 00    	mov    %eax,0xa4(%ebp)
45ca52:	57                   	push   %edi
45ca53:	8d 45 80             	lea    -0x80(%ebp),%eax
45ca56:	50                   	push   %eax
45ca57:	ff 76 1c             	push   0x1c(%esi)
45ca5a:	8b d9                	mov    %ecx,%ebx
45ca5c:	ff 15 40 07 4b 00    	call   *0x4b0740
45ca62:	39 9e 88 00 00 00    	cmp    %ebx,0x88(%esi)
45ca68:	75 25                	jne    0x45ca8f
45ca6a:	83 bd b4 00 00 00 00 	cmpl   $0x0,0xb4(%ebp)
45ca71:	0f 84 c3 01 00 00    	je     0x45cc3a
45ca77:	ff b5 b4 00 00 00    	push   0xb4(%ebp)
45ca7d:	8d 45 80             	lea    -0x80(%ebp),%eax
45ca80:	50                   	push   %eax
45ca81:	ff 15 0c 07 4b 00    	call   *0x4b070c
45ca87:	85 c0                	test   %eax,%eax
45ca89:	0f 85 ab 01 00 00    	jne    0x45cc3a
45ca8f:	83 bb 90 00 00 00 00 	cmpl   $0x0,0x90(%ebx)
45ca96:	74 0d                	je     0x45caa5
45ca98:	f6 86 80 00 00 00 40 	testb  $0x40,0x80(%esi)
45ca9f:	74 04                	je     0x45caa5
45caa1:	83 4b 7c 40          	orl    $0x40,0x7c(%ebx)
45caa5:	83 63 7c f9          	andl   $0xfffffff9,0x7c(%ebx)
45caa9:	8b 46 7c             	mov    0x7c(%esi),%eax
45caac:	8b 4b 7c             	mov    0x7c(%ebx),%ecx
45caaf:	83 e0 06             	and    $0x6,%eax
45cab2:	0b c1                	or     %ecx,%eax
45cab4:	a8 40                	test   $0x40,%al
45cab6:	89 43 7c             	mov    %eax,0x7c(%ebx)
45cab9:	75 1c                	jne    0x45cad7
45cabb:	68 04 01 00 00       	push   $0x104
45cac0:	8d 45 a0             	lea    -0x60(%ebp),%eax
45cac3:	50                   	push   %eax
45cac4:	8b ce                	mov    %esi,%ecx
45cac6:	e8 ff 48 fe ff       	call   0x4413ca
45cacb:	8d 45 a0             	lea    -0x60(%ebp),%eax
45cace:	50                   	push   %eax
45cacf:	ff 73 1c             	push   0x1c(%ebx)
45cad2:	e8 5c 47 ff ff       	call   0x451233
45cad7:	8b 46 7c             	mov    0x7c(%esi),%eax
45cada:	33 43 7c             	xor    0x7c(%ebx),%eax
45cadd:	25 00 f0 00 00       	and    $0xf000,%eax
45cae2:	33 46 7c             	xor    0x7c(%esi),%eax
45cae5:	0d 00 0f 00 00       	or     $0xf00,%eax
45caea:	83 bb 90 00 00 00 00 	cmpl   $0x0,0x90(%ebx)
45caf1:	74 05                	je     0x45caf8
45caf3:	83 c8 01             	or     $0x1,%eax
45caf6:	eb 03                	jmp    0x45cafb
45caf8:	83 e0 fe             	and    $0xfffffffe,%eax
45cafb:	50                   	push   %eax
45cafc:	8b ce                	mov    %esi,%ecx
45cafe:	e8 50 3c 01 00       	call   0x470753
45cb03:	6a ff                	push   $0xffffffff
45cb05:	ff 76 1c             	push   0x1c(%esi)