418bb0:	89 4d ec             	mov    %ecx,-0x14(%ebp)
418bb3:	3b 47 18             	cmp    0x18(%edi),%eax
418bb6:	7d 63                	jge    0x418c1b
418bb8:	8b 45 f0             	mov    -0x10(%ebp),%eax
418bbb:	89 06                	mov    %eax,(%esi)
418bbd:	8d 4e 04             	lea    0x4(%esi),%ecx
418bc0:	8d 45 ac             	lea    -0x54(%ebp),%eax
418bc3:	50                   	push   %eax
418bc4:	e8 96 70 ff ff       	call   0x40fc5f
418bc9:	ff 77 0c             	push   0xc(%edi)
418bcc:	8b ce                	mov    %esi,%ecx
418bce:	e8 3f 2c 00 00       	call   0x41b812
418bd3:	84 c0                	test   %al,%al
418bd5:	74 44                	je     0x418c1b
418bd7:	8b 06                	mov    (%esi),%eax
418bd9:	8b ce                	mov    %esi,%ecx
418bdb:	89 45 e8             	mov    %eax,-0x18(%ebp)
418bde:	8b 47 1c             	mov    0x1c(%edi),%eax
418be1:	ff 70 0c             	push   0xc(%eax)
418be4:	e8 29 2c 00 00       	call   0x41b812
418be9:	84 c0                	test   %al,%al
418beb:	74 12                	je     0x418bff
418bed:	80 7d 0c 00          	cmpb   $0x0,0xc(%ebp)
418bf1:	74 3e                	je     0x418c31
418bf3:	56                   	push   %esi
418bf4:	8d 4d c8             	lea    -0x38(%ebp),%ecx
418bf7:	e8 f0 69 ff ff       	call   0x40f5ec
418bfc:	88 5d 0b             	mov    %bl,0xb(%ebp)
418bff:	8b 45 e8             	mov    -0x18(%ebp),%eax
418c02:	39 45 f0             	cmp    %eax,-0x10(%ebp)
418c05:	74 14                	je     0x418c1b
418c07:	89 45 f0             	mov    %eax,-0x10(%ebp)
418c0a:	eb 98                	jmp    0x418ba4
418c0c:	8d 45 a8             	lea    -0x58(%ebp),%eax
418c0f:	8b ce                	mov    %esi,%ecx
418c11:	50                   	push   %eax
418c12:	e8 d5 69 ff ff       	call   0x40f5ec
418c17:	32 db                	xor    %bl,%bl
418c19:	eb 22                	jmp    0x418c3d
418c1b:	8a 5d 0b             	mov    0xb(%ebp),%bl
418c1e:	8d 4d a8             	lea    -0x58(%ebp),%ecx
418c21:	84 db                	test   %bl,%bl
418c23:	8d 45 c8             	lea    -0x38(%ebp),%eax
418c26:	0f 44 c1             	cmove  %ecx,%eax
418c29:	8b ce                	mov    %esi,%ecx
418c2b:	50                   	push   %eax
418c2c:	e8 bb 69 ff ff       	call   0x40f5ec
418c31:	c6 45 fc 00          	movb   $0x0,-0x4(%ebp)
418c35:	8d 4d c8             	lea    -0x38(%ebp),%ecx
418c38:	e8 5b 4d ff ff       	call   0x40d998
418c3d:	83 4d fc ff          	orl    $0xffffffff,-0x4(%ebp)
418c41:	8d 4d a8             	lea    -0x58(%ebp),%ecx
418c44:	e8 4f 4d ff ff       	call   0x40d998
418c49:	8a c3                	mov    %bl,%al
418c4b:	e8 c3 6d 02 00       	call   0x43fa13
418c50:	c2 08 00             	ret    $0x8
418c53:	6a 4c                	push   $0x4c
418c55:	b8 e0 f3 48 00       	mov    $0x48f3e0,%eax
418c5a:	e8 eb 6d 02 00       	call   0x43fa4a
418c5f:	8b d9                	mov    %ecx,%ebx
418c61:	33 ff                	xor    %edi,%edi
418c63:	8d 4d a8             	lea    -0x58(%ebp),%ecx
418c66:	53                   	push   %ebx
418c67:	89 7d ec             	mov    %edi,-0x14(%ebp)
418c6a:	e8 4e 22 ff ff       	call   0x40aebd
418c6f:	21 7d fc             	and    %edi,-0x4(%ebp)
418c72:	8b 75 08             	mov    0x8(%ebp),%esi
418c75:	39 7e 14             	cmp    %edi,0x14(%esi)
418c78:	7e 2f                	jle    0x418ca9
418c7a:	8b 03                	mov    (%ebx),%eax
418c7c:	89 45 e8             	mov    %eax,-0x18(%ebp)
418c7f:	ff 76 0c             	push   0xc(%esi)
418c82:	8b cb                	mov    %ebx,%ecx
418c84:	e8 3d 2f 00 00       	call   0x41bbc6
418c89:	84 c0                	test   %al,%al
418c8b:	0f 84 b7 00 00 00    	je     0x418d48
418c91:	8b 0b                	mov    (%ebx),%ecx
418c93:	8b 46 14             	mov    0x14(%esi),%eax
418c96:	39 4d e8             	cmp    %ecx,-0x18(%ebp)
418c99:	75 03                	jne    0x418c9e
418c9b:	8d 78 ff             	lea    -0x1(%eax),%edi
418c9e:	47                   	inc    %edi
418c9f:	89 4d e8             	mov    %ecx,-0x18(%ebp)
418ca2:	89 7d ec             	mov    %edi,-0x14(%ebp)
418ca5:	3b f8                	cmp    %eax,%edi
418ca7:	7c d6                	jl     0x418c7f
418ca9:	53                   	push   %ebx
418caa:	8d 4d c8             	lea    -0x38(%ebp),%ecx
418cad:	e8 0b 22 ff ff       	call   0x40aebd
418cb2:	c6 45 fc 01          	movb   $0x1,-0x4(%ebp)
418cb6:	8b cb                	mov    %ebx,%ecx
418cb8:	8b 46 1c             	mov    0x1c(%esi),%eax
418cbb:	8b 3b                	mov    (%ebx),%edi
418cbd:	c6 45 f3 00          	movb   $0x0,-0xd(%ebp)
418cc1:	ff 70 0c             	push   0xc(%eax)
418cc4:	e8 fd 2e 00 00       	call   0x41bbc6
418cc9:	84 c0                	test   %al,%al
418ccb:	74 17                	je     0x418ce4
418ccd:	80 7d 0c 00          	cmpb   $0x0,0xc(%ebp)
418cd1:	0f 84 80 00 00 00    	je     0x418d57
418cd7:	53                   	push   %ebx
418cd8:	8d 4d c8             	lea    -0x38(%ebp),%ecx
418cdb:	e8 45 69 ff ff       	call   0x40f625
418ce0:	c6 45 f3 01          	movb   $0x1,-0xd(%ebp)
418ce4:	83 7e 18 ff          	cmpl   $0xffffffff,0x18(%esi)
418ce8:	74 0e                	je     0x418cf8
418cea:	8b 4d ec             	mov    -0x14(%ebp),%ecx
418ced:	8b c1                	mov    %ecx,%eax
418cef:	41                   	inc    %ecx
418cf0:	89 4d ec             	mov    %ecx,-0x14(%ebp)
418cf3:	3b 46 18             	cmp    0x18(%esi),%eax
418cf6:	7d 64                	jge    0x418d5c
418cf8:	8d 45 ac             	lea    -0x54(%ebp),%eax
418cfb:	89 3b                	mov    %edi,(%ebx)
418cfd:	50                   	push   %eax
418cfe:	8d 4b 04             	lea    0x4(%ebx),%ecx
418d01:	e8 59 6f ff ff       	call   0x40fc5f
418d06:	ff 76 0c             	push   0xc(%esi)
418d09:	8b cb                	mov    %ebx,%ecx
418d0b:	e8 b6 2e 00 00       	call   0x41bbc6
418d10:	84 c0                	test   %al,%al
418d12:	74 48                	je     0x418d5c
418d14:	8b 45 08             	mov    0x8(%ebp),%eax
418d17:	8b cb                	mov    %ebx,%ecx
418d19:	8b 33                	mov    (%ebx),%esi
418d1b:	8b 40 1c             	mov    0x1c(%eax),%eax
418d1e:	ff 70 0c             	push   0xc(%eax)
418d21:	e8 a0 2e 00 00       	call   0x41bbc6
418d26:	84 c0                	test   %al,%al
418d28:	74 13                	je     0x418d3d
418d2a:	80 7d 0c 00          	cmpb   $0x0,0xc(%ebp)
418d2e:	74 27                	je     0x418d57
418d30:	53                   	push   %ebx
418d31:	8d 4d c8             	lea    -0x38(%ebp),%ecx
418d34:	e8 ec 68 ff ff       	call   0x40f625
418d39:	c6 45 f3 01          	movb   $0x1,-0xd(%ebp)
418d3d:	3b fe                	cmp    %esi,%edi
418d3f:	74 1b                	je     0x418d5c
418d41:	8b fe                	mov    %esi,%edi
418d43:	8b 75 08             	mov    0x8(%ebp),%esi
418d46:	eb 9c                	jmp    0x418ce4
418d48:	8d 45 a8             	lea    -0x58(%ebp),%eax
418d4b:	8b cb                	mov    %ebx,%ecx
418d4d:	50                   	push   %eax
418d4e:	e8 d2 68 ff ff       	call   0x40f625
418d53:	32 db                	xor    %bl,%bl
418d55:	eb 29                	jmp    0x418d80
418d57:	33 db                	xor    %ebx,%ebx
418d59:	43                   	inc    %ebx
418d5a:	eb 18                	jmp    0x418d74
418d5c:	80 7d f3 00          	cmpb   $0x0,-0xd(%ebp)
418d60:	8d 4d a8             	lea    -0x58(%ebp),%ecx
418d63:	8d 45 c8             	lea    -0x38(%ebp),%eax
418d66:	0f 44 c1             	cmove  %ecx,%eax
418d69:	8b cb                	mov    %ebx,%ecx
418d6b:	50                   	push   %eax
418d6c:	e8 b4 68 ff ff       	call   0x40f625
418d71:	8a 5d f3             	mov    -0xd(%ebp),%bl
418d74:	c6 45 fc 00          	movb   $0x0,-0x4(%ebp)
418d78:	8d 4d c8             	lea    -0x38(%ebp),%ecx
418d7b:	e8 66 4c ff ff       	call   0x40d9e6
418d80:	83 4d fc ff          	orl    $0xffffffff,-0x4(%ebp)
418d84:	8d 4d a8             	lea    -0x58(%ebp),%ecx
418d87:	e8 5a 4c ff ff       	call   0x40d9e6
418d8c:	8a c3                	mov    %bl,%al
418d8e:	e8 80 6c 02 00       	call   0x43fa13
418d93:	c2 08 00             	ret    $0x8
418d96:	6a 4c                	push   $0x4c
418d98:	b8 0b f4 48 00       	mov    $0x48f40b,%eax
418d9d:	e8 a8 6c 02 00       	call   0x43fa4a
418da2:	8b d9                	mov    %ecx,%ebx
418da4:	33 ff                	xor    %edi,%edi
418da6:	8d 4d a8             	lea    -0x58(%ebp),%ecx
418da9:	53                   	push   %ebx
418daa:	89 7d ec             	mov    %edi,-0x14(%ebp)
418dad:	e8 73 21 ff ff       	call   0x40af25
418db2:	21 7d fc             	and    %edi,-0x4(%ebp)
418db5:	8b 75 08             	mov    0x8(%ebp),%esi
418db8:	39 7e 14             	cmp    %edi,0x14(%esi)
418dbb:	7e 2f                	jle    0x418dec
418dbd:	8b 03                	mov    (%ebx),%eax
418dbf:	89 45 e8             	mov    %eax,-0x18(%ebp)
418dc2:	ff 76 0c             	push   0xc(%esi)
418dc5:	8b cb                	mov    %ebx,%ecx
418dc7:	e8 9a 31 00 00       	call   0x41bf66
418dcc:	84 c0                	test   %al,%al
418dce:	0f 84 b7 00 00 00    	je     0x418e8b
418dd4:	8b 0b                	mov    (%ebx),%ecx
418dd6:	8b 46 14             	mov    0x14(%esi),%eax
418dd9:	39 4d e8             	cmp    %ecx,-0x18(%ebp)
418ddc:	75 03                	jne    0x418de1
418dde:	8d 78 ff             	lea    -0x1(%eax),%edi
418de1:	47                   	inc    %edi
418de2:	89 4d e8             	mov    %ecx,-0x18(%ebp)
418de5:	89 7d ec             	mov    %edi,-0x14(%ebp)
418de8:	3b f8                	cmp    %eax,%edi
418dea:	7c d6                	jl     0x418dc2
418dec:	53                   	push   %ebx
418ded:	8d 4d c8             	lea    -0x38(%ebp),%ecx
418df0:	e8 30 21 ff ff       	call   0x40af25
418df5:	c6 45 fc 01          	movb   $0x1,-0x4(%ebp)
418df9:	8b cb                	mov    %ebx,%ecx
418dfb:	8b 46 1c             	mov    0x1c(%esi),%eax
418dfe:	8b 3b                	mov    (%ebx),%edi
418e00:	c6 45 f3 00          	movb   $0x0,-0xd(%ebp)
418e04:	ff 70 0c             	push   0xc(%eax)
418e07:	e8 5a 31 00 00       	call   0x41bf66
418e0c:	84 c0                	test   %al,%al
418e0e:	74 17                	je     0x418e27
418e10:	80 7d 0c 00          	cmpb   $0x0,0xc(%ebp)
418e14:	0f 84 80 00 00 00    	je     0x418e9a
418e1a:	53                   	push   %ebx
418e1b:	8d 4d c8             	lea    -0x38(%ebp),%ecx
418e1e:	e8 3b 68 ff ff       	call   0x40f65e
418e23:	c6 45 f3 01          	movb   $0x1,-0xd(%ebp)
418e27:	83 7e 18 ff          	cmpl   $0xffffffff,0x18(%esi)
418e2b:	74 0e                	je     0x418e3b
418e2d:	8b 4d ec             	mov    -0x14(%ebp),%ecx
418e30:	8b c1                	mov    %ecx,%eax
418e32:	41                   	inc    %ecx
418e33:	89 4d ec             	mov    %ecx,-0x14(%ebp)
418e36:	3b 46 18             	cmp    0x18(%esi),%eax
418e39:	7d 64                	jge    0x418e9f
418e3b:	8d 45 ac             	lea    -0x54(%ebp),%eax
418e3e:	89 3b                	mov    %edi,(%ebx)
418e40:	50                   	push   %eax
418e41:	8d 4b 04             	lea    0x4(%ebx),%ecx
418e44:	e8 16 6e ff ff       	call   0x40fc5f
418e49:	ff 76 0c             	push   0xc(%esi)
418e4c:	8b cb                	mov    %ebx,%ecx
418e4e:	e8 13 31 00 00       	call   0x41bf66
418e53:	84 c0                	test   %al,%al
418e55:	74 48                	je     0x418e9f
418e57:	8b 45 08             	mov    0x8(%ebp),%eax
418e5a:	8b cb                	mov    %ebx,%ecx
418e5c:	8b 33                	mov    (%ebx),%esi
418e5e:	8b 40 1c             	mov    0x1c(%eax),%eax
418e61:	ff 70 0c             	push   0xc(%eax)
418e64:	e8 fd 30 00 00       	call   0x41bf66
418e69:	84 c0                	test   %al,%al
418e6b:	74 13                	je     0x418e80
418e6d:	80 7d 0c 00          	cmpb   $0x0,0xc(%ebp)
418e71:	74 27                	je     0x418e9a
418e73:	53                   	push   %ebx
418e74:	8d 4d c8             	lea    -0x38(%ebp),%ecx
418e77:	e8 e2 67 ff ff       	call   0x40f65e
418e7c:	c6 45 f3 01          	movb   $0x1,-0xd(%ebp)
418e80:	3b fe                	cmp    %esi,%edi
418e82:	74 1b                	je     0x418e9f
418e84:	8b fe                	mov    %esi,%edi
418e86:	8b 75 08             	mov    0x8(%ebp),%esi
418e89:	eb 9c                	jmp    0x418e27
418e8b:	8d 45 a8             	lea    -0x58(%ebp),%eax
418e8e:	8b cb                	mov    %ebx,%ecx
418e90:	50                   	push   %eax
418e91:	e8 c8 67 ff ff       	call   0x40f65e
418e96:	32 db                	xor    %bl,%bl
418e98:	eb 29                	jmp    0x418ec3
418e9a:	33 db                	xor    %ebx,%ebx
418e9c:	43                   	inc    %ebx
418e9d:	eb 18                	jmp    0x418eb7
418e9f:	80 7d f3 00          	cmpb   $0x0,-0xd(%ebp)
418ea3:	8d 4d a8             	lea    -0x58(%ebp),%ecx
418ea6:	8d 45 c8             	lea    -0x38(%ebp),%eax
418ea9:	0f 44 c1             	cmove  %ecx,%eax
418eac:	8b cb                	mov    %ebx,%ecx
418eae:	50                   	push   %eax
418eaf:	e8 aa 67 ff ff       	call   0x40f65e
418eb4:	8a 5d f3             	mov    -0xd(%ebp),%bl
418eb7:	c6 45 fc 00          	movb   $0x0,-0x4(%ebp)
418ebb:	8d 4d c8             	lea    -0x38(%ebp),%ecx
418ebe:	e8 71 4b ff ff       	call   0x40da34
418ec3:	83 4d fc ff          	orl    $0xffffffff,-0x4(%ebp)
418ec7:	8d 4d a8             	lea    -0x58(%ebp),%ecx
418eca:	e8 65 4b ff ff       	call   0x40da34
418ecf:	8a c3                	mov    %bl,%al
418ed1:	e8 3d 6b 02 00       	call   0x43fa13
418ed6:	c2 08 00             	ret    $0x8
418ed9:	6a 34                	push   $0x34
418edb:	b8 2e f4 48 00       	mov    $0x48f42e,%eax
418ee0:	e8 65 6b 02 00       	call   0x43fa4a
418ee5:	8b f9                	mov    %ecx,%edi
418ee7:	8b 75 08             	mov    0x8(%ebp),%esi
418eea:	83 7e 24 01          	cmpl   $0x1,0x24(%esi)
418eee:	75 0e                	jne    0x418efe
418ef0:	ff 75 0c             	push   0xc(%ebp)
418ef3:	56                   	push   %esi
418ef4:	e8 13 fc ff ff       	call   0x418b0c
418ef9:	e9 38 01 00 00       	jmp    0x419036
418efe:	57                   	push   %edi
418eff:	8d 4d c0             	lea    -0x40(%ebp),%ecx
418f02:	33 db                	xor    %ebx,%ebx
418f04:	e8 1c 1f ff ff       	call   0x40ae25
418f09:	89 5d fc             	mov    %ebx,-0x4(%ebp)
418f0c:	8b 4e 20             	mov    0x20(%esi),%ecx
418f0f:	8b 57 40             	mov    0x40(%edi),%edx
418f12:	89 4d f0             	mov    %ecx,-0x10(%ebp)
418f15:	89 55 e8             	mov    %edx,-0x18(%ebp)
418f18:	8b 04 ca             	mov    (%edx,%ecx,8),%eax
418f1b:	89 45 e0             	mov    %eax,-0x20(%ebp)
418f1e:	8b 44 ca 04          	mov    0x4(%edx,%ecx,8),%eax
418f22:	89 45 e4             	mov    %eax,-0x1c(%ebp)
418f25:	8b 07                	mov    (%edi),%eax
418f27:	89 45 ec             	mov    %eax,-0x14(%ebp)
418f2a:	8b 45 10             	mov    0x10(%ebp),%eax
418f2d:	85 c0                	test   %eax,%eax
418f2f:	74 12                	je     0x418f43
418f31:	8b 4d e4             	mov    -0x1c(%ebp),%ecx
418f34:	8b 37                	mov    (%edi),%esi
418f36:	39 31                	cmp    %esi,(%ecx)
418f38:	8b 75 08             	mov    0x8(%ebp),%esi
418f3b:	8b 4d f0             	mov    -0x10(%ebp),%ecx
418f3e:	88 5d 0b             	mov    %bl,0xb(%ebp)
418f41:	74 04                	je     0x418f47
418f43:	c6 45 0b 01          	movb   $0x1,0xb(%ebp)
418f47:	83 7e 18 00          	cmpl   $0x0,0x18(%esi)
418f4b:	7c 09                	jl     0x418f56
418f4d:	39 46 18             	cmp    %eax,0x18(%esi)
418f50:	0f 8e a1 00 00 00    	jle    0x418ff7
418f56:	3b 46 14             	cmp    0x14(%esi),%eax
418f59:	7d 1d                	jge    0x418f78
418f5b:	80 7d 0b 00          	cmpb   $0x0,0xb(%ebp)
418f5f:	0f 84 92 00 00 00    	je     0x418ff7
418f65:	40                   	inc    %eax
418f66:	89 04 ca             	mov    %eax,(%edx,%ecx,8)
418f69:	8d 45 ec             	lea    -0x14(%ebp),%eax
418f6c:	89 44 ca 04          	mov    %eax,0x4(%edx,%ecx,8)
418f70:	ff 76 0c             	push   0xc(%esi)
418f73:	e9 85 00 00 00       	jmp    0x418ffd
418f78:	80 7d 0c 00          	cmpb   $0x0,0xc(%ebp)
418f7c:	75 33                	jne    0x418fb1
418f7e:	8b 46 1c             	mov    0x1c(%esi),%eax
418f81:	8b cf                	mov    %edi,%ecx
418f83:	ff 70 0c             	push   0xc(%eax)
418f86:	e8 87 28 00 00       	call   0x41b812
418f8b:	8a d8                	mov    %al,%bl
418f8d:	84 db                	test   %bl,%bl
418f8f:	0f 85 80 00 00 00    	jne    0x419015
418f95:	38 45 0b             	cmp    %al,0xb(%ebp)
418f98:	74 70                	je     0x41900a
418f9a:	8d 45 c0             	lea    -0x40(%ebp),%eax
418f9d:	8b cf                	mov    %edi,%ecx
418f9f:	50                   	push   %eax
418fa0:	e8 47 66 ff ff       	call   0x40f5ec
418fa5:	8b 45 10             	mov    0x10(%ebp),%eax
418fa8:	8b 4d f0             	mov    -0x10(%ebp),%ecx
418fab:	40                   	inc    %eax
418fac:	8b 55 e8             	mov    -0x18(%ebp),%edx
418faf:	eb b5                	jmp    0x418f66
418fb1:	80 7d 0b 00          	cmpb   $0x0,0xb(%ebp)