4158d0:	8b d3                	mov    %ebx,%edx
4158d2:	8b 45 fc             	mov    -0x4(%ebp),%eax
4158d5:	e8 c2 fc ff ff       	call   0x41559c
4158da:	3b 5d f0             	cmp    -0x10(%ebp),%ebx
4158dd:	75 05                	jne    0x4158e4
4158df:	89 75 f0             	mov    %esi,-0x10(%ebp)
4158e2:	eb 08                	jmp    0x4158ec
4158e4:	3b 75 f0             	cmp    -0x10(%ebp),%esi
4158e7:	75 03                	jne    0x4158ec
4158e9:	89 5d f0             	mov    %ebx,-0x10(%ebp)
4158ec:	43                   	inc    %ebx
4158ed:	4e                   	dec    %esi
4158ee:	3b f3                	cmp    %ebx,%esi
4158f0:	7d b7                	jge    0x4158a9
4158f2:	3b 75 f8             	cmp    -0x8(%ebp),%esi
4158f5:	7e 11                	jle    0x415908
4158f7:	8b 45 08             	mov    0x8(%ebp),%eax
4158fa:	50                   	push   %eax
4158fb:	8b ce                	mov    %esi,%ecx
4158fd:	8b 55 f8             	mov    -0x8(%ebp),%edx
415900:	8b 45 fc             	mov    -0x4(%ebp),%eax
415903:	e8 7c ff ff ff       	call   0x415884
415908:	89 5d f8             	mov    %ebx,-0x8(%ebp)
41590b:	3b 5d f4             	cmp    -0xc(%ebp),%ebx
41590e:	7c 85                	jl     0x415895
415910:	5e                   	pop    %esi
415911:	5b                   	pop    %ebx
415912:	8b e5                	mov    %ebp,%esp
415914:	5d                   	pop    %ebp
415915:	c2 04 00             	ret    $0x4
415918:	53                   	push   %ebx
415919:	56                   	push   %esi
41591a:	8b f2                	mov    %edx,%esi
41591c:	8b d8                	mov    %eax,%ebx
41591e:	8b d6                	mov    %esi,%edx
415920:	c1 e2 03             	shl    $0x3,%edx
415923:	8d 43 10             	lea    0x10(%ebx),%eax
415926:	e8 d1 cd fe ff       	call   0x4026fc
41592b:	89 73 18             	mov    %esi,0x18(%ebx)
41592e:	5e                   	pop    %esi
41592f:	5b                   	pop    %ebx
415930:	c3                   	ret
415931:	8d 40 00             	lea    0x0(%eax),%eax
415934:	53                   	push   %ebx
415935:	56                   	push   %esi
415936:	8b da                	mov    %edx,%ebx
415938:	8b f0                	mov    %eax,%esi
41593a:	3a 5e 1c             	cmp    0x1c(%esi),%bl
41593d:	74 11                	je     0x415950
41593f:	84 db                	test   %bl,%bl
415941:	74 0a                	je     0x41594d
415943:	8b c6                	mov    %esi,%eax
415945:	8b 10                	mov    (%eax),%edx
415947:	ff 92 90 00 00 00    	call   *0x90(%edx)
41594d:	88 5e 1c             	mov    %bl,0x1c(%esi)
415950:	5e                   	pop    %esi
415951:	5b                   	pop    %ebx
415952:	c3                   	ret
415953:	90                   	nop
415954:	84 d2                	test   %dl,%dl
415956:	74 09                	je     0x415961
415958:	8b 10                	mov    (%eax),%edx
41595a:	ff 92 84 00 00 00    	call   *0x84(%edx)
415960:	c3                   	ret
415961:	8b 10                	mov    (%eax),%edx
415963:	ff 92 80 00 00 00    	call   *0x80(%edx)
415969:	c3                   	ret
41596a:	8b c0                	mov    %eax,%eax
41596c:	53                   	push   %ebx
41596d:	8b 58 10             	mov    0x10(%eax),%ebx
415970:	8b 0c cb             	mov    (%ebx,%ecx,8),%ecx
415973:	8b 58 10             	mov    0x10(%eax),%ebx
415976:	8b 14 d3             	mov    (%ebx,%edx,8),%edx
415979:	8b 18                	mov    (%eax),%ebx
41597b:	ff 53 34             	call   *0x34(%ebx)
41597e:	5b                   	pop    %ebx
41597f:	c3                   	ret
415980:	ba 6c 59 41 00       	mov    $0x41596c,%edx
415985:	8b 08                	mov    (%eax),%ecx
415987:	ff 91 94 00 00 00    	call   *0x94(%ecx)
41598d:	c3                   	ret
41598e:	8b c0                	mov    %eax,%eax
415990:	53                   	push   %ebx
415991:	56                   	push   %esi
415992:	8b f2                	mov    %edx,%esi
415994:	8b d8                	mov    %eax,%ebx
415996:	80 7b 1c 00          	cmpb   $0x0,0x1c(%ebx)
41599a:	75 28                	jne    0x4159c4
41599c:	83 7b 14 01          	cmpl   $0x1,0x14(%ebx)
4159a0:	7e 22                	jle    0x4159c4
4159a2:	8b c3                	mov    %ebx,%eax
4159a4:	8b 10                	mov    (%eax),%edx
4159a6:	ff 92 84 00 00 00    	call   *0x84(%edx)
4159ac:	56                   	push   %esi
4159ad:	8b 4b 14             	mov    0x14(%ebx),%ecx
4159b0:	49                   	dec    %ecx
4159b1:	33 d2                	xor    %edx,%edx
4159b3:	8b c3                	mov    %ebx,%eax
4159b5:	e8 ca fe ff ff       	call   0x415884
4159ba:	8b c3                	mov    %ebx,%eax
4159bc:	8b 10                	mov    (%eax),%edx
4159be:	ff 92 80 00 00 00    	call   *0x80(%edx)
4159c4:	5e                   	pop    %esi
4159c5:	5b                   	pop    %ebx
4159c6:	c3                   	ret
4159c7:	90                   	nop
4159c8:	80 78 1e 00          	cmpb   $0x0,0x1e(%eax)
4159cc:	74 0a                	je     0x4159d8
4159ce:	8b c2                	mov    %edx,%eax
4159d0:	8b d1                	mov    %ecx,%edx
4159d2:	e8 1d 23 ff ff       	call   0x407cf4
4159d7:	c3                   	ret
4159d8:	8b c2                	mov    %edx,%eax
4159da:	8b d1                	mov    %ecx,%edx
4159dc:	e8 4b 23 ff ff       	call   0x407d2c
4159e1:	c3                   	ret
4159e2:	8b c0                	mov    %eax,%eax
4159e4:	83 c4 f8             	add    $0xfffffff8,%esp
4159e7:	6a 00                	push   $0x0
4159e9:	6a 00                	push   $0x0
4159eb:	b2 01                	mov    $0x1,%dl
4159ed:	8b 08                	mov    (%eax),%ecx
4159ef:	ff 51 18             	call   *0x18(%ecx)
4159f2:	89 04 24             	mov    %eax,(%esp)
4159f5:	89 54 24 04          	mov    %edx,0x4(%esp)
4159f9:	8b 04 24             	mov    (%esp),%eax
4159fc:	8b 54 24 04          	mov    0x4(%esp),%edx
415a00:	59                   	pop    %ecx
415a01:	5a                   	pop    %edx
415a02:	c3                   	ret
415a03:	90                   	nop
415a04:	55                   	push   %ebp
415a05:	8b ec                	mov    %esp,%ebp
415a07:	ff 75 0c             	push   0xc(%ebp)
415a0a:	ff 75 08             	push   0x8(%ebp)
415a0d:	33 d2                	xor    %edx,%edx
415a0f:	8b 08                	mov    (%eax),%ecx
415a11:	ff 51 18             	call   *0x18(%ecx)
415a14:	5d                   	pop    %ebp
415a15:	c2 08 00             	ret    $0x8
415a18:	53                   	push   %ebx
415a19:	83 c4 f0             	add    $0xfffffff0,%esp
415a1c:	8b d8                	mov    %eax,%ebx
415a1e:	6a 00                	push   $0x0
415a20:	6a 00                	push   $0x0
415a22:	b2 01                	mov    $0x1,%dl
415a24:	8b c3                	mov    %ebx,%eax
415a26:	8b 08                	mov    (%eax),%ecx
415a28:	ff 51 18             	call   *0x18(%ecx)
415a2b:	89 44 24 08          	mov    %eax,0x8(%esp)
415a2f:	89 54 24 0c          	mov    %edx,0xc(%esp)
415a33:	6a 00                	push   $0x0
415a35:	6a 00                	push   $0x0
415a37:	b2 02                	mov    $0x2,%dl
415a39:	8b c3                	mov    %ebx,%eax
415a3b:	8b 08                	mov    (%eax),%ecx
415a3d:	ff 51 18             	call   *0x18(%ecx)
415a40:	89 04 24             	mov    %eax,(%esp)
415a43:	89 54 24 04          	mov    %edx,0x4(%esp)
415a47:	ff 74 24 0c          	push   0xc(%esp)
415a4b:	ff 74 24 0c          	push   0xc(%esp)
415a4f:	33 d2                	xor    %edx,%edx
415a51:	8b c3                	mov    %ebx,%eax
415a53:	8b 08                	mov    (%eax),%ecx
415a55:	ff 51 18             	call   *0x18(%ecx)
415a58:	8b 04 24             	mov    (%esp),%eax
415a5b:	8b 54 24 04          	mov    0x4(%esp),%edx
415a5f:	83 c4 10             	add    $0x10,%esp
415a62:	5b                   	pop    %ebx
415a63:	c3                   	ret
415a64:	c3                   	ret
415a65:	8d 40 00             	lea    0x0(%eax),%eax
415a68:	55                   	push   %ebp
415a69:	8b ec                	mov    %esp,%ebp
415a6b:	ff 75 0c             	push   0xc(%ebp)
415a6e:	ff 75 08             	push   0x8(%ebp)
415a71:	8b 10                	mov    (%eax),%edx
415a73:	ff 52 08             	call   *0x8(%edx)
415a76:	5d                   	pop    %ebp
415a77:	c2 08 00             	ret    $0x8
415a7a:	8b c0                	mov    %eax,%eax
415a7c:	55                   	push   %ebp
415a7d:	8b ec                	mov    %esp,%ebp
415a7f:	8b c8                	mov    %eax,%ecx
415a81:	83 7d 0c ff          	cmpl   $0xffffffff,0xc(%ebp)
415a85:	75 0b                	jne    0x415a92
415a87:	81 7d 08 00 00 00 80 	cmpl   $0x80000000,0x8(%ebp)
415a8e:	72 17                	jb     0x415aa7
415a90:	eb 02                	jmp    0x415a94
415a92:	7c 13                	jl     0x415aa7
415a94:	83 7d 0c 00          	cmpl   $0x0,0xc(%ebp)
415a98:	75 0b                	jne    0x415aa5
415a9a:	81 7d 08 ff ff ff 7f 	cmpl   $0x7fffffff,0x8(%ebp)
415aa1:	76 1b                	jbe    0x415abe
415aa3:	eb 02                	jmp    0x415aa7
415aa5:	7e 17                	jle    0x415abe
415aa7:	8b 0d fc 7f 46 00    	mov    0x467ffc,%ecx
415aad:	b2 01                	mov    $0x1,%dl
415aaf:	a1 e8 71 40 00       	mov    0x4071e8,%eax
415ab4:	e8 63 5d ff ff       	call   0x40b81c
415ab9:	e8 3a df fe ff       	call   0x4039f8
415abe:	8b 45 08             	mov    0x8(%ebp),%eax
415ac1:	8b d0                	mov    %eax,%edx
415ac3:	8b c1                	mov    %ecx,%eax
415ac5:	8b 08                	mov    (%eax),%ecx
415ac7:	ff 51 04             	call   *0x4(%ecx)
415aca:	5d                   	pop    %ebp
415acb:	c2 08 00             	ret    $0x8
415ace:	8b c0                	mov    %eax,%eax
415ad0:	55                   	push   %ebp
415ad1:	8b ec                	mov    %esp,%ebp
415ad3:	81 c4 f8 fe ff ff    	add    $0xfffffef8,%esp
415ad9:	8d 95 f8 fe ff ff    	lea    -0x108(%ebp),%edx
415adf:	8b 45 08             	mov    0x8(%ebp),%eax
415ae2:	8b 40 fc             	mov    -0x4(%eax),%eax
415ae5:	8b 00                	mov    (%eax),%eax
415ae7:	e8 d0 d6 fe ff       	call   0x4031bc
415aec:	8d 85 f8 fe ff ff    	lea    -0x108(%ebp),%eax
415af2:	89 45 f8             	mov    %eax,-0x8(%ebp)
415af5:	c6 45 fc 04          	movb   $0x4,-0x4(%ebp)
415af9:	8d 45 f8             	lea    -0x8(%ebp),%eax
415afc:	50                   	push   %eax
415afd:	6a 00                	push   $0x0
415aff:	8b 0d 40 80 46 00    	mov    0x468040,%ecx
415b05:	b2 01                	mov    $0x1,%dl
415b07:	a1 cc 14 41 00       	mov    0x4114cc,%eax
415b0c:	e8 47 5d ff ff       	call   0x40b858
415b11:	e8 e2 de fe ff       	call   0x4039f8
415b16:	8b e5                	mov    %ebp,%esp
415b18:	5d                   	pop    %ebp
415b19:	c3                   	ret
415b1a:	8b c0                	mov    %eax,%eax
415b1c:	55                   	push   %ebp
415b1d:	8b ec                	mov    %esp,%ebp
415b1f:	83 c4 e0             	add    $0xffffffe0,%esp
415b22:	53                   	push   %ebx
415b23:	56                   	push   %esi
415b24:	66 89 4d e6          	mov    %cx,-0x1a(%ebp)
415b28:	8b f2                	mov    %edx,%esi
415b2a:	89 45 fc             	mov    %eax,-0x4(%ebp)
415b2d:	8d 5d e0             	lea    -0x20(%ebp),%ebx
415b30:	8b 45 fc             	mov    -0x4(%ebp),%eax
415b33:	89 45 f4             	mov    %eax,-0xc(%ebp)
415b36:	8b 00                	mov    (%eax),%eax
415b38:	8b 40 18             	mov    0x18(%eax),%eax
415b3b:	89 45 f0             	mov    %eax,-0x10(%ebp)
415b3e:	8b 45 fc             	mov    -0x4(%ebp),%eax
415b41:	e8 6e d6 fe ff       	call   0x4031b4
415b46:	89 03                	mov    %eax,(%ebx)
415b48:	eb 09                	jmp    0x415b53
415b4a:	8b 03                	mov    (%ebx),%eax
415b4c:	e8 a7 d6 fe ff       	call   0x4031f8
415b51:	89 03                	mov    %eax,(%ebx)
415b53:	83 3b 00             	cmpl   $0x0,(%ebx)
415b56:	74 0a                	je     0x415b62
415b58:	8b 03                	mov    (%ebx),%eax
415b5a:	3b 05 58 1f 41 00    	cmp    0x411f58,%eax
415b60:	75 e8                	jne    0x415b4a
415b62:	83 3b 00             	cmpl   $0x0,(%ebx)
415b65:	75 07                	jne    0x415b6e
415b67:	55                   	push   %ebp
415b68:	e8 63 ff ff ff       	call   0x415ad0
415b6d:	59                   	pop    %ecx
415b6e:	89 5d ec             	mov    %ebx,-0x14(%ebp)
415b71:	8b 03                	mov    (%ebx),%eax
415b73:	8b 40 18             	mov    0x18(%eax),%eax
415b76:	89 45 e8             	mov    %eax,-0x18(%ebp)
415b79:	8b 45 f0             	mov    -0x10(%ebp),%eax
415b7c:	3b 45 e8             	cmp    -0x18(%ebp),%eax
415b7f:	75 07                	jne    0x415b88
415b81:	55                   	push   %ebp
415b82:	e8 49 ff ff ff       	call   0x415ad0
415b87:	59                   	pop    %ecx
415b88:	8b c6                	mov    %esi,%eax
415b8a:	99                   	cltd
415b8b:	52                   	push   %edx
415b8c:	50                   	push   %eax
415b8d:	8a 55 e6             	mov    -0x1a(%ebp),%dl
415b90:	8b 45 fc             	mov    -0x4(%ebp),%eax
415b93:	8b 08                	mov    (%eax),%ecx
415b95:	ff 51 18             	call   *0x18(%ecx)
415b98:	5e                   	pop    %esi
415b99:	5b                   	pop    %ebx
415b9a:	8b e5                	mov    %ebp,%esp
415b9c:	5d                   	pop    %ebp
415b9d:	c3                   	ret
415b9e:	8b c0                	mov    %eax,%eax
415ba0:	55                   	push   %ebp
415ba1:	8b ec                	mov    %esp,%ebp
415ba3:	83 c4 f8             	add    $0xfffffff8,%esp
415ba6:	53                   	push   %ebx
415ba7:	56                   	push   %esi
415ba8:	8b da                	mov    %edx,%ebx
415baa:	8b f0                	mov    %eax,%esi
415bac:	83 7d 0c ff          	cmpl   $0xffffffff,0xc(%ebp)
415bb0:	75 0b                	jne    0x415bbd
415bb2:	81 7d 08 00 00 00 80 	cmpl   $0x80000000,0x8(%ebp)
415bb9:	72 17                	jb     0x415bd2
415bbb:	eb 02                	jmp    0x415bbf
415bbd:	7c 13                	jl     0x415bd2
415bbf:	83 7d 0c 00          	cmpl   $0x0,0xc(%ebp)
415bc3:	75 0b                	jne    0x415bd0
415bc5:	81 7d 08 ff ff ff 7f 	cmpl   $0x7fffffff,0x8(%ebp)
415bcc:	76 1b                	jbe    0x415be9
415bce:	eb 02                	jmp    0x415bd2
415bd0:	7e 17                	jle    0x415be9
415bd2:	8b 0d fc 7f 46 00    	mov    0x467ffc,%ecx
415bd8:	b2 01                	mov    $0x1,%dl
415bda:	a1 e8 71 40 00       	mov    0x4071e8,%eax
415bdf:	e8 38 5c ff ff       	call   0x40b81c
415be4:	e8 0f de fe ff       	call   0x4039f8
415be9:	8b 45 08             	mov    0x8(%ebp),%eax
415bec:	8b d0                	mov    %eax,%edx
415bee:	33 c9                	xor    %ecx,%ecx
415bf0:	8a cb                	mov    %bl,%cl
415bf2:	8b c6                	mov    %esi,%eax
415bf4:	8b 18                	mov    (%eax),%ebx
415bf6:	ff 53 14             	call   *0x14(%ebx)
415bf9:	99                   	cltd
415bfa:	89 45 f8             	mov    %eax,-0x8(%ebp)
415bfd:	89 55 fc             	mov    %edx,-0x4(%ebp)
415c00:	8b 45 f8             	mov    -0x8(%ebp),%eax
415c03:	8b 55 fc             	mov    -0x4(%ebp),%edx
415c06:	5e                   	pop    %esi
415c07:	5b                   	pop    %ebx
415c08:	59                   	pop    %ecx
415c09:	59                   	pop    %ecx
415c0a:	5d                   	pop    %ebp
415c0b:	c2 08 00             	ret    $0x8
415c0e:	8b c0                	mov    %eax,%eax
415c10:	53                   	push   %ebx
415c11:	56                   	push   %esi
415c12:	57                   	push   %edi
415c13:	8b d9                	mov    %ecx,%ebx
415c15:	8b fa                	mov    %edx,%edi
415c17:	8b f0                	mov    %eax,%esi
415c19:	85 db                	test   %ebx,%ebx
415c1b:	74 26                	je     0x415c43
415c1d:	8b d7                	mov    %edi,%edx
415c1f:	8b cb                	mov    %ebx,%ecx
415c21:	8b c6                	mov    %esi,%eax
415c23:	8b 30                	mov    (%eax),%esi
415c25:	ff 56 0c             	call   *0xc(%esi)
415c28:	3b d8                	cmp    %eax,%ebx
415c2a:	74 17                	je     0x415c43
415c2c:	8b 0d ec 7f 46 00    	mov    0x467fec,%ecx
415c32:	b2 01                	mov    $0x1,%dl
415c34:	a1 94 16 41 00       	mov    0x411694,%eax
415c39:	e8 de 5b ff ff       	call   0x40b81c
415c3e:	e8 b5 dd fe ff       	call   0x4039f8