59c80f:	74 0c                	je     0x59c81d
59c811:	c7 47 40 01 00 00 00 	movl   $0x1,0x40(%edi)
59c818:	bd 01 00 00 00       	mov    $0x1,%ebp
59c81d:	85 f6                	test   %esi,%esi
59c81f:	74 09                	je     0x59c82a
59c821:	56                   	push   %esi
59c822:	e8 29 b5 f3 ff       	call   0x4d7d50
59c827:	83 c4 04             	add    $0x4,%esp
59c82a:	85 db                	test   %ebx,%ebx
59c82c:	74 09                	je     0x59c837
59c82e:	53                   	push   %ebx
59c82f:	e8 5c b5 f3 ff       	call   0x4d7d90
59c834:	83 c4 04             	add    $0x4,%esp
59c837:	5e                   	pop    %esi
59c838:	5f                   	pop    %edi
59c839:	8b c5                	mov    %ebp,%eax
59c83b:	5d                   	pop    %ebp
59c83c:	5b                   	pop    %ebx
59c83d:	59                   	pop    %ecx
59c83e:	c3                   	ret
59c83f:	5f                   	pop    %edi
59c840:	5d                   	pop    %ebp
59c841:	b8 01 00 00 00       	mov    $0x1,%eax
59c846:	5b                   	pop    %ebx
59c847:	59                   	pop    %ecx
59c848:	c3                   	ret
59c849:	cc                   	int3
59c84a:	cc                   	int3
59c84b:	cc                   	int3
59c84c:	cc                   	int3
59c84d:	cc                   	int3
59c84e:	cc                   	int3
59c84f:	cc                   	int3
59c850:	53                   	push   %ebx
59c851:	55                   	push   %ebp
59c852:	56                   	push   %esi
59c853:	57                   	push   %edi
59c854:	8b 7c 24 18          	mov    0x18(%esp),%edi
59c858:	33 f6                	xor    %esi,%esi
59c85a:	85 ff                	test   %edi,%edi
59c85c:	74 24                	je     0x59c882
59c85e:	8b 6c 24 20          	mov    0x20(%esp),%ebp
59c862:	8b 5c 24 14          	mov    0x14(%esp),%ebx
59c866:	8b 4c 24 1c          	mov    0x1c(%esp),%ecx
59c86a:	8b 03                	mov    (%ebx),%eax
59c86c:	55                   	push   %ebp
59c86d:	ff 34 b1             	push   (%ecx,%esi,4)
59c870:	8b 40 70             	mov    0x70(%eax),%eax
59c873:	53                   	push   %ebx
59c874:	ff d0                	call   *%eax
59c876:	83 c4 0c             	add    $0xc,%esp
59c879:	85 c0                	test   %eax,%eax
59c87b:	74 0f                	je     0x59c88c
59c87d:	46                   	inc    %esi
59c87e:	3b f7                	cmp    %edi,%esi
59c880:	72 e4                	jb     0x59c866
59c882:	5f                   	pop    %edi
59c883:	5e                   	pop    %esi
59c884:	5d                   	pop    %ebp
59c885:	b8 01 00 00 00       	mov    $0x1,%eax
59c88a:	5b                   	pop    %ebx
59c88b:	c3                   	ret
59c88c:	5f                   	pop    %edi
59c88d:	5e                   	pop    %esi
59c88e:	5d                   	pop    %ebp
59c88f:	33 c0                	xor    %eax,%eax
59c891:	5b                   	pop    %ebx
59c892:	c3                   	ret
59c893:	cc                   	int3
59c894:	cc                   	int3
59c895:	cc                   	int3
59c896:	cc                   	int3
59c897:	cc                   	int3
59c898:	cc                   	int3
59c899:	cc                   	int3
59c89a:	cc                   	int3
59c89b:	cc                   	int3
59c89c:	cc                   	int3
59c89d:	cc                   	int3
59c89e:	cc                   	int3
59c89f:	cc                   	int3
59c8a0:	ff 74 24 14          	push   0x14(%esp)
59c8a4:	8b 44 24 08          	mov    0x8(%esp),%eax
59c8a8:	83 c0 5c             	add    $0x5c,%eax
59c8ab:	50                   	push   %eax
59c8ac:	ff 74 24 18          	push   0x18(%esp)
59c8b0:	ff 74 24 18          	push   0x18(%esp)
59c8b4:	ff 74 24 18          	push   0x18(%esp)
59c8b8:	e8 03 e3 00 00       	call   0x5aabc0
59c8bd:	83 c4 14             	add    $0x14,%esp
59c8c0:	c3                   	ret
59c8c1:	cc                   	int3
59c8c2:	cc                   	int3
59c8c3:	cc                   	int3
59c8c4:	cc                   	int3
59c8c5:	cc                   	int3
59c8c6:	cc                   	int3
59c8c7:	cc                   	int3
59c8c8:	cc                   	int3
59c8c9:	cc                   	int3
59c8ca:	cc                   	int3
59c8cb:	cc                   	int3
59c8cc:	cc                   	int3
59c8cd:	cc                   	int3
59c8ce:	cc                   	int3
59c8cf:	cc                   	int3
59c8d0:	ff 74 24 10          	push   0x10(%esp)
59c8d4:	8b 44 24 08          	mov    0x8(%esp),%eax
59c8d8:	83 c0 5c             	add    $0x5c,%eax
59c8db:	50                   	push   %eax
59c8dc:	ff 74 24 14          	push   0x14(%esp)
59c8e0:	ff 74 24 14          	push   0x14(%esp)
59c8e4:	e8 f7 e8 00 00       	call   0x5ab1e0
59c8e9:	83 c4 10             	add    $0x10,%esp
59c8ec:	c3                   	ret
59c8ed:	cc                   	int3
59c8ee:	cc                   	int3
59c8ef:	cc                   	int3
59c8f0:	ff 74 24 14          	push   0x14(%esp)
59c8f4:	8b 44 24 08          	mov    0x8(%esp),%eax
59c8f8:	83 c0 48             	add    $0x48,%eax
59c8fb:	50                   	push   %eax
59c8fc:	ff 74 24 18          	push   0x18(%esp)
59c900:	ff 74 24 18          	push   0x18(%esp)
59c904:	ff 74 24 18          	push   0x18(%esp)
59c908:	e8 93 db 00 00       	call   0x5aa4a0
59c90d:	83 c4 14             	add    $0x14,%esp
59c910:	c3                   	ret
59c911:	cc                   	int3
59c912:	cc                   	int3
59c913:	cc                   	int3
59c914:	cc                   	int3
59c915:	cc                   	int3
59c916:	cc                   	int3
59c917:	cc                   	int3
59c918:	cc                   	int3
59c919:	cc                   	int3
59c91a:	cc                   	int3
59c91b:	cc                   	int3
59c91c:	cc                   	int3
59c91d:	cc                   	int3
59c91e:	cc                   	int3
59c91f:	cc                   	int3
59c920:	56                   	push   %esi
59c921:	8b 74 24 08          	mov    0x8(%esp),%esi
59c925:	8d 46 48             	lea    0x48(%esi),%eax
59c928:	50                   	push   %eax
59c929:	e8 f2 68 f1 ff       	call   0x4b3220
59c92e:	8d 46 74             	lea    0x74(%esi),%eax
59c931:	50                   	push   %eax
59c932:	e8 e9 68 f1 ff       	call   0x4b3220
59c937:	8d 86 88 00 00 00    	lea    0x88(%esi),%eax
59c93d:	50                   	push   %eax
59c93e:	e8 dd 68 f1 ff       	call   0x4b3220
59c943:	83 c4 0c             	add    $0xc,%esp
59c946:	b8 01 00 00 00       	mov    $0x1,%eax
59c94b:	5e                   	pop    %esi
59c94c:	c3                   	ret
59c94d:	cc                   	int3
59c94e:	cc                   	int3
59c94f:	cc                   	int3
59c950:	56                   	push   %esi
59c951:	8b 74 24 08          	mov    0x8(%esp),%esi
59c955:	8d 46 48             	lea    0x48(%esi),%eax
59c958:	50                   	push   %eax
59c959:	e8 82 68 f1 ff       	call   0x4b31e0
59c95e:	8d 46 74             	lea    0x74(%esi),%eax
59c961:	50                   	push   %eax
59c962:	e8 79 68 f1 ff       	call   0x4b31e0
59c967:	83 c4 08             	add    $0x8,%esp
59c96a:	8d 86 88 00 00 00    	lea    0x88(%esi),%eax
59c970:	5e                   	pop    %esi
59c971:	89 44 24 04          	mov    %eax,0x4(%esp)
59c975:	e9 66 68 f1 ff       	jmp    0x4b31e0
59c97a:	cc                   	int3
59c97b:	cc                   	int3
59c97c:	cc                   	int3
59c97d:	cc                   	int3
59c97e:	cc                   	int3
59c97f:	cc                   	int3
59c980:	56                   	push   %esi
59c981:	8b 74 24 08          	mov    0x8(%esp),%esi
59c985:	8d 46 48             	lea    0x48(%esi),%eax
59c988:	50                   	push   %eax
59c989:	e8 e2 63 f1 ff       	call   0x4b2d70
59c98e:	8d 46 74             	lea    0x74(%esi),%eax
59c991:	50                   	push   %eax
59c992:	e8 d9 63 f1 ff       	call   0x4b2d70
59c997:	8d 86 88 00 00 00    	lea    0x88(%esi),%eax
59c99d:	50                   	push   %eax
59c99e:	e8 cd 63 f1 ff       	call   0x4b2d70
59c9a3:	83 c4 0c             	add    $0xc,%esp
59c9a6:	c7 46 5c 00 00 00 00 	movl   $0x0,0x5c(%esi)
59c9ad:	c7 46 60 00 00 00 00 	movl   $0x0,0x60(%esi)
59c9b4:	c7 46 64 00 00 00 00 	movl   $0x0,0x64(%esi)
59c9bb:	c7 46 68 00 00 00 00 	movl   $0x0,0x68(%esi)
59c9c2:	c7 46 6c 00 00 00 00 	movl   $0x0,0x6c(%esi)
59c9c9:	c7 46 70 ff ff ff ff 	movl   $0xffffffff,0x70(%esi)
59c9d0:	5e                   	pop    %esi
59c9d1:	c3                   	ret
59c9d2:	cc                   	int3
59c9d3:	cc                   	int3
59c9d4:	cc                   	int3
59c9d5:	cc                   	int3
59c9d6:	cc                   	int3
59c9d7:	cc                   	int3
59c9d8:	cc                   	int3
59c9d9:	cc                   	int3
59c9da:	cc                   	int3
59c9db:	cc                   	int3
59c9dc:	cc                   	int3
59c9dd:	cc                   	int3
59c9de:	cc                   	int3
59c9df:	cc                   	int3
59c9e0:	55                   	push   %ebp
59c9e1:	8b 6c 24 0c          	mov    0xc(%esp),%ebp
59c9e5:	56                   	push   %esi
59c9e6:	8b 74 24 0c          	mov    0xc(%esp),%esi
59c9ea:	8d 45 48             	lea    0x48(%ebp),%eax
59c9ed:	50                   	push   %eax
59c9ee:	8d 46 48             	lea    0x48(%esi),%eax
59c9f1:	50                   	push   %eax
59c9f2:	e8 d9 66 f1 ff       	call   0x4b30d0
59c9f7:	83 c4 08             	add    $0x8,%esp
59c9fa:	85 c0                	test   %eax,%eax
59c9fc:	75 03                	jne    0x59ca01
59c9fe:	5e                   	pop    %esi
59c9ff:	5d                   	pop    %ebp
59ca00:	c3                   	ret
59ca01:	53                   	push   %ebx
59ca02:	8d 45 74             	lea    0x74(%ebp),%eax
59ca05:	50                   	push   %eax
59ca06:	8d 5e 74             	lea    0x74(%esi),%ebx
59ca09:	53                   	push   %ebx
59ca0a:	e8 c1 66 f1 ff       	call   0x4b30d0
59ca0f:	83 c4 08             	add    $0x8,%esp
59ca12:	85 c0                	test   %eax,%eax
59ca14:	75 04                	jne    0x59ca1a
59ca16:	5b                   	pop    %ebx
59ca17:	5e                   	pop    %esi
59ca18:	5d                   	pop    %ebp
59ca19:	c3                   	ret
59ca1a:	57                   	push   %edi
59ca1b:	8d 85 88 00 00 00    	lea    0x88(%ebp),%eax
59ca21:	50                   	push   %eax
59ca22:	8d be 88 00 00 00    	lea    0x88(%esi),%edi
59ca28:	57                   	push   %edi
59ca29:	e8 a2 66 f1 ff       	call   0x4b30d0
59ca2e:	83 c4 08             	add    $0x8,%esp
59ca31:	85 c0                	test   %eax,%eax
59ca33:	74 73                	je     0x59caa8
59ca35:	8b 45 5c             	mov    0x5c(%ebp),%eax
59ca38:	89 46 5c             	mov    %eax,0x5c(%esi)
59ca3b:	8b 45 60             	mov    0x60(%ebp),%eax
59ca3e:	89 46 60             	mov    %eax,0x60(%esi)
59ca41:	8b 45 64             	mov    0x64(%ebp),%eax
59ca44:	89 46 64             	mov    %eax,0x64(%esi)
59ca47:	8b 45 68             	mov    0x68(%ebp),%eax
59ca4a:	89 46 68             	mov    %eax,0x68(%esi)
59ca4d:	8b 45 6c             	mov    0x6c(%ebp),%eax
59ca50:	89 46 6c             	mov    %eax,0x6c(%esi)
59ca53:	8b 45 70             	mov    0x70(%ebp),%eax
59ca56:	89 46 70             	mov    %eax,0x70(%esi)
59ca59:	8b 46 5c             	mov    0x5c(%esi),%eax
59ca5c:	83 c0 1f             	add    $0x1f,%eax
59ca5f:	99                   	cltd
59ca60:	83 e2 1f             	and    $0x1f,%edx
59ca63:	03 c2                	add    %edx,%eax
59ca65:	c1 f8 05             	sar    $0x5,%eax
59ca68:	3b 46 7c             	cmp    0x7c(%esi),%eax
59ca6b:	7f 04                	jg     0x59ca71
59ca6d:	8b c3                	mov    %ebx,%eax
59ca6f:	eb 0a                	jmp    0x59ca7b
59ca71:	50                   	push   %eax
59ca72:	53                   	push   %ebx
59ca73:	e8 28 6c f1 ff       	call   0x4b36a0
59ca78:	83 c4 08             	add    $0x8,%esp
59ca7b:	85 c0                	test   %eax,%eax
59ca7d:	74 29                	je     0x59caa8
59ca7f:	8b 46 5c             	mov    0x5c(%esi),%eax
59ca82:	83 c0 1f             	add    $0x1f,%eax
59ca85:	99                   	cltd
59ca86:	83 e2 1f             	and    $0x1f,%edx
59ca89:	03 c2                	add    %edx,%eax
59ca8b:	c1 f8 05             	sar    $0x5,%eax
59ca8e:	3b 86 90 00 00 00    	cmp    0x90(%esi),%eax
59ca94:	7f 04                	jg     0x59ca9a
59ca96:	8b c7                	mov    %edi,%eax
59ca98:	eb 0a                	jmp    0x59caa4
59ca9a:	50                   	push   %eax
59ca9b:	57                   	push   %edi
59ca9c:	e8 ff 6b f1 ff       	call   0x4b36a0
59caa1:	83 c4 08             	add    $0x8,%esp
59caa4:	85 c0                	test   %eax,%eax
59caa6:	75 07                	jne    0x59caaf
59caa8:	5f                   	pop    %edi
59caa9:	5b                   	pop    %ebx
59caaa:	5e                   	pop    %esi
59caab:	33 c0                	xor    %eax,%eax
59caad:	5d                   	pop    %ebp
59caae:	c3                   	ret
59caaf:	8b 4e 78             	mov    0x78(%esi),%ecx
59cab2:	3b 4e 7c             	cmp    0x7c(%esi),%ecx
59cab5:	7d 18                	jge    0x59cacf
59cab7:	66 0f 1f 84 00 00 00 	nopw   0x0(%eax,%eax,1)
59cabe:	00 00
59cac0:	8b 03                	mov    (%ebx),%eax
59cac2:	c7 04 88 00 00 00 00 	movl   $0x0,(%eax,%ecx,4)
59cac9:	41                   	inc    %ecx
59caca:	3b 4e 7c             	cmp    0x7c(%esi),%ecx
59cacd:	7c f1                	jl     0x59cac0
59cacf:	8b 86 8c 00 00 00    	mov    0x8c(%esi),%eax
59cad5:	3b 86 90 00 00 00    	cmp    0x90(%esi),%eax
59cadb:	7d 15                	jge    0x59caf2
59cadd:	0f 1f 00             	nopl   (%eax)
59cae0:	8b 0f                	mov    (%edi),%ecx
59cae2:	c7 04 81 00 00 00 00 	movl   $0x0,(%ecx,%eax,4)
59cae9:	40                   	inc    %eax
59caea:	3b 86 90 00 00 00    	cmp    0x90(%esi),%eax
59caf0:	7c ee                	jl     0x59cae0
59caf2:	5f                   	pop    %edi
59caf3:	5b                   	pop    %ebx
59caf4:	5e                   	pop    %esi
59caf5:	b8 01 00 00 00       	mov    $0x1,%eax
59cafa:	5d                   	pop    %ebp
59cafb:	c3                   	ret
59cafc:	cc                   	int3
59cafd:	cc                   	int3
59cafe:	cc                   	int3
59caff:	cc                   	int3
59cb00:	56                   	push   %esi
59cb01:	8b 74 24 08          	mov    0x8(%esp),%esi
59cb05:	57                   	push   %edi
59cb06:	ff 74 24 10          	push   0x10(%esp)
59cb0a:	8d 7e 48             	lea    0x48(%esi),%edi
59cb0d:	57                   	push   %edi
59cb0e:	e8 bd 65 f1 ff       	call   0x4b30d0
59cb13:	83 c4 08             	add    $0x8,%esp
59cb16:	85 c0                	test   %eax,%eax
59cb18:	0f 84 fe 00 00 00    	je     0x59cc1c
59cb1e:	53                   	push   %ebx
59cb1f:	6a 06                	push   $0x6
59cb21:	8d 5e 5c             	lea    0x5c(%esi),%ebx
59cb24:	53                   	push   %ebx
59cb25:	57                   	push   %edi
59cb26:	e8 85 e8 00 00       	call   0x5ab3b0
59cb2b:	48                   	dec    %eax
59cb2c:	83 c4 0c             	add    $0xc,%esp
59cb2f:	83 f8 05             	cmp    $0x5,%eax
59cb32:	74 29                	je     0x59cb5d