481a47:	83 fe 01             	cmp    $0x1,%esi
481a4a:	7c 05                	jl     0x481a51
481a4c:	83 fe 04             	cmp    $0x4,%esi
481a4f:	7e 03                	jle    0x481a54
481a51:	33 f6                	xor    %esi,%esi
481a53:	46                   	inc    %esi
481a54:	3b f1                	cmp    %ecx,%esi
481a56:	74 05                	je     0x481a5d
481a58:	83 fe 03             	cmp    $0x3,%esi
481a5b:	75 27                	jne    0x481a84
481a5d:	8b c7                	mov    %edi,%eax
481a5f:	99                   	cltd
481a60:	f7 f9                	idiv   %ecx
481a62:	85 d2                	test   %edx,%edx
481a64:	74 1e                	je     0x481a84
481a66:	8b 4d 0c             	mov    0xc(%ebp),%ecx
481a69:	68 10 f9 48 00       	push   $0x48f910
481a6e:	e8 85 81 f8 ff       	call   0x409bf8
481a73:	8b 54 24 0c          	mov    0xc(%esp),%edx
481a77:	6a 00                	push   $0x0
481a79:	6a 02                	push   $0x2
481a7b:	8b 02                	mov    (%edx),%eax
481a7d:	8b 48 04             	mov    0x4(%eax),%ecx
481a80:	03 ca                	add    %edx,%ecx
481a82:	eb 9c                	jmp    0x481a20
481a84:	83 fe 01             	cmp    $0x1,%esi
481a87:	0f 84 af 00 00 00    	je     0x481b3c
481a8d:	83 fe 04             	cmp    $0x4,%esi
481a90:	0f 84 a6 00 00 00    	je     0x481b3c
481a96:	3b f1                	cmp    %ecx,%esi
481a98:	75 3b                	jne    0x481ad5
481a9a:	8b c7                	mov    %edi,%eax
481a9c:	8d 4c 24 20          	lea    0x20(%esp),%ecx
481aa0:	99                   	cltd
481aa1:	2b c2                	sub    %edx,%eax
481aa3:	8b f0                	mov    %eax,%esi
481aa5:	d1 fe                	sar    $1,%esi
481aa7:	56                   	push   %esi
481aa8:	e8 c9 60 f8 ff       	call   0x407b76
481aad:	56                   	push   %esi
481aae:	6a 00                	push   $0x0
481ab0:	53                   	push   %ebx
481ab1:	8d 4c 24 2c          	lea    0x2c(%esp),%ecx
481ab5:	e8 f3 5d f8 ff       	call   0x4078ad
481aba:	8b 4d 0c             	mov    0xc(%ebp),%ecx
481abd:	8d 44 24 20          	lea    0x20(%esp),%eax
481ac1:	50                   	push   %eax
481ac2:	e8 d5 80 f8 ff       	call   0x409b9c
481ac7:	8d 4c 24 20          	lea    0x20(%esp),%ecx
481acb:	e8 94 3f f8 ff       	call   0x405a64
481ad0:	e9 c1 00 00 00       	jmp    0x481b96
481ad5:	57                   	push   %edi
481ad6:	e8 1b f5 f9 ff       	call   0x420ff6
481adb:	59                   	pop    %ecx
481adc:	8b d0                	mov    %eax,%edx
481ade:	33 c9                	xor    %ecx,%ecx
481ae0:	89 54 24 0c          	mov    %edx,0xc(%esp)
481ae4:	85 ff                	test   %edi,%edi
481ae6:	7e 1a                	jle    0x481b02
481ae8:	8b f2                	mov    %edx,%esi
481aea:	2b f3                	sub    %ebx,%esi
481aec:	8a 43 01             	mov    0x1(%ebx),%al
481aef:	88 04 1e             	mov    %al,(%esi,%ebx,1)
481af2:	8a 03                	mov    (%ebx),%al
481af4:	8d 5b 02             	lea    0x2(%ebx),%ebx
481af7:	88 44 0a 01          	mov    %al,0x1(%edx,%ecx,1)
481afb:	83 c1 02             	add    $0x2,%ecx
481afe:	3b cf                	cmp    %edi,%ecx
481b00:	7c ea                	jl     0x481aec
481b02:	8b c7                	mov    %edi,%eax
481b04:	8d 4c 24 20          	lea    0x20(%esp),%ecx
481b08:	99                   	cltd
481b09:	2b c2                	sub    %edx,%eax
481b0b:	8b f0                	mov    %eax,%esi
481b0d:	d1 fe                	sar    $1,%esi
481b0f:	56                   	push   %esi
481b10:	e8 61 60 f8 ff       	call   0x407b76
481b15:	56                   	push   %esi
481b16:	8b 74 24 10          	mov    0x10(%esp),%esi
481b1a:	8d 4c 24 24          	lea    0x24(%esp),%ecx
481b1e:	6a 00                	push   $0x0
481b20:	56                   	push   %esi
481b21:	e8 87 5d f8 ff       	call   0x4078ad
481b26:	8b 4d 0c             	mov    0xc(%ebp),%ecx
481b29:	8d 44 24 20          	lea    0x20(%esp),%eax
481b2d:	50                   	push   %eax
481b2e:	e8 69 80 f8 ff       	call   0x409b9c
481b33:	56                   	push   %esi
481b34:	e8 33 f5 f9 ff       	call   0x42106c
481b39:	59                   	pop    %ecx
481b3a:	eb 8b                	jmp    0x481ac7
481b3c:	57                   	push   %edi
481b3d:	8d 4c 24 24          	lea    0x24(%esp),%ecx
481b41:	e8 c7 5b fe ff       	call   0x46770d
481b46:	57                   	push   %edi
481b47:	51                   	push   %ecx
481b48:	53                   	push   %ebx
481b49:	8d 4c 24 2c          	lea    0x2c(%esp),%ecx
481b4d:	e8 72 3f f8 ff       	call   0x405ac4
481b52:	57                   	push   %edi
481b53:	8d 4c 24 14          	lea    0x14(%esp),%ecx
481b57:	e8 1a 60 f8 ff       	call   0x407b76
481b5c:	8d 44 24 10          	lea    0x10(%esp),%eax
481b60:	50                   	push   %eax
481b61:	8d 44 24 24          	lea    0x24(%esp),%eax
481b65:	50                   	push   %eax
481b66:	83 fe 01             	cmp    $0x1,%esi
481b69:	75 07                	jne    0x481b72
481b6b:	e8 ca 5d f8 ff       	call   0x40793a
481b70:	eb 05                	jmp    0x481b77
481b72:	e8 4a 66 f8 ff       	call   0x4081c1
481b77:	8b 4d 0c             	mov    0xc(%ebp),%ecx
481b7a:	8d 44 24 10          	lea    0x10(%esp),%eax
481b7e:	50                   	push   %eax
481b7f:	e8 18 80 f8 ff       	call   0x409b9c
481b84:	8d 4c 24 10          	lea    0x10(%esp),%ecx
481b88:	e8 d7 3e f8 ff       	call   0x405a64
481b8d:	8d 4c 24 20          	lea    0x20(%esp),%ecx
481b91:	e8 ce 3e f8 ff       	call   0x405a64
481b96:	5f                   	pop    %edi
481b97:	5e                   	pop    %esi
481b98:	33 c0                	xor    %eax,%eax
481b9a:	5b                   	pop    %ebx
481b9b:	8b e5                	mov    %ebp,%esp
481b9d:	5d                   	pop    %ebp
481b9e:	c2 08 00             	ret    $0x8
481ba1:	55                   	push   %ebp
481ba2:	8b ec                	mov    %esp,%ebp
481ba4:	83 e4 f8             	and    $0xfffffff8,%esp
481ba7:	83 ec 14             	sub    $0x14,%esp
481baa:	8b 45 08             	mov    0x8(%ebp),%eax
481bad:	56                   	push   %esi
481bae:	8b 40 04             	mov    0x4(%eax),%eax
481bb1:	8b 30                	mov    (%eax),%esi
481bb3:	8b ce                	mov    %esi,%ecx
481bb5:	e8 dd 7d f8 ff       	call   0x409997
481bba:	8b 4e 08             	mov    0x8(%esi),%ecx
481bbd:	8b 01                	mov    (%ecx),%eax
481bbf:	89 44 24 08          	mov    %eax,0x8(%esp)
481bc3:	8b 41 04             	mov    0x4(%ecx),%eax
481bc6:	89 44 24 0c          	mov    %eax,0xc(%esp)
481bca:	8b 41 08             	mov    0x8(%ecx),%eax
481bcd:	89 44 24 10          	mov    %eax,0x10(%esp)
481bd1:	8b 41 0c             	mov    0xc(%ecx),%eax
481bd4:	8d 4c 24 08          	lea    0x8(%esp),%ecx
481bd8:	89 44 24 14          	mov    %eax,0x14(%esp)
481bdc:	ff 00                	incl   (%eax)
481bde:	e8 32 1c fe ff       	call   0x463815
481be3:	8b 4d 0c             	mov    0xc(%ebp),%ecx
481be6:	8d 44 24 08          	lea    0x8(%esp),%eax
481bea:	50                   	push   %eax
481beb:	e8 ac 7f f8 ff       	call   0x409b9c
481bf0:	8d 4c 24 08          	lea    0x8(%esp),%ecx
481bf4:	e8 6b 3e f8 ff       	call   0x405a64
481bf9:	33 c0                	xor    %eax,%eax
481bfb:	5e                   	pop    %esi
481bfc:	8b e5                	mov    %ebp,%esp
481bfe:	5d                   	pop    %ebp
481bff:	c2 08 00             	ret    $0x8
481c02:	55                   	push   %ebp
481c03:	8b ec                	mov    %esp,%ebp
481c05:	53                   	push   %ebx
481c06:	56                   	push   %esi
481c07:	57                   	push   %edi
481c08:	8b 7d 08             	mov    0x8(%ebp),%edi
481c0b:	8b 47 04             	mov    0x4(%edi),%eax
481c0e:	8b 30                	mov    (%eax),%esi
481c10:	8b ce                	mov    %esi,%ecx
481c12:	e8 80 7d f8 ff       	call   0x409997
481c17:	8b 47 04             	mov    0x4(%edi),%eax
481c1a:	8b 5e 08             	mov    0x8(%esi),%ebx
481c1d:	8b 70 04             	mov    0x4(%eax),%esi
481c20:	8b ce                	mov    %esi,%ecx
481c22:	e8 70 7d f8 ff       	call   0x409997
481c27:	8b 76 08             	mov    0x8(%esi),%esi
481c2a:	33 c0                	xor    %eax,%eax
481c2c:	83 7f 08 03          	cmpl   $0x3,0x8(%edi)
481c30:	72 25                	jb     0x481c57
481c32:	8b 47 04             	mov    0x4(%edi),%eax
481c35:	8b 48 08             	mov    0x8(%eax),%ecx
481c38:	e8 5f 80 f8 ff       	call   0x409c9c
481c3d:	85 c0                	test   %eax,%eax
481c3f:	78 05                	js     0x481c46
481c41:	83 f8 03             	cmp    $0x3,%eax
481c44:	7e 02                	jle    0x481c48
481c46:	33 c0                	xor    %eax,%eax
481c48:	83 f8 01             	cmp    $0x1,%eax
481c4b:	75 0a                	jne    0x481c57
481c4d:	56                   	push   %esi
481c4e:	8b cb                	mov    %ebx,%ecx
481c50:	e8 c4 63 f8 ff       	call   0x408019
481c55:	eb 09                	jmp    0x481c60
481c57:	50                   	push   %eax
481c58:	56                   	push   %esi
481c59:	8b cb                	mov    %ebx,%ecx
481c5b:	e8 08 5e f8 ff       	call   0x407a68
481c60:	8b 75 0c             	mov    0xc(%ebp),%esi
481c63:	8b f8                	mov    %eax,%edi
481c65:	8b ce                	mov    %esi,%ecx
481c67:	e8 b4 7d f8 ff       	call   0x409a20
481c6c:	89 3e                	mov    %edi,(%esi)
481c6e:	33 c0                	xor    %eax,%eax
481c70:	5f                   	pop    %edi
481c71:	c7 46 0c 01 00 00 00 	movl   $0x1,0xc(%esi)
481c78:	5e                   	pop    %esi
481c79:	5b                   	pop    %ebx
481c7a:	5d                   	pop    %ebp
481c7b:	c2 08 00             	ret    $0x8
481c7e:	55                   	push   %ebp
481c7f:	8b ec                	mov    %esp,%ebp
481c81:	83 ec 20             	sub    $0x20,%esp
481c84:	53                   	push   %ebx
481c85:	56                   	push   %esi
481c86:	57                   	push   %edi
481c87:	8b f1                	mov    %ecx,%esi
481c89:	8b 4d 0c             	mov    0xc(%ebp),%ecx
481c8c:	68 10 f9 48 00       	push   $0x48f910
481c91:	e8 62 7f f8 ff       	call   0x409bf8
481c96:	8b 55 08             	mov    0x8(%ebp),%edx
481c99:	8b 4a 04             	mov    0x4(%edx),%ecx
481c9c:	8b 19                	mov    (%ecx),%ebx
481c9e:	83 7b 0c 05          	cmpl   $0x5,0xc(%ebx)
481ca2:	0f 85 57 01 00 00    	jne    0x481dff
481ca8:	8b 1b                	mov    (%ebx),%ebx
481caa:	33 f6                	xor    %esi,%esi
481cac:	46                   	inc    %esi
481cad:	89 5d fc             	mov    %ebx,-0x4(%ebp)
481cb0:	83 7a 08 02          	cmpl   $0x2,0x8(%edx)
481cb4:	76 0d                	jbe    0x481cc3
481cb6:	8b 49 08             	mov    0x8(%ecx),%ecx
481cb9:	e8 de 7f f8 ff       	call   0x409c9c
481cbe:	8b 55 08             	mov    0x8(%ebp),%edx
481cc1:	eb 08                	jmp    0x481ccb
481cc3:	56                   	push   %esi
481cc4:	8b cb                	mov    %ebx,%ecx
481cc6:	e8 a0 71 f8 ff       	call   0x408e6b
481ccb:	8b f8                	mov    %eax,%edi
481ccd:	83 ff ff             	cmp    $0xffffffff,%edi
481cd0:	75 0a                	jne    0x481cdc
481cd2:	56                   	push   %esi
481cd3:	8b cb                	mov    %ebx,%ecx
481cd5:	e8 91 71 f8 ff       	call   0x408e6b
481cda:	8b f8                	mov    %eax,%edi
481cdc:	56                   	push   %esi
481cdd:	8b cb                	mov    %ebx,%ecx
481cdf:	e8 87 71 f8 ff       	call   0x408e6b
481ce4:	3b f8                	cmp    %eax,%edi
481ce6:	76 0a                	jbe    0x481cf2
481ce8:	56                   	push   %esi
481ce9:	8b cb                	mov    %ebx,%ecx
481ceb:	e8 7b 71 f8 ff       	call   0x408e6b
481cf0:	8b f8                	mov    %eax,%edi
481cf2:	39 72 08             	cmp    %esi,0x8(%edx)
481cf5:	76 12                	jbe    0x481d09
481cf7:	8b 42 04             	mov    0x4(%edx),%eax
481cfa:	8b 48 04             	mov    0x4(%eax),%ecx
481cfd:	e8 9a 7f f8 ff       	call   0x409c9c
481d02:	8b 55 08             	mov    0x8(%ebp),%edx
481d05:	8b f0                	mov    %eax,%esi
481d07:	eb 02                	jmp    0x481d0b
481d09:	33 f6                	xor    %esi,%esi
481d0b:	3b f7                	cmp    %edi,%esi
481d0d:	0f 87 fc 00 00 00    	ja     0x481e0f
481d13:	83 7a 08 03          	cmpl   $0x3,0x8(%edx)
481d17:	76 0d                	jbe    0x481d26
481d19:	8b 42 04             	mov    0x4(%edx),%eax
481d1c:	8b 48 0c             	mov    0xc(%eax),%ecx
481d1f:	e8 78 7f f8 ff       	call   0x409c9c
481d24:	eb 02                	jmp    0x481d28
481d26:	33 c0                	xor    %eax,%eax
481d28:	89 45 08             	mov    %eax,0x8(%ebp)
481d2b:	83 f8 01             	cmp    $0x1,%eax
481d2e:	74 4b                	je     0x481d7b
481d30:	83 f8 02             	cmp    $0x2,%eax
481d33:	74 46                	je     0x481d7b
481d35:	8d 4d e0             	lea    -0x20(%ebp),%ecx
481d38:	e8 8a 5a f8 ff       	call   0x4077c7
481d3d:	eb 1f                	jmp    0x481d5e
481d3f:	56                   	push   %esi
481d40:	6a 01                	push   $0x1
481d42:	6a 02                	push   $0x2
481d44:	53                   	push   %ebx
481d45:	e8 56 71 f8 ff       	call   0x408ea0
481d4a:	83 c4 10             	add    $0x10,%esp
481d4d:	8b c8                	mov    %eax,%ecx
481d4f:	e8 48 7f f8 ff       	call   0x409c9c
481d54:	50                   	push   %eax
481d55:	8d 4d e0             	lea    -0x20(%ebp),%ecx
481d58:	e8 27 5d f8 ff       	call   0x407a84
481d5d:	46                   	inc    %esi
481d5e:	3b f7                	cmp    %edi,%esi
481d60:	72 dd                	jb     0x481d3f
481d62:	8b 4d 0c             	mov    0xc(%ebp),%ecx
481d65:	8d 45 e0             	lea    -0x20(%ebp),%eax
481d68:	50                   	push   %eax
481d69:	e8 2e 7e f8 ff       	call   0x409b9c
481d6e:	8d 4d e0             	lea    -0x20(%ebp),%ecx
481d71:	e8 ee 3c f8 ff       	call   0x405a64
481d76:	e9 94 00 00 00       	jmp    0x481e0f
481d7b:	8b c7                	mov    %edi,%eax
481d7d:	2b c6                	sub    %esi,%eax
481d7f:	89 45 f8             	mov    %eax,-0x8(%ebp)
481d82:	40                   	inc    %eax
481d83:	50                   	push   %eax
481d84:	e8 6d f2 f9 ff       	call   0x420ff6
481d89:	8b d8                	mov    %eax,%ebx
481d8b:	33 c0                	xor    %eax,%eax
481d8d:	89 5d f0             	mov    %ebx,-0x10(%ebp)
481d90:	59                   	pop    %ecx
481d91:	3b f7                	cmp    %edi,%esi
481d93:	73 34                	jae    0x481dc9
481d95:	8b 45 f8             	mov    -0x8(%ebp),%eax
481d98:	2b de                	sub    %esi,%ebx
481d9a:	89 5d f4             	mov    %ebx,-0xc(%ebp)
481d9d:	8b 5d fc             	mov    -0x4(%ebp),%ebx
481da0:	89 45 f8             	mov    %eax,-0x8(%ebp)
481da3:	56                   	push   %esi
481da4:	6a 01                	push   $0x1
481da6:	6a 02                	push   $0x2
481da8:	53                   	push   %ebx
481da9:	e8 f2 70 f8 ff       	call   0x408ea0
481dae:	83 c4 10             	add    $0x10,%esp
481db1:	8b c8                	mov    %eax,%ecx
481db3:	e8 e4 7e f8 ff       	call   0x409c9c
481db8:	8b 4d f4             	mov    -0xc(%ebp),%ecx
481dbb:	88 04 31             	mov    %al,(%ecx,%esi,1)
481dbe:	46                   	inc    %esi
481dbf:	3b f7                	cmp    %edi,%esi
481dc1:	72 e0                	jb     0x481da3
481dc3:	8b 5d f0             	mov    -0x10(%ebp),%ebx
481dc6:	8b 45 f8             	mov    -0x8(%ebp),%eax
481dc9:	83 7d 08 01          	cmpl   $0x1,0x8(%ebp)
481dcd:	8b cb                	mov    %ebx,%ecx
481dcf:	c6 04 18 00          	movb   $0x0,(%eax,%ebx,1)
481dd3:	75 0a                	jne    0x481ddf
481dd5:	83 ca ff             	or     $0xffffffff,%edx
481dd8:	e8 61 39 fe ff       	call   0x46573e
481ddd:	eb 05                	jmp    0x481de4
481ddf:	e8 a8 3d fe ff       	call   0x465b8c
481de4:	8b 4d 0c             	mov    0xc(%ebp),%ecx
481de7:	8b f0                	mov    %eax,%esi
481de9:	56                   	push   %esi
481dea:	e8 09 7e f8 ff       	call   0x409bf8
481def:	53                   	push   %ebx
481df0:	e8 77 f2 f9 ff       	call   0x42106c
481df5:	56                   	push   %esi
481df6:	e8 71 f2 f9 ff       	call   0x42106c
481dfb:	59                   	pop    %ecx
481dfc:	59                   	pop    %ecx
481dfd:	eb 10                	jmp    0x481e0f