433847:	8b 46 04             	mov    0x4(%esi),%eax
43384a:	e8 71 fa fc ff       	call   0x4032c0
43384f:	8b c6                	mov    %esi,%eax
433851:	e8 42 00 00 00       	call   0x433898
433856:	83 3d 58 9a 46 00 00 	cmpl   $0x0,0x469a58
43385d:	74 1f                	je     0x43387e
43385f:	a1 58 9a 46 00       	mov    0x469a58,%eax
433864:	e8 33 ff ff ff       	call   0x43379c
433869:	84 c0                	test   %al,%al
43386b:	74 11                	je     0x43387e
43386d:	a1 58 9a 46 00       	mov    0x469a58,%eax
433872:	e8 49 fa fc ff       	call   0x4032c0
433877:	33 c0                	xor    %eax,%eax
433879:	a3 58 9a 46 00       	mov    %eax,0x469a58
43387e:	8b d3                	mov    %ebx,%edx
433880:	80 e2 fc             	and    $0xfc,%dl
433883:	8b c6                	mov    %esi,%eax
433885:	e8 26 fa fc ff       	call   0x4032b0
43388a:	84 db                	test   %bl,%bl
43388c:	7e 07                	jle    0x433895
43388e:	8b c6                	mov    %esi,%eax
433890:	e8 df fd fc ff       	call   0x403674
433895:	5e                   	pop    %esi
433896:	5b                   	pop    %ebx
433897:	c3                   	ret
433898:	53                   	push   %ebx
433899:	56                   	push   %esi
43389a:	57                   	push   %edi
43389b:	8b f0                	mov    %eax,%esi
43389d:	33 db                	xor    %ebx,%ebx
43389f:	8b fb                	mov    %ebx,%edi
4338a1:	83 e7 7f             	and    $0x7f,%edi
4338a4:	8b 44 be 0c          	mov    0xc(%esi,%edi,4),%eax
4338a8:	83 f8 ff             	cmp    $0xffffffff,%eax
4338ab:	74 0a                	je     0x4338b7
4338ad:	8b d0                	mov    %eax,%edx
4338af:	8b 46 08             	mov    0x8(%esi),%eax
4338b2:	e8 bd fd ff ff       	call   0x433674
4338b7:	c7 44 be 0c ff ff ff 	movl   $0xffffffff,0xc(%esi,%edi,4)
4338be:	ff
4338bf:	43                   	inc    %ebx
4338c0:	80 fb 04             	cmp    $0x4,%bl
4338c3:	75 da                	jne    0x43389f
4338c5:	8b 56 08             	mov    0x8(%esi),%edx
4338c8:	a1 58 9a 46 00       	mov    0x469a58,%eax
4338cd:	e8 a6 fe ff ff       	call   0x433778
4338d2:	33 c0                	xor    %eax,%eax
4338d4:	89 46 08             	mov    %eax,0x8(%esi)
4338d7:	5f                   	pop    %edi
4338d8:	5e                   	pop    %esi
4338d9:	5b                   	pop    %ebx
4338da:	c3                   	ret
4338db:	90                   	nop
4338dc:	53                   	push   %ebx
4338dd:	56                   	push   %esi
4338de:	8b d8                	mov    %eax,%ebx
4338e0:	8b 73 04             	mov    0x4(%ebx),%esi
4338e3:	3b d6                	cmp    %esi,%edx
4338e5:	75 20                	jne    0x433907
4338e7:	8b c6                	mov    %esi,%eax
4338e9:	e8 62 5c ff ff       	call   0x429550
4338ee:	89 43 1c             	mov    %eax,0x1c(%ebx)
4338f1:	8b c3                	mov    %ebx,%eax
4338f3:	e8 a0 ff ff ff       	call   0x433898
4338f8:	66 83 7b 2a 00       	cmpw   $0x0,0x2a(%ebx)
4338fd:	74 08                	je     0x433907
4338ff:	8b d3                	mov    %ebx,%edx
433901:	8b 43 2c             	mov    0x2c(%ebx),%eax
433904:	ff 53 28             	call   *0x28(%ebx)
433907:	5e                   	pop    %esi
433908:	5b                   	pop    %ebx
433909:	c3                   	ret
43390a:	8b c0                	mov    %eax,%eax
43390c:	53                   	push   %ebx
43390d:	56                   	push   %esi
43390e:	8b da                	mov    %edx,%ebx
433910:	8b f0                	mov    %eax,%esi
433912:	8b c6                	mov    %esi,%eax
433914:	e8 7f ff ff ff       	call   0x433898
433919:	8b d3                	mov    %ebx,%edx
43391b:	8b 46 04             	mov    0x4(%esi),%eax
43391e:	8b 08                	mov    (%eax),%ecx
433920:	ff 51 08             	call   *0x8(%ecx)
433923:	85 db                	test   %ebx,%ebx
433925:	74 58                	je     0x43397f
433927:	8b c3                	mov    %ebx,%eax
433929:	8b 10                	mov    (%eax),%edx
43392b:	ff 52 20             	call   *0x20(%edx)
43392e:	85 c0                	test   %eax,%eax
433930:	7e 4d                	jle    0x43397f
433932:	8b c3                	mov    %ebx,%eax
433934:	e8 17 5c ff ff       	call   0x429550
433939:	89 46 1c             	mov    %eax,0x1c(%esi)
43393c:	8b c3                	mov    %ebx,%eax
43393e:	8b 10                	mov    (%eax),%edx
433940:	ff 52 2c             	call   *0x2c(%edx)
433943:	50                   	push   %eax
433944:	8b c3                	mov    %ebx,%eax
433946:	8b 10                	mov    (%eax),%edx
433948:	ff 52 20             	call   *0x20(%edx)
43394b:	5a                   	pop    %edx
43394c:	92                   	xchg   %eax,%edx
43394d:	8b ca                	mov    %edx,%ecx
43394f:	99                   	cltd
433950:	f7 f9                	idiv   %ecx
433952:	85 d2                	test   %edx,%edx
433954:	75 29                	jne    0x43397f
433956:	8b c3                	mov    %ebx,%eax
433958:	8b 10                	mov    (%eax),%edx
43395a:	ff 52 2c             	call   *0x2c(%edx)
43395d:	50                   	push   %eax
43395e:	8b c3                	mov    %ebx,%eax
433960:	8b 10                	mov    (%eax),%edx
433962:	ff 52 20             	call   *0x20(%edx)
433965:	5a                   	pop    %edx
433966:	92                   	xchg   %eax,%edx
433967:	8b ca                	mov    %edx,%ecx
433969:	99                   	cltd
43396a:	f7 f9                	idiv   %ecx
43396c:	83 f8 04             	cmp    $0x4,%eax
43396f:	7e 05                	jle    0x433976
433971:	b8 01 00 00 00       	mov    $0x1,%eax
433976:	8b d0                	mov    %eax,%edx
433978:	8b c6                	mov    %esi,%eax
43397a:	e8 05 00 00 00       	call   0x433984
43397f:	5e                   	pop    %esi
433980:	5b                   	pop    %ebx
433981:	c3                   	ret
433982:	8b c0                	mov    %eax,%eax
433984:	53                   	push   %ebx
433985:	56                   	push   %esi
433986:	8b da                	mov    %edx,%ebx
433988:	8b f0                	mov    %eax,%esi
43398a:	3a 5e 20             	cmp    0x20(%esi),%bl
43398d:	74 18                	je     0x4339a7
43398f:	84 db                	test   %bl,%bl
433991:	76 14                	jbe    0x4339a7
433993:	8b c6                	mov    %esi,%eax
433995:	e8 fe fe ff ff       	call   0x433898
43399a:	88 5e 20             	mov    %bl,0x20(%esi)
43399d:	8b 56 04             	mov    0x4(%esi),%edx
4339a0:	8b c6                	mov    %esi,%eax
4339a2:	e8 35 ff ff ff       	call   0x4338dc
4339a7:	5e                   	pop    %esi
4339a8:	5b                   	pop    %ebx
4339a9:	c3                   	ret
4339aa:	8b c0                	mov    %eax,%eax
4339ac:	55                   	push   %ebp
4339ad:	8b ec                	mov    %esp,%ebp
4339af:	83 c4 c8             	add    $0xffffffc8,%esp
4339b2:	53                   	push   %ebx
4339b3:	56                   	push   %esi
4339b4:	57                   	push   %edi
4339b5:	88 55 fb             	mov    %dl,-0x5(%ebp)
4339b8:	89 45 fc             	mov    %eax,-0x4(%ebp)
4339bb:	80 7d fb 02          	cmpb   $0x2,-0x5(%ebp)
4339bf:	75 0d                	jne    0x4339ce
4339c1:	8b 45 fc             	mov    -0x4(%ebp),%eax
4339c4:	80 78 20 03          	cmpb   $0x3,0x20(%eax)
4339c8:	73 04                	jae    0x4339ce
4339ca:	c6 45 fb 00          	movb   $0x0,-0x5(%ebp)
4339ce:	33 c0                	xor    %eax,%eax
4339d0:	8a 45 fb             	mov    -0x5(%ebp),%al
4339d3:	8b 55 fc             	mov    -0x4(%ebp),%edx
4339d6:	8b 5c 82 0c          	mov    0xc(%edx,%eax,4),%ebx
4339da:	83 fb ff             	cmp    $0xffffffff,%ebx
4339dd:	0f 85 96 05 00 00    	jne    0x433f79
4339e3:	8b 45 fc             	mov    -0x4(%ebp),%eax
4339e6:	8b 40 04             	mov    0x4(%eax),%eax
4339e9:	8b 10                	mov    (%eax),%edx
4339eb:	ff 52 2c             	call   *0x2c(%edx)
4339ee:	8b f0                	mov    %eax,%esi
4339f0:	8b 45 fc             	mov    -0x4(%ebp),%eax
4339f3:	8b 40 04             	mov    0x4(%eax),%eax
4339f6:	8b 10                	mov    (%eax),%edx
4339f8:	ff 52 20             	call   *0x20(%edx)
4339fb:	0b f0                	or     %eax,%esi
4339fd:	0f 84 76 05 00 00    	je     0x433f79
433a03:	8b 45 fc             	mov    -0x4(%ebp),%eax
433a06:	8b 40 04             	mov    0x4(%eax),%eax
433a09:	8b 10                	mov    (%eax),%edx
433a0b:	ff 52 2c             	call   *0x2c(%edx)
433a0e:	8b 55 fc             	mov    -0x4(%ebp),%edx
433a11:	0f b6 52 20          	movzbl 0x20(%edx),%edx
433a15:	8b ca                	mov    %edx,%ecx
433a17:	99                   	cltd
433a18:	f7 f9                	idiv   %ecx
433a1a:	8b f8                	mov    %eax,%edi
433a1c:	8b 45 fc             	mov    -0x4(%ebp),%eax
433a1f:	8b 40 04             	mov    0x4(%eax),%eax
433a22:	8b 10                	mov    (%eax),%edx
433a24:	ff 52 20             	call   *0x20(%edx)
433a27:	8b f0                	mov    %eax,%esi
433a29:	8b 45 fc             	mov    -0x4(%ebp),%eax
433a2c:	83 78 08 00          	cmpl   $0x0,0x8(%eax)
433a30:	75 2e                	jne    0x433a60
433a32:	83 3d 58 9a 46 00 00 	cmpl   $0x0,0x469a58
433a39:	75 11                	jne    0x433a4c
433a3b:	b2 01                	mov    $0x1,%dl
433a3d:	a1 c4 34 43 00       	mov    0x4334c4,%eax
433a42:	e8 5d fc ff ff       	call   0x4336a4
433a47:	a3 58 9a 46 00       	mov    %eax,0x469a58
433a4c:	8b ce                	mov    %esi,%ecx
433a4e:	8b d7                	mov    %edi,%edx
433a50:	a1 58 9a 46 00       	mov    0x469a58,%eax
433a55:	e8 be fc ff ff       	call   0x433718
433a5a:	8b 55 fc             	mov    -0x4(%ebp),%edx
433a5d:	89 42 08             	mov    %eax,0x8(%edx)
433a60:	b2 01                	mov    $0x1,%dl
433a62:	a1 98 2e 42 00       	mov    0x422e98,%eax
433a67:	e8 30 54 ff ff       	call   0x428e9c
433a6c:	89 45 f4             	mov    %eax,-0xc(%ebp)
433a6f:	33 c0                	xor    %eax,%eax
433a71:	55                   	push   %ebp
433a72:	68 5b 3f 43 00       	push   $0x433f5b
433a77:	64 ff 30             	push   %fs:(%eax)
433a7a:	64 89 20             	mov    %esp,%fs:(%eax)
433a7d:	8b d7                	mov    %edi,%edx
433a7f:	8b 45 f4             	mov    -0xc(%ebp),%eax
433a82:	8b 08                	mov    (%eax),%ecx
433a84:	ff 51 40             	call   *0x40(%ecx)
433a87:	8b d6                	mov    %esi,%edx
433a89:	8b 45 f4             	mov    -0xc(%ebp),%eax
433a8c:	8b 08                	mov    (%eax),%ecx
433a8e:	ff 51 34             	call   *0x34(%ecx)
433a91:	56                   	push   %esi
433a92:	8d 45 d8             	lea    -0x28(%ebp),%eax
433a95:	50                   	push   %eax
433a96:	8b cf                	mov    %edi,%ecx
433a98:	33 d2                	xor    %edx,%edx
433a9a:	33 c0                	xor    %eax,%eax
433a9c:	e8 73 36 fe ff       	call   0x417114
433aa1:	8b 45 f4             	mov    -0xc(%ebp),%eax
433aa4:	e8 bb 59 ff ff       	call   0x429464
433aa9:	8b 40 14             	mov    0x14(%eax),%eax
433aac:	ba 0f 00 00 ff       	mov    $0xff00000f,%edx
433ab1:	e8 5a 0b ff ff       	call   0x424610
433ab6:	8b 45 fc             	mov    -0x4(%ebp),%eax
433ab9:	8b 40 04             	mov    0x4(%eax),%eax
433abc:	8b 10                	mov    (%eax),%edx
433abe:	ff 52 24             	call   *0x24(%edx)
433ac1:	e8 66 51 ff ff       	call   0x428c2c
433ac6:	8b d0                	mov    %eax,%edx
433ac8:	8b 45 f4             	mov    -0xc(%ebp),%eax
433acb:	8b 08                	mov    (%eax),%ecx
433acd:	ff 51 38             	call   *0x38(%ecx)
433ad0:	8a 5d fb             	mov    -0x5(%ebp),%bl
433ad3:	8b 45 fc             	mov    -0x4(%ebp),%eax
433ad6:	3a 58 20             	cmp    0x20(%eax),%bl
433ad9:	7c 02                	jl     0x433add
433adb:	33 db                	xor    %ebx,%ebx
433add:	56                   	push   %esi
433ade:	8d 45 c8             	lea    -0x38(%ebp),%eax
433ae1:	50                   	push   %eax
433ae2:	33 c9                	xor    %ecx,%ecx
433ae4:	8a cb                	mov    %bl,%cl
433ae6:	41                   	inc    %ecx
433ae7:	0f af cf             	imul   %edi,%ecx
433aea:	33 c0                	xor    %eax,%eax
433aec:	8a c3                	mov    %bl,%al
433aee:	f7 ef                	imul   %edi
433af0:	33 d2                	xor    %edx,%edx
433af2:	e8 1d 36 fe ff       	call   0x417114
433af7:	8a 45 fb             	mov    -0x5(%ebp),%al
433afa:	2c 01                	sub    $0x1,%al
433afc:	72 0b                	jb     0x433b09
433afe:	74 7f                	je     0x433b7f
433b00:	48                   	dec    %eax
433b01:	2c 02                	sub    $0x2,%al
433b03:	0f 83 3c 04 00 00    	jae    0x433f45
433b09:	8d 45 c8             	lea    -0x38(%ebp),%eax
433b0c:	50                   	push   %eax
433b0d:	8b 45 fc             	mov    -0x4(%ebp),%eax
433b10:	8b 40 04             	mov    0x4(%eax),%eax
433b13:	e8 4c 59 ff ff       	call   0x429464
433b18:	50                   	push   %eax
433b19:	8b 45 f4             	mov    -0xc(%ebp),%eax
433b1c:	e8 43 59 ff ff       	call   0x429464
433b21:	8d 55 d8             	lea    -0x28(%ebp),%edx
433b24:	59                   	pop    %ecx
433b25:	e8 56 0d ff ff       	call   0x424880
433b2a:	8b 45 fc             	mov    -0x4(%ebp),%eax
433b2d:	8b 40 04             	mov    0x4(%eax),%eax
433b30:	80 78 38 01          	cmpb   $0x1,0x38(%eax)
433b34:	75 25                	jne    0x433b5b
433b36:	8b 45 fc             	mov    -0x4(%ebp),%eax
433b39:	8b 48 1c             	mov    0x1c(%eax),%ecx
433b3c:	8b 45 fc             	mov    -0x4(%ebp),%eax
433b3f:	8b 40 08             	mov    0x8(%eax),%eax
433b42:	8b 55 f4             	mov    -0xc(%ebp),%edx
433b45:	e8 fe fa ff ff       	call   0x433648
433b4a:	33 d2                	xor    %edx,%edx
433b4c:	8a 55 fb             	mov    -0x5(%ebp),%dl
433b4f:	8b 4d fc             	mov    -0x4(%ebp),%ecx
433b52:	89 44 91 0c          	mov    %eax,0xc(%ecx,%edx,4)
433b56:	e9 ea 03 00 00       	jmp    0x433f45
433b5b:	8b 45 fc             	mov    -0x4(%ebp),%eax
433b5e:	8b 40 08             	mov    0x8(%eax),%eax
433b61:	b9 00 00 00 20       	mov    $0x20000000,%ecx
433b66:	8b 55 f4             	mov    -0xc(%ebp),%edx
433b69:	e8 da fa ff ff       	call   0x433648
433b6e:	33 d2                	xor    %edx,%edx
433b70:	8a 55 fb             	mov    -0x5(%ebp),%dl
433b73:	8b 4d fc             	mov    -0x4(%ebp),%ecx
433b76:	89 44 91 0c          	mov    %eax,0xc(%ecx,%edx,4)
433b7a:	e9 c6 03 00 00       	jmp    0x433f45
433b7f:	33 c0                	xor    %eax,%eax
433b81:	89 45 ec             	mov    %eax,-0x14(%ebp)
433b84:	33 c0                	xor    %eax,%eax
433b86:	89 45 f0             	mov    %eax,-0x10(%ebp)
433b89:	33 c0                	xor    %eax,%eax
433b8b:	55                   	push   %ebp
433b8c:	68 1f 3f 43 00       	push   $0x433f1f
433b91:	64 ff 30             	push   %fs:(%eax)
433b94:	64 89 20             	mov    %esp,%fs:(%eax)
433b97:	b2 01                	mov    $0x1,%dl
433b99:	a1 98 2e 42 00       	mov    0x422e98,%eax
433b9e:	e8 f9 52 ff ff       	call   0x428e9c
433ba3:	89 45 ec             	mov    %eax,-0x14(%ebp)
433ba6:	b2 01                	mov    $0x1,%dl
433ba8:	a1 98 2e 42 00       	mov    0x422e98,%eax
433bad:	e8 ea 52 ff ff       	call   0x428e9c
433bb2:	89 45 f0             	mov    %eax,-0x10(%ebp)
433bb5:	8b 45 fc             	mov    -0x4(%ebp),%eax
433bb8:	8b 50 04             	mov    0x4(%eax),%edx
433bbb:	8b 45 f0             	mov    -0x10(%ebp),%eax
433bbe:	8b 08                	mov    (%eax),%ecx
433bc0:	ff 51 08             	call   *0x8(%ecx)
433bc3:	b2 01                	mov    $0x1,%dl
433bc5:	8b 45 f0             	mov    -0x10(%ebp),%eax
433bc8:	8b 08                	mov    (%eax),%ecx
433bca:	ff 51 6c             	call   *0x6c(%ecx)
433bcd:	8b 45 fc             	mov    -0x4(%ebp),%eax
433bd0:	80 78 20 01          	cmpb   $0x1,0x20(%eax)
433bd4:	0f 86 d8 01 00 00    	jbe    0x433db2
433bda:	8b 45 f4             	mov    -0xc(%ebp),%eax
433bdd:	e8 82 58 ff ff       	call   0x429464
433be2:	89 45 e8             	mov    %eax,-0x18(%ebp)
433be5:	8d 45 c8             	lea    -0x38(%ebp),%eax
433be8:	50                   	push   %eax
433be9:	8b 45 f0             	mov    -0x10(%ebp),%eax
433bec:	e8 73 58 ff ff       	call   0x429464
433bf1:	8b c8                	mov    %eax,%ecx
433bf3:	8d 55 d8             	lea    -0x28(%ebp),%edx
433bf6:	8b 45 e8             	mov    -0x18(%ebp),%eax
433bf9:	e8 82 0c ff ff       	call   0x424880
433bfe:	b2 01                	mov    $0x1,%dl
433c00:	8b 45 ec             	mov    -0x14(%ebp),%eax
433c03:	e8 2c 66 ff ff       	call   0x42a234
433c08:	8b d7                	mov    %edi,%edx